z/OS Service Package: X2017181


SMP/E SYSMOD:
Component:
Operating System:
Publish Date:
APAR & Description:

RI33003
SELCOPY
z/OS
2017/06/27

SQ012261:

Support GSAM (RECFM=F/FB/V/VB/U) input (GN/GU) and output (ISRT) via SELCOPY/IMS interface.

Note: I/O via direct READ/WRITE of the BSAM/VSAM data set is already supported using standard access methods. Access using SELCOPY/IMS interface is required if CHKP/XRST is to be performed and IMS is to recover the GSAM data set location on the checkpoint restart.

SELCOPY/IMS I/O on GSAM is already possible with following provisions:
  1. GN/GU sets the LRECL value at fixed length 89.
  2. RECFM=V/VB GSAM input record includes the 2-byte length prefix.
  3. RECFM=V/VB GSAM output record must first be prefixed by the 2-byte length.


This fix addresses these issues so that:
  1. LRECL is set to be the data length of the last GSAM input record.
  2. The RECFM=V/VB 2-byte length suffix is not included in the record data.
  3. The RECFM=V/VB 2-byte length suffix is automatically generated for ISRT to a GSAM RECFM=V/VB data set using a value dictated by standard SELCOPY output.


Note that GSAM GU direct input is possible by specifying the RSA location (or literal) as the argument on the SELCOPY/IMS input SSA= parameter.

SQ012268:

Correct 0C4 program check which occurs when a VSAM RRDS data set is read backwards (BWD) without a starting relative record number (STARTREC).

Same problem in previous release.

SQ012277:

Correct 0C4 program check which occurs on READ of sequential data set using dynamic allocation where the DDname was previously used to dynamically allocate a library member.

Same problem in previous release.

SQ012278:

Correct error where EOF is set for all data sets read following an empty data set using dynamic allocation on the same DDname.

Same problem in previous release.



SMP/E SYSMOD:
Component:
Operating System:
Publish Date:
APAR & Description:

RI33004
SELCOPY
z/OS
2017/06/27

SELCOPY C++ Version (SLC) 3.30 build level 006 replaces build level 001 to support interactive debug in the SELCOPYi SELCOPY Debugger and also includes minor fixes.

See publication "SELCOPY C++ Language Reference"
or
        http://www.cbl.com/documentation.php#srv=includes/docs/s330/zos



SMP/E SYSMOD:
Component:
Operating System:
Publish Date:
APAR & Description:

RS33005
SELCOPYi
z/OS
2017/06/27

IQ004969, IQ004927, IQ004926, IQ004925, IQ004911, IQ004910, IQ004909, IQ004902, IQ004901, IQ004900, IQ004898, IQ004897, IQ004892, IQ004886, IQ004884, IQ004880, IQ004877, IQ004876, IQ004874, IQ004858, IQ004842, IQ004841, IQ004839, IQ004838, IQ004837, IQ004836, IQ004823, IQ004822, IQ004818, IQ004817, IQ004815, IQ004813, IQ004810, IQ004809, IQ004807, IQ004805, IQ004799, IQ004798, IQ004788, IQ004785, IQ004784, IQ004783, IQ004778, IQ004755, IQ004729, IQ004711, IQ004709, IQ004706, IQ004686, IQ004676, IQ004639:

New features, enhancements and fixes to the SELCOPY Debug utility:

  1. New Feature: Support for debug of SELCOPY control statements processed using the SLC program.

    From the SELCOPY Debug startup menu and panels (=8.1), use of the SLC program to debug control statement input is automatic if that input is a JCL job step which has EXEC PGM=SLC.

    If input is directly from a control statement file, then SLC must be entered in the Version panel field, or, if starting debug via the SELCOPY primary command, -SLC must be specified as a keyword parameter.

  2. New Feature: Support the Watch List window to display the current value of specific variables and locations in storage.

    This list is opened using the WATCH primary command and allows the user to focus on specific values of interest throughout the debug session.

    Each entry of the list must either be a storage location, as supported by SELCOPY POS <expr> syntax, or any named variable supported by the SELCOPY or SLC programs.

        >>-- Watch -+------------------------------------+-><
                    |                                    |
                    +------------+- <varname> -----------+
                    |            |                       |
                    +- Variable -+                       |
                    |                   +- CHARACTER(1) -+
                    |                   |                |
                    +- POSition  -+----------------+
                    |                   |                |
                    |                   +- | Data Type | +
                    |                                    |
                    +- WORKAREA -------------------------+
                    |                                    |
                    +------ | Watch List Command | ------+
    
    

    The window supports a number of environment options, primary and line (prefix) commands that are specific to the Watch list display.

  3. New Feature: Support the Operations List window to display the current status held by SELCOPY Debug for each executable statement (SELCOPY operation) in the control statements input file.

        >>-- LIst --- OPerations --------------------------><
    
    


  4. Enhance support for SELCOPY IMS/DL1 debug to include the following:

    • Restart from IMS/DL1 check point id.
    • SELCOPY CALL to the ASMTDLI interface.

  5. Enhance support for SELCOPY Debug panel processing of JCL for the following:

    • Execution of IMS/DL1 job steps as a sub-task. In previous releases, only IMS/DL1 DFSRRC00 job steps that executed program SELCOPY were supported and only then if SELCOPY Debug was used to execute the step.

    • Before allocating its work file data sets, the debug panel now verify that the generated DSNs does not exceed 44 characters. If so, an abbreviated version of the standard DSN qualifiers are used.

    • Sequence numbers in the last 8 columns of fixed length (RECFM=F) JCL records are now ignored.

