
As far as I know, in order for CL to access the I/O feedback area, you would have to rewrite the program in RPG, COBOL or other HLL. The CL compiler doesn’t provide any pointer or linkage to the I/O feedback area.
Is there specific information that you need from the feedback area? There might be methods of getting the info through other means.
Tom

CL - aka ‘Control Language’ is intended for use in controlling the flow of work / jobs in the machine. If you are using screens - UIM or dspfs pretty much all you need to know at a CL level is reported as a message (MONMSG) or as a data field.
As Tom asked - what is your *real* problem we need to solve?

Hi Tom and Yorkshireman,
The dspf in question is one that displays the statuses (active, inactive, msgw, etc.) of approximately 40 batch jobs that run continuously and concurrently throughout the day. Unless the user/operator makes an entry from the keyboard, the screen refreshes itself automatically every 60 seconds. What is wanted from the feedback area (major and minor status codes) is the indication that return of control to the CL program is the result of the timeout (and not a keyed-in entry by the user/operator).
Zack

An alternative solution you might consider would be to create the display file using the DTAQ parameter and specify a data queue that is to be sent a message when input is available from the user. Your program can SND to the *DSPF (not SNDRCV) and then call the QRCVDTAQ API to receive a message from the data queue specifying a 60 second wait time. If the user presses a key QRCVDTAQ will return a message with the value ‘*DSPF in positions 1 - 10. If sixty seconds pass with no operator input then the Length of data parameter returned by QRCVDTAQ will be 0.
If the operator did something, RCV the record format, process the request, SND, and go back to reading from the *DTAQ. If a timeout occured, SND the normal update and go back to reading from the *DTAQ (again with a sixty second wait time).
I do have an idea of how CL might be able to access the *DSPF IO feedback information but haven’t had an opportunity to try it out. It would be more involved though than using a *DTAQ approach.
Bruce Vining

I should clarify that “a key” in my earlier append means an AID key (Enter, enabled CF key, enabled Roll key, etc).

Thank you Bruce for your useful suggestion. Your solution would indeed appear to meet the requirement I’m looking for. I will modify the DSPF and CL program accordingly, and try it out. Will come back with an update on its success (or otherwise).
Zack

Thanks again, Bruce. Your suggestion works and was easy to implement.
Zack

[...] Accessing I/O Feedback Area of DSPF from within CL program [...]

Bruce,
Only today, a month after you apparently posted your additional response with a CL program to retrieve the I/O feedback area, did I actually see your response. At the moment, we are using the DTAQ implementation but I will save your example and when I get the chance will see that I can make that work as well.
Thanks,
Zack

Bruce deserves kudos not just for providing an answer, but also for having the courage to post it. I couldn’t convince myself to go with _Riofbk, et al., when the question seemed to be basic. The vagaries of *PTR variables alone had me thinking the thread could go a long way.
I sometimes forget that systems do exist without HLL compilers. Bruce never does.
Tom

















