

9. PROCESSING › 9.2 Daily Update Processing Flow › 9.2.6 Assembly Language Program Flow
9.2.6 Assembly Language Program Flow
The assembly language programs (see list of routines in
Section 10.3) reduce IMS log data to produce IMS transaction
records.
PART 1
- Initialize the program. Get the call parameter and test
its contents. Decode the IMSOPS TABLES statement for
table sizes, DDNAME, and IMSID. Check the presence of
the DD statements in the execution JCL by doing a RDJFCB
on the input and output file DCBs just identified. If
anything is wrong with the format of the DDNAME passed or
if the DD statements are not present, generate abend code
0001.
Establish the ESTAE exit for the program's abnormal
termination and snap dump routine.
Establish the interface with SAS through an address
displacement in the input DCB. Get storage for the
working tables and initialize the tables. Open the
suspend input file. Read transaction records from the
suspend input file into the working Transaction Table at
one entry per transaction record read. Close the suspend
input file.
PART 2
- Process the IMS log input. Get a record from the input
file. Decide, by translating the IMS log record type, if
the record should be processed. Skip records CA MICS
does not process. Records are processed by routines that
bear the name LOGxx, where xx is the hexadecimal value of
the IMS log record type, or by the routine COPYREC, which
passes the log record directly to SAS for subsequent
processing.
Pass control to and from SAS using the routine called
FROMSAS when SAS requests a record; the routine called
TOSAS is entered from other parts of the program when a
record is passed to SAS. These routines handle such
functions as register save/restore, DCB read address
pointer switching, and routine internal calling sequence
maintenance.
PART 3
- Individual record type processing routines.
PART 4
- Service routines.
PART 5
- IMS log input end-of-file processing routine. Either
pass the entries from the working Transaction Table to
the SAS logic as transaction record images or write the
records to the suspend output file as suspended
transactions.
Decision logic is:
o Entries go to the summary log output file if
accounting apportionment has been done (code A in the
processed records mask), or if the entry is more than
one day old (the Julian date of the record that caused
the last change of mask status is more than one and
less than the Julian date of the last mask changing
record of the current run).
o All entries go to the suspend file if they do not meet
the above summary log output criteria.
The transaction table entries are processed through the
old-to-new chain. This method automatically preserves
the aging of table entries when suspended records are
input to the following processing cycle.
**********************************************************
* *
* IMS Log Data Reduction Utility Program (IMSLOGV6) *
* Transaction Record Format (Full-Function X'FA00') *
* *
**********************************************************
-------- ---------------- -----------------------------------
Name Format Contents
-------- ---------------- -----------------------------------
FFTRAN DSECT
TRANPFX DS 0F Start of Record Prefix
TRANTT DS XL2 Record Transaction Type
TRANLV DS XL1 Record Log Utility Version
TRANFV DS XL1 Record File Services Version
DS XL4 Reserved
TRANENT DS 0F Start of Record Definition
TRANCDS DS CL8 Transaction Code
TRANLTRM DS CL8 Logical Terminal - Origination
TRANUSER DS CL8 User ID
TRANMID DS CL8 Message Input Descriptor
TRANNODE DS 0CL8 VTAM Node
TRANLINE DS F .. Physical Line Number
TRANPTRM DS F .. Physical Terminal Number
*
TRANUOW DS 0CL34 Unit Of Work ID
TRANUOWS DS 0CL32 Unit Of Work ID for Locate
TRANUOWO DS 0CL16 Originating System
TRANORID DS CL8 Originating System - IMSID
TRANORTK DS CL8 Originating System - Store Clock
TRANUOWP DS 0CL16 Processing System
TRANPRID DS CL8 Processing System - IMSID
TRANPRTK DS CL8 Processing System - Store Clock
TRANUOWF DS 0CL2 Unit of Work ID Flags
TRANFLG1 DS XL1 Unit of Work Flag Byte 1
TRANF1PT EQU X'80' Message Associated with CQSPUT
TRANF1RD EQU X'40' Message Associated with CQSREAD
TRANFLG2 DS XL1 Unit of Work Flag Byte 2
TRANF2DL EQU X'80' Message Associated with CQSDEL
TRANF2MV EQU X'40' Message Associated with CQSMOVE
TRANUOWL EQU *-TRANUOW L' Unit Of Work ID
*
TRANMQUE DS CL1 IMS Message Queueing
TRANMQGQ EQU C'G' .. Global Queues
TRANMQLQ EQU C'L' .. Local Queues
TRANSQPL DS CL1 Shared Queues Processing Location
TRANPLLQ EQU C' ' .. No Shared Message Queues
TRANPLFE EQU C'F' .. Front-End Location
TRANPLLA EQU C'L' .. Local-Affinity Location
TRANPLPR EQU C'P' .. Process Location
TRANPLRS EQU C'R' .. Response Location
TRANPLLS EQU C'S' .. Local-Select Location
*
TRANIDRR DS XL4 Inbound Device Relative Record
TRANDRRN DS XL4 Outbound Device Relative Record
*
TRANMASK DS 0CL8 FF Byte Mask of Records Processed
TRANMRCV DS CL1 .. I - 01 Record Processed
TRANMIEQ DS CL1 .. Q - 35 Record Processed
TRANMSCH DS CL1 .. S - 08 Record Processed
TRANMGUE DS CL1 .. G - 31 Record Processed
TRANMSND DS CL1 .. O - 03 Record Processed
TRANMOEQ DS CL1 .. E - 35 Record Processed
TRANMDEQ DS CL1 .. D - 36 Record Processed
TRANMACT DS CL1 .. A - 07 Record Processed
*
TRANSEQ DS 0F Transaction Set Sequencer
TRANPRFO DS H Output Number (reset for GU)
TRANPRFI DS H Number of Pgm-Pgm Switches
*
TRANMTYP DS CL1 Message Type Qualifier
TRANMTRC EQU C'R' .. Message is Recoverable
TRANMTNR EQU C'N' .. Message is Non-recoverable
TRANFSTA DS XL1 Field Status Indicators
TRANFSLV EQU X'80' .. LTERM Field Is Valid
TRANFSTV EQU X'40' .. TRANSACT Field Is Valid
TRANFSNV EQU X'20' .. VTAMNODE Field Is Valid
TRANFSUV EQU X'10' .. USERID Field Is Valid
* EQU X'08' .. Reserved
* EQU X'04' .. Reserved
* EQU X'02' .. Reserved
* EQU X'01' .. Reserved
TRANWFI DS CL1 WFI AutoFlush Indicator
TRANWFIA EQU C'W' .. Transaction AutoFlushed
TRANSTAT DS XL1 Transaction Message Queue Status
TRANSTIN EQU X'80' .. Message Queue Input Status
TRANSTOT EQU X'40' .. Message Queue Output Status
TRANSTRB EQU X'20' .. Message Queue Rollback Status
* EQU X'10' .. Reserved
* EQU X'08' .. Reserved
* EQU X'04' .. Reserved
* EQU X'02' .. Reserved
* EQU X'01' .. Reserved
TRANORG DS CL1 Origination Flag
TRANORGC EQU C'C' .. Origin is CNT
TRANORGF EQU C'F' .. Origin is Format
TRANORGN EQU C'N' .. Origin is Non-recoverable
TRANORGS EQU C'S' .. Origin is SMB
TRANDST DS CL1 Destination Flag
TRANDSTC EQU C'C' .. Destination is CNT
TRANDSTF EQU C'F' .. Destination is Format
TRANDSTN EQU C'N' .. Destination is Non-recoverable
TRANDSTS EQU C'S' .. Destination is SMB
TRANMSC DS CL1 Multiple System Couple Flag
TRANMSCY EQU C'Y' .. Orig/Dest are different
TRANMSCL EQU C'L' .. MSC with local execute
TRANLU6 DS CL1 LU6 Segment Flag
TRANLU6Y EQU C'Y' .. Segment is present
TRANPSPT DS CL8 Pgm-Pgm Switch Parent Trancode
TRANPSCT DS CL8 Pgm-Pgm Switch Child Trancode
*
TRAN01TS DS 0CL12 Message Arrival DateTime Stamp
TRAN01DT DS CL4 .. Message Arrival Date (01)
TRAN01TM DS CL8 .. Message Arrival Time (01)
*
TRAN35IN DS 0CL12 Message Enqueue DateTime Stamp
TRAN35D1 DS CL4 .. Message Enqueue Date (35 In)
TRAN35T1 DS CL8 .. Message Enqueue Time (35 In)
*
TRAN08TS DS 0CL12 Application Schedule DateTime Stamp
TRAN08DT DS CL4 .. Appl Schedule Date (08)
TRAN08TM DS CL8 .. Appl Schedule Time (08)
*
TRAN31IN DS 0CL12 DLI Caller DateTime Stamp (31 Out)
TRAN31D1 DS CL4 .. DLI Caller Date (31 Out)
TRAN31T1 DS CL8 .. DLI Caller Time (31 Out)
*
TRAN03TS DS 0CL12 Message Output DateTime Stamp
TRAN03DT DS CL4 .. Message Output Date (03)
TRAN03TM DS CL8 .. Message Output Time (03)
*
TRAN35OT DS 0CL12 Originating Tran DateTime Stamp
TRAN35D2 DS CL4 .. Originating Tran Date (35 In)
TRAN35T2 DS CL8 .. Originating Tran Time (35 In)
*
TRAN07TS DS 0CL12 Application End DateTime Stamp
TRAN07DT DS CL4 .. Application End Date (07/31 Out)
TRAN07TM DS CL8 .. Application End Time (07/31 Out)
*
TRAN31OT DS 0CL12 Comm Caller DateTime Stamp (31 Out)
TRAN31D2 DS CL4 .. Comm Caller Date (31 Out)
TRAN31T2 DS CL8 .. Comm Caller Time (31 Out)
*
TRAN36TS DS 0CL12 Message Dequeue DateTime Stamp
TRAN36DT DS CL4 .. Message Dequeue Date (36)
TRAN36TM DS CL8 .. Message Dequeue Time (36)
*
TRANLATS DS 0CL12 Last Activity DateTime Stamp
TRANLADT DS CL4 .. Last Activity Date
TRANLATM DS CL8 .. Last Activity Time
*
TRANSQ6T DS F Subqueue 6 Residency Time (0.1 Sec)
TRANSQ6A DS F Accumulated SUBQ 6 Time (0.1 Sec)
*
TRANBKTS DS 0F Resource Usage Buckets
TRAN7CPU DS F .. CPU TIME
TRAN7MGU DS F .. MSG GU
TRAN7MGN DS F .. MSG GN
TRAN7MIS DS F .. MSG ISRTS
TRAN7MPG DS F .. MSG DLETS
TRAN7DG1 DS F .. DB GU
TRAN7DG2 DS F .. DB GN
TRAN7DG3 DS F .. DB GNP
TRAN7DG4 DS F .. DB GHU
TRAN7DG5 DS F .. DB GHN
TRAN7DG6 DS F .. DB GHNP
TRAN7DIS DS F .. DB INSERTS
TRAN7DDL DS F .. DB DELETES
TRAN7DRP DS F .. DB REPLACES
TRANBKTL EQU *-TRANBKTS L' Resource Usage Buckets
*
TRANINSG DS H Input Message Segment Count
TRANOUSG DS H Output Message Segment Count
TRANINCH DS F Input Message Character Count
TRANOUCH DS F Output Message Character Count
TRANBMPC DS F BMP Type Transaction Count
TRANABND DS 0XL4 Transaction ABEND Code
TRANAFLG DS XL1 .. ABEND Flag Byte
TRANAFAB EQU X'80' .. .. Application ABEND'ed
TRANAFBF EQU X'40' .. .. Dynamic Backout Failed
TRANACDE DS XL3 .. ABEND Code (System Format)
TRANRESP DS F Transaction Response Time (.01 Sec)
*
TRANKEY DS 0CL10 Transaction Key Information
TRANSYS DS CL8 .. OrgSysId/IMSID
TRANIMS DS CL2 .. IMS Version
*
TRANAPOT DS CL1 APPC/OTMA Transaction Indicator
TRANAPPC EQU C'A' .. Transaction is APPC
TRANOTMA EQU C'O' .. Transaction is OTMA
TRANPRTY DS CL1 Transaction Priority (From 07)
TRANCLAS DS CL1 Transaction Class (From 07)
TRANTYPE DS CL1 Transaction Type (From 07)
TRANPST DS H PST Number
TRANMMSG DS H Transaction Sequence Number
TRANPTSQ DS H Message Sequence Number
*
TRANPSB DS CL8 PSB Name
TRANJOB DS CL8 Dependent Region Jobname
TRANSTEP DS CL8 Dependent Region Stepname
TRANDLTM DS CL8 Logical Terminal - Destination
TRANMOD DS CL8 Message Output Descriptor
*
TRANFPMK DS 0CL10 FP Byte Mask of Records Processed
TRANFM01 DS CL1 .. 5901 Record Processed
TRANFM03 DS CL1 .. 5903 Record Processed
TRANFM50 DS CL1 .. 5950 Record Processed
TRANFM55 DS CL1 .. 5955 Record Processed
TRANFM36 DS CL1 .. 5936 Record Processed
TRANFM37 DS CL1 .. 5937 Record Processed
TRANFM38 DS CL1 .. 5938 Record Processed
TRANFM53 DS CL1 .. 5953 Record Processed
TRANFM11 DS CL1 .. 5911 Record Processed
TRANFM16 DS CL1 .. 5916 Record Processed
DS XL2 Reserved
TRANFP50 DS F K' 5950 Records
TRANFPDC DS F K' DEDB Calls
TRANFPDR DS F K' DEDB Read Operations
TRANFPMS DS F K' MSDB Calls
TRANFPOF DS F K' Overflow Buffers Used
TRANFPUW DS F K' UOW Contentions
TRANFPBF DS F K' Waits for DEDB Buffers
TRANFPOB DS H N' Buffer Latch Waits
TRANFPRT DS XL1 Fastpath Region Type
DS XL1 Reserved
TRANFPIO DS F K' STIO (from 5953)
TRANFP55 DS F K' 5955 Records
TRANFPFL DS XL1 Sync Point Failure Reason Code
TRANFPMM DS CL1 Mixed-Mode Transaction Indicator
TRANMM EQU C'M' .. Transaction is Mixed-Mode
TRANFSCH DS CL1 False Schedule Indicator
TRANFS EQU C'F' .. Transaction is False Schedule
TRANFLGS DS XL1 Tran Element Flags
TRANONGQ EQU X'80' .. Element is on Global Queue
TRANOFGQ EQU FF-TRANONGQ.. Remove from Global Queue
TRANONLQ EQU X'40' .. Element is on Local Queue
TRANONSQ EQU X'20' .. Element is on Staging Queue
TRANONMQ EQU X'10' .. Element is on Message Queue
TRANENQB EQU X'08' .. LU62 Enqueue Bypassed (No 35/36)
TRANLATE EQU X'04' .. Late 03 rec (arrived after 07)
* EQU X'02' .. Reserved
* EQU X'01' .. Reserved
TRANLOGR DS F Log record initiating FF element
TRANNCKP DS F N' Checkpoints/Syncpoints
TRANMLKH DS F Max(Locks Held) between CPs
TRANTLKH DS F Sum(Locks Held) for all CPs
TRANRTID DS 0CL16 Recovery Token ID
TRANRKEY DS 0CL12 Recovery Token - Search Key
TRANIID DS CL8 Recovery Token - IMSID
TRANSCH DS F Recovery Token - Schedule Number
TRANCOM DS F Recovery Token - Commit Number
TRANRTL EQU *-TRANRTID L' Recovery Token
*
TRANSTCK DS XL8 Standard Suffix Store Clock
TRANSEQN DS XL8 Standard Suffix Sequence Number
*
TRANRECL EQU *-FFTRAN L' FA00 Tran Record
Copyright © 2014 CA.
All rights reserved.
 
|
|