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
