Showing results for 
Search instead for 
Did you mean: 

IGS COnverted BMP Image upload problem in SE78

Former Member
0 Kudos

HI Friends,

I Converted the JPEG image into BMP ormat by using IGS. It is converting properly. i am able to see the BMP image. When i am trying to upload it through the SE78 i am getting the short dump.

If convert it manually, i am able to upload the image. i did not get the any difference between these two including file size, width and height.

I attached the shortdump and converted image file as an attachment. Can anyone give me inputs where i am missing the target.



Thanks ,

Srinivas Bhavanam

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Solved, this is Basis problem

Active Contributor
0 Kudos

HI Srinivasa,

I was wondering what exactly on the BASIS side resolved this?

I was in contact with an IGS developer re this case, he has yet to get back to me - but your solution might be of interest to him?

Thanks in advance,



Former Member
0 Kudos

Hi Oisin,

Sorry for Late reply.

Image conversion is happening properly on Linux System (QAS & PRD). We are getting problem with Solaris System (DEV).

In Solaris it is taking the High resolution , where as in Linux it is converting with 1DPI resolution.


Srinivas Bhavanam

Active Contributor
0 Kudos

Hi Srinivas,

Can you also paste the relevant dump data into the message.

Shortdump Runtime Error: COMPUTE_INT_TIMES_OVERFLOW means that a

value that is too large when calculating and the field is too small.

The reason for your problem could be that the graphic uses a very high resolution.



Former Member
0 Kudos

Hi Oisin,

Sorry for the Late Reply. I am using IGS 6.40 with solaris system.

If i am converting the image from my desktop i am getting 96DPI resolution. Where as if i am doing it from IGS i am getting 30682172 DPI resolution.

I am using SAP 4.7. Is it the latest patch level or latest IGS supported.

Short Dump :



Occurred on 03.03.2010 at 11:04:30


Whole number overflow on multiplication.


What happened?


Error in ABAP application program.

The current ABAP program "SAPLSTXBITMAPS" had to be terminated because one of


statements could not be executed.

This is probably due to an error in the ABAP program.


What can you do?


Print out the error message (using the "Print" function)

and make a note of the actions and input that caused the


To resolve the problem, contact your SAP system administrator.

You can use transaction ST22 (ABAP Dump Analysis) to view and administer

termination messages, especially those beyond their normal deletion



Error analysis


An exception occurred. This exception is dealt with in more detail below

. The exception, which is assigned to the class 'CX_SY_ARITHMETIC_OVERFLOW',

was neither

caught nor passed along using a RAISING clause, in the procedure



Since the caller of the procedure could not have expected this exception

to occur, the running program was terminated.

The reason for the exception is:

In the current program "SAPLSTXBITMAPS", multiplying the numbers 1207959552 and

100 (using the operation * or 'MULTIPLY') resulted in a value

greater than 2147483647 or smaller than -2147483648. This

results in a whole number overflow.


How to correct the error


The exception must either be prevented, caught within the procedure


"(FORM)", or declared in the procedure's RAISING clause.

To prevent the exception, note the following:

You may be able to split the process into separate components, so that

the values generated are smaller.

If the error occurred in one of your own programs or in an SAP program

that you modified, try to correct it yourself.

If you cannot solve the problem yourself, please send the

following documents to SAP:

1. A hard copy print describing the problem.

To obtain this, select the "Print" function on the current screen.


2. A suitable hardcopy prinout of the system log.

To obtain this, call the system log with Transaction SM21

and select the "Print" function to print out the relevant


3. If the programs are your own programs or modified SAP programs,

supply the source code.

To do this, you can either use the "PRINT" command in the editor or

print the programs using the report RSINCL00.

4. Details regarding the conditions under which the error occurred

or which actions and input led to the error.


System environment


SAP Release.............. "620"

Application server....... "EWR0R3DEV002"

Network address.......... ""

Operating system......... "SunOS"

Release.................. "5.9"

Hardware type............ "sun4u"

Character length......... 16 Bits

Pointer length........... 64 Bits

Work process number...... 0

Short dump setting....... "full"

Database server.......... "EWR0R3DEV002"

Database type............ "ORACLE"

Database name............ "I07"

Database owner........... "SAPRGG"

Character set............ "C"

SAP kernel............... "640"

Created on............... "Mar 9 2009 21:04:19"

Created in............... "SunOS 5.8 Generic_117350-38 sun4u"

Database version......... "OCI_920 "

Patch level.............. "274"

Patch text............... " "

Supported environment....

Database................. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE


SAP database version..... "640"

Operating system......... "SunOS 5.8, SunOS 5.9, SunOS 5.10"


User, transaction...


Client.............. 999

User................ "SREDDY"

Language key........ "E"

Transaction......... "SE78 "

Program............. "SAPLSTXBITMAPS"

Screen.............. "SAPLSTXBITMAPS 4001"

Screen line......... 8


Information on where terminated


The termination occurred in the ABAP program "SAPLSTXBITMAPS" in


The main program was "SAPMSSCH ".

The termination occurred in line 1959 of the source code of the (Include)

program "LSTXBITMAPSF03"

of the source code of program "LSTXBITMAPSF03" (when calling the editor 19590).

Processing was terminated because the exception "CX_SY_ARITHMETIC_OVERFLOW"

