Not the way I'd do it, but building on your original exec, try this;

/*   */
Address Command
Arg vcmd
If vcmd='' then vcmd='D NET,APPLS'
onq = Queued()
'Q SECUSER VTAM (LIFO'  /* cms will route to cp, stack response */
Parse pull . oldsecu .
Do while Queued()>onq; Parse pull; End
If oldsecu='not' then oldsecu = 'RESET'
'CP SET SECUSER VTAM *'
'CP SET CPCONIO IUCV'
'CP SEND VTAM VTAM' vcmd
DO FOREVER
  'WAKEUP  +00:05 (QUIET IUCVMSG'  /* set timeout value */
  IF RC = 5 THEN DO while Queued()>onq
     PARSE PULL MSG
     Say ">->" msg
     'EXECIO 1 DISKW VTAM RESULT  A (VAR MSG'
  END
  ELSE Leave
END
'CP SET CPCONIO OFF'
'CP SET SECUSER VTAM' oldsecu
Do while Queued()>onq; Parse pull cruft; Say cruft; End
Exit
--
Mike Harding
z/VM System Support

[email protected]
[email protected]
[email protected]
(925) 926-3179 (w)
(925) 323-2070 (c)
IM: VMBearDad (AIM),  mbhcpcvt (Y!)


The IBM z/VM Operating System <[email protected]> wrote on 04/22/2010
10:59:45 AM:

> From: "Hughes, Jim" <[email protected]>
> To: [email protected]
> Date: 04/22/2010 11:00 AM
> Subject: Re: Question About Read console output under REXX
> Sent by: The IBM z/VM Operating System <[email protected]>
>
> There isn’t anything saying one message per interrupt. The interrupt
> handler keeps pushing them onto the program stack whether you are
> there to retrieve them or not.
>
> Stay in your loop until you decide it is time to exit.  The timer
> suggestion is a good one. If VTAM sends a message indicating “end of
> command”, I’d use it as my exit condition too.
>
> Good Luck.
> ____________________
> Jim Hughes
> 603-271-5586
> "It is fun to do the impossible."
>
> From: The IBM z/VM Operating System [mailto:[email protected]]
> On Behalf Of Sergio Lima
> Sent: Thursday, April 22, 2010 1:55 PM
> To: [email protected]
> Subject: Re: Question About Read console output under REXX
>
> Hello Jim,
>
> Thanks from your help.
> But, Jim, it's well, if I have all records with only one time correct ?
>
> Regards,
>
> Sergio
>
> Date: Thu, 22 Apr 2010 12:38:30 -0400
> From: [email protected]
> Subject: Re: Question About Read console output under REXX
> To: [email protected]
> Queue puts data at the end of the program stack.
>
> Push puts data at the beginning of the program stack.  I think you
> have used PUSH instead of queue.
>
> Also, do this to retrieve your responses:
>
> $q = queued()
> “EXECIO” $q “diskw vtam result a”
>
>
> I’ve not tested this either.
>
> ____________________
> Jim Hughes
> 603-271-5586
> "It is fun to do the impossible."
>
> From: The IBM z/VM Operating System [mailto:[email protected]]
> On Behalf Of Sergio Lima
> Sent: Thursday, April 22, 2010 12:26 PM
> To: [email protected]
> Subject: Re: Question About Read console output under REXX
>
> Hello Mr. Scott,
>
> We already test this sample here, but still don't run well,
>
> We write this :
>
> /*   */
> TRACE R
> 'CP SET SECUSER VTAM *'
> 'CP SET CPCONIO IUCV'
> 'CP SEND VTAM VTAM D NET,APPLS'
> DO FOREVER
>   'WAKEUP  (IUCVMSG'
>   IF RC = 5 THEN DO
>      PARSE PULL MSG
>      PARSE VAR MSG
>      queue msg
>      'EXECIO 1 DISKW' VTAM RESULT  A
>   END
>   ELSE EXIT
> END
>
> But, the response of my command don't return.
> I wait few seconds, and my file was wrote with this data :
>
> VTAM     RESULT   A1  V 87  Trunc=87 Size=4 Line=0 Col=1 Alt=0

> ===>

>      |...+....1....+....2....+....3....+....4....+....5....+....
> 6....+....7..
> 0000 * * * Top of File * * *

> 0001 *SCIF   VTAM     VTAM    : IST663I IPS SRQ REQUEST FROM
> ISTAPNCP FAILED,
> 0002 *SCIF   VTAM     VTAM    : IST664I REAL  OLU=CEF.CICHABE       ALIAS
D
> 0003 *SCIF   VTAM     VTAM    : IST889I SID = D5CBC1D3CE560499