IQ004704:

New Feature: Introduce support for the JSON generation utility to generate JavaScript Object Notation (JSON) output from formatted (structured) data.

Data may be any data that is formatted by a structure (SDO) either explicitly, via a nominated SDO dataset, or implicitly via a nominated COBOL, PL1, Assembler copybook/DSECT or DB2 result table.

Fields, defined by a structure record/table row mapping, identify columns of data that define the content and sequence order of names and values in the JSON output. The JSON output may be restricted to a subset of the input records (or table rows) and fields. Furthermore, fields may be resequenced before the JSON output is generated.

The utility processes the input records/rows and writes an output text dataset consisting of JSON {name:value} pairs. The JSON names correspond to the field names of the copybook/structure applied to the input dataset and the values to the field values expressed in character format.

If executed from a Data Editor browse or edit view, JSON generation may be performed on the currently displayed data, operating only on non-excluded lines and using only columns selected for display.

IQ004896, IQ004800, IQ004690, IQ004680, IQ004678:

Major enhancement to the FCOPY, FSU and COMPLIB utilities, introduces support for Concatenated Library Directories

A DDname which has been allocated to concatenation of PDS/PDSE libraries may be referenced for input on the panels and primary commands for COMPLIB (library compare), FCOPY (file copy) and FSU (file search and update) utilities.

By default, FCOPY and FSU utilities would treat a DDname library concatenation as representing all occurrences of matching member names in the libraries. If, however, it is intended that the concatenation represents a search path, then an ampersand (&) prefix may now be specified on the DDname
(e.g. &SYSEXEC). This notation implies that only the first occurrence of a matching member name found within the library concatenation search path will be selected for processing.

For FCOPY and FSU utilities which support processing multiple members that match an input member mask, the members are processed in alphabetical order of member name, not in library search order. The following will copy the first occurrence, not all occurrences, of member OSHELL found in the SYSPROC search path.

  • FCOPY     &SYSPROC(OSHELL)             USER.PROCLIB

In the following example, a member name (e.g. DSNTEDIT) may occur in more than one library in the SYSPROC library concatenation. However, only the first occurrence will be searched.

  • FSU          INPUT( &SYSPROC(DSN*) )     FIND( c'EXECIO' )

For the COMPLIB utility, a DDname (without an & prefix) identifies a library concatenation and may be specified as the new and/or old library reference. If a member with the same member name exists in more than one of the concatenated libraries, then only the first occurrence of the member within the concatenation will be compared.

IQ004852:

Fix bug in FSU which caused an unstructured CHANGE using the "LAST" option (meaning change only the last occurrence per record) to fail.

IQ004672, IQ004673:

Enhancement to the FSU and COMPFILE utilities, introduces support for text report output as generated by the PRINT utility.

By default, the report output generated for COMPFILE (file compare) and FSU (file search and update) utilities is presented (and optionally saved) as formatted data records. This type of generated report is suitable for display using an associated SDO structure in a Data Editor window view.

FSU and COMPFILE primary commands have been updated to support the following keyword parameters:

      +- PRINTReport --- BATCH ------------ 0 ------+
      |                                             |
    |-+---------------------------------------------+-|
      |                                             |
      |               +- ALL ---------+ +-- 0 ------+
      |               |               | |           |
      +- PRINTReport -+---------------+-+-----------+
                      |               | |           |
                      +- BATCH -------+ +- <limit&rt; -+
                      |               |
                      +- INTERACTIVE -+
                      |               |
                      +- NONE --------+



Unless NOREPORT is specified, PRINTREPORT controls whether or not the generated structured report output is to be printed. Keyword parameters determine the environment(s) in which execution of the FSU or COMPFILE primary command will generate printed output.

