Validation Rules
GroupStatusAcceptedRule: If OriginalGroupInformationAndStatus/GroupStatus is present and is equal to ACTC, ACCP, ACSP, ACSC or ACWC, then TransactionInformationAndStatus/TransactionStatus must be different from RJCT.
GroupStatusPendingRule: If OriginalGroupInformationAndStatus/GroupStatus is present and is equal to PDNG, then TransactionInformationAndStatus/TransactionStatus must be different from RJCT.
GroupStatusRejectedRule: If OriginalGroupInformationAndStatus/GroupStatus is present and is equal to RJCT, then TransactionInformationAndStatus/TransactionStatus, if present, must be equal to RJCT.
GroupStatusReceivedRule: If OriginalGroupInformationAndStatus/GroupStatus is present and is equal to RCVD, then TransactionInformationAndStatus/TransactionStatus is not allowed.
SupplementaryDataRule: The SupplementaryData building block at message level must not be used to provide additional information about a transaction. The SupplementaryData element at transaction level should be used for that purpose.
OriginalGroupInformationAbsenceRule: If OriginalGroupInformationAndStatus is absent, then
TransactionInformationAndStatus[*]/OriginalGroupInformation must be present.
OriginalGroupInformationSinglePresenceRule: If OriginalGroupInformationAndStatus is present and only once, then TransactionInformationAndStatus[*]/OriginalGroupInformation must be absent.
OriginalGroupInformationMultiplePresenceRule: If OriginalGroupInformationAndStatus is present and multiple times (Occurrence > 1), then TransactionInformationAndStatus[*]/OriginalGroupInformation must be present.