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

Reply via email to