Oct 18, 2006 - 01:02 PM
Could you explain a bit more what your problem is?
Is it the ISO 8583 format that you don't understand, or is it the specific programming environment you're using, that you need help creating the bitmap? Which language are you programming in?
Oct 18, 2006 - 01:03 PM
Oct 20, 2006 - 10:41 AM
I'm developping an Financial application that must send ISO8583 Message to remote Financial Server using C#, till now i can send the network message 1804 with fields (1,7,11,12,24,37,53,93,94), but when i check the log file of th remote server, it goes to parse other fields like (3,4,5,15, etc), and this because of the bitmaps.
a bitmap is an indicator of presence of fields, an ISO8583 message can have at least 1 bitmap. the first one indicates presence of ths first 64 fields, and the second indicates the presence of the last 64 fields.
for example the network ISO8583 Message 1804 must have the following fields (1,7,11,12,24,37,53,93,94) so the bitmaps will be :
Bitmap 1: 1000001000110000000000010000000000001000000000000000000000000000
Bitmap 2: 0000000000000000000000000000110000000000000000000000000000000000
Bitmap 1 :8230010008000800
Bitmap 2 :0000000C00000000
in wikipedia.org, i understand that the bitmaps must be Empacted into 8bits (binary).
How can i Empact the bitmaps??
May 19, 2007 - 10:45 PM
Have you understood the bitmap format??
Jul 17, 2007 - 03:22 AM
public byte Pack()
int len = Length; // Get the length of the bitmap
len /= 8; // The length of the encoded bitmap
byte data = new byte[len]; // create a byte array
string bits = ToString(); // Get a "011010001001" representation of the bitmap
for (int i = 0; i < len; i++)
string thisByte = bits.Substring(i * 8, 8); // 8 bits = 1 byte
byte b = Convert.ToByte(thisByte, 2); // Convert it to a byte
data[i] = b; // assign to the byte array
I hope this helps
Jan 13, 2009 - 03:32 PM
It’s easy to do. HEre is an example.
-Find the request/response message format and identify the primary and secondary segments needed for this message.
-Mark a 1 for each primary segment required in the request and a 0 for each primary segment absent in the request. Segments starting at P1 through P64.
-In this example, we need P1, P3 , P4 , P7 ,P11 ,P12, P13 ,P37 ,P41 ,P48 ,P60.
-When you mark zero’s and Ones, it will be 1011001000111000000000000000000000001000100000010000000000010000 .
-Now group it by 4 when it will be like
1011 0010 0011 1000 0000 0000 0000 0000 0000 1000 1000 0001 0000 0000 0001 0000 .
-Get the Hex value of each of the 4 groups.
1011 = B
0010 = 2
0011 = 3
1000 = 8
and so on
-Now put them all together to get the primary bitmap B238000008810010