

10. MODIFICATION › 10.1 Parameter Modification › 10.1.1 Processing Nonstandard Fields or SMF Records
10.1.1 Processing Nonstandard Fields or SMF Records
In addition to processing standard SMF records, the Batch and
Operations Analyzer can process SMF records that your data
center may have altered through the use of additional
products or by entering a user field through the use of an
exit provided by JES or SMF.
If you need to input fields from nonstandard SMF type 6
output writer records generated by some other vendors report
distribution product, refer to Section 6.3.4.5.2. The non-
standard SMF type 6 records produced by the following CA
report distribution products are completely supported and
discussed in Section 6.3.4.5.1:
CA Dispatch Output Management
CA Deliver Output Management
CA Bundl
CA View Output Archival and Viewing
Sometimes information that is contained in user-defined
fields on the SMF records needs to be carried in the CA MICS
files. You must add these elements to the file definition
for the appropriate BATSFx files. The BATSFx files are
populated during the data step that processes the raw SMF
records as well as during the CA MICS suspend process. You
must also add the elements to the appropriate database file,
for example, BATSPL, BATPGM, BATJOB, and so on. You must add
code to the appropriate USRSSFx exit to read the elements
from the SMF records. If the user fields you read need to be
summarized at the job level, you must also add code to the
appropriate USRSxxx exit.
Use the following directions to process the user data:
1. Add the new elements to the appropriate file by
updating SMFGENIN.
2. Add code to the proper _USRSSFx exit: _USRSSFI for
initiation records, _USRSSFS for step end or interval
records, _USRSSFJ for job end records, _USRSSFW for
writer records, and _USRSSFP for purge records. The
following is sample code for the _USRSSFP exit:
MACRO _USRSSFP
/* READ USER DEFINED SMF26RSV */
IF LENGTH GT 43 THEN
INPUT @39 JOBxxx PIB4. @;
%
Remember to end the INPUT statement with @. Refer
to Section 4.3.2 of the System Modification Guide for
more details on exit implementation.
Also note that the LENGTH of the record was checked to
make sure that reading the field would not cause SAS to
read beyond the end of the record. The LENGTH data
element is always available in the USRSSFx exits.
3. If you are reading a field from a step-level record and
want it summarized at the job level, you must do the
following:
a) Add code to the _USRSINT to initialize the JOB level
element. This exit is invoked only once when a new
Reader Time Stamp (RDRTS) and Job Name (JOB) is
encountered.
MACRO _USRSINT
/* FULL JOB INITIATION EXIT */
JOBxxxx=0 ;
%
b) Add code to the _USRSPGM exit to add the step level
element to the job level as shown in the sample
below:
MACRO _USRSPGM
/* BATCH PROGRAM FILE OUTPUT EXIT */
JOBxxxx+PGMxxxx ;
%
Note the use of the SAS SUM statement of the form
VARIABLE+EXPRESSION. This forces an implied RETAIN
of the JOBxxxx data element over all steps of the
job. If you instead coded the following, you would
need to add a RETAIN JOBxxxx statement in the
_USRSINT exit:
JOBxxxx=JOBxxxx+PGMxxxx ;
3. Test the modification thoroughly in either a test
complex or a test unit.
If a test complex is being used, make certain both test
and production complexes are at the same maintenance
level; otherwise, you may have different results when
you move to the production complex.
If a test unit is used, override the _USRSSFx exit by
coding it after the %INCLUDE SOURCE(#SMFEXIT) in
prefix.MICS.USER.SOURCE(#SMFEXIT).
Copyright © 2014 CA.
All rights reserved.
 
|
|