Updates to ISPF Edit
Unicode, EBCDIC and ASCII. ISPF’s editor under ISPF 7.1 supports Unicode in both View and Edit modes. This applies to z/OS sequential data sets, PDS/PDSE members and z/OS UNIX files. Additionally, the commands CREATE, REPLACE, COPY, MOVE, CUT and PASTE will automatically convert between EBCDIC, ASCII and UTF-8 (Unicode).
Regular expressions. The FIND, CHANGE and EXCLUDE commands accept regular expressions in the format ‘regexpr’r and r’regexpr’ for any case or rc’regexpr’ and ‘regexpr’rc for case-sensitive searches. Note that regular expressions require the C run-time library. If you aren’t familiar with regular expressions, here are some basics:
• Square brackets  are used to indicate character sets. For example, [Ww]in matches “Win” or “win” and [ABC] matches A1, A2, A3, B1, B2, B3, C1, C2 and C3.
• The caret (^) symbol negates, so that w[^i]n would match “won”, but not “win”.
• The period, question mark and asterisk (.?*) are different types of wildcards. A period matches exactly one occurrence of any character; the question mark matches zero or one of a preceding character, and the asterisk matches zero or more occurrences of a preceding character. Therefore, in regular expressions, a period is combined with a question mark or asterisk to create true wildcards. For example, find ‘wh.?’rc would match “why” but not “when” and find ‘wh.*’rc would match “why” and “when”.
For more information on using regular expressions in ISPF Edit, refer to the ISPF Edit and Edit Macros documentation for z/OSV2R1.0.
Enhanced JCL program highlighting. The HILITE JCL option validates lowercased characters in a JCL member. UNIX file paths in a JCL PATH= statement are case-sensitive and typically lowercase, while a lowercase DSN= isn’t valid.
Support for a longer edit command line. The ZEXPAND command (F4 on the default Edit Keylist–ISRSPEC) displays a screen with a 255-character command line in View or Edit mode. This is similar to the ZEXPAND command for UNIX directory lists, mentioned earlier, but is only valid when actually editing or viewing a file.
There are many enhancements to MVS/JCL and the Job Entry Subsystem (JES2) in the 2.1 release of z/OS. Let’s take a look at a few of those that may prove useful to general users:
The job correlator adds a 64-byte token to identify programs executed under JES2. Included in this field is a 32-byte, user-definable descriptor. This descriptor can be set using the JOB statement operand UJOBCORR= (see Figure 4). The UJOBCORR operand is accepted in JES3 systems, but is ignored.
Enhanced JCL and system symbolics. A new JCL statement, EXPORT, allows variables, known as symbolics, to be passed to programs used in the JCL via the EXPORT statement’s SYMLIST= operand. Multiple EXPORT statements can be used in JCL. In addition, a new DD statement operand, SYMBOLS=, can be used to access exported symbolics. The SYMBOLS operand is only valid for DD statements that define in-stream inputs (DD * or DD DATA,DLM=).
In Figure 4, the EXPORT statement identifies a symbolic named DATASET, which is defined using a standard JCL SET statement. The //SYSIN DD *,SYMBOLS=JCLONLY allows this symbolic to be accessed by the IDCAMS command DELETE &DATASET.
The DD operand SYMBOLS=JCLONLY allows access to those symbolics identified by an EXPORT statement and symbolics created by the JES IAZSYMBL symbol service.
The DD operand SYMBOLS=EXECSYS allows access to the same symbolics as JCLONLY and system symbolics for the system on which the job is executing. This would include values such as &SYSUID and &SYSNAME.
The DD operand SYMBOLS=CNVTSYS allows access to the same symbolics as JCLONLY and system symbolics for the system on which the JCL was converted.
z/OS V2R1 is a significant update to the z/OS operating system with many new and enhanced features. We encourage you to further research the changes z/OS 2.1 is bringing to the System z platform. Be sure to look for future articles examining the ISPF Editor (ISREDIT).
• ISPF Power Tools, available at http://entsys.me/gczaf
• Line commands for data set list displays, available at http://entsys.me/kk7ud
• Primary commands specific to data set list displays, available at http://entsys.me/14kxf
• Primary commands for any screen, available at http://entsys.me/p7tid
• Member lists, available at http://entsys.me/zuqbf.