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.
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