Why are positional problems an issue? They should be just as easy to parse as 
keyword parameters, although I probably wouldn't use REXX for the job.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of 
ITschak Mugzach <[email protected]>
Sent: Wednesday, July 11, 2018 4:45 PM
To: [email protected]
Subject: Re: REXX as JCL replacement

BTW, I wrote a rexx interpreter of JCL a year ago. ITs so easy because JCL
has a name token format, almost nothing is positional. The aim was
verifying security readiness of JCL, just like the JCL checkers but with
security in mind. so migration is not a problem, but as others said, why
migrate something that most time performs to something that sometimes
performs? You miss an IF before the first exec? insert a dummy EXEC
PGM-IEFBR14. Does nothing and allows the IF.

ITschak

On Wed, Jul 11, 2018 at 10:39 PM ITschak Mugzach <[email protected]> wrote:

> Yap. google "Work Flow Language (WFL) Programming Reference Manual pdf" to
> get the PDF version. Just performing a pentest for a UNISYS client in
> Europe and every-time i am surprised with the agility of it.
>
> ITschak
>
> On Wed, Jul 11, 2018 at 7:29 PM Seymour J Metz <[email protected]> wrote:
>
>> Do you have a link to the WFL reference?
>>
>>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>>
>> ________________________________________
>> From: IBM Mainframe Discussion List <[email protected]> on behalf
>> of ITschak Mugzach <[email protected]>
>> Sent: Wednesday, July 11, 2018 6:20 AM
>> To: [email protected]
>> Subject: Re: REXX as JCL replacement
>>
>> Speaking of replacing JCL, how about unisys WFL? It's a programming
>> language dedicated to job flows. BTW, I am happy with jcl...
>>
>> ITschak
>>
>> On Wed, Jul 11, 2018 at 12:09 PM Tony Thigpen <[email protected]> wrote:
>>
>> > So where does JOL get all the other informatoin for the DD card? Is
>> > there some back-end database that has information for all the files that
>> > may be used?
>> >
>> > Tony Thigpen
>> >
>> > Clem Clarke wrote on 07/10/2018 08:33 PM:
>> > > Below is an example of Jol, and the equivalent JCL.
>> > >
>> > > Clem
>> > >
>> > > Simplified Jol Scripting Language for Z/OS, TSO, Linux and Windows
>> > >
>> > > Payroll: Job class C 1000 k;
>> > > Exec Validate Input.Trans, Trans.Action(+1); /* Validate Transations
>> */
>> > > if Validate=0
>> > > then do;
>> > >      Sort transaction(+1) to Sorted.Trans.Actions(+1)
>> > >          Fields(10,10,CH,A);
>> > >      Exec Update Payroll.Master(0), Sorted.Trans.Action(+1),
>> > >          Payroll.Master(+1);
>> > >      If Update = 0
>> > >      then do;
>> > >          Catalog Payroll.Master(+1), Sorted.Trans.Action(+1);
>> > >          Submit Job2;
>> > >      end;
>> > > end;
>> > > else Stop 'Error in PAYROLL Job';
>> > >
>> > >
>> > > ________________________________
>> > >
>> > > Equivalent Existing Job Control Language
>> > >
>> > >
>> > > //PAYROLL   JOB      CLASS=C,REGION=1000K
>> > > //VALIDATE   EXEC     PGM=VALIDATE
>> > > //SYSPRINT   DD       SYSOUT=*
>> > > //INTRANS    DD       DSN=INPUT.TRANS,DISP=SHR
>> > > //OUTTRANS   DD       DSN=TRANS.ACTIONS(+1),DISP=(NEW,PASS),
>> > > //                    DCB=(RECFM=VB,LRECL=200,BLKSIZE=13030),
>> > > //                    SPACE=(CYL,(10,10),RLSE),
>> > > //                    UNIT=SYSDA,VOL=SER=WORK01
>> > > //SORT       EXEC     PGM=SORT,COND=(VALIDATE,NE,0)
>> > > //SYSOUT     DD       SYSOUT=*
>> > > //SORTWK01   DD       UNIT=SYSDA,SPACE=(CYL,20)
>> > > //SORTWK02   DD       UNIT=SYSDA,SPACE=(CYL,20)
>> > > //SORTWK03   DD       UNIT=SYSDA,SPACE=(CYL,20)
>> > > //SORTIN     DD       DSN=TRANS.ACTIONS(+1),DISP=(SHR,PASS)
>> > > //SORTOUT    DD       DSN=SORTED.TRANS.ACTIONS(+1),
>> > > //                    DISP=(NEW,PASS),
>> > > //                    DCB=(RECFM=VB,LRECL=200,BLKSIZE=13030),
>> > > //                    SPACE=(CYL,(10,10),RLSE),
>> > > //                    UNIT=SYSDA,VOL=SER=WORK01
>> > > //SYSIN      DD   *
>> > >          SORT FIELDS=(10,10,CH,A)
>> > > //UPDATE     EXEC     PGM=UPDATE,COND=(VALIDATE,NE,0)
>> > > //SYSPRINT   DD       SYSOUT=*
>> > > //MASTIN     DD       DSN=PAYROLL.MASTER(0),DISP=SHR
>> > > //TRANS      DD       DSN=TRANS.ACTION(+1),DISP=(SHR,PASS)
>> > > //MASTOUT    DD       DSN=PAYROLL.MASTER(+1),DISP=(NEW,PASS),
>> > > //                    DCB=(RECFM=VB,LRECL=200,BLKSIZE=13030),
>> > > //                    SPACE=(CYL,(10,10),RLSE),
>> > > //                    UNIT=SYSDA,VOL=SER=WORK01
>> > > //CATLG      EXEC     PGM=IEFBR14,COND=(UPDATE,NE,0)
>> > > //DUMMY1     DD       DSN=PAYROLL.MASTER(+1),DISP=(SHR,CATLG)
>> > > //DUMMY2     DD       DSN=SORTED.TRANS.ACTIONS(+1),
>> > > //                    DISP=(SHR,CATLG)
>> > > //SUBMIT     EXEC     PGM=IEBGENER,COND=(UPDATE,NE,0)
>> > > //SYSPRINT   DD       SYSOUT=*
>> > > //SYSUT1     DD       DSN=SUBMIT.LIBRARY(JOB2),DISP=SHR
>> > > //SYSUT2     DD       SYSOUT=(*,INTRDR)
>> > > //SYSIN      DD       DUMMY
>> > > //ERRMSG     EXEC     PGM=SHOWERR,COND=(VALIDATE,EQ,0),
>> > > //           PARM='Error in PAYROLL Job'
>> > >
>> > >
>> > >
>> > > Andrew Rowley wrote:
>> > >> On 9/07/2018 10:46 PM, Hobart Spitz wrote:
>> > >>>
>> > >>> Basically, JCL is so far from real a programming language, that I
>> can't
>> > >>> describe it.
>> > >>>
>> > >> That's because JCL isn't a programming language. There are plenty of
>> > >> other languages that also suck as programming languages e.g. HTML,
>> > >> XML, JSON, but that's not what they are supposed to be.
>> > >>
>> > >> JCL is really a kind of definition language. In programming language
>> > >> terms it is more like a set of classes in OOP than a language in
>> > >> itself: you have a job, which has steps, steps have DDs etc. The
>> > >> syntax is old fashioned, but the concepts are very much OOP. It would
>> > >> be relatively simple to create a set of classes in your OOP language
>> > >> of choice to hide the syntax - just create a Job object, add Step
>> > >> objects, add DataDefinition objects etc. and have a Submit method
>> emit
>> > >> JCL.
>> > >>
>> > >> If I want to write a program, I will choose a programming language.
>> If
>> > >> I want to define a unit of work to the system, JCL does a pretty good
>> > >> job. I definitely prefer JCL to long command lines with multiple
>> > >> switches and options defining input and output files, which is the
>> > >> non-z/OS equivalent.
>> > >>
>> > >> Andrew Rowley
>> > >> Black Hill Software
>> > >>
>> > >>
>> ----------------------------------------------------------------------
>> > >> 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
>> >
>>
>>
>> --
>> ITschak Mugzach
>> *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring
>> for Legacy **|  *
>>
>> ----------------------------------------------------------------------
>> 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
>>
>
>
> --
> ITschak Mugzach
> *|** IronSphere Platform* *|* *Information Security Contiguous Monitoring
> for Legacy **|  *
>
>
>

--
ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Contiguous Monitoring
for Legacy **|  *

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