State tables for APPC basic conversations at sync level 1

Tables showing the state transitions that occur when transactions engage in APPC basic (or unmapped ) conversations at sync level 1, under the EXEC CICS® API.

The GDS ISSUE SIGNAL command and the CDBSIG flag

In the tables, the CDBSIG flag is not mentioned. This is because its use is optional and is entirely a matter of agreement between the two conversation partners. In the worst case, it can occur at any time after every command that affects the CDB flags. However, used for the purpose for which it was intended, it usually occurs after a GDS SEND command. Its priority in the order of testing depends on the role you give it in the application.

The CDBSIG flag is set when the partner issues the GDS ISSUE SIGNAL command.

State tables

Table 1. States 1 - 6
Command issued CDB flag returned Command returns ALLO- CATED SEND PEND- RECEIVE PEND- FREE RECEIVE CONF- RECEIVE
State 1 State 2 State 3 State 4 State 5 State 6
GDS CONNECT PROCESS EIBERR + EIBFREE Immediately 12 Abend Abend Abend Abend Abend
GDS CONNECT PROCESS × Immediately 2 Abend Abend Abend Abend Abend
GDS EXTRACT PROCESS × Immediately = = = = = =
GDS EXTRACT ATTRIBUTES × Immediately = = = = = =
GDS SEND (any valid form) CDBERR + CDBFREE After error flow detected Abend 12 Abend 12 Abend Abend
GDS SEND (any valid form) CDBFREE After error flow detected Abend 12 Abend Abend Abend Abend
GDS SEND INVITE WAIT × After data flows Abend 5 Abend Abend Abend Abend
GDS SEND INVITE CONFIRM × After response from partner Abend 5 Abend Abend Abend Abend
GDS SEND INVITE × After data buffered Abend 3 Abend Abend Abend Abend
GDS SEND LAST WAIT × After data flows Abend 12 Abend Abend Abend Abend
GDS SEND LAST CONFIRM × After response from partner Abend 12 Abend Abend Abend Abend
GDS SEND LAST × After data buffered Abend 4 Abend Abend Abend Abend
GDS SEND WAIT × After data flows Abend = Abend Abend Abend Abend
GDS SEND CONFIRM × After response from partner Abend = 5 12 Abend Abend
GDS SEND × After data buffered Abend = Abend Abend Abend Abend
GDS RECEIVE CDBERR + CDBFREE After error detected Abend Abend Abend Abend 12 Abend
GDS RECEIVE CDBERR After error detected Abend Abend Abend Abend = Abend
GDS RECEIVE CDBCONF + CDBFREE After confirm flow detected Abend Abend Abend Abend 8 Abend
GDS RECEIVE CDBCONF + CDBRECV After confirm flow detected Abend Abend Abend Abend 6 Abend
GDS RECEIVE CDBCONF After confirm flow detected Abend Abend Abend Abend 7 Abend
GDS RECEIVE CDBFREE After error detected Abend Abend Abend Abend 12 Abend
GDS RECEIVE CDBRECV When data available Abend Abend Abend Abend = Abend
GDS RECEIVE LLID CDBCOMPL When data available Abend Abend Abend Abend = Abend
GDS RECEIVE × When data available Abend Abend Abend Abend 2 Abend
GDS ISSUE CONFIRMATION × Immediately Abend Abend Abend Abend Abend 5
GDS ISSUE ERROR CDBFREE After response from partner Abend 12 12 Abend 12 12
GDS ISSUE ERROR × After response from partner Abend = 2 Abend 2 2
GDS ISSUE ABEND × Immediately Abend 12 12 12 12 12
GDS ISSUE SIGNAL × Immediately Abend = = Abend = =
GDS WAIT × Immediately Abend = 5 12 Abend Abend
GDS FREE × Immediately End Abend Abend End Abend Abend
Table 2. States 7 - 13
Command issued CDB flag returned CONF- SEND CONF- FREE SYNC- RECEIVE SYNC- SEND SYNC- FREE FREE ROLL- BACK
State 7 State 8 State 9 State 10 State 11 State 12 State 13
GDS CONNECT PROCESS EIBERR + EIBFREE Abend Abend N/A N/A N/A Abend N/A
GDS CONNECT PROCESS × Abend Abend N/A N/A N/A Abend N/A
GDS EXTRACT PROCESS × = = N/A N/A N/A = N/A
GDS EXTRACT ATTRIBUTES × = = N/A N/A N/A = N/A
GDS SEND (any valid form) CDBERR + CDBFREE Abend Abend N/A N/A N/A Abend N/A
GDS SEND (any valid form) CDBFREE Abend Abend N/A N/A N/A Abend N/A
GDS SEND INVITE WAIT × Abend Abend N/A N/A N/A Abend N/A
GDS SEND INVITE CONFIRM × Abend Abend N/A N/A N/A Abend N/A
GDS SEND INVITE × Abend Abend N/A N/A N/A Abend N/A
GDS SEND LAST WAIT × Abend Abend N/A N/A N/A Abend N/A
GDS SEND LAST CONFIRM × Abend Abend N/A N/A N/A Abend N/A
GDS SEND LAST × Abend Abend N/A N/A N/A Abend N/A
GDS SEND WAIT × Abend Abend N/A N/A N/A Abend N/A
GDS SEND CONFIRM × Abend Abend N/A N/A N/A Abend N/A
GDS SEND × Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE CDBERR + CDBFREE Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE CDBERR Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE CDBCONF + CDBFREE Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE CDBCONF + CDBRECV Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE CDBCONF Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE CDBFREE Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE CDBRECV Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE LLID CDBCOMPL Abend Abend N/A N/A N/A Abend N/A
GDS RECEIVE × Abend Abend N/A N/A N/A Abend N/A
GDS ISSUE CONFIRMATION × 2 12 N/A N/A N/A Abend N/A
GDS ISSUE ERROR CDBFREE 12 12 N/A N/A N/A Abend N/A
GDS ISSUE ERROR × 2 2 N/A N/A N/A Abend N/A
GDS ISSUE ABEND × 12 12 N/A N/A N/A Abend N/A
GDS ISSUE SIGNAL × = = N/A N/A N/A Abend N/A
GDS WAIT × Abend Abend N/A N/A N/A Abend N/A
GDS FREE × Abend Abend N/A N/A N/A End N/A