Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Runtime Errors dump DATA_OFFSET_LENGTH_TOO_LARGE

Former Member
0 Kudos

Hi guys,

I'm working a executable program for SF and i want apply seach help on field mseg-mblnr .

so i am using CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'.

i got an error when executing a programe.

Runtime Errors DATA_OFFSET_LENGTH_TOO_LARGE

Exception CX_SY_RANGE_OUT_OF_BOUNDS

Date and Time 27.05.2011 13:56:43

What happened?

Error in the ABAP Application Program

The current ABAP program "SAPLSDH4" had to be terminated because it has

come across a statement that unfortunately cannot be executed.

Error analysis

An exception occurred that is explained in detail below.

The exception, which is assigned to class 'CX_SY_RANGE_OUT_OF_BOUNDS', was not

caught in

procedure "CONVERT_RESULT" "(FORM)", nor was it propagated by a RAISING clause.

Since the caller of the procedure could not have anticipated that the

exception would occur, the current program is terminated.

The reason for the exception is:

In the running program "SAPLSDH4", the field "<RECORD_OLD>", which is of the

type "X" and

length 2000, was to be accessed with the offset 1994 and the length 24.

However, subfield accesses in which the sum of the offset and length

specifications is greater than the field length are not allowed.

how to solved this problem?

guide me.............

7 REPLIES 7

Former Member
0 Kudos

Please provide the code so that It will be easy for us to identify the issue.

0 Kudos

Hi,

< program Code.......

SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001 .

*PARAMETERS : MBLNR LIKE mseg-mblnr.

SELECT-OPTIONS: mblnr for mseg-mblnr.

SELECTION-SCREEN : END OF BLOCK b1.

at selection-screen on value-request for mblnr-LOW .

at selection-screen on value-request for mblnr-HIGH .

data: dynfields type table of dynpread with header line.

dynfields-fieldname = 'MBLNR'.

append dynfields.

call function 'DYNP_VALUES_READ'

exporting

dyname = sy-cprog

dynumb = sy-dynnr

translate_to_upper = 'X'

tables

dynpfields = dynfields

exceptions

invalid_abapworkarea = 1

invalid_dynprofield = 2

invalid_dynproname = 3

invalid_dynpronummer = 4

invalid_request = 5

no_fielddescription = 6

invalid_parameter = 7

undefind_error = 8

double_conversion = 9

stepl_not_found = 10

others = 11.

read table dynfields with key fieldname = 'MBLNR'.

MBLNR = dynfields-fieldvalue.

call function 'CONVERSION_EXIT_ALPHA_INPUT'

exporting

input = MBLNR

importing

output = MBLNR.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

formname = lv_name

IMPORTING

FM_NAME = lv_form

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

SELECT matnr

menge

mblnr

ebeln

meins

werks FROM mseg INTO CORRESPONDING FIELDS OF TABLE t_mseg

WHERE mblnr IN mblnr.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'

exporting

retfield = 'MBLNR'

dynprofield = 'MBLNR'

dynpprog = sy-cprog

dynpnr = sy-dynnr

value_org = 'S'

tables

value_tab = T_MSEG.

CALL FUNCTION lv_form "'/1BCDWB/SF00000190'

EXPORTING

USER_SETTINGS = 'X'

TABLES

t_mseg = t_mseg

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

>

guide me................................

0 Kudos

I did not understand ur purpose with the below code.

SELECT matnr

menge

mblnr

ebeln

meins

werks FROM mseg INTO CORRESPONDING FIELDS OF TABLE t_mseg

WHERE mblnr IN mblnr.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'

exporting

retfield = 'MBLNR'

dynprofield = 'MBLNR'

dynpprog = sy-cprog

dynpnr = sy-dynnr

value_org = 'S'

tables

value_tab = T_MSEG.

CALL FUNCTION lv_form "'/1BCDWB/SF00000190'

EXPORTING

USER_SETTINGS = 'X'

TABLES

t_mseg = t_mseg

IF sy-subrc 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

If you explain your requirement I am more thankful to you.

Edited by: subas Bose on May 27, 2011 12:39 PM

0 Kudos

Dear,

I am working on zprogram for smartform in which i am using select option for range of material Document ( MSEG-MBLNR ).

when i can press F4 key in field of material doc. don't show search help.

i did also check MSEG table in which MBLNR field assign without seach help in MSEG table.

i also know that when we create a program with select opton then Automatic create seach help.

so,

i am using FM : F4IF_INT_TABLE_VALUE_REQUEST.

guide me........

0 Kudos

HI

call function 'DYNP_VALUES_READ'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
tables
dynpfields = dynfields " You added a field MBLNR to dynfields 
exceptions

read table dynfields with key fieldname = 'MBLNR'.
" And you are trying to pass the value back here so you r passing the Value to a structure with fields sing option low and high
"as you said below which is giving the Error since the fisrt field SIGN accepts only I or E only
MBLNR = dynfields-fieldvalue.

The Issue is with in the following code as your MBLNR is of Select-option type which means

with SIGN OPTION LOW and HIGH where as after conversion or before conversion you are passing MBLNR_SIGN MBLNR-OPTIN etc to Function module which is resulting in dump

"Or Optionally you might need to loop this Select Options and modify the Low and HIgh Values explicitly 
" Or Just Dont proivide the option of Intervals and Extension 

"Explore other Options in this way , To the best of my knowledge this is causing you the DUMP
 
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting  " Or take it as PARAMETER if you want a single Material Document number
input = MBLNR "Change it to MBLNR-LOW or HIG 
importing
output = MBLNR. "Change it to MBLNR-LOW or HIGH

Cheerz

Ramchander Rao.K

0 Kudos

Former Member

Hey, this issue occurs when the structur of VALUE_TAB is too big or you have to many fields in there.

Try to reduce the fields in VALUE_TAB to the necessary ones and then it should work. I think the field length of all fields combined should not exceed 1000 characters.

Kind regards

Stefan