OpenTP1 Version 7

Programming Guide



Summary of amendments

1. OpenTP1 Application Programs
1.1 Relationship between user application programs and communication modes
1.1.1 Application programs in client/server mode
1.1.2 Application programs in message exchange mode
1.1.3 Application programs in message queuing mode
1.1.4 Application program load balancing
1.1.5 Transaction processing with application program
1.2 Types of application program
1.2.1 Using services UAP (SUP)
1.2.2 Providing services UAP (SPP)
1.2.3 Message handling UAP (MHP)
1.2.4 UAP that handles offline work
1.3 Creation of application programs
1.3.1 Coding
1.3.2 Creating stubs
1.3.3 Compilation and linkage (when using a stub)
1.3.4 Compilation and linkage (when using dynamic loading of service functions)
1.3.5 Application program environment setup
1.3.6 User server load balancing and scheduling
1.4 OpenTP1 library functions
1.4.1 Application programming interface facilities
1.4.2 List of OpenTP1 library functions
1.5 Debuggers and testers for application programs
1.5.1 Types of UAP tester facility
1.5.2 UAPs that can be tested
1.5.3 Reporting the test status of a user server

2. Basic OpenTP1 Facilities (TP1/Server Base, TP1/LiNK)
2.1 Remote procedure call
2.1.1 How to implement the remote procedure call
2.1.2 Transferring data through the remote procedure call
2.1.3 Outline of remote procedure call modes
2.1.4 Nesting services
2.1.5 Using nontransactional RPC from transaction process
2.1.6 Setting schedule priorities for service requests
2.1.7 Acquiring node address of client UAP
2.1.8 Referencing and changing response waiting intervals of service request
2.1.9 Acquiring descriptor of asynchronous-response-type RPC request which has encountered error
2.1.10 Report data to CUP unidirectionally
2.1.11 Relationship between remote procedure calls and processes for executing services
2.1.12 Notes on using a recursive call
2.1.13 Retrying a service function
2.1.14 User data compression
2.1.15 Monitoring the service function execution time
2.1.16 RPC with the multi-scheduler facility
2.1.17 RPC with a communication destination specified
2.1.18 Service request with domain qualification
2.1.19 Relationship between service functions and stubs
2.2 Remote API facility
2.2.1 Application of the remote API facility
2.2.2 Permanent connection
2.2.3 Connection mode
2.2.4 Chained RPCs using the remote API facility
2.2.5 Notes on the remote API facility
2.3 Transaction control
2.3.1 Transaction in client/server mode
2.3.2 Acquiring a synchronization point
2.3.3 Specification of transaction attribute
2.3.4 Relationship between remote procedure call modes and synchronization points
2.3.5 Transaction optimization
2.3.6 Posting information about the current transaction
2.3.7 Disposal in case of heuristic situation
2.3.8 Notes on transaction processing
2.4 System operation management
2.4.1 Executing operation commands
2.4.2 Reporting completion of user server start processing
2.4.3 Detecting the user server status
2.5 Message log output
2.5.1 Outputting message log from application programs
2.6 Audit log output
2.7 User journal acquisition
2.8 Journal data editing
2.9 Receiving message log notification
2.10 Client/server mode communication using OSI TP
2.10.1 Application programs used for OSI TP communication
2.10.2 SPPs for a communication event
2.10.3 Errors encountered during OSI TP communication
2.11 Acquiring performance verification traces
2.12 Real-time statistical information acquisition

3. Facilities Provided by TP1/Message Control
3.1 MCF communication service operations
3.2 Connection establishment and release
3.2.1 Establishing or releasing a connection by issuing a function from the UAP
3.2.2 Coding examples for re-establishing or forcibly releasing a connection
3.2.3 Start and terminate acceptance of connection establishment requests
3.3 Application-related operations
3.4 Shutdown and release of logical terminals
3.5 Communication protocol products and functions available in operations
3.6 Message exchange processing
3.6.1 Message communication modes
3.6.2 Message structure
3.6.3 Receiving messages
3.6.4 Sending messages
3.6.5 Synchronous message processing
3.6.6 Continuous-inquiry-response processing
3.6.7 Resending messages
3.7 MCF transaction control
3.7.1 MHP transaction control
3.8 MCF extended facilities
3.8.1 Starting application programs
3.8.2 MHP startup using command
3.8.3 Nontransaction attribute MHP
3.8.4 Time monitoring with the facility for user timer monitoring
3.9 User exit routines
3.9.1 User exit routine that edits input message and application name determination
3.9.2 User exit routine that determines the inheriting timer-start message
3.9.3 User exit routine that edits sequential number of send message
3.9.4 User exit routine that edits output message
3.10 MCF events
3.10.1 MCF event that reports detection of an invalid application name (ERREVT1)
3.10.2 MCF event that reports discarding of a message (ERREVT2)
3.10.3 MCF event that reports UAP abnormal termination (ERREVT3)
3.10.4 MCF event that reports discarding of a timer-start message (ERREVT4)
3.10.5 MCF event that reports discarding of an unprocessed send message (ERREVTA)
3.10.6 MCF event that reports a send error (SERREVT)
3.10.7 MCF event that reports send completion (SCMPEVT)
3.10.8 MCF event that reports an error (CERREVT, VERREVT)
3.10.9 MCF event that reports establishing a connection (COPNEVT, VOPNEVT)
3.10.10 MCF event that reports releasing a connection (CCLSEVT, VCLSEVT)
3.10.11 Message format for MCF events
3.11 MCF processes used by application programs
3.11.1 Types of MCF process
3.11.2 Files for using MCF processes

