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 > > >