OpenTP1 Version 7
Programming Guide
3000-3-D51-30(E)
Contents
- Notices
- Summary of amendments
- Preface
- 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
- Appendixes
- 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
- Index
All Rights Reserved. Copyright (C) 2006, 2010, Hitachi, Ltd.