|
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. yes, this is SWIFT May 2005 and this is a valid message received by BGI from swift.
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" 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. 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) Issue reopened give Harpal's last comment.
We will look at this tomorrow and let you know what we find. 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 Thanks Geoff. Yes, this is a bad invalid message.
Please close this issue. Remarked as resolved on Harpal's request.
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) 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. |
|||||||||||||||||||||||||||||||||||||||||||||||||
Is this SWIFT May 2005?