On 22 May 2017 at 23:04, Booth Martin <booth@xxxxxxxxxxxx> wrote:
ProgA calls ProgB, sometimes repeatedly (talking dozens of times, not
thousands or more). It works fine. I decided I wanted to not set off
ProgB's LR indicator but rather let the activation group do that when ProgA
ends. That works, but all calls to ProgB, after the first call have no
border.
Is there more going here than I realize?
Check RSTDSP() on the display file. As to why that is a factor, you
need to realise what the change from SETON LR has effected. Before,
every time CALL PROGB happened, the operating system would OPEN the
display file, initialise all the indicators, PUT the record format to
the screen as if it had never been there before, execute *INZSR and so
forth. Every time.
Now, PROGB gets activated (in a *CALLER activation group?) and it
/stays activated/. That means that on subsequent calls, *INZSR does
NOT run, variables do NOT get initialised, files do NOT get closed -
aha! The display file stays open, the record format remains on the
display and thus not... refreshed, renewed, redisplayed - except for
the actual elements that are explicitly written; the PUT part of
PUT/GET (or perhaps the WRITE part of WRITE/READ).
Without seeing the display file (specifically, PUTOVR, OVERLAY,
PUTRETAIN) it's kind of a guess on my part. But gentlemen of a
certain age (raises hand) had a habit of conditioning actual data
elements with PUTOVR/OVRDTA because the communications channel was
narrow and we wanted to save some electrons. So constants (like
borders, headings, etc) were sent once. And now you see why I gave
the answer I did.
--buck
As an Amazon Associate we earn from qualifying purchases.