Go to Home Page
 
  Go to Home Page  
  See all products
  See manuals, tutorials, articles
  See price schedules
  See user testimonials
  See user testimonials
  Download a free 30-day trial
 
  Choose Spectrum Writer to add 4GL to your product
  Report Writer Speedup Tips Article

This article shows an example of file normalization. In this example, we will use the very complex SMF records. Each SMF type 30 record contains a variable number of EXCP Sections. Each EXCP (Execute Channel Program) Section contains information related to one channel program of a DD in the job step. (See the SMF 30 record description.)

Normalizing the EXCP Sections in an SMF Type 30 Record

It's easy to report on SMF data!
 

SMF Spectrum Writer
We have a low-cost 4GL report writer especially for SMF files. It's called Spectrum SMF Writer.

Spectrum SMF Writer handles all of the difficult SMF record parsing for you automatically. You just specify the fields you want to see.

Plus Spectrum SMF Writer even exports SMF data as comma delimited files, to use on your PC. All of this for only $4,995!
 
Download your free trial of Spectrum SMF Writer and start making SMF reports right now!

This example shows how to split each "physical" type 30 SMF record into multiple "logical" records. Each logical record contains just a single EXCP section. Using this logically expanded input file, it is then easy to use the standard 4GL syntax to make useful reports from the array of EXCP data in each type 30 record. (That is because normalization puts a single EXCP section at the same location in each logical record.)

Since the main purpose here is just to illustrate how to normalize an input file, this example simply lists some fields from the EXCP sections of a few records. Specifically, we list the SMF30DEV (device class), SMF30DDN (DDNAME) and SMF30BLK (block count) fields from the EXCP section. The other report fields all come from the constant portion of the SMF 30 record.

By the way, there are many different kinds of variable sections in the SMF type 30 record (not just EXCP sections). For example, there are I/O activity sections, processor accounting sections, performance sections, storage sections and others. You can normalize any of these sections using this same technique with Spectrum Writer. You can even normalize more than one section of the record in the same run.

These Spectrum Writer Control Statements
INPUT: SMF30
       NORMWHEN(SMF30RTY = 30)
       NORMALIZE(SMF30-EXCP-SECTION, SMF30EON)
INCLUDEIF: SMF30RTY = 30     &
           SMF30SID = 'DEV1' &
           SMF30STP = 4
TITLE:     'ADDRESS SPACE ACTIVITY'
COLUMNS:   SMF30DTE SMF30TME SMF30SID SMF30JBN SMF30PGM
           SMF30STM SMF30JNM SMF30DEV SMF30DDN SMF30BLK
SORT:      SMF30DTE SMF30TME

 

Produce This SMF Type 30 EXCP Details Report

                                      ADDRESS SPACE ACTIVITY

SMF30DTE  SMF30TME   SMF30SID SMF30JBN SMF30PGM SMF30STM SMF30JNM   SMF30DEV SMF30DDN       SMF30BLK
 
07/19/08  6:00:03.48  DEV1    BCA5148  BPXPRECP STEP1    STC07283         32 SYS00001              1
07/19/08  6:00:03.48  DEV1    BCA5148  BPXPRECP STEP1    STC07283         32 SYS00002          6,035
07/19/08  6:00:03.48  DEV1    BCA5148  BPXPRECP STEP1    STC07283         32 SYS00003              2
07/19/08  6:00:03.48  DEV1    BCA5148  BPXPRECP STEP1    STC07283         32 SYS00004          3,078
07/19/08  6:00:03.48  DEV1    BCA5148  BPXPRECP STEP1    STC07283         32 SYS00005             18
07/19/08  6:00:03.48  DEV1    BCA5148  BPXPRECP STEP1    STC07283         32 SYS00006              6
07/19/08  6:00:14.57  DEV1    SMFSLRD  SORT     SORT     STC07285          0 SYSOUT                0
07/19/08  6:00:14.57  DEV1    SMFSLRD  SORT     SORT     STC07285         32 SORTWK01              0
07/19/08  6:00:14.57  DEV1    SMFSLRD  SORT     SORT     STC07285         32 SORTWK02              0
07/19/08  6:00:14.57  DEV1    SMFSLRD  SORT     SORT     STC07285         32 SORTWK03              0
07/19/08  6:00:14.57  DEV1    SMFSLRD  SORT     SORT     STC07285         32 SORTIN                0
07/19/08  6:00:14.57  DEV1    SMFSLRD  SORT     SORT     STC07285         32 SORTOUT               0
07/19/08  6:00:14.57  DEV1    SMFSLRD  SORT     SORT     STC07285         32 SYSIN                 0
07/19/08  6:00:14.57  DEV1    SMFSLRD  SORT     SORT     STC07285          0 SORTSNAP              0
07/19/08  6:00:14.57  DEV1    SMFSLRD  IFASMFDP SELESLR  STC07285         64           1,077,952,576
07/19/08  6:00:14.57  DEV1    SMFSLRD  IFASMFDP CLEAR    STC07285         64           1,077,952,576
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284          0 SYSOUT                0
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284         32 SORTWK02              2
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284         32 SORTWK03              2
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284         32 SORTWK04              2
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284       -128 SORTIN            2,239
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284       -128 SORTOUT             102
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284          0 SYSIN                 0
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284          0 SYSPRINT              0
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284          0 SORTMSG               0
07/19/08  6:01:05.38  DEV1    M99RPT12 SORT     STP01020 JOB07284         32 SORTWK01              2
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284          0 SYSOUT                0
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284          0 SYSPRINT              0
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284          0 SORTMSG               0
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284         32 SORTWK01              2
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284         32 SORTWK02              2
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284         32 SORTWK03              2
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284         32 SORTWK04              2
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284         32 SORTIN                1
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284         32 SORTOUT               1
07/19/08  6:01:05.51  DEV1    M99RPT12 SORT     STP01030 JOB07284          0 SYSIN                 0
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284         32 STEPLIB               3
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284         32 MIFI0002              3
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284       -128 MIFO0001         17,774
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284          0 SYSPRINT              0
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284          0 SYSDBOUT              0
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284          0 SYSOUT                0
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284         32 STEPLIB               0
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284         32 LINKL                 0
07/19/08  6:01:27.56  DEV1    M99RPT12 MIFQR11G STP01050 JOB07284       -128 MIFI0001         17,775
. . .
See Other Sample SMF Reports
Copyright 2012
Pacific Systems Group.
All rights reserved.


Spectrum Writer 4GL - the economical alternative to SAS, Easytrieve, DYL-280...

Home | Products | Documentation | Prices | Testimonials | Company | 30-Day Trials | FAQ | Sample Reports | SMF Records
Send Your Comments or Questions