Origin data characteristics

The origin descriptor record (ODR) is part of the association data that holds origin data information. Origin data is stored in a separate section of the association data and describes where the task was started (the point of origin).

You can use origin data to track and audit complex systems. A transaction group ID, TRNGRPID, is the unique key that represents the origin data. You use the TRNGRPID to track where transactions are created when they do not share the unit of work (for example, when you use a START command) to indicate which parts of the transaction have a common source. CICS® determines the source of information, rather than the target location of the information. Also, with origin data you append your own identifying token to the work request.

Origin data is created when a new request first arrives at a CICS region. This request might be initiated from a web browser, a 3270 terminal, an SNA LU, or another external device. The user task that CICS first attaches is at a new point of origin, and CICS populates the fields in the ODR of this task with information specific to the point of origin. If this task subsequently causes another task to be attached, either in the same region, or in a different region over an IPIC or MRO connection, the origin data is inherited by the new task, unless the new task is at a new point of origin.

A new point of origin is created in the following circumstances:
  • A task is attached by a START command that specifies the TERMID option
  • A task is attached by a START ATTACH command
  • A task is attached by a DTP or CPIC request
  • A task is attached over an APPC connection
  • A task is attached using the transaction start EP adapter
  • A task is attached in a Liberty JVM server to run a Java™ web application
  • A task is attached by the JVM server when a ThreadExecutor service creates a thread
  • A web service pipeline handler transaction is routed over an MRO connection
  • An outbound HTTP request is made to CICS using CICS Web support

If you are using CICS Transaction Gateway, the point of origin can be outside CICS (in CICS TG) and the point of origin information is populated to the ODR when the task is started at the boundary of the CICSPlex® SM. For example, CICS TG records context information about the point of origin for the JCA resource adapter, and this information is passed to CICS as part of the origin data.

The origin data fields in the association data all have names that begin with OD. All fields are populated by CICS, except the user correlator data field, USERCORRDATA, which is a 64-byte area that can be populated by the XAPADMGR global user exit. The exit can be called only from a task that is running at a point of origin in a CICSplex. With origin data, you can track interrelated transactions between regions that use IPIC and MRO connections to share work between them. You can use the CICS Explorer® or WUI to search for all the tasks that are active in a CICSplex that share a common set of origin data, or you can search on a subset of the fields.

Origin data is written in monitoring records and stored in CICSPlex SM history records for offline analysis. Origin data is unrecoverable information, which means that the data is not available to any tasks that are attached because of a transaction restart, or with any tasks that are rebuilt from the system log when a region is restarted.

Flow of association data and origin data between CICS tasks and components

The diagram has two main boxes, both labeled "New task", with boxes "Association data" and "Origin data" inside each "New task" box. An "Optional user exit" box feeds into the first task. Each task has a "Monitoring record" box that it feeds into, and a "CPSM History record" box and "Real-time CPSM WUI" box are shared by both tasks. The flow of numbers is as follows (all in the left side "New task" box, until flow 6): Flow 1 is external to the diagram and points to the association data. Flow 2 is from association data to origin data. Flow 3 points to the optional user exit, and flow 4 is external to the diagram and points at the optional user exit. Flow 5 returns from the optional user exit to the origin data. Flow 6 is from the origin data in the left side new task to the origin data in the right side new task. Flow 7 points to the association data in the right side new task. Flow 8 for both new tasks points to the monitoring record and flow 9 points to the CPSM History record. Flow 10 is from the association data for both tasks, and points to the real-time CPSM WUI. Flow 11 is from the CPSM History record and points to the real-time CPSM WUI.
  • When a new task is attached, association data is created. If the task was created in response to a message received across an Internet Protocol network, additional information that CICS obtained from the Internet Protocol stack  1  is also stored.
  • The origin data for the new task is stored in a separate section of the association data  2  and describes where the task was started (the point of origin).
  • If a global user exit is called by the task  3 , the exit can obtain information from other sources by using the XPI  4  to return to the task  5 , where it is included in the origin data.
  • If the task issues a DPL request to a remote region, the origin data is added to the DPL request that is sent over TCP/IP to the remote CICS region. When the DPL request arrives at the remote region, another new task is started to process the request. CICS creates unique association data for this task, however CICS detects origin data, and passes the origin data to the mirror task when it is attached to service the DPL request  6 .
  • During task attach processing, the origin data is stored as part of the association data of the new task,  7 , and the global user exit is not called.
  • If monitoring is enabled, origin data is written to the monitoring record for the task  8  and if CICSPlex SM is configured, the data is stored in history records  9 .
  • You can use the CICSPlex SM WUI to retrieve information stored in the association data of running tasks  10 ; for example, you can create a search to find the tasks in a CICSplex that have matching origin data.
  • You can also use CICSPlex SM to perform offline analysis of origin data information that is stored in history records  11 ; for example, to understand how interrelated transactions have used a Internet Protocol network.