PF key positioning/displacement

Hi,

In my application I am navigating thru multiple screens.

Normally the PF keys are placed at the bolttom of the screen and any text (error/worning/information message) is displayed just above the PF key line.

When I navigate in reverse direction (Page up using PF8 key), in few screens what I find is the PF keys are moving up and the text/field on the screen are displayed below that.

can somebody help me on reasoning this?

Attaching a screen shot of the Map for reference and better understanding of my problem.

Thanks in adavance.
Mishra
PF Key positioning.doc (165 KB)

Is there a MORE prompt in the hidden part of your screenshot?

If your program is using an AT END OF PAGE/INPUT to put the messages at the bottom of the screen and the pagesize is not defined correctly to correspond with the output. Is there actually more output? The bottom two lines appear to be the same in each screen shot, or are these summary lines output by the AT END OF PAGE?

What is the PF8 key actually set to? from the behaviour shown, it would appear to be mapped to a windowing command (e.g. %W+), which will indeed make the screen scroll oddly if you don’t have a larger window to scroll over.

Try writing a small program with FOR loops to write stuff out to the screen to reproduce your issue so you can post a complete program and screen shot.

Hi Douglas,

There is no MORE prompt in the hidden part of the screen. I have made it hidden because these are my customer’s information.

There is no AT END OF PAGE in my program. The Map contains same data. Only I navigated to the next screen and came back to the screen that I have given as screen shot.
Sorry. The Key was PF7 for page up. PF7 is set to page up.

The Map size is 2480. I think the default size of the MAP is 2379. Because of one extra line taken here, the problem comes.

I will see to the programs today and come back to the forum.

Thanks in Advance,
Mishra

Hard to tell from the information you have given (although the screen snaps do help).

What are LS and PS set to?

Are PF7 and PF8 set to %W- and %W+ ? Why? These only scroll on the current page. If the Map fits on 23 lines, why have them at all?

In your program(s) do you “play” with LS and PS?

As Douglas asked, what is generating the last two lines of “output”, or are they coded in the Map?

Do you have an INPUT NO ERASE?

Are you using windowing at all?

What terminal emulator are you using? I seem to recall there were a few that caused problems with last lines on the screen.

steve

One more question.

When you say "When I navigate in reverse direction (Page up using PF8 key), in few screens what I find is the PF keys are moving up and the text/field on the screen are displayed below that. ":

Do you mean that you simply do a %W- then %W+ and the problem occurs?

Or is there logic in your program that changes the logical screen?

The code that controls the screen contents (WRITE, DISPLAY, INPUT, and AT END OF PAGE stuff, etc) would be quite helpful

steve

One more important point:

You said: "The Map size is 2480. I think the default size of the MAP is 2379. Because of one extra line taken here, the problem comes. "

If you go to MSET in the Map editor and define PS as 24, you are allowed to do this (of course). Put “stuff” on all 24 lines; no problem. Now go back to MSET and try to turn Key definitions on; you will immediately get an error message about “overlapping detected”. Natural always tries to reserve the last two physical lines for key definitions.

So, it appears that either the F keys line is hard coded (unlikely), or you do not have map size set to 24*80.

What platform are you developing on?

steve

You need to show what your SET KEY statement is for PF7 (or PF8). It doesn’t matter which key you are using, it matters what your program does when the key is pressed.

If the key is set to a windowing command, your program does not get control to react to the key - Natural takes care of moving around the logical window. Given your other comments, this seems unlikely. So then the question would be what the program code is doing when it sees the PF key (IF *PF-KEY = ‘PF7’ THEN…??).

Again, if you can reproduce the problem in a small program that doesn’t use your customer’s live data, it will help us in the forum to understand what the problem is.

Hi Steve,

Thank you for all your responses.

Here are information that you asked for

In the MSET the LS and PS are 80*24. In the program we are not playing with the LS or PS.

PF7 and PF8 are set for scroll up and scroll down respectively(These are to jump to previous screen and next screen).

The last 2 lines are not any report output. These 2 lines are coded on the MAP.

What I did is, I have changed the PS to 23(from 24) with PF Keys set to ON, I encountered the Overlapping problem.

The emulator we aer usnig is VivaStation.

I will gather more information related to this problem and share in the forum.

I can share more screen snaps(MSET, handling of PF7 and PF8 in program) only tomorrow as I am back to my home for the day.
The maps are executed using INPUT USING statement.

Thanks,
Mishra

Hi Douglas,

Yes I agree with you.

The PF keys are set as named ‘Pg-’ and Pg+ as shown on the screen snaps.

Mostly on pressing these keys, another program is being fetched and the Map executed from the other program is thrown on the terminal.

I’ll check if ther is any windowing done in the program and can revert to the forum tomorrow.

Thank you for all your quick responses and curiosity to sort out my issue.

Regards,
Mishra

You said:

"There is no MORE prompt in the hidden part of the screen. I have made it hidden because these are my customer’s information. "

How did you “hide” the MORE prompt?

Take a look at the following program:

                                  > +  Program     PF01     Lib XSTRO    

All …+…1…+…2…+…3…+…4…+…5…+…6…+…7…
0010 DEFINE DATA LOCAL
0020 1 #A (A10)
0030 END-DEFINE
0040 *
0050 SET KEY PF7=‘%W-’ PF8=‘%W+’
0060 *
0070 INPUT USING MAP ‘PF02’
0080 SET CONTROL ‘M’
0090 INPUT USING MAP ‘PF02’
0100 *
0110 END

