gtpm2m1kMigration Guide: Program Update Tapes

TPF Transaction Services (APAR PJ25094)

The following section discusses the migration considerations for TPF transaction services. Virtual file access (VFA) synchronization is also part of APAR PJ25094. See Virtual File Access (VFA) Synchronization (APAR PJ25094) for more information about VFA synchronization.

Prerequisite APARs

See the APEDIT for APAR PJ25094 for information about prerequisite APARs.

Functional Overview

Transaction Processing Facility (TPF) transaction services includes support for a transaction manager (TM), resource managers (RMs), log manager, and recovery log to ensure a consistent view of your database.

Together, the previous components add up to significant savings for application developers.

Architecture

TPF transaction services is based on the X/Open specification.

Operating Environment Requirements and Planning Information

There are no changes.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about the C/C++ language.

Build Scripts

Table 391 summarizes changes to the build scripts used by the build tool. This information is presented in alphabetic order by the name of the build script.

Table 391. Changes to Build Scripts for TPF Transaction Services

Build Script Type New, Changed, or No Longer Supported? Description of Change
CLUDBS DLM New Build script for the deadlock user exit.
CL12BS DLM New Build script for the TM restart program.
CL13BS DLM New Build script for the TM recovery program.
CL14BS DLM New Build script for the TM restart program.
CL15BS DLM New Build script for the TM cleanup routine.
CL16BS DLM New Build script for the TM cleanup routine.
CL40BS DLM New Build script for deadlock detection.
CL4BBS DLM New Build script for building the deadlock detection global table.
CL4RBS DLM New Build script for receiving the deadlocked entry control block (ECB) and input/output block (IOB) address.
CL42BS DLM New Build script for the ZCORO command.
CL44BS DLM New Build script for the TXBGC macro.
CL45BS DLM New Build script for the TXCMC macro.
CL46BS DLM New Build script for the TXRBC macro.
CL47BS DLM New Build script for the TXSPC macro.
CL48BS DLM New Build script for the TXRSC macro.

Dynamic Load Module (DLM) Stubs

Table 392 summarizes changes to the dynamic load module (DLM) stubs. This information is presented in alphabetic order by the name of the DLM stub. See TPF Application Programming for more information about the DLM stubs.

Table 392. Changes to Dynamic Load Module (DLM) Stubs for TPF Transaction Services

DLM Stub New, Changed, or No Longer Supported?
CLUD New
CL41 New
CL43 New

General Use C/C++ Language Header Files

Table 393 summarizes the general use C/C++ language header file changes. This information is presented in alphabetic order by the name of the general use C/C++ language header file.

General use means these header files are available for your use.

Table 393. Changes to General Use C/C++ Language Header Files for TPF Transaction Services

C/C++ Language Header File New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
c$cinfc.h Changed No
c$ck1ke.h Changed No
c$eb0eb.h Changed No
c$fer0.h Changed No
c$fva0.h Changed No
c$miob.h New No
c$rhtb.h New No
c$stck.h New No
c$syseq.h Changed No
c$systc.h Changed No
c$tmcr.h New No
i$dlok.h New Yes
i$tmcr.h New No

Implementation-Specific C/C++ Language Header Files (IBM Use Only)

There are no changes.

Library Interface Scripts

Table 394 summarizes changes to the library interface scripts used by the library interface tool and the build tool. This information is presented in alphabetic order by the name of the library interface script.

Table 394. Changes to Library Interface Scripts for TPF Transaction Services

Library Interface Script New, Changed, or No Longer Supported? Description of Change
CTALXV Changed Added tx API and addlc, enqc, deqc, and tancc C functions.
CTBXXV Changed Added the tpf_STCK C function.

Library Members (Object Files)

Table 395 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 395. Changes to Library Members (Object Files) for TPF Transaction Services

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CADDLC CTAL New Assembler Process the addlc C function.
CDEQC CTAL New Assembler Process the deqc C function.
CENQC CTAL New Assembler Process the enqc C function.
CSTCK CTBX New Assembler Process the tpf_STCK C function.
CTANCC CTAL New Assembler Add, delete, or locate a transaction manager control record (TMCR) through the transaction manager anchor table (TANC).
CTMEND CTAL New Assembler Process the xa_end C function.
CTMSTR CTAL New Assembler Process the xa_start C function.

Link-Edited Modules

There are no changes.

Members (Object Files)

Table 396 summarizes changes to members (object files). This information is presented in alphabetic order by the name of the member (object file).

