View previous topic :: View next topic
|
Author |
Message |
monasu1998
Active User
Joined: 23 Dec 2005 Posts: 176 Location: India
|
|
|
|
Hi,
I have solution to my problem however do not have right justification to the answer I have.
Let me give a short description.
MAP1: LS = 20, PS=75
SUBPROGRAM
DEFINE WINDOW 24*80
SET CONTROL ‘MB’
INPUT WINDOW = ‘NOTE’ USING MAP ‘MAP1’
-----------------
--------------
---------
FETCH ‘PROGRAM1’
----------
--------
END
PROGRAM1 executes the map ‘MAP2’ with LS=24, PS=80
MAP2 has 22 lines of text on it. And standard keys are ON.
When I trigger the application and reach to the MAP2, what I see is
LINE 1-21: Map text
Line 22: PF key
Line 23: Map text
Line 24: Blank – Probably because there is no error on the map. No message.
When I comment the statement executing the terminal command (in the SUBPROGRAM above)
* SET CONTROL ‘MB’
What I see is
LINE 1-22: Map text
Line 23: Blank - Probably because there is no error on the map. No message.
Line 24: PF keys
This is what I was struggling for.
Can some one reason out what was the impact of SET CONTROL ‘MB’? |
|
Back to top |
|
|
ofer71
Global Moderator
Joined: 27 Dec 2005 Posts: 2358 Location: Israel
|
|
|
|
The MB terminal command causes the message line to be the bottom line of the screen.
Tip: Try the MB/MT terminal commands from your NEXT line...
O. |
|
Back to top |
|
|
monasu1998
Active User
Joined: 23 Dec 2005 Posts: 176 Location: India
|
|
|
|
Hi,
I have concluded with a solution with a strong assumption about terminal command MB.
First the assumption:
In any Natural application which executes a series of programs/sub programs, once a terminal command is executed, the same terminal command can be overridden by another terminal command(same purpose) with different values. But not with the same value.
Example:
SET CONTROL 'MB'
This command can not be overridden by the same command again,
SET CONTROL 'MB' (In any other programs/sub programs all execute for the same application in any level).
Why I am so optimistic about my assumption?
In my subprogram, as I mentioned, the MAP is defined with 20 lines and window is defined as below
DEFINE WINDOW MEMENTO SIZE 24*80 BASE 1/1 TITLE 'MEMENTO' CONTROL WINDOW --------------------------> Even if it is default
SET CONTROL ‘MB’
When my map is sent to the terminal within this window, the line # 22 is reserved for the message line. This is set for the terminal as long as my session is ON or active (application active).
In case a separate map with LS=24 is executed with SET CONTROL ‘MB’, this terminal command is not going to effect as there is no change in this command compared to the last terminal command executed for message line. This will be simply ignored though executed.
Now what I am doing to override the first terminal set up for the message line?
Once the first map with window is executed, I set the following commands before sending the next Map
SET CONTROL ‘M23’
SET CONTROL ‘YH’
SET CONTROL ‘YP’
SET CONTROL ‘Y24’
This is now the new terminal set up.
This reserved the line 23 for message (M23),
Protects (YP) my PF Key with only 1 line (YH) occupancy ---> (My PF Keys are perfectly sitting in 1 line) and the line number for PF key is 24.
All other programs/subprograms in all level in the same active Natural session follow the same rule.
Please correct me if my assumption is wrong, or my conclusion on is out of any other reason |
|
Back to top |
|
|
|