SWIFT Reconciliation Service

The SWIFT Reconciliation service is responsible for accepting and routing error messages from SWIFT Alliance Access (SAA) to the IBM® Sterling B2B Integrator. Additionally, it is used for tracking whether messages sent out were accepted or rejected by the SWIFT communication. The service operates on the primary document.

The following table provides an overview of the SWIFT Reconciliation service:

System Name
SWIFT Reconciliation Service
Graphical Process Modeler (GPM) categories)
All Services and EDI/SWIFT
Description
This service is responsible for enabling the IBM Sterling B2B Integrator to accept and handle error notifications from SWIFTAlliance Access (SAA).
Business usage
Use this service to track when messages are rejected locally by SWIFTAlliance Access using MQSA (WebSphere® MQ Interface for SWIFTAlliance Access) or AFT (Automated File Transfer). The Reconciliation Service can also be used the track the UUMID (User Unique Message ID) by setting a correlation on the document when it is used in conjunction with MQSA.
Usage example
SAA rejects a message, so it needs to be routed to an error handling process and passed back to the IBM Sterling B2B Integrator (the originating IBM Sterling B2B Integrator).
Preconfigured?
Yes.
Requires third party files?
No third party files are required.
Platform availability
All supported application platforms.
Related services
None
Application requirements
The service does not require anything to run. It is receiving input from SAA.
Initiates business processes?
No
Invocation
A user must have permission to execute the business process that invokes this service to retrieve data through MQ, FTP, AFT, and so forth.
Business process context considerations
None
Returned status values
  • Error—if no primary document was found, or if the primary document is not in the correct format, an error occurs
  • Success—if the primary document was found and successfully parsed
Restrictions
None
Persistence level
Not applicable
Testing considerations
To test this service in MQSA mode, you must know the report format. Also, MQSA mode checks the NAN/PAN status flag in the workflow, so the tester must set either /ProcessData/PrimaryDocument/feedback or /ProcessData/MQ/msgFeedback to emulate the status flag (set to 276 to emulate a NAN; all other values are ignored).

To test in AFT mode, the file process is the original message that was sent.

How the SWIFT Reconciliation Service Works

The SWIFT Reconciliation service accepts and routes error messages from SWIFT Alliance Access (SAA) to the IBM Sterling B2B Integrator. Additionally, it is used for tracking whether messages sent out were accepted or rejected by the SWIFT communication. The service operates on the primary document.

Implementing the SWIFT Reconciliation Service

You do not need to do anything to implement the SWIFT Reconciliation service.

Configuring the SWIFT Reconciliation Service

You do not need to do anything to configure the SWIFT Reconciliation service.

MQ Business Process Example

The following assumptions and preconditions apply to using the SWIFT Reconciliation service with MQ:

  • You must set up outbound envelopes to “Expect an acknowledgement.” It is highly recommended that you use a single global control number for all outbound envelopes that are using this feature.
  • In the business process that puts the outbound message on the queue, you must:
    • Set the datagram to request a NAN (Negative Acknowledgement) report. You may also set it to request a PAN (Positive Acknowledgement) report, if you wish to reconcile the UUMID.
    • Specify the queue and queue manager that the return report should use.
    • Set the feedback field so that the original message, error code, and (optionally) the UUMID are included in the return report. You do this by setting the feedback to MQFB_APPL_FIRST (65536) + 128 (include the message) + 256 (include the error code), or to MQFB_APPL_FIRST + 128 + 256 + 64 (include the UUMID). These values correspond to 65920 and 65984, respectively.
  • You have already configured an instance of the MQ adapter named ToSAA.

This is the BPML for the MQ example business process:


<process name="FromSAA">
   <sequence>

      <operation name="WebSphere MQ Adapter">
         <participant name="FromSAA"/>
         <output message="WebsphereMQInputMessage">
            <assign to="." from="*"></assign>
            <assign to="rcv_MQGMO_wait">Yes</assign>
            <assign to="rcv_MQGMO_waitInterval">10000</assign>
         </output>
         <input message="inmsg">
            <assign to="." from="*"></assign>
         </input>
      </operation>

                                <assign to="PrimaryDocument"
from="MQ/document/@SCIObjectID" />

      <operation name="SWIFT Reconcile">
         <participant name= "ReconcileSWIFT"/>
         <output message="ReconcileSWIFTInputMessage">
            <assign to="." from="*"></assign>
            <assign to="Mode">MQSA</assign>
         </output>
         <input message="inmsg">
            <assign to="." from="*"></assign>
         </input>
      </operation>

   </sequence>
</process>

AFT Business Process Example

To use the SWIFT Reconciliation service with AFT, you must:

Configure SAA so that rejected messages are output to a directory that is separate from the output directory for valid messages. Some of the steps below will vary depending on your system configuration; for full details, see the SWIFTAlliance documentation.

  1. In the Application Interface application of SWIFTAlliance Workstation, configure an exit point.
    1. Open the Application Interface application within SWIFTAlliance Workstation.
    2. From the View menu, select Exit Point.
    3. From the Exit Point menu, select New.
    4. Type a name for the exit point.
    5. Set the Queue threshold as desired.
    6. Leave Assigned to message partner blank.
    7. Save the exit point.
  2. In the Application Interface application of SWIFTAlliance Workstation, configure a Message Partner for the rejected messages.
    1. Open the Application Interface application within SWIFTAlliance Workstation.
    2. From the View menu, select Message Partner.
    3. From the Message Partner menu, select New.
    4. Type a name for the message partner.
    5. For Allowed direction, select To Message Partner.
    6. For Connection method, select File Transfer.
    7. For Session initiation, select Manual.
    8. For Data format, select RJE.
    9. For Parameter file, select Not Required.
    10. For Output path name, enter the desired path for storing the rejected messages.
    11. Set the Run output session parameters as desired.
    12. Select the Emission tab, and select the Exit Point you created above. Leave the other settings as the default.
    13. Save and enable this message partner.
  3. In the Routing application of SWIFTAlliance Workstation, configure the routing point or points for SWIFT messages so that rejected messages are routed to the exit point you're created.
    Note: SAA must be running in Housekeeping mode to modify routing points.
    1. Open the Routing application within SWIFTAlliance Workstation.
    2. From the View Menu, select routing point.
    3. Select the routing point for messages being sent to SAA (this will vary depending on how your system has been configured).
    4. Select the routing rule for message failing validation if one exists. If it doesn't exist, create one. For the routing condition, use Condition on of Function and Function Result of Validation Error for this rule.
    5. Right-click the rule, select Open, then click the Action tab.
    6. For Action On, select On Source.
    7. For Action, select Route To in the upper box, and select the exit point you created above from the second box.
    8. For Append intervention, select No Intervention.
    9. Select the Unit as desired, and save the routing rule.

Once you have configured SAA, you will need to configure your system so that the IBM Sterling B2B Integrator can read the output (for example, FTP or direct file system access). This will vary depending on your system. Once that is configured, you can invoke the SWIFT Reconciliation service on the resulting documents similar to what is shown for MQSA above (note that the mode must be set to AFT).

This is the BPML for the AFT example business process:


      <operation name="SWIFT Reconcile">
         <participant name= "ReconcileSWIFT"/>
         <output message="ReconcileSWIFTInputMessage">
            <assign to="." from="*"></assign>
            <assign to="Mode">AFT</assign>
         </output>
         <input message="inmsg">
            <assign to="." from="*"></assign>
         </input>
      </operation>