001/* 002 * jPOS Project [http://jpos.org] 003 * Copyright (C) 2000-2026 jPOS Software SRL 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package org.jpos.iso.packager; 020 021import org.jpos.iso.*; 022 023/** 024 * ISO 8583 v1987 ASCII Packager but using Binary Bitmap. 025 * 026 * All fields ascii except binary bitmap. 027 * 028 * @author Alwyn Schoeman` 029 * @version $Revision$ $Date$ 030 * @see ISOPackager 031 * @see ISOBasePackager 032 * @see ISOComponent 033 */ 034public class ISO87APackagerBBitmap extends ISOBasePackager { 035 protected ISOFieldPackager fld[] = { 036 /*000*/ new IFA_NUMERIC ( 4, "MESSAGE TYPE INDICATOR"), 037 /*001*/ new IFB_BITMAP ( 16, "BIT MAP"), 038 /*002*/ new IFA_LLNUM ( 19, "PAN - PRIMARY ACCOUNT NUMBER"), 039 /*003*/ new IFA_NUMERIC ( 6, "PROCESSING CODE"), 040 /*004*/ new IFA_NUMERIC ( 12, "AMOUNT, TRANSACTION"), 041 /*005*/ new IFA_NUMERIC ( 12, "AMOUNT, SETTLEMENT"), 042 /*006*/ new IFA_NUMERIC ( 12, "AMOUNT, CARDHOLDER BILLING"), 043 /*007*/ new IFA_NUMERIC ( 10, "TRANSMISSION DATE AND TIME"), 044 /*008*/ new IFA_NUMERIC ( 8, "AMOUNT, CARDHOLDER BILLING FEE"), 045 /*009*/ new IFA_NUMERIC ( 8, "CONVERSION RATE, SETTLEMENT"), 046 /*010*/ new IFA_NUMERIC ( 8, "CONVERSION RATE, CARDHOLDER BILLING"), 047 /*011*/ new IFA_NUMERIC ( 6, "SYSTEM TRACE AUDIT NUMBER"), 048 /*012*/ new IFA_NUMERIC ( 6, "TIME, LOCAL TRANSACTION"), 049 /*013*/ new IFA_NUMERIC ( 4, "DATE, LOCAL TRANSACTION"), 050 /*014*/ new IFA_NUMERIC ( 4, "DATE, EXPIRATION"), 051 /*015*/ new IFA_NUMERIC ( 4, "DATE, SETTLEMENT"), 052 /*016*/ new IFA_NUMERIC ( 4, "DATE, CONVERSION"), 053 /*017*/ new IFA_NUMERIC ( 4, "DATE, CAPTURE"), 054 /*018*/ new IFA_NUMERIC ( 4, "MERCHANTS TYPE"), 055 /*019*/ new IFA_NUMERIC ( 3, "ACQUIRING INSTITUTION COUNTRY CODE"), 056 /*020*/ new IFA_NUMERIC ( 3, "PAN EXTENDED COUNTRY CODE"), 057 /*021*/ new IFA_NUMERIC ( 3, "FORWARDING INSTITUTION COUNTRY CODE"), 058 /*022*/ new IFA_NUMERIC ( 3, "POINT OF SERVICE ENTRY MODE"), 059 /*023*/ new IFA_NUMERIC ( 3, "CARD SEQUENCE NUMBER"), 060 /*024*/ new IFA_NUMERIC ( 3, "NETWORK INTERNATIONAL IDENTIFIEER"), 061 /*025*/ new IFA_NUMERIC ( 2, "POINT OF SERVICE CONDITION CODE"), 062 /*026*/ new IFA_NUMERIC ( 2, "POINT OF SERVICE PIN CAPTURE CODE"), 063 /*027*/ new IFA_NUMERIC ( 1, "AUTHORIZATION IDENTIFICATION RESP LEN"), 064 /*028*/ new IFA_AMOUNT ( 9, "AMOUNT, TRANSACTION FEE"), 065 /*029*/ new IFA_AMOUNT ( 9, "AMOUNT, SETTLEMENT FEE"), 066 /*030*/ new IFA_AMOUNT ( 9, "AMOUNT, TRANSACTION PROCESSING FEE"), 067 /*031*/ new IFA_AMOUNT ( 9, "AMOUNT, SETTLEMENT PROCESSING FEE"), 068 /*032*/ new IFA_LLNUM ( 11, "ACQUIRING INSTITUTION IDENT CODE"), 069 /*033*/ new IFA_LLNUM ( 11, "FORWARDING INSTITUTION IDENT CODE"), 070 /*034*/ new IFA_LLCHAR ( 28, "PAN EXTENDED"), 071 /*035*/ new IFA_LLNUM ( 37, "TRACK 2 DATA"), 072 /*036*/ new IFA_LLLCHAR (104, "TRACK 3 DATA"), 073 /*037*/ new IF_CHAR ( 12, "RETRIEVAL REFERENCE NUMBER"), 074 /*038*/ new IF_CHAR ( 6, "AUTHORIZATION IDENTIFICATION RESPONSE"), 075 /*039*/ new IF_CHAR ( 2, "RESPONSE CODE"), 076 /*040*/ new IF_CHAR ( 3, "SERVICE RESTRICTION CODE"), 077 /*041*/ new IF_CHAR ( 8, "CARD ACCEPTOR TERMINAL IDENTIFICACION"), 078 /*042*/ new IF_CHAR ( 15, "CARD ACCEPTOR IDENTIFICATION CODE" ), 079 /*043*/ new IF_CHAR ( 40, "CARD ACCEPTOR NAME/LOCATION"), 080 /*044*/ new IFA_LLCHAR ( 25, "ADITIONAL RESPONSE DATA"), 081 /*045*/ new IFA_LLCHAR ( 76, "TRACK 1 DATA"), 082 /*046*/ new IFA_LLLCHAR (999, "ADITIONAL DATA - ISO"), 083 /*047*/ new IFA_LLLCHAR (999, "ADITIONAL DATA - NATIONAL"), 084 /*048*/ new IFA_LLLCHAR (999, "ADITIONAL DATA - PRIVATE"), 085 /*049*/ new IF_CHAR ( 3, "CURRENCY CODE, TRANSACTION"), 086 /*050*/ new IF_CHAR ( 3, "CURRENCY CODE, SETTLEMENT"), 087 /*051*/ new IF_CHAR ( 3, "CURRENCY CODE, CARDHOLDER BILLING" ), 088 /*052*/ new IFA_BINARY ( 8, "PIN DATA" ), 089 /*053*/ new IFA_NUMERIC ( 16, "SECURITY RELATED CONTROL INFORMATION"), 090 /*054*/ new IFA_LLLCHAR (120, "ADDITIONAL AMOUNTS"), 091 /*055*/ new IFA_LLLCHAR (999, "RESERVED ISO"), 092 /*056*/ new IFA_LLLCHAR (999, "RESERVED ISO"), 093 /*057*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL"), 094 /*058*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL"), 095 /*059*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL"), 096 /*060*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE"), 097 /*061*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE"), 098 /*062*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE"), 099 /*063*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE"), 100 /*064*/ new IFA_BINARY ( 8, "MESSAGE AUTHENTICATION CODE FIELD"), 101 /*065*/ new IFA_BINARY ( 1, "BITMAP, EXTENDED"), 102 /*066*/ new IFA_NUMERIC ( 1, "SETTLEMENT CODE"), 103 /*067*/ new IFA_NUMERIC ( 2, "EXTENDED PAYMENT CODE"), 104 /*068*/ new IFA_NUMERIC ( 3, "RECEIVING INSTITUTION COUNTRY CODE"), 105 /*069*/ new IFA_NUMERIC ( 3, "SETTLEMENT INSTITUTION COUNTRY CODE"), 106 /*070*/ new IFA_NUMERIC ( 3, "NETWORK MANAGEMENT INFORMATION CODE"), 107 /*071*/ new IFA_NUMERIC ( 4, "MESSAGE NUMBER"), 108 /*072*/ new IFA_NUMERIC ( 4, "MESSAGE NUMBER LAST"), 109 /*073*/ new IFA_NUMERIC ( 6, "DATE ACTION"), 110 /*074*/ new IFA_NUMERIC ( 10, "CREDITS NUMBER"), 111 /*075*/ new IFA_NUMERIC ( 10, "CREDITS REVERSAL NUMBER"), 112 /*076*/ new IFA_NUMERIC ( 10, "DEBITS NUMBER"), 113 /*077*/ new IFA_NUMERIC ( 10, "DEBITS REVERSAL NUMBER"), 114 /*078*/ new IFA_NUMERIC ( 10, "TRANSFER NUMBER"), 115 /*079*/ new IFA_NUMERIC ( 10, "TRANSFER REVERSAL NUMBER"), 116 /*080*/ new IFA_NUMERIC ( 10, "INQUIRIES NUMBER"), 117 /*081*/ new IFA_NUMERIC ( 10, "AUTHORIZATION NUMBER"), 118 /*082*/ new IFA_NUMERIC ( 12, "CREDITS, PROCESSING FEE AMOUNT"), 119 /*083*/ new IFA_NUMERIC ( 12, "CREDITS, TRANSACTION FEE AMOUNT"), 120 /*084*/ new IFA_NUMERIC ( 12, "DEBITS, PROCESSING FEE AMOUNT"), 121 /*085*/ new IFA_NUMERIC ( 12, "DEBITS, TRANSACTION FEE AMOUNT"), 122 /*086*/ new IFA_NUMERIC ( 16, "CREDITS, AMOUNT"), 123 /*087*/ new IFA_NUMERIC ( 16, "CREDITS, REVERSAL AMOUNT"), 124 /*088*/ new IFA_NUMERIC ( 16, "DEBITS, AMOUNT"), 125 /*089*/ new IFA_NUMERIC ( 16, "DEBITS, REVERSAL AMOUNT"), 126 /*090*/ new IFA_NUMERIC ( 42, "ORIGINAL DATA ELEMENTS"), 127 /*091*/ new IF_CHAR ( 1, "FILE UPDATE CODE"), 128 /*092*/ new IF_CHAR ( 2, "FILE SECURITY CODE"), 129 /*093*/ new IF_CHAR ( 6, "RESPONSE INDICATOR"), 130 /*094*/ new IF_CHAR ( 7, "SERVICE INDICATOR"), 131 /*095*/ new IF_CHAR ( 42, "REPLACEMENT AMOUNTS"), 132 /*096*/ new IFA_BINARY ( 16, "MESSAGE SECURITY CODE"), 133 /*097*/ new IFA_AMOUNT ( 17, "AMOUNT, NET SETTLEMENT"), 134 /*098*/ new IF_CHAR ( 25, "PAYEE"), 135 /*099*/ new IFA_LLNUM ( 11, "SETTLEMENT INSTITUTION IDENT CODE"), 136 /*100*/ new IFA_LLNUM ( 11, "RECEIVING INSTITUTION IDENT CODE"), 137 /*101*/ new IFA_LLCHAR ( 17, "FILE NAME"), 138 /*102*/ new IFA_LLCHAR ( 28, "ACCOUNT IDENTIFICATION 1"), 139 /*103*/ new IFA_LLCHAR ( 28, "ACCOUNT IDENTIFICATION 2"), 140 /*104*/ new IFA_LLLCHAR (100, "TRANSACTION DESCRIPTION"), 141 /*105*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 142 /*106*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 143 /*107*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 144 /*108*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 145 /*109*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 146 /*110*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 147 /*111*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 148 /*112*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 149 /*113*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 150 /*114*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE" ), 151 /*115*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 152 /*116*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE" ), 153 /*117*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 154 /*118*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 155 /*119*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 156 /*120*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 157 /*121*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 158 /*122*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 159 /*123*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 160 /*124*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 161 /*125*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 162 /*126*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 163 /*127*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 164 /*128*/ new IFA_BINARY ( 8, "MAC 2"), 165 }; 166 public ISO87APackagerBBitmap() { 167 super(); 168 setFieldPackager(fld); 169 } 170}