The Map PF02 has PS of 24; However, there are only 22 lines which are “used” (just dummy text strings like “LINE 1”)

The SET CONTROL ‘M’ just “flip flops” the line for the error message from top to bottom

If you run the program you will see that the output is basically the same as your problem. Is %MB your installation standard? and did you do something like %M32 to make the message line “disappear”?

If so, that is probably what is causing the problem.

steve

Hi Steve,

Today I have made some time to see the real problem. Let me write what is happening little elaborately here

In the application, I start an act and usually have to traverse thru many screens. Around 10 Maps (PF8 to jump to next screen).
At any point of time, if I want to jump to a screen that is not very next or last, there is a facility to press the PF10 (named as Navigate) key and from the list of screens (list of all screen headings appear in a window), select one and start working on that.

In the screen where the PF Keys are placed at one line 1 and the map text is below the PF Kyes, I pressed the PF10 key.
Selected the previous screen from the list. I am now on the screen previous to the problem screen.

Now I pressed PF8 key. Here I see my PF Keys are at 1 line up position.

Just to verify, I started the debugger and tested the screen.

I noticed something strange here.
When the Debugger is ON, the problem does not appear.
But when the debugger is OFF, the problem appears.

Attached is the screen shot with the MSET defination, the maps.

Hope this will help you to get some clue on the issue.

Thanks in Advance,
Mishra

Hi Steve,

Today I have made some time to see the real problem. Let me write what is happening little elaborately here

In the application, I start an act and usually have to traverse thru many screens. Around 10 Maps (PF8 to jump to next screen).
At any point of time, if I want to jump to a screen that is not very next or just previous, there is a facility to press the PF10 (named as Navigate) key and from the list of screens (list of all screen headings appear in a window), select one and start working on that.

In the screen where the PF Keys are placed at one line 1 and the map text is below the PF Kyes, I pressed the PF10 key.
Selected the previous screen from the list. I am now on the screen previous to the problem screen.

Now I pressed PF8 key. Here I see my PF Keys are at 1 line up position.

Just to verify, I started the debugger and tested the screen.

I noticed something strange here.
When the Debugger is ON, the problem does not appear.
But when the debugger is OFF, the problem appears.

Attached is the screen shot with the MSET defination, the maps.

Hope this will help you to get some clue on the issue.

Thanks in Advance,
Mishra
PF Key positioning.doc (407 KB)

Have you located any code that “plays with” the message line?

steve

Hhe message line is at set to MB. This is our system dafault set up.
There is no such code in the program to play with the message line.

Thanks,
Mishra

Are there any %Y commands (e.g. %YC or %YH) which make the key menu just one line and make the keys cursor sensitive?

steve

You said you got rid of MORE. This is displayed on the message line. The way most people do this is to use the %M command to move the message line off of the screen. If you did not do this; what did you do to get rid of MORE?

steve

Hi Steve,

There is no YC in my program and I assume that the YC will work in Windows Natural and not in Mainframes.

If the YC is tyrned on also, the PF Key should be positioned at the cursor position, why there?

There was no MORE prompt in my application. I start with a transaction ID, then choose the Menu options and go filling the map screens, finally at the end I press PF4( Named Enregistrement in French) to store the info in database.

I m really sorry to trouble you all. You are willing to sort out my problem, but I think the inputs about my problem is not sufficient to the forum.

Let me see to the programs.

Thanks,
Mishra

Hi Mishra;

%YC works just fine on the mainframe.

“If the YC is tyrned on also, the PF Key should be positioned at the cursor position, why there?”

I think you misinterpreted the documentation. What %YC does is make the PF Key lines cursor sensitive. Thus, to hit PF5, I move the cursor to PF5 (or the name for PF5), and hit enter. This is equivalent to hitting PF5. With %YH you can eliminate the line which shows the PF5 and there will only be one line which has the names for the PF keys;
For example: ADD UPDAT DELET SCAN etc

Not my favorite feature, but I have seen it used. One advantage is that you could change PF key assignments without changing maps (you would use *PF-NAME rather than *PF-key).

RE MORE; I apparently misinterpreted what you said in your response to Douglas.

There is no MORE prompt in the hidden part of the screen. I have made it hidden because these are my customer’s information. "

I interpreted that as meaning you had hidden MORE; upon re-reading it; that is not what it says.

If you eventually discover there is a problem in Natural (rather than the code), please inform Software AG (so they can fix it) and this list (so we can avoid falling into the same trap)

good luck

steve

Hi Steve,

Thank you for your suggestions and sharing few things about PF Key positioning with %Y terminal command.

I still consider my problem is in the code. Because similar things already there in the system and all are working fine.

I think because of a little mistake somewhere, which is not so easily catchable. I just have to put my full time effort on it to trace the root cause of the problem.

I will definately share the findings on such issue in the forum.

Thank you and all once again. :slight_smile:
Mishra

Hi All,

I have traced the reason of my problem.

When the user press PF10=Navigation to list all the screen names and select a screen to jump to, at that time there is a terminal command coded as SET CONTROL ‘M23’, because of which the Message was sitting on line#23.
This was splitting the PFKey lines(23 and 24) and the first line was moving top (line#22) and 2nd PFkey line at line#24.

Thanks,
Mishra