Notes:

  1. You must recompile or reassemble a member (object file) if it has changed.

  2. You must prelink and link a dynamic load module (DLM) if it has changed.

Table 396. Changes to Members (Object Files) for TPF Transaction Services

Member (Object File) DLM/DLL New, Changed, or No Longer Supported? Type Description of Change
CLUD CLUD New C Language Deadlock detection user exit.
CL12 CL12 New C Language TM restart program.
CL13 CL13 New C Language TM recovery program.
CL14 CL14 New C Language TM restart program.
CL15 CL15 New C Language TM cleanup routine.
CL16 CL16 New C Language TM restart cleanup routine.
CL40 CL40 New C Language Root segment for deadlock detection processing.
CL4A CL4A New C Language Builds the deadlock detection global table for a loosely coupled complex.
CL4B CL4B New C Language Building the deadlock detection global table.
CL4D CL4D New C Language Deadlock detection processing.
CL4R CL4R New C Language Receives the deadlocked ECB and IOB address.
CL42 CL42 New C Language ZCORO command.
CL44 CL44 New C Language TXBGC macro service routine.
CL45 CL45 New C Language TXCMC macro service routine.
CL46 CL46 New C Language TXRBC macro service routine.
CL47 CL47 New C Language TXSPC macro service routine.
CL48 CL48 New C Language TXRSC macro service routine.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

Table 397 summarizes the control program interface (CINFC) tag changes. The information in this table is ordered numerically by the equate value.

Table 397. Changes to CINFC Tags for TPF Transaction Services

CINFC Tag Equate Value New, Changed, or No Longer Supported?
CMMCRT 365 New
CMMGFA 369 New

Copy Members

Table 398 summarizes copy member changes. This information is presented in alphabetic order by the name of the copy member.

Table 398. Changes to Copy Members for TPF Transaction Services

Copy Member Type CSECT Where Copy Member Is Located New, Changed, or No Longer Supported? Description of Change
CL10 Control Program CCTLOG New Adds support for the CPLKC service routine.
CL20 Control Program CCTLOG New Adds support for the WLOGC service routine.
CL30 Control Program CCTLOG New Adds support for the commit and rollback control record service routines.

Fixed File Records

Table 399 summarizes fixed file record changes. This information is presented in alphabetic order by the name of the fixed file record.

Table 399. Changes to Fixed File Records for TPF Transaction Services

Fixed File Record New, Changed, or No Longer Supported? Description of Change
#IBMM4 Ordinals 130, 141-147 New IBMM4 ordinal numbers.
#RLOG1-#RLOG8 New Recovery log fixed file records.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

There are no changes.

Data Macros

Table 400 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 400. Changes to Data Macros for TPF Transaction Services

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs That Use This Data Macro?
CK1KE Changed No
CZ1SE Changed No
DCTMFS Changed No
DCTMIO Changed No
DCTRDF Changed No
DCTRIT Changed No
DCTSOI Changed No
DCTUCL Changed No
DC0DC Changed No
EB0EB Changed No
ICRCR New Not Applicable
ICRCT New Not Applicable
IDSCFW Changed No
IDSFLV Changed No
IDSRHT Changed No
IDSSST Changed No
IDSTTR Changed No
IXAHD New No
PI1DT Changed No

General Macros

Table 401 summarizes the general macro changes. This information is presented in alphabetic order by the name of the general macro. See TPF General Macros for a complete description of all general macros.

Table 401. Changes to General Macros for TPF Transaction Services

General Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
DLTEC Changed Yes
EXITC Changed No
FILEC Changed No
FILNC Changed No
FILUC Changed No
FINDC Changed No
FINHC Changed No
FINWC Changed No
FIWHC Changed No
GCFLC Changed No
GCFSC Changed No
GETFC Changed No
GETLC Changed No
GETSC Changed No
RCRFC Changed No
RCUNC Changed No
RLCHA Changed No
ROUTC Changed No
TXBGC New No
TXCMC New No
TXRBC New No
TXRSC New No
TXSPC New No
UNFRC Changed No

Selected Equate Macros

Table 402 summarizes the selected equate macro changes. This information is presented in alphabetic order by the name of the selected equate macro.

Table 402. Changes to Selected Equate Macros for TPF Transaction Services

Selected Equate Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
ECBEQ Changed No
IEQCE2 Changed No
MRLNQ Changed No
RITEQ Changed No

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

