Author |
Message
|
dims |
Posted: Mon Apr 11, 2005 10:37 am Post subject: Repeated Message Set Element problem... |
|
|
Newbie
Joined: 11 Apr 2005 Posts: 8
|
Hi there,
Last week I came up with a problem while implementing a message set for a SWIFT message.
The case is the following :
Input Message Set : MT950 ---> field 61 is a repeated field 1-15 times
Output Message Set : Swift_mt950 ---> field 61 is a repeated field 1-15 times.
The settings in both message sets in the "Connection" tab are set to :
Repeat : Yes
Min. Occurs : 1
Max. Occurs : 15
The format of the data for each set is
Input Message Set : CWF (Free Text format)
Output Message Set : CwXML (XML format)
The problem now is that although in the Input Message Set the message is split correctly in its subsequent fields, when I am placing the results in the Output Message Set via a compute node, in the repeated field 61 the result is only one repetition of the set of data given by the Input Message Set - to be more specific only the first set of data is placed in the Input Message Set, so instead of having 15 repeatitions of the field there is only one in the Output Message Set.
Could anyone possibly give me a hint of where could I be mistaken in the structure of the Message Sets or even in the Message Flow, or where should I check again my Message Sets?
Thanks in advance for your time,
Dimitri. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Apr 11, 2005 10:56 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
How are you copying the input message to the output message? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
dims |
Posted: Tue Apr 12, 2005 12:46 am Post subject: |
|
|
Newbie
Joined: 11 Apr 2005 Posts: 8
|
jefflowrey wrote: |
How are you copying the input message to the output message? |
I don't know what do you mean exactly but I am sending you the part of the code with the field 61 process from the SWIFT Message Type 950 implementation, if this is of any help :
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."Letter" = "InputBody"."Block_4_950"."FLD61"."OPT";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."ValueDate" = "InputBody"."Block_4_950"."FLD61"."SDATE";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."EntryDate" = "InputBody"."Block_4_950"."FLD61"."EDATE";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."DebitCreditMark" = "InputBody"."Block_4_950"."FLD61"."MARK";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."FundsCode" = "InputBody"."Block_4_950"."FLD61"."FUNDS_CODE";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."Amount" = "InputBody"."Block_4_950"."FLD61"."AMOUNT";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."TransactionTypeIdentificationCode" = "InputBody"."Block_4_950"."FLD61"."TRANS_ID";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."ReferenceForTheAccountOwner" = "InputBody"."Block_4_950"."FLD61"."REF_ACC";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."AccountServicingInstitutionReference" = "InputBody"."Block_4_950"."FLD61"."REF_INST";
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"."DataField"."Swift_Tag_Union_61"."Swift_61"."Swift_Tag_Union_61_Opt"."SupplementaryDetails" = "InputBody"."Block_4_950"."FLD61"."DETAILS";
The output message set is created by the Websphere SWIFT Adapter and the field 61 is already set to be a repeated element/field.
If you need more info about the compute node or anything else please tell what would you need to send you.
Thanks again for your time  |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Apr 12, 2005 1:43 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Your code only copies one of the field61 nodes.
You need to use [x] to reference different nodes. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
dims |
Posted: Tue Apr 12, 2005 2:07 am Post subject: |
|
|
Newbie
Joined: 11 Apr 2005 Posts: 8
|
jefflowrey wrote: |
Your code only copies one of the field61 nodes.
You need to use [x] to reference different nodes. |
By using [x] what do you mean exactly? Sorry for being annoying but I am new to WMQI technology and I am still learning the tool.
Does that mean that I have to make multiple compute nodes depending on the repeatition of the field? |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Apr 12, 2005 3:46 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
For instance, making a guess about which structure repeats,
Code: |
SET "OutputRoot"."MRM"."Swift_MT950Data"."Swift_MT950Data"."Swift_61_1"."Swift_Tag_61"[1]."Letter" = "InputBody"."Block_4_950"."FLD61"[1]."OPT"; |
would copy the first repeat of FLD61 to the first repeat of Swift_Tag_61.
Read through this InfoCenter section on known multiple occurances. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
dims |
Posted: Tue Apr 12, 2005 4:15 am Post subject: |
|
|
Newbie
Joined: 11 Apr 2005 Posts: 8
|
Thanks a lot !!!!!!!!!
Your comments were really helpful !!!!!!!!!! |
|
Back to top |
|
 |
|