Skip to: Abstract | Comments | Solution | Migration | Download
APAR NUMBER: PJ30241 PRODUCT: TPF4 FUNCTIONAL AREA: COMMIT/ROLLBACK SUPPORT SHIPPED IN PUT: 20 ABSTRACT: A DB0146 system error is incorrectly issued when TXCMC is issued from a TPFDF program without a preceding TXBGC. APAR CONTENTS: FEATURE TYPE STATUS NAME Base Macro New macro/ctmcr.mac Base Macro Changed macro/txbgc.mac Base Macro Changed macro/txcmc.mac Base Macro Changed macro/txrbc.mac Base Macro Changed macro/txrsc.mac Base Macro Changed macro/txspc.mac Base C Changed source/rt/base/ccomic.c PREREQUISITE APARS: To be applied in order listed. Base C Changed source/rt/base/ccomic.c PJ25411(09) PJ26366(11) PJ26746(12) PJ27023(12) PJ27785(15) COMMENTS: When a TXCMC API is issued to commit a global transaction, interface segment ccomic.c is called. This segment checks to see if a TXBGC API has been previously issued to begin a commit scope by checking for a nonzero value in CE2TMCR. If a zero value is found, a TX_PROTOCOL_ERROR is returned to the user. However, if a TPFDF file is open when TXCMC is issued, the check for CE2TMCR is not done before the TPFDF exit in segment CL80 is called. CL80 assumes that CE2TMCR is nonzero. As a result, the code incorrectly does a comparison against low core, which leads to unpredictable results, possibly including a DB0146 (open TPFDF file is detected while closing the commit scope) system error. SOLUTION: Check to see whether TXBGC has been issued before calling TXCMC code. In segment ccomic.c, move the check of field CE2TMCR to see whether TXBGC has been called before calling the TPFDF exit. If it has not been called, do not call segment CL80 to process the TXCMC command and, instead, return a TX_PROTOCOL_ERROR. In addition, create macro CTMCR to provide equates for the return values from the transaction manager APIs, and update those API macros to include macro CTMCR. DEPENDENCIES SEGMENTS TO BE ASSEMBLED OR COMPILED: None. SEGMENTS TO BE LINK EDITED: ctal40.exe (Shipped in Tar File) COREQS: PK03608 MIGRATION CONSIDERATIONS: None. UPDATED INFORMATION UNITS: TPF General Macros See your IBM representative if you need additional information. DOWNLOAD INSTRUCTIONS: http://www.ibm.com/software/htp/tpf/pages/maint.htm -- END APAR PJ30241
Download file(s): Login once to access server, leave window open, then click on link(s) below.Source Listing Binary
