z/OS Service Package: X2025063
SMP/E SYSMOD:
Component:
Operating System:
Publish Date:
APAR & Description:
RS36001
FileKit
z/OS
2025/03/20
- IQ005602, IQ005595, IQ005587, IQ005581, IQ005567, IQ005557:
- The following corrections and enhancements have been applied to SMF record
processing:
- The following SMF record mappings have been corrected, added or updated
for fields introduced in z/OS release 3.1.
SMF000
IPL
SMF005
Job Termination
SMF007
SMF Data Lost
SMF014
INPUT or RDBACK Dataset
SMF015
OUTPUT UPDAT INOUT or OUTIN
SMF016
DFSORT
SMF017
Scratch Dataset Status
SMF018
Rename NonVSAM Dataset Status
SMF020
Job Initiation
SMF023
SMF Status
SMF026
JES2 Job Purge
SMF030
Common Address Space Work
SMF034
TS Step Term
SMF035
LOGOFF
SMF040
Dynamic DD
SMF042
DFSMS
SMF050
VTAM Tuning Statistics
SMF060
VSAM Volume Dataset Updated
SMF061
ICF Define Activity
SMF062
VSAM Component or Cluster Opened
SMF063
VSAM Catalog Entry Defined
SMF064
VSAM Component or Cluster Status
SMF065
ICF Cat Delete Activity
SMF066
ICF Cat Alter Activity
SMF070
RMF Processor
SMF071
RMF Paging
SMF072
RMF Workload, Storage and Serialization
SMF074
RMF Activity of Several Resources
SMF076
RMF Trace
SMF078
RMF Virtual Storage and I/O Queuing
SMF079
RMF Monitor II
SMF080
Security Product Processing
SMF082
Cryptography
SMF084
JES Monitoring Facility
SMF085
OAM Transaction Performance
SMF086
CIM server
SMF087
GRS Monitoring
SMF088
System Logger Data
SMF089
Usage Data
SMF090
System Status
SMF091
IBM BatchPipes Statistics
SMF092
File System
SMF098
High Frequency Throughput Statistics
SMF099
SRM Decisions
SMF100
DB2 Statistics
SMF101
DB2 Accounting
SMF102
DB2 Performance
SMF103
IBM HTTP Server
SMF106
BCPii Activity
SMF110
CICS Transaction Server for z/OS
SMF111
CICS Transaction Gateway
SMF115
MQSeries Statistics
SMF116
MQSeries Accounting
SMF118
TCP/IP Statistics
SMF119
TCP/IP Statistics
SMF122
IBM Developer for zOS
SMF123
zOS Connect
SMF125
Generic Tracker
SMF1153
JES2 Resource Usage and Performance
SMF1154
zOS Compliance
- SMF Record Extract utility corrected for filtering using long search strings
as specified by the Find String panel input field or FIND parameter of
the SMFEXTRC primary command.
- Support display of Time Zone, positive and negative time adjustment values
specified in TOD and ETOD format.
- All utilities which process SMF records have been updated to support SMF
extended header for SMF record types in the range 256-2047. Specifically,
these are:
REPORT
SMF record reports, CSV, XML, JSON.
SMFB
Browse SMF records.
SMFEXTRC
Extract SMF records.
SMFFLD
Display SMF record field descriptions.
SMFSDO
SMF SDO mapping from SMFMAP source.
SMFMAP and SDO library member naming convention for record types in the
range 256-2047 is "Xrrr" and "Xrrrssss", where "rrr" is the record type
number expressed as a 3-digit hexadecimal value and "ssss" is the record
sub-type number expressed as a 4-digit hexadecimal value.
- CBL distributed compiled REXX macros now compiled with ALTERNATE and
SLINE options. This should overcome the following error which occurs
when the compiled REXX runtime library is not present and the REXX alternate
library used by default.
EAGALT0300E Error 3 running compiled <name>,
line 0: Program is unreadable
EAGALT0304I The program cannot run with the
Alternate Library
- TYPES(n1:n2) may be used on SMFB and SMFEXTRC to specify the start and end
of an ascending range of numeric SMF types.
To avoid exhausting available storage, SMFB no longer generates a filter
that tests the record against each type in the range, but tests the record
against the range limits. This also means that OLIM will apply to the
group of types in the range instead of each individual type.
SMFEXTRC has been updated to match this behaviour except that new parameter
"RANGEALL" may be used to revert back to treating a range of TYPES as
individual type specifications.
- IQ005606, IQ005601, IQ005600, IQ005599, IQ005598, IQ005597, IQ005596, IQ005590,
IQ005568, IQ005562:
- The following corrections and enhancements have been applied to the REPORT
utility:
- Support WHERE section to define where-clauses which filter input
records or segments.
The function of the WHERE section is similar to that of the
FILTER section but with the following differences:
- WHERE section filtering may be used in addition to content match
criteria filtering that are specified using options FIND, SMFTYPES,
SMFSID, SMFUSERID and SMFJOBNAME (or their REPORT primary command
override equivalents).
- For segmented record input (e.g. SMF records), the WHERE section
will filter record segments of a specific record type mapping within
the record, whereas the FILTER section will filter the entire record.
- For segmented record input, WHERE section specifications may reference
any primary or secondary segment record-type on which the associated
expression will be applied. FILTER section INCLUDE/EXCLUDE
specifications must reference a primary segment record-type definition
(i.e. one that maps data that occurs first in the record).
Note that FILTER expressions may still test field values in the
secondary segment record-types that follow the primary record-type
using fully qualified field names (i.e. <rectype>.<fieldname>).
- Unlike the WHERE section, FILTER will honour multiple INCLUDE (or
EXCLUDE) specifications that reference the same record-type name. Doing
so provides alternative criteria for selecting the record. This may
however be easily achieved in a single expression in the WHERE section
simply by enclosing each of the alternate selection criteria expressions
in parentheses and then joining them with a separating logical OR ("|")
symbol.
- Support introduced for SORT temporary data set dynamic allocation
SPACE attributes saved in a User's FileKit INI file. The following options
may be specified with a default value in the SYSTEM section of the User INI
file:
Values specified by these INI options will be used when allocating SORTIN
and SORTOUT instead of the product default of "TRACKS(300,300)" e.g.
SYSTEM:
SORTSPACEUNIT=CYLINDERS
SORTSPACEPRI=5
SORTSPACESEC=1
To set values for these options in the user INI file, use the SET INIVAR
primary command. e.g.
SET INIVAR SYSTEM.SORTSPACEUNIT=CYLINDERS
SET INIVAR SYSTEM.SORTSPACEPRI=5
SET INIVAR SYSTEM.SORTSPACESEC=1
- Correct 0C9 (Fixed Point Divide Exception) which may occur when bits are set
in bit positions 0-3 of the epoch index of an ETOD value. An ETOD value is
interpreted and displayed in external format for fields of data type
DATE(STCKE), TIME(STCKE) or TIMESTAMP(STCKE).
Where 0C9 has occurred, the offset of the ETOD field mapping was incorrect
resulting in x'40' (blank) values set in the epoch index.
- Correct 0C4 program check which may occur when a number of identical field
names are referenced on more than one generic record-type mapping
specifications in the REPORT definition. e.g.
- SMF015*.zJOBNAME
- SMF017*.zJOBNAME
- SMF030*.zJOBNAME
- SMF06*.zJOBNAME
- For the REPORT COMPUTE and DISPLAY sections, input record field
values are assigned to REXX variables with names that match that of the source
input record field.
A correction has been made to this processing whereby a REXX variable name
was being set which was 1 character shorter than that of the input field
name. This only occurred for input field names specified after a
sub-scripted input field name (e.g. SMFSRTEV(1) ) in the REPORT definition.
- "AUTOSTRUCT OFF" used on browse of REPORT printed output. This is
doneto prevent any unintended automatic record mapping of the of the plain
text output.
- Correct the cause of an internal error that may occur when a SORT section
exists and different input record fields with different source data
characteristice (type, length, signed/unsigned) but identical field name,
are referenced within the REPORT definition.
- Statement continuation and multi-line comment text combination now adheres
to a standard that matches REXX syntax.
Comment text (text enclosed in "/* ... */" may span several lines. If the
start of comment text is immediately preceeded by a statement continuation
symbol ("\") on the line before, then the comment data is ignored and text
following, and on the same line as the closing comment symbol ("*\") will be
joined to the continued statement text.
- IQ005592, IQ005586, IQ005576, IQ005573, IQ005572, IQ005609:
- The following corrections and enhancements have been applied to the FileKit Data
Editor:
- Correct internal error that may occur in an edit view for a KSDS data set
when deleting a large block of records (using line command "DD").
- Correct NEXT/PREV primary command functionality so that a record (or record
segment) following the TOF marker or a group of excluded records, will not
be skipped.
- Edit update-in-place introduced for files mapped with structures containing
record segment mappings defined using SEGMAKE (e.g. SMF records).
- Correct possible loop in primary command REPLACELINE when VALUES parameter
supplied.
- Correct error with primary command, WHERE, with the EXCLUSIONS PHYSICAL option
set may include secondary segments that do not match the WHERE search criteria.
- Correct BIFFIND() function which gave incorrect results when keywords PREFIX,
SUFFIX or WORD were specified and bounds were also included. e.g. where
Find(c" c'MV' 2 prefix ")
- IQ005591, IQ005584, IQ005582, IQ005578, IQ005575:
- The following corrections and enhancements have been applied to the FileKit
Structured Data Mapping:
- Support introduced for "PARENT *" specified on definition of a secondary
record segment mapping using the CREATE STRUCTURE primary command.
SEGMK may be used to define a secondary segment mapping on an area of input
record data based on a segment offset into the record, its length and number
of repeating segment occurrences. (This method is used for SMF triplet values.)
"PARENT record-type" may be used with SEGMK to identify the parent segment
record-type from whose data the new secondary segment is defined. When the
secondary segment is potentially defined by data in more than one parent
segment, the "PARENT *" should be used.
- SDE primary command DISPLAY STRUCTURE (or LS) will open a list window
displaying attributes of all fields in a FileKit SDO record mappings structure.
Similarly, LS may be used as a list type in the LIST primary command to set
variable names and values in a REXX macro.
REFPAR list column introduced to identify the name (or "*") of a record
segment's parent record segment.
- STCKE subtype already supported for data-types DATE, TIME and TIMESTAMP.
Support now includes TIME(STCKE,nn) and TIMESTAMP(STCKE,nn).
- IQ005588, IQ005583, IQ005579, IQ005577, IQ005569, IQ005565:
- The following corrections and enhancements have been applied to the FileKit File
Compare (COMPFILE), REXX File I/O (FILEIO) and File Search, Copy, Update and
Remap (FCOPY/FSU) utilities:
- Correct error where FSU (FCOPY) remap feature did not correctly adjust a
remapped value for an output numeric field having a different precision or
scale to that of the input field. This occurred if the only difference
between the format of the input and output fields is precision or scale.
Other differences would trigger reformatting of the remapped value.
Note that file data copy with remap uses a different SDO to map the input
and output records.
- Correct FSU and FILEIO update-in-place of data in spanned records. Following
a successful record data update, the same record may have been re-read
multiple times.
- Support new option field "List" in the ZZSGSET9 Search/Update report options
panel (=0.9). Possible values are "FMT" and "TEXT" and determine the default
type of output generated by the FSU and COMPFILE utilities when run in the
foreground.
FMT will generate structured report records which are formatted using SDO
record-type mappings and displayed in a Data Edit window view.
TEXT will generate plain text report output which is then displayed in a Data
Edit window view.
- Support introduced for HEX option when LIST=TEXT is used on COMPFILE or FSU
execution. Unprintable characters in a 100-byte section of printed record data
will display all characters in that 100 bytes as vertical hex. Default is to
show only unprintable characters as vertical hex.
- COMPFILE LIST=TEXT output now includes a key at the end of the report which
explains the meaning of each report record ID value. i.e.
Id=?? Key
<blank>
Matched record.
I
Inserted record from New file.
D
Deleted record from Old file.
CN
Changed record from New file.
CO
Changed record from Old file.
H
Hilights bytes changed...
...(Underline char = "#").
- COMPFILE LIST=TEXT with option INCFIELDS will now force a print of all text in
the old and new record pair where a record change (CN/CO) is detected. Without
INCFIELDS, the default is to print only 100-byte sections of the record pair
in which a change has been detected.
- IQ005585, IQ005561:
- The following corrections and enhancements have been applied to the FileKit
Randomizer, used to mask data and generate sets of test data:
- TIME values produced by the randomizer may now have microsecond values.
Previously, random time values were generated with millisecond values
only.
TIME format character strings now support the following, case-sensitive
formatting codes:
hh
2-digit Hour of the day
mm
2-digit Minute of the hour
ss
2-digit Second of the minute
ttt
3-digit Thousandth of the second
uuuuuu
6-digit Millionth of the second
- RANDOMIZE parameter specified on an INPUT primary command with no explicit
field list, will no longer assign a default randomizer and so generate random
values for fields involved in USE WHEN record-type selection criteria for the
record-type currently being inserted.
Fields used to determine the record-type mapping assigned to record data
must not have values that break this connection.
For example, when inserting a record of record-type ALBUM, its usage
selection criteria may be defined as follows:
By default, INSERT must not assign a default randomizer to field "RT". A
value of "2" will automatically be inserted in field RT.
- IQ005605, IQ005593:
- Correct "File not Found" when use of a relative generation number on a GDG data set
name corresponds to a GDS which is cataloged on a TAPE volume.
Referencing a GDS on TAPE via its relative GDG number will now operate correctly.