05-27-2011 9:53 AM
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.............
05-27-2011 11:16 AM
Please provide the code so that It will be easy for us to identify the issue.
05-27-2011 11:31 AM
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................................
05-27-2011 11:36 AM
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
05-27-2011 11:49 AM
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........
05-27-2011 11:50 AM
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
05-27-2011 12:02 PM
Hi,
check the below link...
http://www.erpgenie.com/sap-technical/abap/call-f4-help-from-selection-screen
it will help you.
Ram.
09-25-2015 12:03 PM
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