book
Article ID: KB0085755
calendar_today
Updated On:
Description
Resolution:
When an OSB session is started under CICS, the Object Service Broker writes a Temporary Storage record to a special TS queue in the terminal owning region to record that an Object Service Broker session is associated with this terminal. When the session is terminated, this TS record is deleted. The TS queue name is "HRN*tttt" where tttt is the CICS/TS terminal identifier held in EIBTRMID.
If during a session, the terminal connection is lost due to say a network problem, CICS will invoke its Node Error Program as part of its terminal cleanup processing. With the recommended modifications to DFHZNEP (see "TIBCO® Object Service Broker for z/OS Installing and Operating Software Release 5.0" page 71 and ASM(S6BZNEPC) ), DFHZNEP will perform an:
EXEC CICS LINK PROGRAM('S6BCSNEM')
S6BCSNEM is responsible for checking the Temporary Storage queue created at session startup time to see if an Object Service Broker session is running on this terminal. If not, nothing is done and control is returned to DFHZNEP.
If there is a session active, then S6BCSNEM will take the following action:
1) if the Object Service Broker Execution Environment (EE) is running locally to the CICS system where the terminal was connected, S6BCSNEM will issue an "EXEC CICS START TRANSID('HCUS') ..." to terminate the CICS session within the single CICS terminal and application owning region. The processing after this point is exactly as if an operator had entered a cancel user request manually to OSB using the HCUS operator transaction.
2) if the Object Service Broker is running remotely in a connected CICS system, S6BCSNEM will issue "EXEC CICS START TRANSID('HOPT') ..." to start a transaction within the Terminal Owning Region (TOR) which will function ship the cancel user request (HCUS) to the Application Owning Region (AOR). This step is necessary as CICS/TS does not allow function shipping requests from within a DFHZNEP environement. Once the "HCUS" start transaction request is received by the AOR, the cancel of the session is exactly as if an operator had manually entered a cancel user request to OSB using HCUS.
The HCUS cancel user operator transaction will delete the Temporary Storage queue identifying the Object Service Broker session, disconnect the session from the Data Object Broker (DOB) and cleanup and release all resources and control blocks held for the session. The only exception to this would be indoubt transactions where multiple service providers are being updated.
Customization of DFHZNEP is documented by IBM in the "CICS Transaction Server for z/OS Customization Guide" and the "CICS Messages and Codes" manuals. "TIBCO® Object Service Broker for z/OS Installing and Operating Software Release 5.0" manual, section "Installing and Customizing the CICS Node Error Program" discusses the specifics of the Object Service Broker Service Gateway for CICS interface. A sample module S6BZNEPC is supplied in the ASM dataset and can be used as a guide in writing your own DFHZNEP logic.
The DFHZNEP error codes used in testing various DFHZNEP error conditions are documented in section "Table 53. Messages issued and flags set by DFHZNAC for specific error codes" in the IBM "CICS Transaction Server for z/OS Customization Guide Version 3 Release 2".
Third party software:
CICS Transaction Server for z/OS
References
1) TIBCO® Object Service Broker for z/OS Installing and Operating Software Release 5.0, section "Installing and Customizing the CICS Node Error Program"
2) CICS Transaction Server for z/OS Customization Guide
3) CICS Transaction Server for z/OS CICS Messages and Codes manual
Issue/Introduction
How does Object Service Broker (OSB) Service Gateway for CICS interface to the CICS/TS DFHZNEP for lost terminal processing and cleanup of the OSB session?