4. Facilities for User Data
4.1 DAM file service (TP1/FS/Direct Access)
4.1.1 DAM file configuration
4.1.2 Physical files and logical files
4.1.3 Outline of access to DAM files
4.1.4 Access to a DAM file in online mode (operation from an SUP, SPP, or MHP)
4.1.5 Access to a DAM file in offline mode (operation from a UAP that handles offline work)
4.1.6 Creating physical files (operation from a UAP that handles offline work)
4.1.7 Locking DAM files
4.1.8 Access to unrecoverable DAM files
4.1.9 Interchangeability of DAM and TAM services
4.2 TAM file service (TP1/FS/Table Access)
4.2.1 TAM file configuration
4.2.2 Conditions for accessing a TAM table
4.2.3 Name used when a TAM table is accessed
4.2.4 Procedure for accessing a TAM table
4.2.5 Relationship between transactions and TAM access
4.2.6 Lock for TAM tables
4.2.7 TAM table access facility without table-based lock
4.2.8 Creating TAM files
4.2.9 Interchangeability of TAM and DAM services
4.2.10 TAM service statistical information
4.2.11 Notes on adding and deleting TAM records
4.3 IST service (TP1/Shared Table Access)
4.3.1 System configuration of IST service
4.3.2 Outline of internode shared tables
4.3.3 Procedure for accessing an internode shared table
4.3.4 Lock for internode shared tables
4.4 ISAM file service (ISAM, ISAM/B)
4.4.1 Outline of ISAM files
4.4.2 Types of ISAM service
4.5 Accessing database management systems
4.5.1 Relation to OpenTP1 transaction processing
4.5.2 Preparation for using other vendors' DBMS in cooperation with OpenTP1 through XA interface
4.6 Lock for resources
4.6.1 Resources which can be put under lock
4.6.2 Types of lock
4.6.3 Specifying the maximum lock wait time
4.6.4 Insufficient table pool for lock
4.6.5 Releasing a resource from lock
4.6.6 Lock migration
4.6.7 Lock test
4.7 Responses to the occurrence of deadlocks
4.7.1 Notes for avoiding deadlocks
4.7.2 OpenTP1 responses to deadlocks

5. X/Open-compliant Application Programming Interface
5.1 XATMI interface (client/server-mode communication)
5.1.1 Communication paradigms available with XATMI interface
5.1.2 XATMI interface functions
5.1.3 Request/response service paradigm
5.1.4 Conversational service paradigm
5.1.5 Notes on using xatmi interface for communication under OpenTP1
5.1.6 Communication data types
5.1.7 How to create server UAP
5.1.8 Relationship between OpenTP1 facility and XATMI interface
5.2 TX interface (transaction control)
5.2.1 TX interfaces usable with OpenTP1
5.2.2 How to use TX_ functions
5.2.3 Restrictions on using TX_ functions
5.2.4 Comparison with transaction control functions of OpenTP1 (dc_trn_ ~)

6. X/Open-compliant Inter-application Communication (TxRPC)
6.1 Communication through TxRPC interface
6.1.1 Types of TxRPC communication
6.1.2 Application programs that can be created
6.1.3 Necessary libraries
6.2 Communication allowed with application programs
6.2.1 TxRPC remote procedure calls
6.2.2 TxRPC transaction processing
6.2.3 Relation between application programs using OpenTP1 facilities and TxRPC application programs
6.3 Procedures for creating application programs for TxRPC communication
6.3.1 Procedure for creating UAP for IDL-only TxRPC communication

7. Facilities Provided by TP1/Multi
7.1 Application programs in cluster/parallel mode
7.1.1 Node on which application programs can be executed
7.1.2 Prerequisites to application program execution
7.2 Facilities available with the use of application programs
7.2.1 Acquisition of OpenTP1 node status
7.2.2 Acquisition of user server status
7.2.3 Acquisition of OpenTP1 node identifier
7.3 Conditions for using multinode facility functions

8. OpenTP1 Samples
8.1 Outline of samples
8.1.1 Types of sample programs
8.1.2 Sample program directory configuration
8.1.3 Explanation format of samples
8.2 How to use Base sample
8.2.1 Procedure common to all samples (Base sample)
8.2.2 Tasks specific to the Base sample (when using a stub)
8.2.3 Tasks for using OpenTP1 (when using a stub)
8.2.4 Tasks specific to the Base sample (when using dynamic loading of service functions)
8.2.5 Tasks for using OpenTP1 (when using dynamic loading of service functions)
8.3 How to use DAM sample
8.3.1 Procedure common to all samples (DAM sample)
8.3.2 DAM sample specific work
8.3.3 Work for using OpenTP1
8.4 How to use TAM sample
8.4.1 Procedure common to all samples (TAM sample)
8.4.2 TAM sample specific work
8.4.3 Work for using OpenTP1
8.5 Specifications of sample programs
8.5.1 Contents of database used by samples
8.5.2 Outline of sample program processing
8.5.3 Structure of sample programs
8.5.4 Details of programs specific to each sample
8.6 How to use MCF sample
8.6.1 MCF sample directory configuration
8.6.2 Notes on using MCF sample
8.7 Samples to be used to dispatch multi OpenTP1 command
8.8 COBOL language templates
8.8.1 Files of COBOL language templates
8.8.2 How to use the cobol language templates
8.9 How to use sample scenario template
8.10 How to use real-time acquisition item definition templates

A. Output Format of Undecided Transaction Information
B. Output Format of Deadlock Information
C. Examples of System Configurations Requiring Consideration of the Multi-Scheduler Facility
C.1 Overview of processing by the scheduler facility
C.2 Examples of system configurations in which the scheduler is likely to be the cause of error
C.3 Example of a system configuration using the multi-scheduler facility
C.4 Notes