FEATURES : Ease to Use Free Format Convenient Built - in Functions Debugging Capabilities Interpreted Language Extensive Parsing capabilities Components of REXX Instructions Built – in Functions TSO/E External Functions Data Stack Functions What is a REXX Exec ? Contains REXX language Instructions and Commands Starts with the comment line with the word REXX Example : /* REXX */ Say ‘This is my First REXX program’ Ease to Use Ø Free Format Ø Convenient Built - in Functions Ø Debugging Capabilities Ø Interpreted Language Ø Extensive Parsing capabilities
Posts
Showing posts from April, 2015
REXX SETUP -- How to setup Rexx -- A Guide for Beginners
- Get link
- X
- Other Apps
REXX SETUP 1) TSO EX 'USERID.REXX.EXEC(HELLO)' EX---- directly running from the TSO panel 2) EX 'USERID.REXX.EXEC(HELLO)' EX – directly running from the ready panel When you logon to ISPF, ISPF assigns a pre-defined set of DDNames to few PDS datasets. To view this set, you can enter the command TSO ISRDDN from the ISPF panel. DDNAME DATA SET NAME SYSEXEC PROD.CEXEC SYSPROC USERID.CLIST There are two ways to do this: 1) If your system adminstrator allows, you can run a CLIST or REXX program when you logon to ISPF. This will usually appear as a message when you logon. Ask you system admin if you can do this, as this is the best way to do this. If it is a CLIST, add the following command in the CLIST, CONCATD FI(SYSEXEC) DA('USERID.REXX.EXEC') If it is a REXX, add the following command, "ALLOC FILE(SYSEXEC) DAT...
REXX PROGRAM TO DETERMINE IF A JOB IS ACTIVE
- Get link
- X
- Other Apps
/* REXX */ /* REXX PROGRAM TO DETERMINE IF A JOB IS ACTIVE. */ /* PARAMETERS: JOB NAME */ /* JOB NUMBER */ /* USER */ /* RETURNS: "1" ACTIVE , "0" NOT ACTIVE */ /*********************************************************************/ PARSE ARG JOB_NAME USER JOB_NUMBER BUFFER = 0 'ADDREXBUF BUFFER(&BUFFER)' /* CREATE ACTIVE JOB LISTING. */ 'WRKACTJOB OUTPUT(*PRINT)' /* CREATE TEMPORARY WORK FILE TO STORE SPOOLED FILE OUTPUT */ 'CHKOBJ QTEMP/ACTJOBLST *FILE' IF RC ¬= '0' THEN 'CRTPF QTEMP/ACTJOBLST RCDLEN(132)' /*COPY THE LAST SPOOLED FILE FROM WRKACTJOB TO THE TEMPORARY WORK FILE.*/ 'CPYSPLF FILE(SCMDH71) TOFILE(QTEMP/ACTJOBLST) SPLNBR(*LAST)' /*COPY THE WRKACTJOB OUTPUT FROM QTEMP TO THE REXX QUEUE.*/ 'CPYFTOREXQ FROMFILE(QTEMP/ACTJOBLST) MBR(ACTJOBLST)' DO QUEUED() PARSE PULL ACT_JOB_NAME ACT_USER ACT_JOB_NUMBER REST /* IF ACTIVE JOB IS SAME AS ARGUMENT, THEN RETURN 1.*/ IF JOB...