WRITE ISSUES FROM PAGING SCREEN WITH GLOBAL WINDOW
Posted 16 July 2003 - 06:17 AM
Wondered whether anyone had come across the following scenario .........
Simple paging screen (Green screen app), global selection window on one of the columns - Select a value from the window, window closes, but without entering return, use the down arrow to go the next record within the paging screen. Seems that the write is not issued on the record.
Trying the same test and typing a value in (ie. not using the selection window), hitting the down arrow and all seems to be fine!
Tried multiple global windows (ending with the same problem), multiple locations of the column within the paging screen (e.g. not the last input field etc).
Hmmm ......another undocumented feature to be aware of? ;-)
PRO-IV 5.0000 1.0.9
Posted 16 July 2003 - 06:31 AM
Its probably a bug regarding how paging screens try to get better performance.
For performance reasons I think, the file will only be written if the user directly enters something into one of the vars on the screen.
If all the vars in the paging screen are scratches, and you change the values of the files fields in logic, no write will occur.
Posted 16 July 2003 - 06:37 AM
Tried your suggestion but still no luck. This is not a major problem for us, but something I thought I'd point out for the PRO-IV world
Maybe its time to push on to 5.5 - hmm and I wonder what new and exciting "features" we can find there
Posted 16 July 2003 - 06:59 AM
I have had to work around this problem several times before.
The problem occurs in a couple of ways.
One is when you press EOD in the first enterable field in the paging screen when you have done no keyboard entry. In this case the BW pass is skipped.
The other is when you press up or down arrow in the first enterable field in the paging screen when you have done no keyboard entry. Again, the BW pass is skipped.
If you do either of these things in the second enterable field then the BW is processed. Don't get any ideas about using a field jump to work around this - ProIV is "clever" and can tell that you skipped what is normally the first enterable field, so the second enterable field is now your first enterable field and you still have the problem...
The easiest workaround for this problem is to do a local LSCALL to write the record after the GLOBAL_LSCALL.
As Wim said, ProIV have introduced the ForceWrite method in 5.5r300 (I think) to solve this.
Posted 16 July 2003 - 07:14 AM
You had me enthralled with your workaround until you typed the words "PRO-IV" and "clever" far too close together
Your right - must be some kind of background "the users entered something" flag so PRO-IV knows it can commit the data etc.
Posted 16 July 2003 - 12:05 PM
FYI - the behaviour of the Primary Input field and forcewrite were covered in detail in this thread:
Have you tried returning your data to $INPUT rather than the field's variable?
Doing this this will force the cursor to the next field on returning from the window, so the data should then be written away if the user arrows/F3's.
Don't learn from your own mistakes - it's safer and more entertaining to learn from the mistakes of others!
Just because you can, it doesn't mean you should!
Reply to this topic
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users