2.3.11 Transactional ATMI Client Request/Response to Host CPI-C
Figure 2-31 DMCONFIG File Entry
![DMCONFIG File Entry DMCONFIG File Entry](img/prog-2.1.31.jpg)
- ATMI client invokes
toupsrv
service. - The
toupsrv
service issuestpbegin
to start the transaction. - The
toupsrv
service issuestpcall
forSIMPCPIC
, which is advertised in the DM_REMOTE_SERVICES section of the DMCONFIG file. Data is sent from theidata
buffer on thetpconnect
. - The remote service with
tpname
TPNCPIC
invokesTOUPCPIC
program. - The server accepts the conversation with the
cmaccp
call. The conversation ID returned on the request inconvid
is used for all other requests during this conversation. - The
cmrcv
request receives theidata
buffer contents for processing. - The
cmsst
andcmsptr
prepare the next send request by setting the send type toCM_SEND_AND_PREP_TO_RECEIVE
and by setting the prepare-to-receive type toCM_PREP_TO_RECEIVE_CONFIRM
. - The
cmsend
request immediately returns theobuffer
contents into the client’sodata
buffer. The server relinquishes control to the server and indicates the end of the conversation with theCONFIRM
request. - The
toupsrv
issues thetpcommit
to successfully complete the transaction and commit all updated resources. Thecmrcv
request receives the commit request, and responds explicitly to the request with the SAA Resource/Recovery commit callsrrcmit
. The conversation is ended after the successful commit exchange.
Parent topic: CPI-C Programming Examples