Answers

Oct 18, 2006 - 01:02 PM
Hi jirimail,
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?
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
did you check the description here of ISO 8583: http://en.wikipedia.org/wiki/ISO_8583...

Oct 20, 2006 - 10:41 AM
Hi,
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
Hexadecimal format
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??
Thank you
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
Hexadecimal format
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??
Thank you

May 19, 2007 - 10:45 PM
Hi jirimail,
Have you understood the bitmap format??
Have you understood the bitmap format??

Jul 17, 2007 - 03:22 AM
Your problem is probably from dealing with a string rather than a byte array, and the bitmap being scrambled by your encoding before it hits the network. Here is my C# Pack method:
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
}
return data;
}
I hope this helps
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
}
return data;
}
I hope this helps

Jan 13, 2009 - 03:32 PM
http://en.wikipedia.org/wiki/ISO_8583
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
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
Add New Comment