Table 403 summarizes the system initialization program (SIP) skeleton and internal macro changes. This information is presented in alphabetic order by the name of the SIP skeleton and internal macro. See TPF System Generation for a complete description of the SIP skeleton and internal macros. If the SIP skeleton and internal macro (inner macro) is changed, you must reassemble the SIP Stage I deck and run the appropriate job control language (JCL) jobs from the SIP Stgae II deck.

Table 403. Changes to SIP Skeleton and Internal Macros for TPF Transaction Services

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
SKCTKA Changed
SPPGML Changed

System Initialization Program (SIP) Stage I Macros and Statements

Table 404 summarizes system initialization program (SIP) Stage I macro and statement changes. This information is presented in alphabetic order by the name of the SIP Stage I macro. See TPF System Generation for a complete description of the SIP Stage I macros. If the SIP Stage I macro is changed, you must run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

See System Initialization Program (SIP) and System Generation Changes for a description of other system generation changes you must make.

Table 404. Changes to SIP Stage I Macros and Statements for TPF Transaction Services

SIP Stage I Macro New, Changed, or No Longer Supported?
GENSIP Changed
RIATA Changed

System Initialization Program (SIP) Stage II Macros

Table 405 summarizes system initialization program (SIP) Stage II macro changes. This information is presented in alphabetic order by the name of the SIP Stage II macro. See TPF System Generation for a complete description of the SIP Stage II macros. If IBMPAL is changed, you must run the system allocator (SALO) and load the new program allocation table (PAT) to the TPF 4.1 system.

Table 405. Changes to SIP Stage II Macros for TPF Transaction Services

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

Table 406 summarizes system macro changes. This information is presented in alphabetic order by the name of the system macro. See TPF System Macros for a complete description of all system macros.

Table 406. Changes to System Macros for TPF Transaction Services

System Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
IDATB Changed No
$GETRC New No
$RELRC New No
$RETRC New No
CPLKC New No
FLFAC Changed No
FLVFC Changed No
IBMSVC Changed Yes
TANCC New No
WLOGC New No

System Macros (IBM Use Only)

There are no changes.

Segments

Table 407 summarizes segment changes. This information is presented in alphabetic order by the name of the segment.

Table 407. Changes to Segments for TPF Transaction Services

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
CLM0 Real-Time Assembler Not Applicable New Reconnects to an IBM 3990 Model 3 or later models with multi-path lock facility (MPLF) installed and CTKI lock.
CLUD Real-Time C Language Not Applicable New Deadlock detection user exit.
CL10 CSECT Not Applicable New CPLKC service routine.
CL11 Real-Time Assembler Not Applicable New Commit and rollback table initialization and restart.
CL12 Real-Time C Language Not Applicable New TM restart program.
CL13 Real-Time C Language Not Applicable New TM recovery program.
CL14 Real-Time C Language Not Applicable New TM restart program.
CL15 Real-Time C Language Not Applicable New TM cleanup program.
CL16 Real-Time C Language Not Applicable New Failed log takeover cleanup transaction.
CL20 CSECT Not Applicable New WLOGC service routine.
CL21 Real-Time Assembler Not Applicable New Log manager restart and recovery.
CL22 Real-Time Assembler Not Applicable New Write buffers to recovery log.
CL23 Real-Time Assembler Not Applicable New Recovery log checkpoint routine.
CL24 Real-Time Assembler Not Applicable New Read track from recovery log.
CL30 CSECT Not Applicable New TPF transaction services restricted macro service routines.
CL31 Real-Time Assembler Not Applicable New DASD RM recovery program.
CL40 Real-Time C Language Not Applicable New Root segment for deadlock detection processing.
CL41 Real-Time Assembler Not Applicable New Exit deadlocked ECB.
CL42 Real-Time C Language Not Applicable New ZCORO command.
CL43 Real-Time Assembler Not Applicable New Convert system time to floating point number.
CL44 Real-Time C Language Not Applicable New TXBGC service routine.
CL45 Real-Time C Language Not Applicable New TXCMC service routine.
CL46 Real-Time C Language Not Applicable New TXRBC service routine.
CL47 Real-Time C Language Not Applicable New TXSPC service routine.
CL48 Real-Time C Language Not Applicable New TXRSC service routine.
CL4B Real-Time C Language Not Applicable New Building the deadlock detection global table.
CL4D Real-Time C Language Not Applicable New Deadlock detection processing.
CL4R Real-Time C Language Not Applicable New Receives the deadlocked ECB and IOB address.
CL99 Real-Time Assembler Not Applicable New Log recovery error user exit.
CT09 CSECT Not Applicable New Allocate storage for TPF transaction services control tables.
CVFX Real-Time Assembler Not Applicable New Created for VFA synchronization as a user exit for VFA restart.

