This document explains how program SASSTRLR (trailer step) or U7SVC command(s) can be processed twice by CA 7.
The programs SASSTRLR (trailer step) and U7SVC can be used to pass command(s) to CA 7 from a batch job or program. SASSTRLR or U7SVC programs write the CA 7 command(s) in CSA and ICOM gets the command(s) from CSA and writes them to the Communications Data Set (UCC7CMDS DD in CA 7/ICOM procedure).
In the UCC7CMDS file, there are fields that contain offsets within the file where ICOM 'last wrote to' and where CA 7 'last read from'. When ICOM writes trailer data to the UCC7CMDS file, it updates its 'last written to' offset which CA 7 is reading to see if it has trailer data to process (if the 'last read from' and the 'last written to' are not equal, there is data to process).
If CA 7 is cancelled or abends at the specific time it has picked up command(s) from the UCC7CMDS file and before it updates the 'last read from' offset, when CA 7 comes back up, it will process the command(s) again. CA 7 should always be shutdown cleanly with the /SHUTDOWN command.