The ACCTRTE account code exit routine that you coded as
described in Section 7.2.2 is used to populate the ACCTNOx
values for all Batch Information Area Files that support
account routines, except one. The APPC/MVS Transaction file
(BATATP) is built directly from the SMF type 33 TP Accounting
records. The other SMF record types that are merged to
produce the BATPGM, BAT_ST, BAT_TS, BAT_TP, BATJOB and BAT_JS
files are not present when the BATATP file is produced.
If your site supports APPC/MVS ASCH-scheduled TPs, you need
to code an APPC/MVS account code exit routine. You will be
populating the same ACCTNOx values as in your ACCTRTE exit.
For example, if the ACCOUNT member defines three account code
levels, and the ACCTRTE exit routine builds the elements
ACCTNO1, ACCTNO2, and ACCTNO3, you will want to populate the
same three ACCTNOx values in APPCRTE.
Code the account code exit routine in SAS and verify that it
is correct. A sample APPCRTE member is provided in
sharedprefix.MICS.PARMS(APPCRTE). Refer to Section 2.3.1.5,
Notes on Coding CA MICS Parameters, in the PIOM for coding
help. Figure 7-3 provides a worksheet for coding your
routine.
PREPARATION
The CA MICS Batch and Operations Analyzer provides a sample
APPC/MVS account code exit routine.
The APPCRTE routine is invoked by CA MICS at the point just
prior to the creation of each BATATP file DETAIL timespan
record. The only SMF record present when this exit is
invoked is the SMF type 33 APPC/MVS TP Accounting record.
DATA ELEMENTS FOR APPC/MVS ACCOUNT CODE ROUTINE
Section 6.10 in this guide explains APPC/MVS and the
information it provides. BATATP observations are only
created for TPs scheduled by the APPC scheduler, ASCH. Any
LU6.2 program can use APPC/MVS services to communicate with
other TPs, but only ASCH-scheduled TPs produce the SMF type
33 APPC/MVS TP Accounting records that are used to create
BATATP observations. Each BATATP observation contains the
resource utilization consumed by the APPC/MVS ASCH-scheduled
TP. ASCH TPs are not submitted like batch jobs, but are
scheduled by ASCH to execute when another TP requests a
conversation with them. The ACCTNOx values should be set so
that the requesting transaction program is held accountable
for the resources used. The SMF type 33 record provides good
accountability back to the requesting partner TP.
Each of the data elements in the APPC/MVS Transaction file
(BATATP) is available to the APPC/MVS account code routine.
These elements are documented in the CA MICS Data
Dictionary. In addition, some data elements, such as
ACTFLD1-5, are not in the BATATP file, but exist during the
processing of the CA MICS program that contains the exit. The
data elements most often used to determine the account code
values are shown below:
ACTFLD1-5 - The first five SMF accounting fields from the
partner TP that requested a conversation with
the TP represented by this record.
ATPCLASS - TP Class
ATPLLU - Local LU Name
ATPNAME - TP Name
ATPNETID - Partner LU Network ID
ATPPLU - Partner LU Name
ATPPROF - Profile Name
ATPTYPE - TP Schedule Type (STP/MTP/MSH)
RACFUSID - Partner TP RACF User ID
RACFGRID - Partner TP RACF Group ID
Note: ATPAPU is already carried as a sort/sequence data
element in the BATATP files and should therefore
not be used as an ACCTNOx value.
Internal Fields
There are no internal fields analogous to those used in the
ACCTRTE exit to determine the age of the observation or which
SMF record types are present. BATATP observations are not
suspended. They are written to the CA MICS database in the
same update that reads the raw SMF data file containing SMF
type 33 APPC/MVS TP Accounting records.
Coding Considerations
In coding the APPCRTE, you should consider the following:
o Do NOT use statements such as this one in the APPCRTE
because these data elements are not defined in the code
that creates the BATATP observations:
IF I_AUDIT='I' or J_AUDIT='J' ;
o When ATPTYPE='MSH', indicating that the current BATATP
observation represents execution of the shell portion
of a multi-trans TP, the ACCTNOx values should be set
to your data center's overhead account. The execution
of the shell portion of a multi-trans TP cannot be
attributed to an individual user. An exception to this
would be if the multi-trans TP was set up exclusively
for the use of one group within your enterprise. The
ACTFLDx values found in SMF type 33 record for a
multi-trans shell come from the TP profile defining the
TP and not from a requesting partner.
o Make sure that you assign default data center overhead
ACCTNOx values if the appropriate values cannot be set
from the fields available. As with the ACCTRTE exit
described in Section 7.2.2, it is very important to
make sure your APPCRTE is coded so that invalid values
do not end up in the ACCTNOx data elements.
Note: Allowing invalid account codes into the CA MICS
database will increase the number of records
and therefore the DASD space requirements of the
Batch Information Area files. This could result
in unnecessarily large DASD requirements.
EXAMPLE
The following example assumes that the data center has three
account code levels, and that the only valid division codes
are DEV, PRD, and TST.
ACCTNO1 is set from the ACTFLD1 value passed from the
requesting partner TP. The ACTFLD1 value is
checked against the valid division codes, and if
invalid, ACCTNO1 is set to '***'.
ACCTNO2 is set from the first three characters of the TP
Name. A user defined SAS format, $TPNCHK, is
maintained with all valid projects. Valid
projects return a value of 'OK' when PUT with SAS
format $TPNCHK. If not 'OK', then ACCTNO2 is set
to '***'.
ACCTNO3 is set equal to the RACFUSID field of the
requesting partner TP. No validation is
performed because APPC/MVS has been implemented
with User ID Verification. This means that
APPC/MVS ASCH-scheduled TP requests are only
satisfied when the requesting partner TP presents
APPC with a valid userid/password.
In all cases, ACCTNO1-3 are set to overhead values when
the ATPTYPE is 'MSH', meaning that the record represents
the execution of the shell portion of a multi-trans TP.
The ACCOUNT member for the account definition above is:
1 3 'DIVISION'
2 5 'PROJECT'
3 8 'USER'
4 1 'Unused 4'
5 1 'Unused 5'
6 1 'Unused 6'
7 1 'Unused 7'
8 1 'Unused 8'
9 1 'Unused 9'
The following exit routine implements the above
specifications:
* ABC'S ACCOUNT CODE DERIVATION EXIT
*
* DIVISION IS BUILT FROM POSITIONS 1-3 OF ACTFLD1.
*
* PROJECT IS TAKEN FROM THE FIRST THREE CHARACTERS OF TP
* NAME (ATPNAME) AND VERIFIED WITH SAS FORMAT
* $TPNCHK.
*
* USER NAME IS SET TO THE RACFUSID OF THE REQUESTING TP
*
* MULTI-TRANS TP SHELLS ARE ASSIGNED TO OVERHEAD ACCOUNT
* AS ARE NON-SHELL TPS WITH INVALID DIVISION OR PROJECTS
* ;
/* SAMPLE APPCRTE ROUTINE EXIT CODE */
/* */
/* SET OVERHEAD VALUES */
/* */
ACCTNO1='***' ;
ACCTNO2='*****';
ACCTNO3='********';
ACCTNO4=' ' ;
ACCTNO5=' ' ;
ACCTNO6=' ' ;
ACCTNO7=' ' ;
ACCTNO8=' ' ;
ACCTNO9=' ' ;
IF ATPTYPE='MSH' THEN GOTO ACCTRTEX ; /* use defaults */
ELSE DO ;
ACCTNO1=SUBSTR(ACTFLD1,1,3) ;
IF ACCTNO1 NE 'DEV' AND ACCTNO1 NE 'PRD'
AND ACCTNO1 NE 'TST' THEN DO ;
ACCTNO1='***' ;
END ;
ACCTNO2=SUBSTR(ATPNAME,1,3) ;
IF PUT(ACCTNO2,$TPNCHK.) NE 'OK' THEN ACCTNO2='***' ;
ACCTNO3=RACFUSID ;
GOTO ACCTRTEX ;
END;
ACCTRTEX:
Use the worksheet in Figure 7-3 to code your account code
exit routine (ACCTRTE).
+--------------------------------------------------------------------------+ | INSTALLATION PREPARATION WORKSHEET: APPC/MVS Account Code Routine | | | | PARMS Library Member is APPCRTE | | Reference: Section 7.2.3, CA MICS Batch and Operations Analyzer Guide | +--------------------------------------------------------------------------+ | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | +--------------------------------------------------------------------------+ | ....5...10...15...20...25...30...35...40...45...50...55...60...65...70.. | +--------------------------------------------------------------------------+
Figure 7-3. APPC Account Code Exit Routine Worksheet
| Copyright © 2012 CA. All rights reserved. | Tell Technical Publications how we can improve this information |