System Equates

The following section summarizes system equate changes.

SYSEQ Tags

Table 408 summarizes changes to equates that are not configuration dependent (in SYSEQ). This information is presented in alphabetic order by the name of the SYSEQ tag.

Table 408. Changes to SYSEQ Tags for TPF Transaction Services

SYSEQ Tag Equate Value New, Changed, or No Longer Supported?
#CRCPR0 130 New
#CRCPR1 141 New
#CRCPR2 142 New
#CRCPR3 143 New
#CRCPR4 144 New
#CRCPR5 145 New
#CRCPR6 146 New
#CRCPR7 147 New
#LUPD 139 New

User Exits

Control Program (CP) User Exits and ECB User Exits summarize the control program (CP) and ECB uesr exit changes. See TPF System Installation Support Reference for a complete description of all user exits.

Control Program (CP) User Exits

This information is presented in alphabetic order by the name of the control program (CP) user exit.

Table 409. Changes to Control Program (CP) User Exits for TPF Transaction Services

Control Program (CP) User Exit Activated In User Routine Label New, Changed, or No Longer Supported? Description of Change
CL20 UCCWLOG New Adds the transaction log write user exit.

ECB User Exits

This information is presented in alphabetic order by the name of the function.

Table 410. Changes to ECB User Exits for TPF Transaction Services

Function User Exit Activated In User Exit Program New, Changed, or No Longer Supported? Description of Change
Deadlock detection CL40 CLUD New Adds support for modifying deadlock detection notification.
Log recovery CL21, CL24 CL99 New Adds support for modifying log recovery error processing.

Functional and Operational Changes

The following section summarizes functional and operational changes. This information is presented in alphabetic order by the functional or operational change.

See Appendix A, "PUT 2-15 Interface Changes by Authorized Program Analysis Report (APAR)" for a summary of functional and operational changes by APAR.

Commands

Table 411 summarizes command changes. This information is presented in alphabetic order by the name of the command. See TPF Operations for a complete description of all commnds.

Attention: Changes to commands can impact any automation programs you are using in your complex.

Table 411. Changes to Commands for TPF Transaction Services

Command New, Changed, or No Longer Supported? Description of Change
ZCORO New Process a TPF transaction services request.
ZCTKA ALTER Changed Added the MCMTB and RLBUF parameters.
ZCTKA DISPLAY Changed Added the MCMTB and RLBUF parameters.
ZPSMS Changed The processor from which the FORCE DEACTIVATE parameter is specified takes over the recovery log of the processor that will be deactivated before its locks are released.
ZSYSG ALTER Changed Added the DLOCK parameter.
ZVFAC DISPLAY Changed Added the number of buffers in a commit scope to the display.

Messages and System Errors

Table 412 summarizes message (offline and online messages) and system error changes.

The message IDs or system error numbers are listed in numeric order preceded by their alphabetic prefix. Some offline and online messages do not have a standard message ID. For these, the messages are presented in alphabetic order based on the initial message text; or for those messages that begin with variable information, the initial message text that follows that variable information. See Messages (System Error and Offline) and Messages (Online) for a complete description of all messages and system errors.

Attention: Changes to offline messages, online messages, and system errors may impact any automation programs you are using in your complex.

Table 412. Changes to Messages and System Errors for TPF Transaction Services

Message ID or System Error Number Message Type New, Changed, or No Longer Supported?
000038 System Error Changed
00C100 System Error New
00C101 System Error New
00C102 System Error New
00C103 System Error New
00C104 System Error New
00C105 System Error New
00C106 System Error New
00C107 System Error New
00C108 System Error New
00C109 System Error New
00C10A System Error New
00C10B System Error New
00C10C System Error New
00C10D System Error New
00C10E System Error New
00C10F System Error New
00C110 System Error New
00C111 System Error New
00C112 System Error New
00C113 System Error New
00C114 System Error New
00C115 System Error New
00C116 System Error New
00C117 System Error New
00C118 System Error New
00C119 System Error New
00C11A System Error New
00C11B System Error New
00C11C System Error New
00C11D System Error New
00C11E System Error New
00C11F System Error New
00C120 System Error New
00C121 System Error New
00C130 System Error New
00C131 System Error New
00C132 System Error New
00C133 System Error New
00C134 System Error New
00C135 System Error New
00C136 System Error New
00C137 System Error New
00C139 System Error New
00C13A System Error New
00C13C System Error New
CLM00001E Online New
CL110001I Online New
CL110002I Online New
CL110003I Online New
CL110004E Online New
CL140011I Online New
CL210001I Online New
CL210002E Online New
CORO0001I Online New
CORO0002E Online New
CORO0003I Online New
CORO0004E Online New
CORO0005I Online New
CORO0006I Online New
CTIN0019I Online New
CTIN0090E Online New
DLOK0001E Online New
DLOK0002I Online New

