Yes - I corrected this in another post - you only want the first character
of the filemode - or it will never be just X:

Parse Source . . x1 x2 x3 .
If left(x3,1) <> 'X' Then Do
  Say 'You are not executing from the X disk!'
  Exit 99
End

Note the 2nd line now has left(x3,1) to only look at the first character.
This is because the filemode is actually X1 or X2, etc.

Scott Rohling

On Thu, Oct 14, 2010 at 2:22 PM, Sergio Lima <sergiovm...@hotmail.com>wrote:

>  Hello,
>
> Thanks from your help.
>
> This code :
>
> trace r
> 'LISTFILE  cataa exec * (DATE STACK LIFO'
>
> Parse Source . . x1 x2 x3 .
> If x3 <> 'X' Then Do
>   Say 'You are not executing from the X disk!'
>   Exit 99
> End
>
>
> Also do a loop, look please :
>
>                                              8 *-* 'LISTFILE  cataa exec *
> (DATE STACK LIFO'
>        >>>   "LISTFILE  cataa exec * (DATE STACK LIFO"
>     10 *-* Parse Source . . x1 x2 x3 .
>        >.>   "CMS"
>        >.>   "COMMAND"
>        >>>   "CATAA"
>        >>>   "EXEC"
>        >>>   "A2"
>        >.>   "CATAA CMS"
>     11 *-* If x3 <> 'X'
>        >>>   "1"
>        *-*  Then
>        *-*  Do
>     12 *-*   Say 'You are not executing from the X disk!'
>
>        >>>     "You are not executing from the X disk!"
> You are not executing from the X disk!
>     13 *-*   Exit 99
>        >>>     "99"
>      8 *-* 'LISTFILE  cataa exec * (DATE STACK LIFO'
>        >>>   "LISTFILE  cataa exec * (DATE STACK LIFO"
>     10 *-* Parse Source . . x1 x2 x3 .
>        >.>   "CMS"
>        >.>   "COMMAND"
>        >>>   "CATAA"
>        >>>   "EXEC"
>        >>>   "A2"
>        >.>   "CATAA CMS"
>     11 *-* If x3 <> 'X'
>        >>>   "1"
>        *-*  Then
>
>
> Any mistake here ?
>
> Sergio
>
>
>
>
> ------------------------------
> Date: Thu, 14 Oct 2010 13:34:28 -0600
> From: scott.rohl...@gmail.com
> Subject: Re: REXX that verify what MINIDISK is a file
>
> To: IBMVM@LISTSERV.UARK.EDU
>
> Parse Source . . x1 x2 x3 .
> If x3 <> 'X' Then Do
>   Say 'You are not executing from the X disk!'
>   Exit 99
> End
>
> Scott Rohling
>
>
> On Thu, Oct 14, 2010 at 1:19 PM, Sergio Lima <sergiovm...@hotmail.com>wrote:
>
> Hello List,
>
> We are changing a REXX here for that this EXEC execute only if reside on X
> acessed minidisk.
> So, try with STATE command without succesfull  and now try  with LISTFILE
> command.
> If execute like this :
>
>      9 *-* 'LISTFILE  cataa exec x (DATE STACK LIFO'
>        >>>   "LISTFILE  cataa exec x (DATE STACK LIFO"
>     10 *-* if rc = 0
>        >>>   "1"
>        *-*  then
>        *-*  do
>     11 *-*   pull x1 x2 x3 .
>        >>>     "CATAA"
>        >>>     "EXEC"
>        >>>     "X2"
>        >.>     "V         83        506          4 10/14/10 15:03:32"
>     12 *-*   say x1
>        >>>     "CATAA"
> CATAA
>     13 *-*   say x2
>        >>>     "EXEC"
> EXEC
>     14 *-*   say x3
>        >>>     "X2"
> X2
>     15 *-*   exit
>
> But, when try execute with filemode *, lookslike the program go to a
> LOOPING :
>
>      9 *-* 'LISTFILE  cataa exec * (DATE STACK LIFO'
>        >>>   "LISTFILE  cataa exec * (DATE STACK LIFO"
>     10 *-* if rc = 0
>        >>>   "1"
>        *-*  then
>        *-*  do
>     11 *-*   pull x1 x2 x3 .
>        >>>     "CATAA"
>        >>>     "EXEC"
>        >>>     "X2"
>        >.>     "V         83        506          4 10/14/10 15:03:32"
>     12 *-*   say x1
>        >>>     "CATAA"
> CATAA
>     13 *-*   say x2
>        >>>     "EXEC"
> EXEC
>     14 *-*   say x3
>        >>>     "X2"
> X2
>     15 *-*   exit
>      9 *-* 'LISTFILE  cataa exec * (DATE STACK LIFO'
>        >>>   "LISTFILE  cataa exec * (DATE STACK LIFO"
>     10 *-* if rc = 0
>        >>>   "1"
>        *-*  then
>        *-*  do
>     11 *-*   pull x1 x2 x3 .
>        >>>     "CATAA"
>        >>>     "EXEC"
>
> The command in the line show this :
>
> listfile cataa exec *
> CATAA    EXEC     A2
> CATAA    EXEC     X2
> Ready; T=0.01/0.01 16:17:00
>
> Someone can help, how can verify if this EXEC is not running from X disk ?
>
> Thanks very much,
>
> Sergio Lima Costa
> Sao Paulo - Brazil
>
>
>

Reply via email to