Thanks for the URL. Worked great. Thank Again.
-----Original Message----- From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Steve Horein Sent: Wednesday, March 26, 2025 6:22 PM To: [email protected] Subject: Re: REXX for LOGSTREAM Define ! CAUTION! EXTERNAL SENDER! STOP, ASSESS, AND VERIFY Do you know this person? Were you expecting this email? If not, report it using the Report Phishing Button! Mr. Steely, meet Mr. Zelden: https://www.mzelden.com/mvsutil.html https://www.mzelden.com/mvsfiles/logrrexx.txt On Wed, Mar 26, 2025 at 5:46 PM Steely.Mark < [email protected]> wrote: > I had ChatGPT attempt this, but the generated code failed. Since I am > not highly skilled in REXX, I struggled to troubleshoot and fix the > issues. > Would anyone have a working solution that can read the DATA TYPE(LOGR) > REPORT(YES) output > from the IXCMIAPU utility and generate the appropriate DEFINE > LOGSTREAM control statements? > > I will provide what was generated but any other process would be > appreciated. > > Thank You > > /* REXX to process IXCMIAPU output and generate DEFINE LOGSTREAM */ > TRACE IR PARSE ARG INDS OUTDS IF INDS = "" ] OUTDS = "" THEN DO > SAY "Usage: EXEC REXX <INPUT_DS> <OUTPUT_DS>" > EXIT(8) > END > > /* Assign DDNAMEs */ > INDD = "INDD" /* Temporary DDNAME for input */ > OUTDD = "OUTDD" /* Temporary DDNAME for output */ > > /* Allocate Input Dataset */ > ADDRESS TSO "ALLOC F("INDD") DA('"INDS"') SHR REUSE" > > /* Allocate Output Dataset */ > ADDRESS TSO "ALLOC F("OUTDD") DA('"OUTDS"') NEW CATALOG " , > "SPACE(10,5) TRACKS LRECL(80) RECFM(F B) DSORG(PS)" > > /* Read from input dataset */ > ADDRESS TSO "EXECIO * DISKR "INDD" (STEM INPUT.)" > > DO I = 1 TO INPUT.0 > LINE = STRIP(INPUT.I) > IF LINE = "" THEN ITERATE > > IF WORD(LINE,1) = "LOGSTREAM" THEN DO > LOGSTREAM_NAME = WORD(LINE,2) > CMD = "DEFINE LOGSTREAM("LOGSTREAM_NAME") " > END > > DO J = 1 TO 21 > SELECT > WHEN WORD(LINE,1) = "STG_SIZE" THEN > CMD = CMD ]] "STG_SIZE("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "HIGH_WATER" THEN > CMD = CMD ]] "HIGH_WATER("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "AUTODELETE" THEN > CMD = CMD ]] "AUTODELETE("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "DASDONLY" THEN > CMD = CMD ]] "DASDONLY("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "DESCRIPTION" THEN > CMD = CMD ]] "DESCRIPTION('"WORD(LINE,2)"') " > WHEN WORD(LINE,1) = "DIAG" THEN > CMD = CMD ]] "DIAG("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "DUPLEXMODE" THEN > CMD = CMD ]] "DUPLEXMODE("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "EHLQ" THEN > CMD = CMD ]] "EHLQ("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "GROUP" THEN > CMD = CMD ]] "GROUP("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "HIGHOFFLOAD" THEN > CMD = CMD ]] "HIGHOFFLOAD("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "HLQ" THEN > CMD = CMD ]] "HLQ("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "LOGGERDUPLEX" THEN > CMD = CMD ]] "LOGGERDUPLEX("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "LOWOFFLOAD" THEN > CMD = CMD ]] "LOWOFFLOAD("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "LS_ALLOCAHEAD" THEN > CMD = CMD ]] "LS_ALLOCAHEAD("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "LS_SIZE" THEN > CMD = CMD ]] "LS_SIZE("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "MAXBUFSIZE" THEN > CMD = CMD ]] "MAXBUFSIZE("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "MODEL" THEN > CMD = CMD ]] "MODEL("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "OFFLOADRECALL" THEN > CMD = CMD ]] "OFFLOADRECALL("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "RETPD" THEN > CMD = CMD ]] "RETPD("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "RMNAME" THEN > CMD = CMD ]] "RMNAME("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "STG_DUPLEX" THEN > CMD = CMD ]] "STG_DUPLEX("WORD(LINE,2)") " > WHEN WORD(LINE,1) = "WARNPRIMARY" THEN > CMD = CMD ]] "WARNPRIMARY("WORD(LINE,2)") " > OTHERWISE NOP > END > END > > CMDOUT.0 = 0 > > IF CMD \= "" THEN DO > CMDOUT.0 = CMDOUT.0 + 1 > CMDOUT.CMDOUT.0 = CMD > END > END > > /* Write to output dataset */ > ADDRESS TSO "EXECIO "CMDOUT.0" DISKW "OUTDD" (STEM CMDOUT.)" > /* Free datasets */ > ADDRESS TSO "FREE F("INDD")" > ADDRESS TSO "FREE F("OUTDD")" > > EXIT(0) > > > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to [email protected] with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
