How do you scan an ADABAS file using Natural?

The CLOG shows that a Natural program is issuing over 7 million L1/L4 (Read or Read and Hold Record) commands which is causing the CLOG to fill and require a switch much faster than our system is able to handle. I see hundreds of

ADANC3 00062 2017-04-26 02:34:51 Caution: Command logging has stalled

messages in the MPM log. Fortunately, ADABAS recovered on it’s own and the job completed.

Does anyone have a simple Natural program that would allow the programmer to do an initial read, followed by GET NEXT until the end of the file?

An L1 is a READ BY ISN or a GET. An L4 is a READ BY ISN WITH HOLD or a GET WITH HOLD. A GET NEXT is an L1 used to process a set if ISNs created by a FIND command. Even if it were possible to FIND 7 million ISNs, the number of Adabas calls would not change.

It might be a common technique that is causing this problem. Check whether the program has a GET nested within the READ, with the UPDATE or DELETE attached to the GET. If so, changing the ET logic to remove the GET would save you one third of the commands.

READ - GET - UPDATE → READ - UPDATE

They are not doing a GET or UPDATE, they are really trying to scan the entire file. Sounds like we are going to have to play around with the MULTI-FETCH clause to try and improve performance.

Does anyone have any tips on using MULTI-FETCH?

If there were no UPDATEs, there would be no L4.

Since you are reading an entire file, there is only one tip if you are on the mainframe:

MULTI-FETCH 10

If you are not on a mainframe, it’s

MULTI-FETCH ON 

“Tips” apply if you are reading a portion of a file. The big tip is

ps This would have been better posted on the Natural for Mainframes or Natural for Open Systems forums.

I can’t figure out how to post this on the Natural for Mainframes forum. I go to the Natural for Mainframes forum, select submit feedback and I see my own question.

At the top of the main Forums page, just to the right of center is a Sign In hyperlink. Once you are signed in, select a Forum, such as Natural on Mainframes. Just above the topics list will be a new topic button. Press that to start a new thread.

1 Like

Thank you for all your feedback Ralph. I was finally able to repost my questions in the Natural for Mainframes forum