> 0004 *SCIF   VTAM     VTAM    : IST314I END

>
> Another words, this data is the result of another thing.
>
> Do you seee some mistake here ?
>
> I understand, that the WAKEUP (IUCVMSG receive the RC = 5 all times
> that my virtual machine receive one messagem from VTAM machine correct?
>
> If this is ok, why the result of my DISPLAY don't run ?
>
> Thanks again.
>
> Sergio
>
>
>
>
>
>
> Date: Thu, 22 Apr 2010 09:23:20 -0600
> From: [email protected]
> Subject: Re: Question About Read console output under REXX
> To: [email protected]
>
> Sergio --  The problem here is that you ARE getting the output of
> your command -- but what you want to capture is the asynchronous
> response to that command.   In other words -- the CP SEND worked
> fine, and the command ended -- but what you wanted to capture was
> the response from VTAM that followed after the CP SEND command ended.
>
> The common way to do this is using WAKEUP (IUCVMSG -- setting
> CPCONIO to IUCV, and looping to capture the response.. something like
this:
>
> 'CP SET SECUSER VTAM *'
> 'CP SET CPCONIO IUCV'
> 'CP SEND VTAM VTAM D NET.APPLS'
> Do Forever
>   'WAKEUP  (IUCVMSG'
>   If rc = 5 Then Do
>      Parse pull msg
>      Parse var msg ........
>     /* Do something with output - make sure it's from VTAM, etc */
>   End
>   Else Exit
> End
>
>
> Just a very rough sample - but hopefully enough to get you started.
> You can also use PIPE and STARMSG, but I'm less familiar with using
> that method.
>
> Hopefully this is enough to get you started!
>
> Scott Rohling
> On Thu, Apr 22, 2010 at 9:01 AM, Sergio Lima <[email protected]>
wrote:
> Hello Mr. Scott,
>
> First, thanks very much from your help, and other colleagues of this
> list, and sorry from delay this response.
> I tested your sample here, and this is wath we need.
> For CMS commands, ok, for CP commands, also ok, but,
> We need something like this :
>
> /*   */
> TRACE R
> "CP SET SECUSER VTAM * "
> 'PIPE CP SEND VTAM VTAM D NET,APPLS   | STEM OUTPUT.'
> SAY OUTPUT.0
> DO I = 1 TO OUTPUT.0
>   SAY SUBSTR(OUTPUT.I,1,8)
>   QUEUE OUTPUT.I
>   'EXECIO 1 DISKW' VTAM RESULT  A
> END
> "CP SET SECUSER VTAM OPERATOR "
>
> Because, need monitoring the I/O buffers of VTAM, and others.
>
> When execute the exec above, the OUTPUT of the command is not wrote
> in my CMS file.
>
> Can you help please ?
>
> Thanks very much,
>
>
> Sérgio Lima Costa
> [email protected]
> Arquitetura e Suporte
> GRV Solutions
> Tel.: +55 (11) 4152-9398
> www.grvsolutions.com.br
>
>
>
>
> Date: Fri, 12 Mar 2010 08:54:05 -0700
> From: [email protected]
>
> Subject: Re: Question About Read console output under REXX
> To: [email protected]
> 'PIPE CMS command | STEM OUTPUT.'
> 'PIPE CP command    | STEM OUTPUT.'
>
> Do i = 1 to output.0
>   Say output.i
> End
>
> for starters
>
> Scott
> On Fri, Mar 12, 2010 at 8:43 AM, Sergio Lima <[email protected]>
wrote:
> Hello List,
>
> Years ago, We had a REXX program that gove a CMS (query names), or a
> CP command (CP q rdr all) , and next read the output of
> this command in my program, for example : If we need look the spool
> files, my program process this, and look how many files had,
> or list the users logged in alphabetic order.
> Unfortunatelly We lost this samples programs, so, someone have
> anything like this ?
>
> Thanks very much.
>
> Sergio Lima Costa
> System Programmer
> GRV Solutions
> Sao Paulo - Brazil
>
> Transforme-se em personagens engraçados. Conheça o novo site de I
> Love Messenger.
>
>
> Veja todos os seus e-mails de diferentes contas com apenas um login.
> Veja como.
>
>
> Quer transformar suas fotos em emoticons para o Messenger? Clique
> aqui e veja como.
>
>
> Quer transformar suas fotos em emoticons para o Messenger? Clique
> aqui e veja como.

Reply via email to