A fix is available
APAR status
Closed as new function.
Error description
Enhance transaction expiration to support MQSeries with expiry data.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: IMS V10 OTMA customers * **************************************************************** * PROBLEM DESCRIPTION: OTMA transaction expriaton and shared * * queues enhancements are needed * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** OTMA transaction expiration at GU time needs to be enhanced as follows: 1. The symptom dump and DFS554A message won't be generated to save the CPU cycles. However, the symptom dump and DFS554A can still be issued if our customers specify YES to the TODUMP= parameter in the OTMA client descriptor, DFSYDTx, proclib member. 2. A DFS3688I message instead of DFS555I/DFS2224 needs to be issued to the OTMA client when an OTMA transaction is expired at GU time for the consistency reason. Prior to this APAR enhancement, the OTMA client gets DFS555I for the transaction expiraton when the receiving IMS is the same as the processing IMS for the transaction. When the receiving IMS is different from the processing IMS, a DFS2224 is issued. Also, for an OTMA client, such as Websphere MQ, if an OTMA input transaction gets processed at the shared queues back-end IMS and creates an OTMA ALTPCB output, this output is queued to the shared queues with the back-end IMS affinity. The OTMA client connected to the front-end IMS cannot get this ALTPCB output. A solution is needed so that it would be easier for customers using WebSphere MQ and IMS to migrate from non-shared queues to shared queues environment.
Problem conclusion
Temporary fix
Comments
Module changes: DFSYIDC0 - supports new type M descriptor parameters: TODUMP= FOR SUPPRESSING U243 DUMP AND ITS DFS554A ALTPCBE= FOR SENDING SQ BE ALTPCB TO FE DFSYMOM0 - builds MTEDMP and MTEBEALT based on descriptors DFSYMEM0 - passes the xcf msg arrival time in the state data prefix when input is expired DFSYTIB0 - builds DFSYPRE flags based on the msg prefix and builds nack x'34' with xcf msg arrival time DFSDLA30 - enhances DFSLUMIF GU call by passing the original msg, checking DLA555NO/DLASNPNO on exit DFSYLUS0 - sends DFS3688I instead of DFS555I/DFS2224 when OTMA input msg is expired at GU time sends the original input message instead of DFS3688I when requested by the client enhances find_QAB routine for restart for creating the original YQAB for BE ALTCPB reroute Also, enhance restart logic for ALTPCBE=YES cases DFSAOSW0 - builds DFS3688I for SQ BE for a CM1 msg DFSYSLM0 - builds state data prefix for msg from BE CM1 DFSICL30 - supports tpipename* for /DIS TMEMBER TPIPE cmd DFSYDPD0 - supports tpipename* for QCNT and SYNC options DFSYFND0 - detects if a BE OTMA ALTPCB output needs to be sent to FE and builds the prefix with the member/tpipe info. And, the OTMA output prefix is built with the original TMAMHCOR data. DFSFXC30 - avoid sending DFS554A for OTMA U243 DFSFXC40 - issues a notify msg for an OTMA BE ALTPCB output DFSYQAB0 - reroutes msg based on prefix if it has BE SQ ALTPCB member and tpipe info DFSAOAM2, DFSAOAM2, and DFSYINI0 were recompiled ============================================================ Control block changes: DFSAOSD - defines a field to keep the elapse time from SQ BE DFSLUMIF- adds a new parm MSGIN to pass the original msg to the GU call DFSP62XT- defines P62MSGIN to keep address of MSGIN adds P62SNPNO flag to suppress U243 symptom dump DFSYDES - adds flags to track OTMABE= and TODUMP= settings DFSYMSG - adds TMAMEXPR flag for msg expired at GU time adds TMAMINPT to return original input message instead of DFS3688I for msg expired at GU time DFSYMTE - adds MTEBEALT when OTMABE=YES is specified adds MTEDMP when TODUMP=YES is specified DFSYPRE - adds LUP_TODUMP in msg when MTEDMP is on adds LUP_BE_ALTPCB_OK in msg when MTEBEALT is on adds LUP_TRACE when tpipe trace is on adds LUP_EXPIPT to return original msg at GU time adds LUP_BE_ALTPCB_MN for member override adds LUP_BE_ALTPCB_TPIPE for tpipe override adds LUP_BE_ALTPCB_MSG to request FE to send msg adds LUP_BE_ALTPCB_SYNC for sync tpipe adds LUP_BE_ALTPCB_HOLD for hold queue tpipe adds LUP_FE_ALTPCB_SYNC for ERE adds LUP_FE_ALTPCB_HQC for ERE DFSYTIB - adds YTIB_ELAPSE_TIME to save the expiration time DFS62DLA- adds DLA555NO to suppress DFS555I for DFS3688I adds DLASNPNO to suppress U243 symptom dump IPST - adds PST3BALT so FXC40 can send a notify msg =========================================================== The following are the external doc changes: ============================================================ IMS RELEASE PLANNING GUIDE ============================================================ OTMA transaction expiration at GU time has been updated to provide two enhancements: 1. By default, the symptom dump of U243 abend and its DFS554A message for an expired transaction won't be generated to save the CPU cycles. However, OTMA can be configured to generate the symptom dump and DFS554A message by specifying TODUMP=YES in the DFSYDTx proclib member. 2. By default, a DFS3688I message instead of DFS555I/DFS2224 will be sent to the OTMA client. However, if the OTMA input has TMAMINPT flag set, the input transaction data instead of DFS3688I message will be sent back to the OTMA client for the transaction expiration. WebSphere MQ for z/OS Version 7.0.1 with APAR PM47795 has been enhanced to support IMS transaction expiration function. In addition, in a shared queues environment, when OTMA input transactions are received by a front-end IMS and processed by a back-end IMS, OTMA can now be configured to return ALTPCB output from the back-end IMS to the OTMA client through the front-end IMS by specifying ALTPCBE=YES in the DFSYDTx proclib member of the front-end IMS. ============================================================ IMS System Definition ============================================================ DFSYDTx OTMA client descriptor syntax and parameters Parameters TODUMP= specifies whether (YES) or (NO) the symptom dump and the DFS554A message of U243 pseudo abend for OTMA transaction expiration needs to be issued. This parameter is optional and defaults to TODUMP=NO. ALTPCBE= specifies whether (YES) or (NO) the OTMA shared queues backend ALTPCB output, which is originated from an OTMA frontend IMS, needs to be delivered to the frontend IMS for the OTMA client. This parameter is optional and defaults to ALTPCBE=NO. If the super member function is activated for the ALTPCB output at the shared-queues back-end IMS, the super member will take precedence. ============================================================ IMS Communications and Connections ============================================================ OTMA support for transaction expiration Change the following paragraph, From: For transactions that are not MSC, Fast Path, or conversational, when an IMS application program issues a GU call to retrieve a transaction from the input queue. If a transaction expires before an IMS application program retrieves the transaction, OTMA discards the transaction, issues pseudoabend 0243, and issues either message DFS555I or, if IMS is running in a shared-queues environment, message DFS2224I. To: For transactions that are not MSC, Fast Path, or conversational, when an IMS application program issues a GU call to retrieve a transaction from the input queue. If a transaction expires before an IMS application program retrieves the transaction, OTMA discards the transaction and issues a message DFS3688I, by default, to the OTMA client. However, if the OTMA input has TMAMINPT flag set, the original input transaction data instead of the DFS3688I message will be sent back to the OTMA client for the transaction expiration. In addition, the symptom dump and DFS554A message won't be generated to save the CPU cycles. However, OTMA can be configured to generate the symptom dump and DFS554A message by specifying TODUMP=YES in the DFSYDTx proclib member. If the input message has TMAMDUMP flag set in the state data prefix and the transaction is expired at the GU time, a pseudo abend U243 with DFS554A and symptom dump will be taken. ============================================================ IMS Communications and Connections ============================================================ Section Explanation of OTMA message-control information fields Response Flag Add: Value X'04' Input expired at GU time Specifies that OTMA expires the input transaction at the GU time. Value X'01' Support for returning the original input in the response Specifies that the OTMA client wants the original input message to be returned instead of a DFS3688I message. State Data Section Table 1 State data format for transaction-related information Byte - 54 Length - 8 Content - XCF arrival time Description - When an input transaction is expired, the field contains the XCF arrival time of the input message. This value would help client determine how much time the message spends in IMS. Section OTMA message prefix State data section Transaction and callout message add two more flags: Byte: 3 Length: 1 Content: Additional client flags Value: X'02' Description: Enable symptom dump and DFS554A message for transaction expiration when the transaction is expired at GU time. Byte: 3 Length: 1 Content: Additional client flags Value: X'01' Description: Allow the OTMA shared queues back-end ALTPCB output message, which is originated from an OTMA frontend IMS, to be delivered to the frontend IMS for the OTMA client. ============================================================ IMS Communications and Connections ============================================================ Using shared queues with OTMA Retrieving ALTPCB output from a back-end IMS system add the following paragraph to the end: For OTMA client which does not activate the super member function, for example, WebSphere MQ, if an OTMA transaction gets processed at the back-end IMS and the OTMA ALTPCB output is created, this output message, by default, will be queued to shared queues with the back-end affinity. The OTMA client connected to the front-end IMS will not be able to get the message. However, if the front-end IMS has ALTPCBE=YES specified in the DFSYDTx proclib member or the input message has TMAMALTB flag set in the state data prefix, the OTMA ALTPCB output generated at the back-end IMS will be delivered to the front-end IMS for the OTMA client. ============================================================ IMS Messages and Codes, Volume 1 ============================================================ Introduce an additional format of DFS3688I just for OTMA Transaction aaaaaaaa expired: ELAPSE=ssssss TPIPE=pp TMEMBER=mm Where pp is the tpipe name for OTMA input message mm is the tmember name for OTMA input message ============================================================ IMS Commands, Volume 1 ============================================================ /DISPLAY TMEMBER Syntax add tpipename* to the syntax diagram following the TPIPE keyword Usage notes The tpipe name can be ended with a generic character. This generic form of tpipe name can also be used with QCNT or SYNC keywords. The tpipe name with a generic character cannot be mixed with other tpipe names. The valid formats for using a tpipe name with the generic character are: /DIS TMEMBER membername TPIPE tpipename* /DIS TMEMBER membername TPIPE tpipename* QCNT /DIS TMEMBER membername TPIPE tpipename* SYNC
APAR Information
APAR number
PM05985
Reported component name
IMS V10
Reported component ID
5635A0100
Reported release
010
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Xsystem
Submitted date
2010-01-25
Closed date
2012-01-12
Last modified date
2012-02-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK75413 UK75414
Modules/Macros
DFSAOAM2 DFSAOA00 DFSAOSD DFSAOSW0 DFSDLA30 DFSFXC30 DFSFXC40 DFSICL30 DFSLUMDS DFSLUMIF DFSP62XT DFSYDPD0 DFSYFND0 DFSYIDC0 DFSYINI0 DFSYLUS0 DFSYMEM0 DFSYMOM0 DFSYMSG DFSYMTE DFSYPRE DFSYQAB0 DFSYSLM0 DFSYTIB DFSYTIB0 DFS6LUS2 DFS62DLA IPST
SC18970000 | SC18970300 | GC18971201 | GC18971701 | GC18996600 |
Fix information
Fixed component name
IMS V10
Fixed component ID
5635A0100
Applicable component levels
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 February 2012