DB2 V10 Incompatibility Report from SMF 102 IFCID 366 Records
It's easy to report on SMF data!
We have a low-cost 4GL report writer especially for SMF files. It's called Spectrum SMF Writer.
Spectrum SMF Writer handles the difficult SMF record parsing for you automatically. You just specify which fields you want to see.
Spectrum SMF Writer also converts the arcane date and time fields and reformats them into an attractive report.
Plus Spectrum SMF Writer even exports SMF data as comma delimited files to use on your PC.
The sample SMF report below was created with Spectrum SMF Writer,
the low-cost 4GL SMF report writer.
It reads as input the SMF file and selects just the type 102 (DB2 Audit) records with an IFCID of 366 (incompatible changes in V10). (See SMF 102 record layout.)
We print a report showing each event of an incompatible change. The report shows a description of what the incompatible change consisted of, and the transaction, program name and statement number containing the error. It also shows the plan name, package collection name and operator ID.
Note that the actual SMF record just contains codes for the incompatible change. Our Spectrum SMF Writer definitions include code to expand those numeric values into descriptive texts.
Spectrum SMF Writer also uses a special exit to parse the variably formatted SMF 102 records. This lets us easily print the hard-to-access details in the IFCID 366 section.
These incompatible change events are sorted into program name order.
All of this with just a few lines of code!
Why not install a Spectrum SMF Writer trial right now and start making your own SMF reports!
These Spectrum SMF Writer Statements:
*SELECT THE INPUT FILE WITH DEFINITIONS FOR 102 v10
IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00366')
*SELECT THE RECORDS WE WANT FOR THIS REPORT
INCLUDEIF: SM102RTY = 102
AND QWHSIID = 366
*COMPUTE A DESCRIPTION FOR THE REPORT
COMPUTE: INCOMPATIBLE-FEATURE =
WHEN(QW0366FN = 1) ASSIGN('1 V9 SYSIBM.CHAR(decimal-expr)')
WHEN(QW0366FN = 2) ASSIGN('2 V9 SYSIBM.VARCHAR(decimal-expr) etc')
WHEN(QW0366FN = 3) ASSIGN('3 V9 Char string timestamp')
*SELECT THE DATA FIELDS TO PUT IN REPORT
QW0366PC('PKG COLL' 10)
QW0366PN('PGM NAME' 10)
TITLE: 'DB2 INCOMPATIBILITY REPORT'
TITLE: 'BY PROGRAM NAME'
Produce This SMF Report:
DB2 INCOMPATIBILITY REPORT
BY PROGRAM NAME
SMF SMF CONNECT PLAN OPERATOR TRANSACTIO INCOMPATIBLE STMT
IFCID LOG DATE LOG TIME NAME NAME LD NAME FEATURE NUM PKG COLL PGM NAME
____________ ________ ___________ ________ ________ ________ __________ ______________________________ ______________ __________ __________
366 09/21/13 09:35:23.98 TSO DSNESPCS P017202 P017202 1 V9 SYSIBM.CHAR(decimal-expr) 245 DSNETPCS DSNETS98
366 09/21/13 09:35:43.02 TSO DSNESPCS P017202 P017202 1 V9 SYSIBM.CHAR(decimal-expr) 245 DSNETPCS DSNETS98
366 09/21/13 09:35:51.16 TSO DSNESPCS P017202 P017202 1 V9 SYSIBM.CHAR(decimal-expr) 245 DSNETPCS DSNETS98