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:
- GN/GU sets the LRECL value at fixed length 89.
- RECFM=V/VB GSAM input record includes the 2-byte
length prefix.
- RECFM=V/VB GSAM output record must first be prefixed
by the 2-byte length.
This fix addresses these issues so that:
- LRECL is set to be the data length of the last GSAM
input record.
- The RECFM=V/VB 2-byte length suffix is not included
in the record data.
- 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
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:
- 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.
- 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.
- 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 --------------------------><
- Enhance support for SELCOPY IMS/DL1 debug to include the
following:
- Restart from IMS/DL1 check point id.
- SELCOPY CALL to the ASMTDLI interface.
- 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:
- 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.
- 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
)
- 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))
- 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).
- 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.
- Allow REDEFINE of fields of different lengths so suppressing
error message ZZSD255E <field1> cannot redefine
<field2> because there are intervening non-redefined
data elements.
- Free COBOL compiler utility DD names SYSUT10 to SYSUT15
following copybook compilation.
- Correct error whereby an OFFSET specification for a single
record-type definition was applied to all record-type
definitions.
- Improve identification of first copybook level number prior
to a COBOL compilation.
- Correct failure to resolve field reference in a USE WHEN
expression specified on a CREATE STRUCTURE primary command.
- 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:
- 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'
- Support RUNSELC, RUNSLC and LIST primary commands, HH macro and
also SET/QUERY/EXTRACT for FIDCHANGED and USEDSNPREFIX options as
for the Text Editor.
- 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.
- 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.
- 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.
- Correct possible 0C4 program check that may occur for LIST SDO when
running SELCOPYi authorised.
- General fixes to resolving arithmetic expressions involving
parenthesised sub-expressions.
- Correct failure to find a matching search string in edited text
when using a regular expression involing the maximal closure
operator symbol (@).
- 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.
- Correct bug where RFIND executed following an EXCLUDE,performed a
FIND operation instead of an EXCLUDE.
- Correct bug where RFIND executed following a CHANGE NX, performed
a FIND operation on allrecords instead of non-excluded records only.
- Correct bug where DOWN MAX could return ZZSD015E "Internal Error".
- Correct display when WINDOW NEW executed for SDEZOOMW and HEXDUMP.
- Correct bug whereby the GROUP and UNNAMED option settings were not
respected when in single record view.
- Ensure option RECINFO is always set off when the structure to data
object associations table is displayed for edit.
- 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:
- Macro COMPVOL supplied to compare a list of datasets on 2
volumes.
- Correct colour hilighting (HILITE ON) in records of fixed
length format that contain sequence numbers in columns 73-80.
- Correct positioning of cursor at the command prompt following
execution of a prefix command that specifically relocates the
cursor.
- Support SET/QUERY/EXTRACT USEDSNPREFIX option.
- Line/Col values in status bar updatted to reflect the cursor
target position for a CURSOR HOME operation.
- Correct seconds value included within the generated DSN of a
temporary dataset view created by the TMPFILE macro.
- Correct STEMINSERT which failed for LIST command STEM LINES
output.
- WINDOWCOMMAND <winname> <command>
- SHOWATTR (SWA) identifies Focus window and Keylist.
- 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:
- 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
/*
- SDE Browse/Edit panel enhanced to support a formatted data
quick filter specification under "Record Selection". It also
tolerates a null filter specification.
- 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.
- Correct loop which occurred in the DB2 LOAD/UNLOAD utility
"Delimited Output options" panel.
- Correct Allocate Non-VSAM dialog which forced DSORG PO for
LARGE datasets.
- Correct Calendar display of the year which replaced the first
digit with blank when scrolling through the months.
- 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.
- 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.
- RUNSELC and RUNSLC utility primary commands updated to support
optional specification of a load module name and parameter
string.
- 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.
- Library List MOVE ("M") prefix command, now recalls a migrated
library if selected as the tartget of the member move operation.
- Additional infomation fields added to the List Loaded Structures
display.
- 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.**
- Introduce the SELCOPYi diagnostic TRACE facility to assist CBL's
trouble shooting.
- Improved efficiency of operation for the PRINT utility and CSV
and XML generation utilities when .ZLAST is used to identify the
last line processed.
- 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:
- 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.
- MDIPREV/MDINEXT updated to skip attempted display of hidden
windows.
- WINDOW MAXRES supported to toggle a window between its
maximised and restored state.
- WINX (edit window size/location store and restore) utility
corrected for HFS fileids.
- Correct 0C4 program chack which occurs when MOVEWINDOW or
SIZEWINDOW is executed without any parameters.