Performance or Tuning Changes

You may have to increase the size of virtual file access (VFA) when you add TPF transaction services support to your TPF 4.1 system because of nested commit scopes. The number of records is not necessarily equal to the number of buffers. You can have a higher buffer count than the number of records when you have nested commit scopes. See TPF System Performance and Measurement Reference for more information about when to increase the size of VFA.

You may also need to increase the number of system work blocks (SWBs) that are allocated to your TPF 4.1 system with the addition of TPF transaction services. TPF transaction services uses SWBs for control records.

Storage Considerations and Changes

There are no changes.

System Initialization Program (SIP) and System Generation Changes

There are no changes.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 413 summarizes changes to the publications in the TPF library. This information is presented in alphabetic order by the publication title. See the TPF Library Guide for more information about the TPF library.

Table 413. Changes to TPF Publications for TPF Transaction Services

Publication Title Softcopy File Name Description of Change
TPF Application Programming GTPAPP07 Updated with information about commit scope processing for TPF transaction services
TPF C/C++ Language Support User's Guide GTPCLU07 Updated with information about the C functions that were added and changed for TPF transaction services.
TPF Concepts and Structures GTPCON05 Updated with information about the C functions that were added and changed for TPF transaction services.
TPF Database Reference GTPDBR05 Updated with information about the transaction manager (TM), resource managers (RMs), log manager, and recovery log for TPF transaction services.
TPF General Macros GTPGEN07 Updated with information about the new and changed general use macros for TPF transaction services.
TPF Library Guide GTPDOC07 Updated with definitions for new terminology in the master glossary.
Messages (System Error and Offline) and Messages (Online) Not Applicable Updated with information about messages and system errors that were added, changed, and no longer supported for TPF transaction services.
TPF Migration Guide: Program Update Tapes GTPMIG07 Updated with migration considerations for TPF transaction services.
TPF Operations GTPOPR07 Updated with information about the commands that were added and changed for TPF transaction services.
TPF Program Development Support Reference GTPPDR07 Updated with information about new CINFC tags and a new dump label for TPF transaction services. Information is also provided for how real-time trace (RTT), program test vehicle (PTV), and selective file dump and trace (SFDT) work in a commit scope.
TPF System Generation GTPSYG07 Updated with new record ID attribute table (RIAT) IDs.
TPF System Installation Support Reference GTPINR07 Updated with information about the new and changed general use macros for TPF transaction services.
TPF System Performance and Measurement Reference GTPSPR07 Updated with new information for the system summary report for data collection and reduction.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

There are no changes.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

There are no changes.

Migration Scenarios

Use the following procedure to install TPF transaction services in your TPF 4.1 system.

  1. Install PUT 7.
  2. Perform any SIP stage I changes and allocate new record types #RLOG1-#RLOG8.
  3. Assemble and link-edit any affected programs.
  4. Perform any SIP stage II changes.
  5. Load TPF transaction services support to the TPF 4.1 system.
  6. IPL the TPF 4.1 system.
  7. Observe any new or changed messages received during the IPL.
  8. Perform any loosely coupled migration scenarios, if necessary.

    Deadlock detection must be running in all processors in a loosely coupled complex. During the coexistence phase of migration, however, deadlock detection must be disabled by entering the ZSYSG command with the DLOCK parameter specified.

    You may see the 000063 system error if the following conditions apply:

    • You start the migration on a processor other than the master processor.
    • The other processor is not migrated to PUT 7.
    • You did not disable deadlock detection.

    Either ignore the system error or disable deadlock detection.

    Log takeover provides the ability for one processor to process the log of another processor. During the coexistence phase of migration, processors on an earlier level must not be permitted to force the deactivation of a processor on a later level because a forced deactivation means that the forcing processor recovers the log of the other processor.

    If it is necessary for the processor at an earlier level to force the deactivation of the migrated processor (using the ZPSMS command with the PR FORCE DEACT parameters specified), the migrated processor will be deactivated but data that was committed may not be committed any longer.