Key Word Description
BATCH Batch only using program SDEAMAIN.
INTERACTIVE Interactive only. (VTAM, TSO or ISPF)
ALL Both batch or interactive environments.
NONE Suppress print for all environments.


An optional <limit> argument may be specified as a numeric integer literal indicating the maximum number of pages of print output allowed. A limit value of 0 (zero) indicates that there should be no restriction placed on the number of output pages. This is the default.

For FSU, the PRINTREPORT keyword will generate the following PRINT utility command:

   PRINT FILE TRUNC LIMIT <limit>
    INDSN(
       USING .SDO
       INITCMD (
         "SELECT zFileId,zRecNo,zRecord,* FROM Hit"
         "VFMT"
         "PUSH SAVEOPTIONS"
         "SAVEOPTIONS OFF"
         "RECLEN OFF"
         "REFERENCE OFF"
         "PREFIX OFF"
         "POP SAVEOPTIONS"
               )
         )

IQ004921, IQ004920, IQ004913, IQ004907, IQ004765, IQ004761, IQ004759, IQ004757, IQ004747, IQ004745, IQ004732, IQ004723, IQ004722, IQ004712, IQ004703, IQ004674, IQ004606:

Major enhancements introduced and bug fixes applied to SELCOPYi structure (SDO) creation using the CREATE STRUCTURE primary command:

  1. New Feature: Support for internal PL/1 copybook parsing in order to create a SELCOPYi SDO structure.

    This feature negates the install requirement that an external PL/1 compiler must be present, greatly reduces storage requirements and improves run times. If necessary, the compiler may still be used to generate the SYSADATA output required for SDO creation.

    Use of the internal PL/1 parser is default but may be overridden using the SDE CREATE STRUCTURE or environment option, COPYBOOKPROC.

  2. New Feature: Support record-type group field selection via a start field specification.

    The CREATE STRUCTURE primary command syntax has been extended to support parameter STARTFIELD which specifies a starting field name. The group in which this field is defined identifies the start of the SDO record-type definition and the offset of the field within that group identifies the numerical offset value to be applied when mapping record data.

    STARTFIELD is used in place of parameters NAME (identifying an explicit group name) and OFFSET. It may be used only within a RecordType definition and only when creating record-type definitions directly from a COBOL or PL1 copybook or a HLASM DSECT.

    For example, if EXTP-CTL is an 03 level field at offset 13 in group name EXTP-REC ...

       RECORD(
           STARTFIELD   EXTP-CTL
           SOURCE COBOL NBJ.COPYBOOK.COB(EXTP)
           DEFAULT
             )


    By default, the group data name selected for the start field will be that belonging to the group with the highest level number in which the start field is defined. This may be overridden using the LEVEL paramter.

    e.g. The following will create a record-type definition for group EXTP-REC at level 01 instead of the
           default group EXTP-CTL at level 03.

       RECORD(
           STARTFIELD   EXTP-RTIME /* 05 field.     */
           LEVEL        01         /* Use 01 group. */
           SOURCE COBOL NBJ.COPYBOOK.COB(EXTP)
           DEFAULT
             )

  3. New Feature: Support for PL1 Compiler option override.

    If required, SELCOPYi can now override installation default PL1 compiler options when creating SDO record-type definitions from a PL1 copybook source.

    The Data Edit PL/1 Compiler Options panel (=0.4.2) contains a new input field in which to specify additional compiler options. Multiple, blank delimitted compile options may be entered in this field from which SELCOPYi will build a %PROCESS directive. Note that no ";" (semi-colon) should be specified at the end of the options as one will be inserted automatically by SELCOPYi.

         e.g. MARGINS(1,72,0) LIMITS(FIXEDDEC(31))

  4. New Feature: Introduce panel to generate SELCOPY and SLC program EQU (equate) control statements or SLC specific DECLARE control statements for use in a SELCOPY or SLC batch procedure.

    The panel may be started via the DCL item of the Structure panel on option 9 of the Primary Option menu (=9.7).

  5. Output message ZZSD717E when a COBOL compile has failed with return code 4093 (decimal). This is may be due to insufficient available storage. Retry with a minimum TSO region size of 128M.

  6. Allow REDEFINE of fields of different lengths so suppressing error message ZZSD255E <field1> cannot redefine <field2> because there are intervening non-redefined data elements.

  7. Free COBOL compiler utility DD names SYSUT10 to SYSUT15 following copybook compilation.

  8. Correct error whereby an OFFSET specification for a single record-type definition was applied to all record-type definitions.

  9. Improve identification of first copybook level number prior to a COBOL compilation.

  10. Correct failure to resolve field reference in a USE WHEN expression specified on a CREATE STRUCTURE primary command.

  11. Correct bug whereby PL1 unnamed symbols (*) were not being added to the PL1 symbol index.

