"xcmd" is no stage, it just is a command that STARMSG will issue just after its start.
I've got an idea, I don't know if it is easily implemented: pass a command to STARMSG with a known response. when that response arrives, send it to some other stream where you uses SPECS to replace it by the command to execute, that you pass to a COMMAND (or CP) stage that you give a secondary output to trap the returncode. Something like: '!STARMSG comamndWithKnowResponse', '!L: NLOCATE /the_expected_response', ..... '?L:!SPEC /'xcmd'/ 1', '!Cmd: COMMAND', '?Cmd:!Var CmdRc', ... 2011/2/8 Tom Huegel <tehue...@gmail.com> > Thanks David, I thought that was the flow, but I didn't get it to work.. > Maybe I was just tired. Between shoveling snow and watching the Super Bowl > I'm ready for a vacation. > > > On Tue, Feb 8, 2011 at 5:53 AM, Dave Jones <d...@vsoft-software.com>wrote: > >> Tom, if the "xcmd" stage has a secondary output stream defined, >> Pipelines will write the return code from the cp/cms command there. >> >> Does that help? >> >> DJ >> >> On 02/07/2011 02:09 PM, Tom Huegel wrote: >> > I am trying to replace a WAKEUP (IUCVMSG routine with a PIPE STARMSG. >> > I have the following snippet that seems to work fine except for >> capturing >> > the return code from the cp/cms command (XCMD). >> > >> > Is there a simple fix to this? - Thanks >> > >> > /* >> > */ >> > >> > trace >> > o >> > cp set msg >> > iucv >> > arg >> > xcmd >> > 'pipe (endchar >> > ?)', >> > '| starmsg >> > ', >> > >> > xcmd, >> > '| specs 9-16 1 17-* strip nw x15 >> > nw', >> > '| stem linecount.', /* save results >> > */ >> > '?', /* start of second pipeline >> > */ >> > 'literal +01', /* Delay time >> > */ >> > '| delay', /* Delay >> > */ >> > '| pipestop' /* Stop >> > */ >> > say >> > rc >> > >> > cp set msg >> > on >> > 'pipe stem linecount. | >> > console' >> > exit >> > >> >> -- >> Dave Jones >> V/Soft Software >> www.vsoft-software.com >> Houston, TX >> 281.578.7544 >> > > -- Kris Buelens, IBM Belgium, VM customer support