A_DoValInPT
This action is responsible for the validation of the Physical Transmission by checking the validation result of all the component transactions in the PT. This is conducted in the following order;
- 1. Check that all validation has completed - CheckAllValidationComplete()
- This method keeps a count of the completed validation results for a batch by updating the COUNTER table for the totals of validation passed and validation failed transactions. If all validation is completed for all transactions in a batch, the next step is taken. For Single transaction transmissions this step is skipped, as this action would not be invoked until the validation has completed.
- Check batch completion - IsFailed()
- If no validation is pending for items in the PT, the results of the validation are checked. This is done by checking the count of the failed transactions and the total transactions and comparing them. Depending on the Configuration value "IGNORE_BAT_FAILED_PTTYPE" for the object subtype, "E_InPTFailed" will be raised when some or all of the transactions in the batch have failed validation. This step is not applicable to single transactions.
- Check for duplicate physical transmissions - IsDuplicate()
- IsDuplicate() checks the CID of the transmission against those already in the database and raises an error if a duplicate is found
- Check the input event for an error raised in another action - IsValidationErrors()
- If the input event is "E_ValFail" then the validation has failed.
- Complete validation
- Finally, "E_PTValid" or "E_PTValFail" is raised, allowing further processing of the transaction(s) or changing the state of the PT to a failing state.
Depending on the failure event raised, the operator of the OAC may be able to take action to remedy the failure event. For example, duplicates detected can be viewed and allowed to continue along the processing path.