Products | Versions |
---|---|
TIBCO Adapter for SWIFT | - |
Not Applicable | - |
Resolution:
Description
========================
When customer uses SWIFT Render to validate the MT950 message the SWIFT BW plugin throws the following error:
Error T50 at /SWIFTRendererInput[1]/SWIFTMessage[1]/Text[1]/O__61__StatementLine[1]/item[1]/EntryDate[1]: invalid date MMDD value "0229"
Error T50 at /SWIFTRendererInput[1]/SWIFTMessage[1]/Text[1]/O__61__St
Environment
========================
TIBCO BusinessWorks Plug-in for SWIFTNet – FIN of TIBCO Adapter for SWIFT 5.9.0
SWIFT Specification 2011.
Cause
========================
This kind of error would happen if the message contains a field with date data type. It is due to the SWIFT BW plugin mis-considesr the leap year. As February has 29 days in a leap year, such as 2012, the BW plugin will validate the date “0229” as an invalid value.
Resolution
========================
This is just a temporary workaround and can be used at runtime. The project does not need to be redeployed.
Find Tags.xml under <adswift_home>/bin/data/2011. Backup the Tags.xml file first and then open this file with a text editor and find tag 61 by searching for the key word “TAG NAME="61"”. You can find the following part in the XML file. Remove “TYPE="DateMMDD"” from the <SUBFIELD NAME="Entry Date" INDEX="1" TYPE="DateMMDD"/>.
The original content:
-------------------------
<TAG NAME="61" FORMAT="6!n[4!n]2a[1!a]15d1!a3!c16x[//16x]#[34x]">
<SUBFIELD NAME="Date" INDEX="0" TYPE="DateYYMMDD"/>
<SUBFIELD NAME="Entry Date" INDEX="1" TYPE="DateMMDD"/>
-------------------------
After modification, this part of content should be:
-------------------------
<TAG NAME="61" FORMAT="6!n[4!n]2a[1!a]15d1!a3!c16x[//16x]#[34x]">
<SUBFIELD NAME="Date" INDEX="0" TYPE="DateYYMMDD"/>
<SUBFIELD NAME="Entry Date" INDEX="1"/>
-------------------------
With this change, the field Entry Date won’t be validated again and you can parse the message correctly. But since then SWIFT parser doesn’t validate this field, make sure your input value of the date with a correct format.
After finishing this modification restart your BW process to take it effective. This workaround also can expand to other message types. Find the tag which throws out the error in Tags.xml and remove the type from that tag.