IQ004942, IQ004939, IQ004938, IQ004869, IQ004867, IQ004866, IQ004862, IQ004854, IQ004853, IQ004848, IQ004834, IQ004814, IQ004812, IQ004811, IQ004806, IQ004804, IQ004803, IQ004797, IQ004796, IQ004795, IQ004794, IQ004792, IQ004791, IQ004789, IQ004787, IQ004780, IQ004779, IQ004777, IQ004776, IQ004775, IQ004774, IQ004770, IQ004767, IQ004764, IQ004763, IQ004762, IQ004754, IQ004749, IQ004748, IQ004746, IQ004740, IQ004737, IQ004733, IQ004721, IQ004713, IQ004707, IQ004702, IQ004701, IQ004698, IQ004687, IQ004679, IQ004677, IQ004669:

Data Editor (SDE) enhancements and bug fixes:

  1. Significant enhancements in performance and storage usage when processing large data sets where a significant number of records are excluded.

         e.g. EXCLUDE ALL; FIND ALL 'ABC'

  2. Support RUNSELC, RUNSLC and LIST primary commands, HH macro and also SET/QUERY/EXTRACT for FIDCHANGED and USEDSNPREFIX options as for the Text Editor.

  3. For the SORT command, allow specification of a field name if USE ALWAYS is in effect. USE ALWAYS will assigne the same record-type to all records in the data set without performing any criteria matching.

  4. Introduce new primary commands AVERAGE, MAX, MIN, SUM and TOTALS to display the average, maximum, minimum and total value of entries in a numeric column. Note that TOTALS will display all 4 values.

  5. Support new parameter keyword XMLLOBWIDTH on BROWSE and EDIT for a DB2 result table. XMLLOBWIDTH specifies the length of text at the start of an XML or LOB column to be displayed in the Data Editor.

  6. Correct possible 0C4 program check that may occur for LIST SDO when running SELCOPYi authorised.

  7. General fixes to resolving arithmetic expressions involving parenthesised sub-expressions.

  8. Correct failure to find a matching search string in edited text when using a regular expression involing the maximal closure operator symbol (@).

  9. Correct obscure bug where SHADOW EXCLUDED ON is in effect and a FIND command in records that have excluded causes a non-excluded record to disappear from the display.

  10. Correct bug where RFIND executed following an EXCLUDE,performed a FIND operation instead of an EXCLUDE.

  11. Correct bug where RFIND executed following a CHANGE NX, performed a FIND operation on allrecords instead of non-excluded records only.

  12. Correct bug where DOWN MAX could return ZZSD015E "Internal Error".

  13. Correct display when WINDOW NEW executed for SDEZOOMW and HEXDUMP.

  14. Correct bug whereby the GROUP and UNNAMED option settings were not respected when in single record view.

  15. Ensure option RECINFO is always set off when the structure to data object associations table is displayed for edit.

  16. XMLEDIT in DB2 table browse now performs XMLVIEW instead of returning an error message.

IQ004943, IQ004912, IQ004906, IQ004904, IQ004883, IQ004875, IQ004872, IQ004864, IQ004860, IQ004856, IQ004855, IQ004850, IQ004843, IQ004758, IQ004738, IQ004728, IQ004720, IQ004714, IQ004699, IQ004692, IQ004642, IQ004583, IQ004579:

Text Editor (CBLe) minor enhancements and bug fixes:

  1. Macro COMPVOL supplied to compare a list of datasets on 2 volumes.

  2. Correct colour hilighting (HILITE ON) in records of fixed length format that contain sequence numbers in columns 73-80.

  3. Correct positioning of cursor at the command prompt following execution of a prefix command that specifically relocates the cursor.

  4. Support SET/QUERY/EXTRACT USEDSNPREFIX option.

  5. Line/Col values in status bar updatted to reflect the cursor target position for a CURSOR HOME operation.

  6. Correct seconds value included within the generated DSN of a temporary dataset view created by the TMPFILE macro.

  7. Correct STEMINSERT which failed for LIST command STEM LINES output.

  8. WINDOWCOMMAND <winname> <command>

  9. SHOWATTR (SWA) identifies Focus window and Keylist.

  10. EDIT/VIEW -Q (option QUIET) introduced to suppress popup prompt windows for VSAM data set edit and load threshold.

