Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

PanelRexx & Execio

Status
Not open for further replies.

williewhale

Programmer
May 11, 2012
1
US
In a panel I am using PanelRexx to write to a PDS. I then close the dataset and write to different member. I do this 1 - many times. After each Execio I have to hit <enter> and then process the next rexx statement. Is there a way to "simulate" enter? I do not care about the I/O, I only want to hit <enter> once from the panel. My rexx works fine outside of the panel. Trace tells me it is between the Execio & Free statement that I have to hit <enter>
QUEUE QUE_PACK_CMD
"ALLOC F(BKP) DA('my.dataset(member1)') SHR REUSE"
"EXECIO * DISKW BKP (FINIS"
"FREE F(BKP)"
QUEUE QUE_PACK_NAME
"ALLOC F(BKP) DA('my.dataset(member2)') SHR REUSE"
"EXECIO * DISKW BKP (FINIS"
"FREE F(BKP)"
I hope this is a duh question.
 
The culprit is "EXECIO * DISKW". Nevernevernevernevernever "* DISKW". You always have enough information to avoid it.

In this case it's as simple as "EXECIO" queued() "DISKW BKP (FINIS"

Why does this happen? The "* DISKW" says "keep writing until you run out of input". After it writes the -n- queued lines, the default action is to open the keyboard to see if the user has anything to say. Your response is a null-enter which ends the stream.

To prove this, when you run this, instead of just tapping the ENTER key, type 'abc' and ENTER, then type something else and ENTER. When you finally give it a null-enter, the process will continue. What you typed will be written to the output.

Nevernevernevernevernever "* DISKW".

Frank Clarke
--America's source for adverse opinions since 1943.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top