I have been working on developing a package creator for generating an IPM clearing file that includes individual messages/transactions. One of the fields in this file is DE48, with a maximum length of 999 characters. DE48 contains various PDS (including cavV and transaction ID) fields. I have successfully created a packaged message with the PDS inside DE48, and everything functions properly as long as the length of DE48 does not exceed 170 positions (approximately 85 bytes). Strangely, no errors are thrown during the packaging process. However, when I attempt to parse it using the IPM tool, an error occurs stating "DE 2: Invalid number." If I reduce the length by removing some fields, the parsing works correctly.
I am unsure where the issue lies, but I have included a snapshot of my packager configuration and the TLV code. I would greatly appreciate any assistance you can provide.
PACKAGER XML :
<isofieldpackager
id="48"
name="Additional Data"
length="999"
class="org.jpos.iso.IFE_LLLCHAR"
token="0000"
emitBitmap="false"
packager="org.jpos.tlv.packager.TaggedSequencePackager">
<isofield
id="1"
length="99"
token="####"
name="Default Tag Packager"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="2"
length="3"
token="0023"
name="Currecy code and exponents"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="3"
length="7"
token="0026"
name="File reversal indicator"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="4"
length="25"
token="0105"
name="File ID"
class="org.jpos.tlv.packager.IFTA_LLLNUM"/>
<isofield
id="5"
length="25"
token="0110"
name="Transmission ID"
class="org.jpos.tlv.packager.IFTA_LLLNUM"/>
<isofield
id="6"
length="1"
token="0122"
name="Processing Mode"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="7"
length="60"
token="0148"
name="Currecy code and exponents"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="8"
length="30"
token="0165"
name="Currecy code and exponents"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="9"
token="0184"
name="Trn Ind"
length="199"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="10"
token="0185"
name="Recurring Trn Ind"
length="199"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="11"
token="0186"
name="Recurring Trn Ind"
length="1"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="12"
length="1"
token="0191"
name="Orignating message format"
class="org.jpos.tlv.packager.IFTA_LLLCHAR"/>
<isofield
id="13"
length="16"
token="0301"
name="File Amount, Checksum"
class="org.jpos.tlv.packager.IFTA_LLLNUM"/>
<isofield
id="14"
length="8"
token="0306"
name="File Message Counts"
class="org.jpos.tlv.packager.IFTA_LLLNUM"/>
</isofieldpackager>
SAMPLE CODE :
ISOMsg field48 = new ISOMsg(48);
tagValueSequence.add(new LiteralTagValue("0023", "CT6"));
tagValueSequence.add(new LiteralTagValue("0148", "7040"));
tagValueSequence.add(new LiteralTagValue("0165", "M"));
tagValueSequence.add(new LiteralTagValue("0158", ISOUtil.padleft(this.transactionIrd,12,' ')));
// tagValueSequence.add(new LiteralTagValue("0184", cbsTxnId));
tagValueSequence.add(new LiteralTagValue("0185", "kL"));
tagValueSequence.writeTo(field48);
isoMsg.set(field48);
--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/d982f8bf-c14c-4347-bd17-70a6b1210734n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/y4qdsuDQQGYXcxwoFl51kXAt_mvAEMvF9gYRpQ2IUb_l_nrqpV0gKYegvESgBITAYHvJJOrAPCDKoSkNUxZp5abdahyIZJCug3SVTS3Hlpo%3D%40pm.me.
Output
0000 30 31 30 30 00 00 00 00 00 01 00 00 F2 F6 F3 F0 0100............ 0010 F0 F2 F3 F0 F0 F3 C3 E3 F6 F0 F1 F4 F8 F0 F0 F4 ................ 0020 F7 F0 F4 F0 F0 F1 F6 F5 F0 F0 F1 D4 F0 F1 F5 F8 ................ 0030 F0 F1 F2 40 40 40 40 40 40 F1 F2 F3 F4 F5 F6 F0 ...@@@@@@....... 0040 F1 F8 F4 F1 F9 F9 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 0050 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 0060 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 0070 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 0080 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 0090 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 00a0 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 00b0 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 00c0 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 00d0 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 00e0 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 00f0 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 ................ 0100 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F0 F1 F8 ................ 0110 F5 F0 F0 F2 92 D3 ...... <isomsg> <!-- org.jpos.iso.packager.GenericPackager --> <field id="0" value="0100"/> <isomsg id="48"> <0023><field id="1" value="CT6"/></0023> <0148><field id="2" value="7040"/></0148> <0165><field id="3" value="M"/></0165> <0158><field id="4" value=" 123456"/></0158> <0184><field id="5" value="1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"/></0184> <0185><field id="6" value="kL"/></0185> </isomsg> </isomsg> 2630023003CT6014800470400165001M0158012 123456018419911111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110185002kLtagValueSequence.writeTo(field48);
temporary ISOfield contains the all the de48 value(literal TLV) and then it writes to actual ISO message using
place in the variable field48?
yes
Seems to me you are not using the package, but handling field 48 yourself and have bit shared that code - which j guess is not forming the result correctly to match the ipm parse.
Does IPM indicate what it sees in field 1 (perhaps longer or shorter than you expect, so that it looks for field 2 in the wrong place?
Unfortunately, I don't have access to MC proprietary tool. But some there is a link that can help to parse the file (https://paymentcardtools.com/cli-utils/ipm2json). This is also giving the same error.
You received this message because you are subscribed to a topic in the Google Groups "jPOS Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jpos-users/3oVNn4XAACw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jpos-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/35cb59b5-536c-4560-8635-dd5c3aa1ef7dn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/CAPazefAVoMS%3DPkQqbVS3%3Dn7TVGu6EcGmFDJ3qY5pz%2BT%2BAeOZFQ%40mail.gmail.com.
--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/50d98b77-3c53-41b1-a9b0-1eec43777567n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/RcU9yDIrtFwG5TsMBvvwxDCqCjEBr--p29GEDTkdlmdS9eORuRc4p7MWzc0Ci9zq1XJOw_FSv9wGD9swf78nXLL9tYW_25DmM3FSJpFuEhY%3D%40pm.me.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/bcca3bce-1816-41aa-b9e8-e53348cab5d0n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/06aeb747-35cd-491e-b697-7aba64d9a66fn%40googlegroups.com.