Skip to main content
Support

KB Article #180409

EXECSFA procedure is not executed when the ACK is received before the EOT procedure is executed

Problem

EXECSFA procedure is not executed when the ACK is received before the EOT procedure is executed

Resolution

This is the normal behavior and to change this, the solution is to use ACKSTATE=REQUIRE in the CFTSEND.

In this case, the EXECSFA will be launched after the EXEC procedure, and transfer will be done after the EXECSFA is done.



Explanation:


If you look into the "Acknowledgement phase" part of the documentation (User guide > Manage Transfers > Transfer Workflow), you can see the following :
The behavior for this phase is fully dependent on the ackstate.



There are two possibilities for ackstate:

1) Require:
If an Acknowledgement is received during the post processing, it waits until the end of the post-processing to move to the Acknowledgement phase (Z) and launch the ackexec/execsfa/execsma with phasestep (C) if needed. When this completes, it goes to the Done phase.
If no Acknowledgement is received at the end of the post-processing, or if there is no post processing, it remains in the Acknowledgement (Z) phase with a phasestep of (H). As soon as the acknowledgement is received/sent, its launches the ackexec/execsfa/execsma with phasestep (C) if needed. When they finish, it moves to the Done phase.



2) Ignore: (default behavior)
Note To configure backward compatibility ack behavior, set the unified configuration to: uconf:cft.state_compat=Yes



Not backward compatibility set:
If an Acknowledgement is received during the post-processing, it waits until the end of the post-processing to move to the Acknowledgement phase (Z) and launch the ackexec/execsfa/execsma with phasestep (C) if applicable. When that finishes, it moves to the Done phase.
If no Acknowledgement was received at the end of the Post-processing or if there is no Post-processing, then it moves to the Done phase. As soon as the Acknowledgement is received/sent in the Done phase, ackexec/execsfa/execsma is launched, if applicable.



Backward compatibility set:
We launch the ackexec/execsfa/execsma, if applicable, as soon as the Acknowledgement is received regardless of the current Phase. Consequently,this Acknowledgement phase is not seen. After the end of the previous step (post-processing if applicable, or transfer), it moves directly to the next Done phase.