Disassembler and Assembler Promoted Properties
The Disassembler and Assembler properties fall into two categories: routing properties, for routing and filtering; and runtime properties, for internal processing.
This topic provides a list of properties that are added to, and promoted for all messages published by the SWIFT disassembler to the MessageBox database.
Routing properties
The SWIFT disassembler promotes the routing properties. You can use these properties for content-based routing (send port filters) and receive filtering in orchestrations.
Promoted name | Description | Data type | Value range | Usage example |
---|---|---|---|---|
A4SWIFT_BatchId | A globally unique identifier dynamically generated by the SWIFT disassembler when an inbound batch is processed. The disassembler assigns this batch identifier to all messages published to the MessageBox database originating from the same batch. Set to -1 for single messages (not originating from an inbound batch). |
String | "-1" or globally unique identifier (GUID) | Correlate messages with the same A4SWIFT_BatchId value to group them back into the same batch in which they originally arrived. |
A4SWIFT_BreValidationErrors | Indicates the number of validation errors encountered during Business Rule Engine (BRE) validation. | Numeric | >= 0 | Filter for messages that did not fail BRE validation (A4SWIFT_BREValidationErrors equals zero). |
A4SWIFT_Failed | Indicates if any failures occurred during message processing (parsing and validation). Set to True if A4SWIFT_ParseErrors + A4SWIFT_XmlValidationErrors + A4SWIFT_BreValidationErrors > 0. | Boolean | True, False | Filter for only valid SWIFT messages (A4SWIFT_Failed equals False). |
A4SWIFT_ParseErrors | Indicates the number of parse errors encountered during parsing. | Numeric | >= 0 | Filter for messages that did not fail parsing (A4SWIFT_ParseErrors equals zero). |
A4SWIFT_PosInBatch | Indicates the ordinal position of a message originating from an inbound batch. For a batch containing n messages, A4SWIFT_PosInBatch takes a value from 1 to n, corresponding to the message's ordinal position in the batch. Set to 0 if the message is a batch header. Set to n+1 if the message is a batch trailer. Set to 1 if the message is itself the entire batch (batch fragmentation disabled). Set to -1 for single messages (not originating from an inbound batch). |
Numeric | >= -1 | Sort messages from the same inbound batch into the original order in which they arrived. |
A4SWIFT_XmlValidationErrors | Indicates the number of validation errors encountered during XML validation. | Numeric | >= 0 | Filter for messages that did not fail XML validation (A4SWIFT_XmlValidationErrors equals zero). |
Note
In general, all routing or filter expressions should evaluate A4SWIFT_Failed before evaluating any other routing properties. Only A4SWIFT_Failed is guaranteed to be promoted and available. The remaining properties are not available for valid single messages (non-batch messages) published to the MessageBox database. The other properties are only promoted for failed single messages and for batch messages (valid or failed).
Runtime properties
The SWIFT disassembler promotes the runtime properties and uses them for internal processes at run time. They are only promoted and available for routing in some conditions, depending on the context. In general, do not use these properties for routing or filtering. They are not guaranteed to be promoted and available. In some scenarios, you can inspect these properties after retrieving or filtering using the routing properties. The following table lists the runtime properties.
Promoted name | Description | Data type | Value range | Usage example |
---|---|---|---|---|
A4SWIFT_IsMessageHeaderValued | Indicates if the data exists in the header part of the multipart message. Set to True if the header part contains data (message envelope header for a message coming from a batch). Set to False if the header part is empty. | Boolean | True, False | Decide whether to inspect the header part of a retrieved message (for example, in a message repair orchestration). |
A4SWIFT_IsMessageTrailerValued | Indicates if the data exists in the trailer part of the multipart message. Set to True if the trailer part contains data (message envelope trailer for a message coming from a batch). Set to False if the trailer part is empty. | Boolean | True, False | Decide whether to inspect the trailer part of a retrieved message (for example, in a message repair orchestration). |
A4SWIFT_MessageType | Three-digit number in the SWIFT header indicating the SWIFT message type (MT*xxx*). | String | Three numeric digits | Dynamically identify the SWIFT message type of a message. |
A4SWIFT_MessageType2 | Three-digit number in the SWIFT header indicating the SWIFT message type (MT*xxx). Use only if **A4SWIFT_MessageType* is not found in the SWIFT header. | String | Three numeric digits | Dynamically identify the SWIFT message type of a message. |
A4SWIFT_NumberOfParts | Indicates the number of parts in the multi-part message. Set to 1 if only the body part exists (containing a valid individual SWIFT message not originating from a batch, or batch header or batch trailer from a batch envelope). Set to 2 if the body and error parts exist (body part containing the failed message or batch, error part containing the error collection XML). Set to 3 if the body, header, and trailer parts exist (body part containing valid individual SWIFT message originating from a batch, header part containing message envelope header, if used, and trailer part containing message envelope trailer, if used — A4SWIFT_IsMessageHeaderValued and A4SWIFT_IsMessageTrailerValued indicate if data exists in the header and trailer parts). |
Numeric | 1, 2, 3 | Filter for messages with a given number of parts (for example, filter for A4SWIFT_NumberOfParts equals two for a message repair orchestration receive shape). |
A4SWIFT_SecondaryMessageType | A string value in the SWIFT header indicating the SWIFT message subtype (MT*xxx_XYZ*). | String | Any string | Dynamically identify the SWIFT message subtype of a message. |