occurred in the

procedure "FILL_BMFILE_FROM_BMP" "(FORM)" but was not handled locally, not

declared in the

RAISING clause of the procedure.

The procedure is in the program "SAPLSTXBITMAPS ". Its source code starts in

line 1843

of the (Include) program "LSTXBITMAPSF03 ".


Source code extract


019290 endcase.

019300 * compression

019310 perform bmptab_getdword_ofs tables bitmap_file

019320 using ofs bmp_compression.

019330 case bmp_compression.

019340 when c_bmp_compr_rgb. "BI_RGB, uncompressed

019350 when c_bmp_compr_rle8. "BI_RLE8, 256 colors colormap, rle encoding

019360 when c_bmp_compr_rle4. "BI_RLE8, 16 colors colormap, rle encoding

019370 when others. message e872 raising bmperr_unsup_compression.

019380 endcase.

019390 * size of image

019400 perform bmptab_getdword_ofs tables bitmap_file

019410 using ofs bmp_sizeimage.

019420 * pix per meter X

019430 perform bmptab_getlong_ofs tables bitmap_file

019440 using ofs bmp_xpelspermeter.

019450 * pix per meter Y

019460 perform bmptab_getlong_ofs tables bitmap_file

019470 using ofs bmp_ypelspermeter.

019480 * colors used

019490 perform bmptab_getdword_ofs tables bitmap_file

019500 using ofs word.

019510 * colors important

019520 perform bmptab_getdword_ofs tables bitmap_file

019530 using ofs word.

019540 ofs_rgbquad = ofs_bitmapinfoheader + bmp_bisize.

019550 * now we have OFS_RGBQUAD -> color table

019560 * OFS_BITMAPDATA -> bitmap bytes

019570 otf_bminfo-new_rd_format = c_false.

019580 otf_bminfo-is_resident = c_false.


> otf_bminfo-dpi = ( bmp_xpelspermeter * 100 ) / 3937.

019600 perform bmp_adjust_dpi using otf_bminfo-dpi.

019610 otf_bminfo-w_pix = bmp_width.

019620 otf_bminfo-h_pix = abs( bmp_height ).

019630 otf_bminfo-w_tw = ( 1440 * otf_bminfo-w_pix ) / otf_bminfo-dpi.

019640 otf_bminfo-h_tw = ( 1440 * otf_bminfo-h_pix ) / otf_bminfo-dpi.

019650 case bmp_bitcount.

019660 when 1.

019670 otf_bminfo-bitsperpix = 1.

019680 otf_bminfo-bytes_per_row = otf_bminfo-w_pix div 8.

019690 rest = otf_bminfo-w_pix mod 8.

019700 when 4.

019710 otf_bminfo-bitsperpix = 4.

019720 otf_bminfo-bytes_per_row = otf_bminfo-w_pix div 2.

019730 rest = otf_bminfo-w_pix mod 2.

019740 when 8.

019750 otf_bminfo-bitsperpix = 8.

019760 otf_bminfo-bytes_per_row = otf_bminfo-w_pix.

019770 rest = 0.

019780 when 24.

Thanks & Regards,

Srinivas Bhavanam

Active Contributor
0 Kudos

The issue is the resolution. 30682172 DPI (dots per inch) resolution is really huge. Can you describe how you are passing the image through to the IGS to be converted from a JPEG image into a BMP image?

Former Member
0 Kudos

Hi ,

I am using the below code to pass the data to IGS.



filename = i_file_name

filetype = 'BIN'


filelength = l_content_length


data_tab = mime

EXCEPTIONS file_open_error = 1

file_read_error = 2

no_batch = 3

gui_refuse_filetransfer = 4

invalid_type = 5

no_authority = 6

unknown_error = 7

bad_data_format = 8

header_not_allowed = 9

separator_not_allowed = 10

header_too_long = 11

unknown_dp_error = 12

access_denied = 13

dp_out_of_memory = 14

disk_full = 15

dp_timeout = 16

OTHERS = 17 .

IF sy-subrc = 0.




CREATE OBJECT i_igs_image_converter .

i_igs_image_converter->input = 'image/jpeg'.

i_igs_image_converter->output = 'image/x-ms-bmp'.

i_igs_image_converter->width = '640'.

i_igs_image_converter->height = '480'.

CALL METHOD i_igs_image_converter->set_image


blob = mime

blob_size = L_BYTECOUNT. "l_content_length.

CALL METHOD i_igs_image_converter->execute


communication_error = 1

internal_error = 2

external_error = 3


IF sy-subrc = 0.

CALL METHOD i_igs_image_converter->get_image


blob = blob

blob_size = blob_size

blob_type = blob_type.


If i am doing the conversion from JPEG to TIFF or GIF, the resolution is good with 96 DPI, where as for only BMP conversion i am getting the resolution(Herizontal and Verical Resolution) problem.

I do not what happening from IGS side, when ever i am using the IGS converted BMP image to upload to SAP through SE78 i am getting the shortdump.

Thanks & Regards,

Srinivas Bhavanam

Active Contributor
0 Kudos

Hi Srinivas,

How exactly are you converting the JPEG image into BMP format by using the IGS?

What interpreter are you using to do this? also what IGS version ar you using?