IQ004918, IQ004889, IQ004885, IQ004868, IQ004859, IQ004851, IQ004835, IQ004830, IQ004829, IQ004826, IQ004821, IQ004820, IQ004819, IQ004816, IQ004781, IQ004766, IQ004752, IQ004751, IQ004750, IQ004739, IQ004735, IQ004730, IQ004715, IQ004705, IQ004695, IQ004691, IQ004688, IQ004683, IQ004681, IQ004675:

Miscellaneous utility enhancements and bug fixes:

  1. COMPLIB utility now supports execution in a batch environment with the COMPLIB report being written to SYSPRINT. e.g.

       //NBJJOB JOB ,,CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),
       //           NOTIFY=&SYSUID
       //SELC0001 EXEC PGM=SDEAMAIN,REGION=0M
       //STEPLIB  DD DISP=SHR,DSN=CBL.CBLI340.EXE
       //ZZSUSERI DD DUMMY
       //SDEPRINT DD SYSOUT=*
       //SYSPRINT DD DISP=SHR,DSN=CBL.SYSPRINT(COMPLIB)
       //ASMNEW   DD DISP=SHR,DSN=CBL.CBLI340.ASM
       //ASMOLD   DD DISP=SHR,DSN=CBL.CBLI330.ASM
       //SDEIN    DD   *
      
           /* Compare HLASM source lbraries. * /

        COMPLIB ASMNEW ASMOLD
           STRIP ' '
           SYNC READAHEAD(200)
           LIMIT 0
           SHOWMATCHES
           CONTEXT 10
       /*

  2. SDE Browse/Edit panel enhanced to support a formatted data quick filter specification under "Record Selection". It also tolerates a null filter specification.

  3. DB2 Alter Tablespace panel introduced. Opened when the prefix (line) command "A" is entered against an entry in the DB2 Tablespace list window, the Alter Tablespace panel allows changes to be made to an existing table space on the current DB2 server.

    The format of the Alter Tablespace panel views match those provided by the Create Tablespace utility. Where Create Tablespace parameter fields are not supported by the SQL ALTER TABLESPACE statement, they are omitted from the equivalent panel views for Alter Tablespace.

  4. Correct loop which occurred in the DB2 LOAD/UNLOAD utility "Delimited Output options" panel.

  5. Correct Allocate Non-VSAM dialog which forced DSORG PO for LARGE datasets.

  6. Correct Calendar display of the year which replaced the first digit with blank when scrolling through the months.

  7. Update FCOPY utility so that only an abbreviated message is displayed when the copy completes without errors. Also, output of long records to a VSAM RRDS is truncated instead of cancelling the utility.

  8. Correct potential 0C4 program chack which occurred when FSU was executed in batch with an existing REPORT output dataset that was larger than the Text Editor LoadWarning threshold.

  9. RUNSELC and RUNSLC utility primary commands updated to support optional specification of a load module name and parameter string.

  10. All List window views now support specification of an unquoted character string value on a WHERE clause (e.g. WHERE VOL=CBLM01). Also, flag type columns entries are displayed as "Y" if set and "-" if unset.

  11. Library List MOVE ("M") prefix command, now recalls a migrated library if selected as the tartget of the member move operation.

  12. Additional infomation fields added to the List Loaded Structures display.

  13. Correct failure to display GDS datasets in a file list window where the DSN is specified in full or with a trailing multi qualifier specification.

         e.g. LC NBJ.GDG01.G0001V00.**

  14. Introduce the SELCOPYi diagnostic TRACE facility to assist CBL's trouble shooting.

  15. Improved efficiency of operation for the PRINT utility and CSV and XML generation utilities when .ZLAST is used to identify the last line processed.

  16. SELECT (SEL) command with no parameters issued from a List window provides rudimentary panel interface to selection and ordering of visible columns.

IQ004950, IQ004930, IQ004928, IQ004917, IQ004903, IQ004899, IQ004894, IQ004890, IQ004878, IQ004863, IQ004861, IQ004849, IQ004847, IQ004844, IQ004840, IQ004808, IQ004772, IQ004769, IQ004694, IQ004605:

Other changes and fixes:

  1. Supplied skeleton SELCOPYI Rexx procedure, used to start SELCOPYi, has been updated to avoid accidental update of static code when customisation is performed by the Systems Programmer.

  2. MDIPREV/MDINEXT updated to skip attempted display of hidden windows.

  3. WINDOW MAXRES supported to toggle a window between its maximised and restored state.

  4. WINX (edit window size/location store and restore) utility corrected for HFS fileids.

  5. Correct 0C4 program chack which occurs when MOVEWINDOW or SIZEWINDOW is executed without any parameters.