Professional Documents
Culture Documents
Confirmation Matching
User Guide
No part of this document may be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without the express written permission of TEMENOS Holdings NV.
Table of Contents
Introduction.............................................................................................................................................. 3
Application Overview ........................................................................................................................... 3
General Process of Automatic Matching ............................................................................................. 3
Application Design ............................................................................................................................... 6
Starting/Stopping Processors........................................................................................................... 6
Automatic Matching Process............................................................................................................ 6
CM.GET.NEW.MESSAGE ............................................................................................................... 7
CM.FIND.MATCHED.ITEMS ........................................................................................................... 8
Full Match ..................................................................................................................................... 8
Part Match .................................................................................................................................... 9
Overview of Input and Processing ..................................................................................................... 11
SETUP ........................................................................................................................................... 11
Manual Matching ............................................................................................................................ 11
ENQUIRIES ................................................................................................................................ 11
Running the Enquiries............................................................................................................. 11
ENQ CM.MSG.VIEW.DETAILS .............................................................................................. 12
ENQ CM.I.SEARCH................................................................................................................ 13
ENQ CM.O.SEARCH .............................................................................................................. 14
MANUAL MATCHING USING ENQUIRIES ............................................................................... 15
Viewing Records ..................................................................................................................... 15
Matching Records ................................................................................................................... 17
View CM.HOLDING.QUEUE.......................................................................................................... 19
CM.PARAMETER .......................................................................................................................... 19
CM.MESSAGE.TYPE..................................................................................................................... 20
MATCHING TAGS...................................................................................................................... 20
OPTIONAL TAGS....................................................................................................................... 20
LOCAL.REFERENCE................................................................................................................. 20
CM.HOLDING.QUEUE................................................................................................................... 24
CM.MESSAGE ............................................................................................................................... 25
CM.MATCH.ITEM .......................................................................................................................... 28
CM.UNMATCHED.ITEM ................................................................................................................ 28
CM.PAR.UNMATCHED.ITEM........................................................................................................ 28
Introduction
Application Overview
Messages sent or received by the Electronic Delivery System are copied to the confirmation matching
application module. Message types specified within the CM application parameter files are selected for
matching. The incoming messages are matched with the outgoing messages and the messages are
matched where both have identical match keys.
The messages requiring matching need not only be the confirmation messages they can be any other
message types. Although, the intentions are that this application is used for confirmation matching i.e.
S.W.I.F.T. message types MT300, MT320, MT324, MT330 and MT350.
A match key is generated for the message using the S.W.I.F.T. tag contents and the matching tags.
For each message type that needs matching the matching tags are defined in CM.MESSAGE.TYPE.
If the match key has a value then the message is selected for matching. The selected message is
stored on CM.MESSAGE and the MATCH.KEY is written to CM.MATCH.ITEM, both with the same
record key.
Two additional work files are used for the matching process, CM.UNMATCHED.ITEM and
CM.PAR.UNMATCHED.ITEM. The CM.UNMATCHED.ITEM file is used for full matching and
the CM.PARUNMATCHED.ITEM file for partial matching. The unmatched item is written to the
CM.UNMATCHED.ITEM file with record key of the matching key.
The matching process tries to read a record from the CM.MATCH.ITEM and compare it to the
MATCH.KEY of each work file on the CM.UNMATCHED.ITEM file. If this record exists on
CM.UNMATCHED.ITEM then a match has been found. The entries on CM.MESSAGE and
CM.MATCH.ITEM referenced by the item found on CM.UNMATCHED.ITEM are updated, as are
the originating entries for the current CM.MATCH.ITEM. The entry on CM.UNMATCHED.ITEM
is removed. If the entry for the full MATCH.KEY does not exist on CM.UNMATCHED.ITEM, then a
record is created on CM.UNMATCHED.ITEM work file for a matching message.
The partial matching procedure is similar to the full matching procedure, the difference being that this
uses the partial match key and the CM.PAR.UNMATCHED work file for matching.
The user using manual matching matches any unmatched or partial unmatched messages.
Application Design
Starting/Stopping Processors
Two phantoms, CM.GET.NEW.MESSAGE and CM.FIND.MATCHED.ITEMS automate the matching of
messages. The phantom CM.GET.NEW.MESSAGE selects the messages for automatic matching from
the CM.HOLDING.QUEUE and the CM.FIND.MATCHED.ITEMS matches the messages.
The EB.PHANTOM application is used to control the starting, stopping and trouble shooting of these
phantoms.
The phantoms are background processes. Once these phantoms are started, they should run
continuously without being attached to a particular terminal and without any further intervention from
the user.
CM.GET.NEW.MESSAGE
For example, for message type 300 the MATCH.TAGS requiring match are 20 and 30T.
• CM.MESSAGE.TYPE
• RECORD ID 300
• KEY1 20
• KEY2 30T
:20:REF1A
:30T:20000506
The tags would be located in the message and the values, “REFIA” for 20 and “20000506” for 30T and
are retained for match keys. In this case the MATCH.KEY would be “REFIA:20000506”. In the above
example only the relevant details are shown.
Two types of match key are generated, a full match key and a partial match key. If there is a value in
either match key then the message is selected for matching.
The status and various other details of the message are written to a record in the CM.MESSAGE file.
The match keys are written to a separate record on the CM.MATCH.ITEM file. These two records
have the same key as received from the CM.HOLDING.QUEUE file and this is also the same as
on the originating S.W.I.F.T. message. The full contents of these two files are detailed later in this
document.
The processed message is deleted from the CM.HOLDING.QUEUE. The next message is selected
and processed. If there are no messages on the CM.HOLDING.QUEUE then the process waits for
the next message and goes to sleep.
After processing each message, the phantom checks to see if the user has requested to stop, in which
case the process terminates and exits.
CM.FIND.MATCHED.ITEMS
Full Match
The CM.FIND.MATCHED.ITEMS phantom matches the messages from the CM.MATCH.ITEM file.
This reads the CM.MATCH.ITEM record and gets the match keys. For the message to be matched,
first it tries to find the match using the FULL.MATCH.KEY with the messages held on the
CM.UNMATCHED.ITEM file. If a match is found, i.e. a record is found on the
CM.UNMATCHED.ITEM file with the same match key, then the message on the CM.MESSAGE
status is changed to ‘MAT’ (matched) and the key of matched message is copied into the field MATCH.
Similarly, the record of ‘matched with’ message is also modified. The message keys of these two
matched messages are removed from the CM.PAR.UNMATCHED.ITEM records, in the field
MESSAGE.KEY.
If full match is not found then a new record is created in CM.UNMATCHED.ITEM file with the
FULL.MATCH.KEY record key.
Part Match
If a full match is not found then, a match is attempted from the PART.MATCH.KEY with the items
already held in the CM.PAR.UNMATCHED.ITEM. If a match is found on the
CM.PAR.UNMATCHED.ITEM then the original message ID is added to the MESSAGE.KEY field
on this record (of CM.PAR.UNMATCHED.ITEM) and all the message keys held on this record are
copied to the message record of new matching message on the CM.MESSAGE file. Now, the
message key of this record is added to the messages, whose keys are held on the MESSAGE.KEY field
of CM.PAR.UNMATCHED.ITEM record. In fact this field contains the list of all messages having
the same partial match key.
If a match is not found with the CM.PAR.UNMATCHED.ITEM then a new record is created with
the ID of the PART MATCH KEY and the details containing the ID of the message being processed.
The STATUS on the CM.MATCH.ITEM is changed to “PROCESSED”.
The process is repeated for the next message. If there are no more messages to be processed then it
will wait for the next message.
After processing a message, the process checks to see if the user has requested a stop, in which
case the process terminates and exits.
Manual Matching
Users can manually match the unmatched and partially matched items.
Different Context Based Workflow enquiries have been written to allow these enquiries to launch the
CM.MESSAGE application and also to automatically populate the MATCH field of the record with data
from the ENQUIRY.
ENQUIRIES
• CM.MSG.VIEW.DETAILS
• CM.I.SEARCH
• CM.O.SEARCH
ENQ CM.MSG.VIEW.DETAILS
This enquiry may be used to view details of a record on the CM.MESSAGE File. The required record
is selected by entering the Message ID as the selection criteria.
ENQ CM.I.SEARCH
This enquiry may be used to display inward swift messages for manual matching. You can choose to
view all messages. Other selection criteria include MESSAGE.TYPE, DATE and TIME. The displayed
messages show the MESSAGE.KEY and the MATCH.KEY.
Figure 8 - Enquiry ENQ.CM.I.SEARCH displays inward Swift Messages for manual matching
ENQ CM.O.SEARCH
This enquiry may be used to display outward swift messages for manual matching and it is selected
and displayed similar to the CM.I.SEARCH Enquiry.
Figure 9 - Enquiry ENQ.CM.O.SEARCH displays Outward Swift Messages for manual matching
Since the Match Keys for both the inward and the outward Swift Delivery Messages are displayed in
the above enquiries, possible matches, with similar Match Keys can be easily spotted.
Viewing Records
To see a more detailed view of the record, click the mouse on any of the Delivery Messages in the
CM.I.SEARCH or the CM.O.SEARCH Enquiries to display the following options:
View Record: (magnifying glass icon)
Shows the Delivery Message as a Report Enquiry, with the Message Key in the header, and full
details including Swift Body and Swift tags in the body of the report.
View Details
This option may be used to view details of a record on the CM.MESSAGE file. The SWIFT.TAGS are
arranged in ascending order with the corresponding SWIFT.BODY.
Matching Records
Match Items
This option brings up the CM.MESSAGE record for the relevant MESSAGE.KEY.
Records can be manually matched from this screen, either by typing an existing delivery message key
in the MATCH field, or by double clicking on the Delivery Message key in the CM.I.SEARCH and
CM.O.SEARCH Enquiries.
Using features such as Auto Launch Enquiries and displaying the messages can make the manual
matching a lot easier.
View CM.HOLDING.QUEUE
This file will not have a T24 program behind it as it contains the actual S.W.I.F.T. message in one field,
which could be too long for T24 to interpret. Viewing this file is done through a specially written enquiry
CM.HOLDING.PREVIEW. The file is made up of a general T24 message key of D/R for delivery or
received and 8 -digit date and 7- digit time (from midnight). There is only one field that contains the
whole message.
CM.PARAMETER
The CM.PARAMETER table contains only a single SYSTEM record. It defines the number of days a
message need stay on the system once it has been matched and is archived to the history file.
Defines parameters for the Confirmation Matching application. The key to this file must always be
SYSTEM, this is the only key allowed. The DAYS.TILL.ARCHIVE parameter stores the number of
days that messages should remain on the CM.MESSAGE application after successful matching,
before being archived to the history file and removed from the live file.
It is also possible to use a user defined routine in confirmation matching, the name of the routine is
specified here.
CM.MESSAGE.TYPE
The CM.MESSAGE.TYPE is used to define the message types to be matched and the match tags to
be used, for outgoing and incoming messages. The outgoing and incoming tags are used with the
S.W.I.F.T. message to form the match keys.
There are two types of tags; one the MATCHING.TAG and the other the OPTION.TAG.
These tags must be valid for the S.W.I.F.T. message type entered i.e. it corresponds to the message
defined in DE.FORMAT.SWIFT and should be valid field tags on the DE.TRANSLATION. The
MESSAGE TYPE, RECEIVER or SENDER can also be defined for the keys.
MATCHING TAGS
These tags are used to form the mandatory part of the match keys.
OPTIONAL TAGS
These are used to form the optional part of the match key.
LOCAL.REFERENCE
There is one extra field LOCAL.REF field on this file, the value of this field is held on the
CM.MESSAGE file.
Defines valid message types for confirmation matching which must exist on the DE.MESSAGE
application. If this message does not exist then an error is displayed as shown below.
Once the message type is read successfully. The body of the message type contains rules for
matching this kind of message; these are mandatory and/or optional S.W.I.F.T. tags.
Notice that the OUT.MATCH.TAG and IN.MATCH.TAG are multi-valued mandatory fields and the
OUT.OPTION.TAG and IN.OPTION.TAG are multi-valued optional fields.
When these tags are entered into the message they are prefixed internally with ‘SW’ and then
checked against the DE.TRANSLATION application to check if they are valid S.W.I.F.T. tags. If
these tags do not exist then an error message is generated at entry time as shown in the following
image.
In our next example we have created an extra multiple entry for the OUT.MATCH.TAG and
IN.MATCH.TAG, notice that duplicate values have been entered, these are not allowed. At the
commit record stage, errors would be generated as shown below. This will also apply for the
OUT.OPTION.TAG and IN.OPTION.TAG.
The tag enrichment displayed comes from the DE.TRANSLATION record so the user can verify the
correct tag(s) have been used.
A further check is made on the DE.FORMAT.SWIFT application, from our example; the message
type is ‘300’. This message type is then suffixed with ‘.1.1’ so that it becomes 300.1.1, this must be a
valid key on the DE.FORMAT.SWIFT application. The record is read from DE.FORMAT.SWIFT,
as displayed in the example screenshot below, and the system verifies that the tag is used in that
record.
Figure 20 – Once check is made for a valid Swift tag, record is displayed from DE.FORMAT.SWIFT
Any S.W.I.F.T. tags entered into the message type ‘300’ must also exist in the DE.FORMAT.SWIFT
record. If it does not then an error is generated at entry time as shown below.
Figure 21 Tag must exist in the DE.FORMAT.SWIFT record for the message
CM.HOLDING.QUEUE
The delivery system will place all S.W.I.F.T. messages in the CM.HOLDING.QUEUE and those of
types defined in the CM.MESSAGE.TYPE application are passed forward to CM.MESSAGE.
CM.MESSAGE
This file stores messages received by the delivery process. Originally the message key and the
message body are held in its raw format in the CM.HOLDING.QUEUE. The message is read and
written in a sensible format to the CM.MESSAGE application. Most of the message details are
generated by the system from the S.W.I.F.T. message content.
The STATUS will be defaulted to ‘WFM’, which stands for “Waiting For Match”. The MATCH field will be
empty and would allow a user to select a message key from a list of message generated from the
CM.MESSAGE application.
The STATUS flag can also be changed by selecting one from the predefined list.
CM.MATCH.ITEM
This file stores messages that are to be matched. When these messages are processed, if
corresponding messages do not exist on the CM.UNMATCHED.ITEM application, then one is
created and marked as processed. It in effect becomes the unmatched side. If however a message is
matched against an unmatched message, then they are matched.
CM.UNMATCHED.ITEM
The file stores messages from the CM.MATCH.ITEM application, the key being the full matching
criteria.
CM.PAR.UNMATCHED.ITEM
The file stores messages from the CM.MATCH.ITEM application, the key being the partial matching
criteria.