Terminal command MB with WINDOW


This is a continuation of my last post ‘PF key positioning/displacement’
I regret if it is not respecting the forum protocol

I have reached to a considerably OK solution to my last post. But of late I have found a 2nd solution which is absolutely fine. But I do not have justification to my 2nd solution.

Let me give a short description.

MAP1: LS = 20, PS=75






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)

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’?


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


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.


It may be that there is a communication problem; because what you have said above is quite silly.

You said:

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.

In other words, if I issue a SET CONTROL ‘MB’, then later on issue SET CONTROL ‘M12’, the M12 takes precedent. Of course.

Now, if I issue a SET CONTROL ‘MB’ then issue another SET CONTROL ‘MB’ you claim:

This will be simply ignored though executed.

This statement is silly; a command cannot be both executed and ignored. Actually, the command should be executed, but will have no observable effect since the value is the same.

Suppose I execute two statements in succession: RESET #A RESET #A

Are you going to claim that the second RESET was not executed? Of course not; it is executed. Did it “do anything”? Well, not really, since the value was already null. It did, however, consume computer resources.


Hi Steve,

Thank you for your reseponse.

It was my assumption only. I was not very much sure about it.

Why I said so is

when I first time execute the terminal command, it the Message line was set within the window.

As the total PS of the window is 24 lines (includeing frames), the line 22 was considered as MB.

When the other Maps are executed with PS=24, the SET CONTROL ‘MB’ is not overridden by the previous command. If it takes the precedent, the line 24 would have been set for the message. But it does not happen.

Still I see the mssage is displayed at line#22 only. With the 2nd MB command I did not see the difference.

This made me to conclude with such assumption. This is only for terminal commands not for any Natural statements.

Please correct me if I am going the wrong way with this assumption.


I’ll put this in this thread, but it (in my opinion only) applies to all threads that you open in these forums asking for help.

When you post with your question perhaps you can also include the responses that you receive to the same question posted in other non-SAG forums. This would help all the contributors to this forum in eliminating possible solutions that you have already received elsewhere and discarded as not being the solution.

For example, I see in the forum at http://ibmmainframes.com/forum-40.html (Mainframe Forum: Natural & MQSeries) that you have asked the virtually the same questions in the last week there as you have here. At least I have to believe that it is you based on the identical subject, text and timestamp of postings - even if the author name of the post is different. If it isn’t you, please accept my apologies.

In neither place do I see any reference to the other forum’s contribution to the possible solution(s). To be fair, when a solution was found by this forum (see thread http://tech.forums.softwareag.com/viewtopic.php?t=15710&fstart=50&sid=bbd3807966d3c5430d4a7954dbc86979) you did post it to the other forum (see thread Invoking helproutine from MAP -IBM Mainframes). It might just be me, but perhaps this forum (specifically Steve and Ralph) should be given a bit of credit for the solution. To the casual reader it could almost appear that you take credit for the solution, but I’m sure that is not your intent.

In my opinion (again, only my own) this practice is a little counter-productive - perhaps other forum contributors can offer their opinion on this.

Just to add another example to my previous post, I see the following in the non-SAG Mainframe forum:

Where Paul @ SAG provided that answer in:


Perhaps posting the location of this community’s forums in that community (and vice versa) would benefit the citizens of both communities. I’ll leave that to you, since you are pretty well known in both communities (judging by the number of postings you have in both).


Hi Colin,

Thank you for your advice on such a good practice that I should have been following on my own. I am regularly visiting both the forums (SAG and IBM mainframes), and also ask for help.

I get benefited in both the forums for many of my posts. Especially just to name few are Steve, Ralph, Kelly D and others. I always thank them wholeheartedly because of their timely help with best solutions.

Whenever I get any kind of complex situations with little time in hand, I confidently look forward to the forums. This is the place where I have improved most of my Natural skill. There is no doubt.

I can not just take the credit for which they are entitled. It is my entire mistake by not posting the contributor names in the other forums, though I post the answers. I never intended to take credit for someone’s fine skills. And this will not help me grow technically and professionally. I always afraid, such credits are short-lived. Every now and than people visit many forums and notice who is the owner of a solution (As you did for this topic and found more ).

Here onwards, I will follow a good practice of posting the whole contribution (including the contributor name) in the forums. That would be great help to everyone in the forums.

Thank you Colin again.

Hi Colin;

First, thank you for finding the ibmmainframes forum. Second, thank you for identifying Mishra (aka Monasu1998). In his apology he states “I never intended to take credit for someone’s fine skills.” Which is rather difficult to believe since his ibm posts feature the word “I” so much as in “I did …” “I do…”, “I think…”. etc.

Now for the really bad news. I went to this forum. The Natural/Adabas knowledge evidenced by the posters of questions (and many of the responders) is pathetic. Yet, given the context of the questions, it would seem that these are people who are active as Natural programmers, not trainees looking for answers to questions (which they should be asking in class, except the outsource companies do not provide education for their people).

Why should we (the more knowledgeable portion of the Adabas/Natural community) care whether the outsource community is so incompetent? This is an easy question. The more poor Natural code that appears in systems, the easier it is for other companies to convince the non technical management of existing Adabas/Natural shops that they should make the transition to Java, C#, Oracle, DB2, etc. The more the Adabas/Natural community shrinks the more the IT community suffers (I am really biased, having worked with Adabas and Natural for over 30 years. This is the best platform for developing business systems that has come along thusfar).

On a positive note. If your shop is threatened by outsourcing, I suggest you have techies sit down with management and do a live presentation of the ibmmainframes forum, explaining the level of questions and answers to be found there.

If we do not respond to the threat of outsourcing, Adabas and Natural will disappear from the IT world; a disaster for Software AG, for experienced Adabas/Natural people, and the companies that have created the excellent systems based on Adabas and Natural.


Hi Steve,

In my ibmmainframes forum the word “I” so much as in “I did …” “I do…”, “I think…”. etc are seen because of the copy and paste of the content from this forum to the ibm forum.

As I said in my last post, it was not intentional to take credit for anything that I did not do. Yes, the mistake was not posting the real responder names in ibm forum. I admit to this point.

Accept my apologies for diong so (if not interntional, but did) and at the same time, I will keep in mind to share the original responder’s name in the other forum.

My turn to apologize. On the ibmmainframes forum, some of your posts are signed “Aswini”, which I believe (based on a google search) is a female rather than a male name.



I see that you were a pretty busy guy over in that forum on the weekend (don’t you sleep?). I especially liked your response to the post about the “tricky question in Natural” in this thread:

As they say, the silence in that forum is deafening. :wink: