Issue Details (XML | Word | Printable)

Key: PUB-2061
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: P3 - Defect P3 - Defect
Assignee: Simon Heinrich
Reporter: Harpal Kawatra
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Artix Data Services

Unable to parse valid MT950 Inbound message

Created: Tue 20-Jun-06 22:06   Updated: Sat 17-Feb-07 20:02
Component/s: None
Affects Version/s: 3.5.0 ea10
Fix Version/s: 3.5.2

Time Tracking:
Not Specified

File Attachments: 1. Zip Archive MT950-incoming.zip (3 kB)
2. Zip Archive valid-950.zip (3 kB)


Tag Issue:


 Description  « Hide
C24 IO is unable to parse valid MT950 input message. attached MT950.zip for sample examples.
c24 parse error is:

biz.c24.io.api.ParserException: Minimum required instances of object not found: MT950iMessage/Block4/Field62aBalances
Probable causes:
   Choice element not found at offset 217 (line 6, column 26) whilst attempting to parse MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode
   Choice element not found at offset 217 (line 6, column 26) whilst attempting to parse MT950iMessage/Block4/Field61StatementLine
   Initiator(s) not found at offset 193 (line 6, column 2) whilst attempting to parse MT950iMessage/Block4/Field62aBalances
   Minimum required instances of object not found at offset 193 (line 6, column 2) whilst attempting to parse MT950iMessage/Block4
at biz.c24.io.api.presentation.DefaultSource.readObject(DefaultSource.java:285)
at biz.c24.io.api.presentation.DefaultSource.readObject(DefaultSource.java:259)
at biz.c24.io.ui.e.a(SourceFile:101)
at biz.c24.io.ui.j.b(SourceFile:69)
at biz.c24.io.viewer.C.run(SourceFile:2327)
at java.lang.Thread.run(Thread.java:595)
at biz.c24.bn.run(SourceFile:171)


 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Divan Mostert added a comment - Wed 21-Jun-06 08:06
Harpal,

Is this SWIFT May 2005?

Divan Mostert added a comment - Wed 21-Jun-06 09:06
Harpal,

I assumed that it is SWIFT May 2005.

The reason for the failure is because you have invalid data in the message.

Here is a snippet of the logging.

......
INFO - MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode : Assigning value 'SUB' to node MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode/TransactionTypeIDFormat3
DEBUG - MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode : Validating TransactionTypeIDFormat3
ERROR - MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode : Failed validation: The data does not match the enumeration - MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode
WARN - MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode : TransactionTypeIDFormat3 failed validation - MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode/TransactionTypeIDFormat3 : The data does not match the enumeration
......

This is therefore not a bug as the value SUB is not valid.

Harpal Kawatra added a comment - Wed 21-Jun-06 15:06
yes, this is SWIFT May 2005 and this is a valid message received by BGI from swift.

Harpal Kawatra added a comment - Wed 21-Jun-06 16:06
As per swift manual,

CODES
Subfield 6, Transaction Type Identification Code, may be completed in one of three ways (Error code(s): T53):
1. For entries related to SWIFT transfer instructions and subsequent charge messages:
Format: S3!n
The last three characters will indicate the message type of the SWIFT message causing the entry (for debit entries)
or the message type of the SWIFT message used to advise the account owner (for credit entries).
2. For entries related to payment and transfer instructions, including related charges messages, not sent through
SWIFT or where an alpha description is preferred.
Format: N3!c
3. For entries being first advised by the statement (items originated by the account servicing institution):
Format: F3!c
CODES
When formats (2) or (3) are used, the last three characters, ie, 3!c, may contain one of the following codes:
... then there is a list which doesn't include SUB

However, SWIFT doesn't validate this so we are receiving this code!
Also, the key is that it says "may contain" and not "must contain"

Divan Mostert added a comment - Wed 21-Jun-06 16:06
Ok, I see your point

Geoff Chick added a comment - Wed 21-Jun-06 18:06
Field 61 subfirld 6 formats 2 and 3 should not have been enumerated as the User handbook only states tat the list of values provided "may" be present, not "must"

The SWIFT May 2005 Data Dictionary. dod has been amended and checked in.

Harpal Kawatra added a comment - Wed 21-Jun-06 20:06
4 messages are valid now but following message unable to parse:

{1:F01BGIAGB2LDXXX0827197498}{2:O9500346060616CNORGB22AXXX82778793430606160346N}{3:{108:060616043986}}{4:
:20:X299S 2054451013
:25:BPC01/GBP/0001/01
:28C:152/001
:60F:C060615GBP3545189,05
:61:0606150615C669469,79FSUBNONREF//G0C0NN8
APPRO 622 TRADED 09 06 2006
:61:0606150615C20000000,FSALNONREF//HB56643
/NT/F449448/SHS/0,
:61:0606150615C21000000,FSALNONREF//HB57102
/NT/F449536/SHS/0,
:61:0606150615D20000000,FPCHNONREF//HB61707
/NT/F450900/SHS/0,
:61:0606150615D23000000,FPCHNONREF//HB61708
/NT/F450901/SHS/0,
:62F:C060615GOZGBP2214658,84
-}{5:{CHK:0C4543295CA5}}

C24 parse error:

biz.c24.io.api.ParserException: Minimum required instances of object not found: MT950iMessage/Block4/Field62aBalances
Probable causes:
   Choice element not found at offset 217 (line 6, column 26) whilst attempting to parse MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode
   Choice element not found at offset 217 (line 6, column 26) whilst attempting to parse MT950iMessage/Block4/Field61StatementLine
   Initiator(s) not found at offset 193 (line 6, column 2) whilst attempting to parse MT950iMessage/Block4/Field62aBalances
   Minimum required instances of object not found at offset 193 (line 6, column 2) whilst attempting to parse MT950iMessage/Block4
 at biz.c24.io.api.presentation.DefaultSource.readObject(DefaultSource.java:285)
 at biz.c24.io.api.presentation.DefaultSource.readObject(DefaultSource.java:259)
 at biz.c24.io.ui.e.a(SourceFile:101)
 at biz.c24.io.ui.j.b(SourceFile:69)
 at biz.c24.io.viewer.C.run(SourceFile:2327)
 at java.lang.Thread.run(Thread.java:595)
 at biz.c24.bn.run(SourceFile:171)


Simon Heinrich added a comment - Wed 21-Jun-06 21:06
Issue reopened give Harpal's last comment.

We will look at this tomorrow and let you know what we find.

Geoff Chick added a comment - Wed 21-Jun-06 21:06
The problem I believe is with this field

62F:C060615GOZGBP2214658,84

The format for :62F: according to the SWIFT user handbook is

Option F 1!a6!n3!a15d (D/C Mark) (Date) (Currency) (Amount)

I therefore can't see how this could have got through the SWIFT FIN network validation with the "GOZ" characters between the date and the currency.

Harpel, can you comment on where this message actually came from as it looks invalid to me?

Thanks

Geoff

Geoff Chick added a comment - Wed 21-Jun-06 21:06
Please see last comment

Harpal Kawatra added a comment - Wed 21-Jun-06 22:06
Thanks Geoff. Yes, this is a bad invalid message.

Please close this issue.

Simon Heinrich added a comment - Wed 21-Jun-06 22:06
Remarked as resolved on Harpal's request.

Harpal Kawatra added a comment - Thu 22-Jun-06 16:06
C24 is unable to parse attached valid SWIFT 950 messages.(SR 2005)

could you please look.

Parse error:
biz.c24.io.api.ParserException: Minimum required instances of object not found: MT950iMessage/Block4/Field62aBalances
Probable causes:
   Choice element not found at offset 485 (line 14, column 23) whilst attempting to parse MT950iMessage/Block4/Field61StatementLine/Default/TransactionTypeIDCode
   Choice element not found at offset 485 (line 14, column 23) whilst attempting to parse MT950iMessage/Block4/Field61StatementLine
   Initiator(s) not found at offset 464 (line 14, column 2) whilst attempting to parse MT950iMessage/Block4/Field62aBalances
   Minimum required instances of object not found at offset 464 (line 14, column 2) whilst attempting to parse MT950iMessage/Block4
at biz.c24.io.api.presentation.DefaultSource.readObject(DefaultSource.java:285)
at biz.c24.io.api.presentation.DefaultSource.readObject(DefaultSource.java:259)
at biz.c24.io.ui.e.a(SourceFile:101)
at biz.c24.io.ui.j.b(SourceFile:69)
at biz.c24.io.viewer.C.run(SourceFile:2327)
at java.lang.Thread.run(Thread.java:595)
at biz.c24.bn.run(SourceFile:171)

Simon Heinrich added a comment - Thu 22-Jun-06 17:06
This has been reproduced and was found to be a caused by a very obscure error in the IO API.

We have now fixed this problem and it will be released in version 3.5.2 which will be released early next week.