Paging Mode Window (F4) Question
Posted 13 April 2006 - 08:13 PM
Using "Green Screen", and @MOD.
Posted 13 April 2006 - 08:28 PM
Posted 13 April 2006 - 08:38 PM
Posted 13 April 2006 - 09:59 PM
The window key does not work on screens in Lookup mode unless you set the "Augmented Look" flag to "Y" for the field (green screen field definition in Expand mode, near the bottom).
The "Augmented Look" flag was not set, so I did set that. This screen does not display @PSEQ, so the field that I set the Augmented Look flag on is the first field listed for the Paging Screen (LS) which is actually a file data display field. This is also the same field that I set the Linked LS to point to my window screen.
The F4 key still has no effect. Is there more information that I can post that might shed more light on the subject?
Here are some details on the field I want to window from (Field 15), the Fields in the Window screen (112,113), the Paging LS (02), and the Window LS (08).
The fields in the display window are also not set for DO. I also tried changing the Modes for the Window LS to LC and not just L, and the window will still not display.
Any other ideas?
Posted 13 April 2006 - 10:26 PM
I suggest either:
- Move the window to another field making sure to flag this field as augmented look. When you run the function, pressing the Lookup key when the cursor is on the IN.LINE field should move the cursor to the windowable field, at which point pressing Window should open the window. Note that you have to press Lookup to move the cursor to the field where the window is.
- My preferred method, add a scratch field immediately after IN.LINE with a length of one character, at column 4. Move the window to this field and flag as Augmented Lookup, and make sure the field is *not* otherwise flagged as MI, DO, AR, OV, etc. Then, when you run the function, press the Lookup key when the cursor is on the IN.LINE field and the cursor should move to this scratch field (to the user it will appear the cursor moved to the end of the IN.LINE field). Pressing Window should then open the window. Again, take note that you must first press Lookup (even though the screen is already in Lookup mode) to move the cursor to the field where the window is.
Also, your window LS should be LS Mode and Def Mode of "C". Unless you insert something like UMSG("PRESS ENTER TO CONTINUE", -1) somewhere in the window LS to force it to stay open, defaulting it to Lookup mode will cause the Window to immediately open and close, which on green screen systems can appear to never open at all.
Hope this helps.
Posted 14 April 2006 - 02:32 AM
As a test I removed the DO flag from field 15, and when I press F8 (Lookup mode) first, I can then window (F4) to bring up screen 8 - my desired window.
I will probably add another field after field 15 to handle the window lookup - however I have a couple of questions.
1. If I insert a field (effectively increasing all the field ID's from 16 on by 1), will PROIV fix all of the references to those fields with the correct updated field ID throughout the rest of the function, or do I have to do that manually (I could try it and find out, but I thought I would ask first)?
2. Is there any way to make field 15 just work for the window function without having to press F8, and without having to press enter after returning from the window function to continue with the current paging LS? I think my users are going to have issues with the 2 extra steps.
3. Is there a better way to do this? My users are used to the current paging screen to view information, my current task is to allow them to change one field if they have a high enough security level. It seemed at the time that the best way was to duplicate the current lookup screen that they are all used to using, add in the ability to edit the one field with the lookup function, update the data in the current record after the change, and set the access security higher for the *modified* version of that function. One of the problems I'm facing is that this lookup screen is already a copy of a copy of a copy of other paging functions (this was done before I inherited the system), the original of which is actually an ACL paging screen, on an entirely different set of data, so there is a lot of those pieces (mostly completely undocumented) left over in the function and I really don't have the time for this task to write a new function from scratch that does what's needed in a more graceful way.
Posted 14 April 2006 - 09:53 AM
have the Paging LS in change mode, the files in lookup mode
in lgc bef of the a field of line 1 (not the 1st field) in the paging put in a logic, lscall(n) to call the ls/window to change the data - the field that is to change this could be the lauch point for the window, have the field twice in the paging area, lgc bef of 1st occurrence executed the window, on return from window the next field is redisplayed showing the revised value.
this way user should be able to scroll up and down the paging are and press tab/f6 to enter the record and trhe widow opens.
Posted 14 April 2006 - 05:08 PM
To answer your other question, if you insert a field in green screen native (@MOD), you have to manually update all the field references elsewhere in the function. If it's a large function I usually print out the function specs before I start changing anything so I can compare them before and after to make sure I updated all the appropriate references. Pro-IV development tools such as Developer Studio and VIP update these references automatically (so I hear, since I don't use them), and I'm sure Rob's Pro-IV IDE updates references for inserted fields also.
Posted 14 April 2006 - 07:34 PM
I didnt notice the issue re: insert a field - yikes its a large function you are working on to have to insert a field could be a problem
maybe someone on the forum has a utility function available that Inserts fields/dummys into fldpsec and does all of the shuffling of the fields in the lsdef, filespec & logic ????
Posted 17 April 2006 - 02:56 PM
I appreciate the suggestions and information from everybody. I'm using the "Augmented Lookup" for now until I get a chance to re-write and simplify the function. I understand why somebody just kept copying similar functions, but with the origin of this function being an Add/Change paging LS for one set of data, and this function being a Lookup paging LS for an entirely different set of data, it makes what should be small changes into a fairly complicated task.
Posted 17 April 2006 - 04:41 PM
What you are being asked to do reminds me of a request from mgmt years ago, "would you put in an additional field in this look up screen?" To them it looked "easy".
Behind the scenes, it was a nightmare!!! This was in 'green screen', and the function had 9 LS's, nearly 50 file i/o and lots of logic ids with specific field numbers referenced. I printed out the docs - around 30 pages.
Then I took a pink highlighter and started to identify all hard references that needed to be altered. Was there a lot of pink on those pages. Boss asks "What is all of that?" I said, every thing that I have to change just to put in that additional field. Needless to say, that ended fast. "Not THAT important" he said.
That was the last time he ever asked me about doing something "easy".
Reply to this topic
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users