FWIW, if anyone is interested in integrating batch jobs containing z/OS Unix shell scripts with z/OS 2.1 JES Symbols, search the archives for the thread:
"Want your feedback on shell command interface to V2R1 IAZSYMBL" Kirk Wolf Dovetailed Technologies http://dovetail.com On Wed, Jul 30, 2014 at 10:55 AM, Frank Swarbrick < [email protected]> wrote: > Most excellent! I wondered if such a thing existed, but I had not heard > of it nor could I find it. > > > > ________________________________ > From: Peter X. DeFabritus <[email protected]> > To: [email protected] > Sent: Tuesday, July 29, 2014 8:27 PM > Subject: Re: z/OS V2.1 and System Symobls and JCL > > > I haven't had a chance to respond to this thread, but here is a much > simpler way involving no programming: > > // EXPORT SYMLIST=* > // SET CURRDATE=&LYR4&LMON&LDAY > // SET CURRTIME=&LHR&LMIN&LSEC > //TRANSMIT EXEC PGM=FTP > //SYSPRINT DD SYSOUT=* > //SYSIN DD *,SYMBOLS=JCLONLY > put DD://MYFILE test.file.&CURRDATE..&CURRTIME..txt > > The symbols beginning with "&L" are system symbols, specified in the z/OS > 2.1 Initialization and Tuning Reference. > > > On Tue, 29 Jul 2014 16:10:00 -0700, Frank Swarbrick < > [email protected]> wrote: > > >I don't have a z/OS 2.1 system to test this on, but the following seems > workable to me: > > > //FTPTEST� JOB > //SETDATE� EXEC PGM=SETTSSYM,PARM='CURRDATE=YYYYMMDD'� CURRDATE WILL BE > SET TO THE CURRENT DATE > //SETTIME� EXEC PGM=SETTSSYM,PARM='CURRTIME=HHMMSS'��� CURRTIME WILL BE > SET TO THE CURRENT TIME > //TRANSMIT EXEC PGM=FTP > //SYSIN��� DD *,SYMBOLS=JCLONLY > put DD://MYFILE test.file.&CURRDATE..&CURRTIME..txt > /* > > SETTSSYM ("Set Timestamp Symbol") would be a program that uses the > IAZSYMBL service to set the symbol(s?) named in the parm to the date and/or > time. > > Given a system time of 23:42:59 the SYSIN line would be converted to: > put DD://MYFILE test.file.20140729.234959.txt > > > If that works that's pretty cool! > Now we just need to get to 2.1 (we're at 1.12 with only 1.13 coming soon! > :-( ) > > Someone out there can feel free to work on this "SETTSSYM" program and > release it to the general public!� :-) > > Frank Swarbrick > FirstBank > Lakewood, CO� USA > > > ________________________________ > From: Lizette Koehler <[email protected]> > To: [email protected] > Sent: Tuesday, July 29, 2014 7:42 AM > Subject: z/OS V2.1 and System Symobls and JCL > > > I just noticed the following changes in JCL for System Symbols in V2.1 > > A number of enhancements in the symbol processing have been implemented in > z/OS V2R1 to provide long sought after flexibility in the described areas. > They include: > ��� . Exporting JCL symbols-A new JCL statement EXPORT has been added, > that defines a list of JCL symbols that should be made available to the > application at execution time. A subsequent SET statement, and only SET > statement, will assign values to the exported symbols and will pass > necessary control information to the job execution phase. (Note that the > order of EXPORT statement and corresponding SET statements is important.) > The scope of a value of the exported symbol is all job steps starting from > the location of the SET statement, so each step of the same job can have > different values for the same symbol if necessary. For an application to > programmatically access the JCL symbols exported in this way, it should use > a new API-JCL Symbol Service IEFSJSYM. > ��� . In-stream symbol substitution-V2R1 now allows symbol substitution > in the records of the in-stream data sets, including those used in > catalogued JCL procedures. Substitution of symbols in the in-stream data is > performed at execution time-more precisely, at the moment when an > application reads a record from the in-stream data set. To allow symbols to > be used in the in-stream data, two things must be done: > 1. Relevant EXPORT and SET JCL statements must be added to allow required > symbols to be visible during execution time. > 2. New keyword SYMBOLS must be added to the DD statement that defines the > in-stream dataset. By default, there is no change in behavior compared to > the prior releases and no substitution is performed. > Several types of symbols can be substituted by this new function: > ��� o JCL symbols made available via EXPORT function > ��� ��� o System symbols, such as &SYSNAME. Note that V2R1 now > allows using system symbols from a conversion system in JCL - something > that > was not allowed in prior releases. > ��� ��� o New JES symbols which will be explained later > The SYMBOLS keyword controls which symbols will be substituted: > ��� ��� o SYMBOLS=JCLONLY causes substitution of all symbols except > for system symbols > ��� ��� o SYMBOLS=EXECSYS causes substitution of all symbols > including system symbols. System symbols are taken from the system the job > is running on. > ��� ��� o SYMBOLS=CNVTSYS is the same as SYMBOLS=EXECSYS except for > the origin of system symbols-they are taken from the system where the job > had been converted. This makes in-stream system symbols consistent with > symbol substitution performed during conversion. > During an in-stream symbol substitution, an attempt is made to preserve the > alignment of all non-blank character sequences (tokens) in the record. If > necessary, blanks are added or removed between non-blank tokens (at least > one blank is always preserved). This is done to allow a wide variety of > syntax rules to be used for the text in the in-stream dataset (e.g., fixed > column for a continuation character). > ��� . Passing symbols to the submitted jobs-A new function in V2R1 > allows a job to pass one or more symbols to a job it submits through an > internal reader. These symbols become an initial set of JCL symbols when a > submitted job proceeds to the JCL conversion phase. (Note that such symbols > are automatically exported and do not require explicit EXPORT statement.) > This allows a consistency in usage of symbols between the parent and the > child jobs. To enable this function, the application must use new keyword > SYMLIST when allocating an internal reader. The symbols listed in this > keyword will be passed on to the submitted job. The values of the symbols > will be captured at the time when submitted job is finalized. > The following symbols can be passed on to the submitted job in this way: > ��� ��� o JCL symbols made available to the parent job via EXPORT > function. Note that the values of these symbols cannot be changed. > ��� ��� o New JES symbols, which will be explained later. Unlike JCL > symbols, these symbols can have their values changed. This will become > clear > in a moment. > ��� . JES symbols-Now that new ways are available to pass JCL symbols > around, still more flexibility is added in z/OS V2R1 by introducing new JES > symbols. Remember, that JCL symbols are static-they are only created at JCL > conversion time and their values can never be changed after JCL conversion > is complete. Also, names of JCL symbols have limited length (8 characters) > and their values are limited to 255 characters. > JES symbols overcome these limitations. They are managed at the task and > the > job step levels by a new JES Symbol Service IAZSYMBL. JES symbols can have > names up to 16 characters long and their values can be up to 4,096 > characters long. JES symbols can be used: > ��� o By the in-stream symbol substitution > ��� o By the SYMLIST feature of the internal reader. The JES symbols > passed to the internal reader in this way become JCL symbols in the > submitted job. Of course, to be used in this way, JES symbols must conform > to the JCL rules. > ��� o For data interchange during application execution. > ��� o For interaction between application and the JES that controls the > current job. > ��� o For setting and retrieving job correlator. Job correlator is a new > job identification attribute in z/OS V2R1 and has a separate article > dedicated to its discussion. > Note that for convenience JES Symbol Service IAZSYMBL provides seamless > access to the JCL symbols as well as the JES symbols. When a JES symbol > with > the specified name is not found, JES Symbol Service will search for a JCL > symbol with the same name. > ��� . Job notification-Several new interfaces in V2R1 use pre-defined > JES symbols. You can read about them in V2R1 JES Application Programming > Guide. One example is a job notification function. When submitting a job > through an internal reader, an application can request to be notified when > this job's execution is complete. An application requests this by creating > a > pre-defined JES symbol SYS_JOB_NOTIFY. When job execution is complete, JES > will send Job Notification ENF (ENF 78)-this is new in z/OS V2R1. The value > of the SYS_JOB_NOTIFY symbol is added to the content of ENF 78 and can be > used by the ENF listener to further identify the job > Lizette > > ---------------------------------------------------------------------- > 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 > > ---------------------------------------------------------------------- > 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
