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 /** Array of field packagers indexed by field number. */ 036 protected ISOFieldPackager fld[] = { 037 /*000*/ new IFA_NUMERIC ( 4, "MESSAGE TYPE INDICATOR"), 038 /*001*/ new IFB_BITMAP ( 16, "BIT MAP"), 039 /*002*/ new IFA_LLNUM ( 19, "PAN - PRIMARY ACCOUNT NUMBER"), 040 /*003*/ new IFA_NUMERIC ( 6, "PROCESSING CODE"), 041 /*004*/ new IFA_NUMERIC ( 12, "AMOUNT, TRANSACTION"), 042 /*005*/ new IFA_NUMERIC ( 12, "AMOUNT, SETTLEMENT"), 043 /*006*/ new IFA_NUMERIC ( 12, "AMOUNT, CARDHOLDER BILLING"), 044 /*007*/ new IFA_NUMERIC ( 10, "TRANSMISSION DATE AND TIME"), 045 /*008*/ new IFA_NUMERIC ( 8, "AMOUNT, CARDHOLDER BILLING FEE"), 046 /*009*/ new IFA_NUMERIC ( 8, "CONVERSION RATE, SETTLEMENT"), 047 /*010*/ new IFA_NUMERIC ( 8, "CONVERSION RATE, CARDHOLDER BILLING"), 048 /*011*/ new IFA_NUMERIC ( 6, "SYSTEM TRACE AUDIT NUMBER"), 049 /*012*/ new IFA_NUMERIC ( 6, "TIME, LOCAL TRANSACTION"), 050 /*013*/ new IFA_NUMERIC ( 4, "DATE, LOCAL TRANSACTION"), 051 /*014*/ new IFA_NUMERIC ( 4, "DATE, EXPIRATION"), 052 /*015*/ new IFA_NUMERIC ( 4, "DATE, SETTLEMENT"), 053 /*016*/ new IFA_NUMERIC ( 4, "DATE, CONVERSION"), 054 /*017*/ new IFA_NUMERIC ( 4, "DATE, CAPTURE"), 055 /*018*/ new IFA_NUMERIC ( 4, "MERCHANTS TYPE"), 056 /*019*/ new IFA_NUMERIC ( 3, "ACQUIRING INSTITUTION COUNTRY CODE"), 057 /*020*/ new IFA_NUMERIC ( 3, "PAN EXTENDED COUNTRY CODE"), 058 /*021*/ new IFA_NUMERIC ( 3, "FORWARDING INSTITUTION COUNTRY CODE"), 059 /*022*/ new IFA_NUMERIC ( 3, "POINT OF SERVICE ENTRY MODE"), 060 /*023*/ new IFA_NUMERIC ( 3, "CARD SEQUENCE NUMBER"), 061 /*024*/ new IFA_NUMERIC ( 3, "NETWORK INTERNATIONAL IDENTIFIEER"), 062 /*025*/ new IFA_NUMERIC ( 2, "POINT OF SERVICE CONDITION CODE"), 063 /*026*/ new IFA_NUMERIC ( 2, "POINT OF SERVICE PIN CAPTURE CODE"), 064 /*027*/ new IFA_NUMERIC ( 1, "AUTHORIZATION IDENTIFICATION RESP LEN"), 065 /*028*/ new IFA_AMOUNT ( 9, "AMOUNT, TRANSACTION FEE"), 066 /*029*/ new IFA_AMOUNT ( 9, "AMOUNT, SETTLEMENT FEE"), 067 /*030*/ new IFA_AMOUNT ( 9, "AMOUNT, TRANSACTION PROCESSING FEE"), 068 /*031*/ new IFA_AMOUNT ( 9, "AMOUNT, SETTLEMENT PROCESSING FEE"), 069 /*032*/ new IFA_LLNUM ( 11, "ACQUIRING INSTITUTION IDENT CODE"), 070 /*033*/ new IFA_LLNUM ( 11, "FORWARDING INSTITUTION IDENT CODE"), 071 /*034*/ new IFA_LLCHAR ( 28, "PAN EXTENDED"), 072 /*035*/ new IFA_LLNUM ( 37, "TRACK 2 DATA"), 073 /*036*/ new IFA_LLLCHAR (104, "TRACK 3 DATA"), 074 /*037*/ new IF_CHAR ( 12, "RETRIEVAL REFERENCE NUMBER"), 075 /*038*/ new IF_CHAR ( 6, "AUTHORIZATION IDENTIFICATION RESPONSE"), 076 /*039*/ new IF_CHAR ( 2, "RESPONSE CODE"), 077 /*040*/ new IF_CHAR ( 3, "SERVICE RESTRICTION CODE"), 078 /*041*/ new IF_CHAR ( 8, "CARD ACCEPTOR TERMINAL IDENTIFICACION"), 079 /*042*/ new IF_CHAR ( 15, "CARD ACCEPTOR IDENTIFICATION CODE" ), 080 /*043*/ new IF_CHAR ( 40, "CARD ACCEPTOR NAME/LOCATION"), 081 /*044*/ new IFA_LLCHAR ( 25, "ADITIONAL RESPONSE DATA"), 082 /*045*/ new IFA_LLCHAR ( 76, "TRACK 1 DATA"), 083 /*046*/ new IFA_LLLCHAR (999, "ADITIONAL DATA - ISO"), 084 /*047*/ new IFA_LLLCHAR (999, "ADITIONAL DATA - NATIONAL"), 085 /*048*/ new IFA_LLLCHAR (999, "ADITIONAL DATA - PRIVATE"), 086 /*049*/ new IF_CHAR ( 3, "CURRENCY CODE, TRANSACTION"), 087 /*050*/ new IF_CHAR ( 3, "CURRENCY CODE, SETTLEMENT"), 088 /*051*/ new IF_CHAR ( 3, "CURRENCY CODE, CARDHOLDER BILLING" ), 089 /*052*/ new IFA_BINARY ( 8, "PIN DATA" ), 090 /*053*/ new IFA_NUMERIC ( 16, "SECURITY RELATED CONTROL INFORMATION"), 091 /*054*/ new IFA_LLLCHAR (120, "ADDITIONAL AMOUNTS"), 092 /*055*/ new IFA_LLLCHAR (999, "RESERVED ISO"), 093 /*056*/ new IFA_LLLCHAR (999, "RESERVED ISO"), 094 /*057*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL"), 095 /*058*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL"), 096 /*059*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL"), 097 /*060*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE"), 098 /*061*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE"), 099 /*062*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE"), 100 /*063*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE"), 101 /*064*/ new IFA_BINARY ( 8, "MESSAGE AUTHENTICATION CODE FIELD"), 102 /*065*/ new IFA_BINARY ( 1, "BITMAP, EXTENDED"), 103 /*066*/ new IFA_NUMERIC ( 1, "SETTLEMENT CODE"), 104 /*067*/ new IFA_NUMERIC ( 2, "EXTENDED PAYMENT CODE"), 105 /*068*/ new IFA_NUMERIC ( 3, "RECEIVING INSTITUTION COUNTRY CODE"), 106 /*069*/ new IFA_NUMERIC ( 3, "SETTLEMENT INSTITUTION COUNTRY CODE"), 107 /*070*/ new IFA_NUMERIC ( 3, "NETWORK MANAGEMENT INFORMATION CODE"), 108 /*071*/ new IFA_NUMERIC ( 4, "MESSAGE NUMBER"), 109 /*072*/ new IFA_NUMERIC ( 4, "MESSAGE NUMBER LAST"), 110 /*073*/ new IFA_NUMERIC ( 6, "DATE ACTION"), 111 /*074*/ new IFA_NUMERIC ( 10, "CREDITS NUMBER"), 112 /*075*/ new IFA_NUMERIC ( 10, "CREDITS REVERSAL NUMBER"), 113 /*076*/ new IFA_NUMERIC ( 10, "DEBITS NUMBER"), 114 /*077*/ new IFA_NUMERIC ( 10, "DEBITS REVERSAL NUMBER"), 115 /*078*/ new IFA_NUMERIC ( 10, "TRANSFER NUMBER"), 116 /*079*/ new IFA_NUMERIC ( 10, "TRANSFER REVERSAL NUMBER"), 117 /*080*/ new IFA_NUMERIC ( 10, "INQUIRIES NUMBER"), 118 /*081*/ new IFA_NUMERIC ( 10, "AUTHORIZATION NUMBER"), 119 /*082*/ new IFA_NUMERIC ( 12, "CREDITS, PROCESSING FEE AMOUNT"), 120 /*083*/ new IFA_NUMERIC ( 12, "CREDITS, TRANSACTION FEE AMOUNT"), 121 /*084*/ new IFA_NUMERIC ( 12, "DEBITS, PROCESSING FEE AMOUNT"), 122 /*085*/ new IFA_NUMERIC ( 12, "DEBITS, TRANSACTION FEE AMOUNT"), 123 /*086*/ new IFA_NUMERIC ( 16, "CREDITS, AMOUNT"), 124 /*087*/ new IFA_NUMERIC ( 16, "CREDITS, REVERSAL AMOUNT"), 125 /*088*/ new IFA_NUMERIC ( 16, "DEBITS, AMOUNT"), 126 /*089*/ new IFA_NUMERIC ( 16, "DEBITS, REVERSAL AMOUNT"), 127 /*090*/ new IFA_NUMERIC ( 42, "ORIGINAL DATA ELEMENTS"), 128 /*091*/ new IF_CHAR ( 1, "FILE UPDATE CODE"), 129 /*092*/ new IF_CHAR ( 2, "FILE SECURITY CODE"), 130 /*093*/ new IF_CHAR ( 6, "RESPONSE INDICATOR"), 131 /*094*/ new IF_CHAR ( 7, "SERVICE INDICATOR"), 132 /*095*/ new IF_CHAR ( 42, "REPLACEMENT AMOUNTS"), 133 /*096*/ new IFA_BINARY ( 16, "MESSAGE SECURITY CODE"), 134 /*097*/ new IFA_AMOUNT ( 17, "AMOUNT, NET SETTLEMENT"), 135 /*098*/ new IF_CHAR ( 25, "PAYEE"), 136 /*099*/ new IFA_LLNUM ( 11, "SETTLEMENT INSTITUTION IDENT CODE"), 137 /*100*/ new IFA_LLNUM ( 11, "RECEIVING INSTITUTION IDENT CODE"), 138 /*101*/ new IFA_LLCHAR ( 17, "FILE NAME"), 139 /*102*/ new IFA_LLCHAR ( 28, "ACCOUNT IDENTIFICATION 1"), 140 /*103*/ new IFA_LLCHAR ( 28, "ACCOUNT IDENTIFICATION 2"), 141 /*104*/ new IFA_LLLCHAR (100, "TRANSACTION DESCRIPTION"), 142 /*105*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 143 /*106*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 144 /*107*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 145 /*108*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 146 /*109*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 147 /*110*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 148 /*111*/ new IFA_LLLCHAR (999, "RESERVED ISO USE"), 149 /*112*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 150 /*113*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 151 /*114*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE" ), 152 /*115*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 153 /*116*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE" ), 154 /*117*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 155 /*118*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 156 /*119*/ new IFA_LLLCHAR (999, "RESERVED NATIONAL USE"), 157 /*120*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 158 /*121*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 159 /*122*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 160 /*123*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 161 /*124*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 162 /*125*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 163 /*126*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 164 /*127*/ new IFA_LLLCHAR (999, "RESERVED PRIVATE USE"), 165 /*128*/ new IFA_BINARY ( 8, "MAC 2"), 166 }; 167 /** Default constructor. */ 168 public ISO87APackagerBBitmap() { 169 super(); 170 setFieldPackager(fld); 171 } 172}