REXX Tips & Tricks, Version 2.80


Inf-HTML [About][Toc][Index] 0.9b (c) 1995 Peter Childs


Workaround for the // limitation



You may use the following workaround to pass parameters containing // to a 
REXX program. (see Parameters eaten by the REXX interpreter). I found the 
base idea of this workaround (using an OS/2 batch to call the REXX 
program) in a public message in one of the CompuServe forums. In contrast 
to this version, the version published in the CompuServe message used REXX 
queues to pass the parameter. But I think that's a lot of overhead for 
this purpose. 

Note:  You can also use the method described in the section Get the 
       parameters as seen by CMD.EXE to get around this limitation. 
 
 First, create an OS/2 batch file to launch your REXX program: 

  
   @ECHO OFF
   REM *** OS/2 Batch program to launch a REXX program with
   REM     normally inpossible parameters for REXX programs
   REM
 
   REM *** init the environment variable for the parameters
   SET REXXParms=
 
   REM *** copy the parameters to the environment variable
   REM     (use a loop to handle more than 9 parameters)
   REM
 :PLOOP
   IF "%1" == "" GOTO CALLREXX
     SET REXXParms=%REXXPARMS% %1
     SHIFT
   GOTO PLOOP
 
 :CALLREXX
   REM *** now call the REXX program
   myRexxProg REXXPARMS
 
 
 
 Second, use the following prolog to get the parameters in your REXX 
 program: 

  
 /* sample REXX program prolog to get the parameters from an           */
 /* environment variable                                               */
 
                     /* get the name of the environment variable with  */
                     /* the parameters                                 */
   parse arg parmVar .
 
                     /* get the parameters from the environment        */
                     /* variable                                       */
   thisParms = value( parmVar , , "OS2ENVIRONMENT" )
 
   say "The parameters for this program are:" thisParms
 
 
 And third: Use only the OS/2 batch program to launch your REXX program. 
   

Inf-HTML End Run - Successful