Does PDMS17 have a parameter that allows suppressing the multiple access lines ?

Document ID : KB000016398
Last Modified Date : 14/02/2018
Show Technical Document Details
Question:

Does PDMS17 have a parameter that allows suppressing the multiple access lines ?

Answer:

An possible solution would be for user to use a SORT step.

The user will find these 2 examples useful :

//*
// --- user inserts their SMF record extraction step here ---
// --- to create data set 'users.SMF.RECORDS' ---
//*
//*
//* -- the 2 examples use 'users.SMF.RECORDS' as input
//*
//*
//* User wants to reduce reporting of 'duplicative' records,
//* where members have been referenced multiple times within
//* the same minute.
//*
//* This can be accomplished by pre-sorting the extracted SMF data
//* records and excluding 'duplicative' records, before PDSM17
//* reads the records.
//*
//*
//*
//* Pre-Sort step to exclude 2 sets of records:
//*
//* 1. SMF extraction header and trailer records
//* "INCLUDE COND=(1,2,FI,GT,19)" instructs SORT to only
//* process records whose record length is longer than 19
//* bytes. This will cause the short SMF header/trailer
//* records to be excluded.
//*
//* 2. records with SAME Date, Time (HHMM), Data set Name,
//* and Member name will be reduced down to a single record
//* (can not control which HHMM SORT will pick, but it should
//* not matter, user only wants one from that minute in time)
//*
//*
//* Note: the user can reduce the records even further, by removing
//* the time (29,2,A) from the selection. this means only one
//* record from the whole day is reported. one record is good
//* enough to show member was used that day. it just depends
//* on what level of detail user is after.
//*
//*
//*
//* example 1 PDSM17 with pre-sort example keeps only one record
//* per MINUTE for each member.
//*
//SORT1 EXEC PGM=SORT
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,1
//SORTIN DD DISP=SHR,DSN=users.SMF.RECORDS
//SORTOUT DD DISP=(,PASS),DSN=&&PDSMSM2,
// UNIT=SYSDA,SPACE=(CYL,(1,1))
//*
//* date,time,dsn,vol,member
//SYSIN DD *
INCLUDE COND=(1,2,FI,GT,19)
SORT FIELDS=(26,3,A,29,2,A,47,44,A,83,6,A,97,8,A),FORMAT=BI
SUM FIELDS=NONE
//*
//*
//* Use PDSM17 to report extracted PDSMAN Audit Trail records
//PDSM17 EXEC PGM=PDSM17,PARM=''
//PDSMRPT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//PDSMLOG DD DISP=(OLD,PASS),DSN=&&PDSMSM2
//PDSMSEL DD *
SELECT LIB=-
//*
//*
//* example 2 PDSM17 pre-sort example keeps only one record
//* per DAY for each member.
//*
//SORT2 EXEC PGM=SORT
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,1)
//SORTIN DD DISP=SHR,DSN=users.SMF.RECORDS
//SORTOUT DD DISP=(,PASS),DSN=&&PDSMSMF,
// UNIT=SYSDA,SPACE=(CYL,(1,1))
//* date,(no time),dsn,vol,member
//SYSIN DD *
INCLUDE COND=(1,2,FI,GT,19)
SORT FIELDS=(26,3,A,47,44,A,83,6,A,97,8,A),FORMAT=BI
SUM FIELDS=NONE
//*
//*
//* Use PDSM17 to report extracted PDSMAN Audit Trail records
//PDSM17 EXEC PGM=PDSM17,PARM=''
//PDSMRPT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//PDSMLOG DD DISP=(OLD,PASS),DSN=&&PDSMSMF
//PDSMSEL DD *
SELECT LIB=-
//*