Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Examples: distributed dialogs via OSI TP

This section contains examples describing the different programming interface possibilities when you use the Commit functionality and Chained Transactions.

First the simplest case is considered. Here, a job submitter communicates with a job receiver. Secondly, the scenario is extended to describe communication with multiple job receivers and finally the more complicated cases are illustrated in which a service communicates with both a job receiver and a job receiver via the OSI TP protocol.

The data transfer phase, end of transaction, and end of dialog are considered separately.

At the end of the section you can find examples which illustrate the "abnormal termination of  job-receiving services with CTRL AB".

Comments on the following diagrams

The following diagrams illustrate the communication flow in distributed OSI TP dialogs. In these services, only those KDCS calls which are relevant for communication are shown, other KDCS calls and processing statements are omitted.

The service and transaction stati, displayed to the program unit after the MGET call, are shown to the right of the MGET calls. In the examples, the COBOL field names are used, i.e. KCVGST for the service status and KCTAST for the transaction status. For C/C++ the corresponding fields are called kcpcv_state and kcpta_state.

In the job-receiving services, the KCENDTA and KCSEND are shown to the right of the INIT calls. These can be evaluated by a program unit after an INIT PU call.

In the case of MPUT calls addressed to a job receiver and CRTL calls, the name of the addressed job-receiving service is shown. The format used is ">x", where x represents the job receiver. MPUT calls without this specification are always addressed to either the job submitter or the client.

The arrows between job submitters and job receivers symbolize for the message exchange and protocol flow.

Synchronization points are represented by bold, unbroken lines.

Any PEND KP calls shown in these examples can be replaced by PGWT KP calls. Similarly, a PGWT CM with a preceding MPUT message can be used instead of PEND RE, and a PGWT CM without a preceding MPUT message can be used instead of PEND SP.