End-of-day processing
- Query
- The query message is sent to check whether it is fine to do end-of-day processing.
- Exec
- The exec message is sent to do the actual end-of-day processing.
When an end-of-day query message is received, the Distribution engine checks if any transmissions for the specified business day are in a state other than released. Any transmissions that were not released and have a deadline that is still in the future are active for the business day. The Distribution engine also checks to see whether any inbound transmissions contain transactions that are not mapped. When outbound transmissions or unmapped inbound transmissions are still active, the Distribution engine informs the Transaction Server that end-of-day processing cannot be done. Distribution also logs a message that indicates whether the end-of-day check passed or failed.
When an end-of-day exec message is received, the Distribution engine runs the end-of-day query logic first, unless the user specified the force option on the end-of-day command. If the user specifies the force option, the engine does not check whether it can do end-of-day processing; it just does it. The Distribution engine closes outbound transmissions (and their outbound batches (ICLs)) that are in the open state. Closing the outbound transmissions and outbound batches (ICLs) ensures that no new transactions are added to them.
The Distribution engine purges old data from the OUTBOUND_FILEIDMOD table. Any rows that are inserted before the business day that is being ended are removed from the table. This table is used to ensure that, if two or more transmissions are sent to the same participant at the same hour and minute, each transmission has a unique File ID Modifier (Field 11 in the Type 01 record).