‎2006 Oct 09 4:15 AM
Hi All,
I have a ALV report with a Button with a Function Code.
I select a record and click on the button to get another ALV report.
It goes fine till then , but when i want to come back using BACK code it dumps stating
The program tried to assign a new value to a field even though
it is protected against changes.
The following objects are protected:
- Character or numeric literals,
- Constants (CONSTANTS),
- Function module and method parameters with the type IMPORTING
REFERENCE,
- Untyped field symbols to which a field has not yet been assigned
using ASSIGN,
- TABLES parameters, if the corresponding actual parameter is protected
against changes,
- USING reference parameters and CHANGING parameters in subroutines, if
the
actual parameter is protected against changes,
- Field symbols, if the field assigned using ASSIGN is protected against
changes,
- External write access to attributes with the READ-ONLY property,
- Key components of lines of internal tables with the type HASHED or
SORTED TABLE.
Here is teh Dumb analysis, Do i need to clear something before calling another ALV list fron One list ?
What happened?
Error in ABAP application program.
The current ABAP program "SAPLSLVC_FULLSCREEN " had to be terminated beca
one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
The field you want to overwrite is a parameter or a field symbol:
Declare the parameter as a VALUE parameter or pass an auxiliary field
to which you assigned the value from the constant before the call.
Alternatively, you can assign the auxiliary field to the field symbol
instead of the constant.
If the error occurred in one of your own programs or in an SAP program
that you modified, try to correct it yourself.
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"MOVE_TO_LIT_NOTALLOWED_NODATA" C
"SAPLSLVC_FULLSCREEN " or "LSLVC_FULLSCREENF02 "
"MARKS_SAVE"
Information on where termination occurred
The termination occurred in the ABAP program "SAPLSLVC_FULLSCREEN " in
"MARKS_SAVE".
The main program was "ZBOM_DIST ".
The termination occurred in line 606 of the source code of the (Include)
program "LSLVC_FULLSCREENF02 "
of the source code of program "LSLVC_FULLSCREENF02 " (when calling the editor
6060).
‎2006 Oct 09 5:02 AM
Marc,
Sounds like the program's trying to change one of the object attributes which is delcared in the Private Section of a Class. Can you post the code.
Cheers,
Sougata.
‎2006 Oct 28 1:28 PM
Can anyone reply to this?? As Iam also getting the same error at the same line and same program when i does the same thing as stated by the person posted this query...
Thanks in advance for the help!!!!
‎2006 Oct 30 10:56 AM
Hello All,
This works fine in 4.6C version but in 4.7 it dumps because in 4.7 the control goes to the following line(<l_box> = ' '.) but in 4.6C the control dosent go to that line
a small piece of the code where its dumping:
if l_ucomm eq '&SAL' or l_ucomm eq '&ALL'.
if l_ucomm eq '&SAL'.
loop at t_outtab.
l_tabix = l_tabix + 1.
<l_box> = ' '.
modify t_outtab index l_tabix.
endloop.
Thanks in advance...
Regards,
Santhosh
‎2006 Oct 30 5:00 PM
Thanks everybody for spending time on this.
The problem is solved...
‎2007 Jan 04 11:04 PM
Hello Santhosh,
Can you tell me please How do you solve the problem? I'm having the same dump (MOVE_TO_LIT_NOTALLOWED_NODATA).
I was looking for information but I'm still in the same point.
Thank so much in advance for your help.
Maria
‎2007 Jan 25 7:51 AM
Hi Santhosh,
That will be great if you can share your knowledge on how to resolve the problem.
Thanks in advance.
‎2008 Feb 04 2:57 PM
I had a similar problem.
My solution was to add the field "selkz", which is assigned to the structure is_layout-box... in my case, to the structure of the table t_outtab.
--> maybe you have something similar: the structure of your table t_outtab might need some extra fields....
‎2006 Oct 29 10:39 AM
Hello Marc
Using the following sample report with two ALV list I do not get any short dumps. Perhaps I am missing some settings that you have defined in your report.
*&---------------------------------------------------------------------*
*& Report ZUS_SDN_REUSE_ALV_GRID_DISPLAY
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zus_sdn_reuse_alv_grid_display.
TYPE-POOLS: slis.
DATA:
gt_t001 TYPE STANDARD TABLE OF t001,
gt_knb1 TYPE STANDARD TABLE OF knb1.
DATA:
gs_fcat TYPE slis_fieldcat_alv,
gt_fcat_t001 TYPE slis_t_fieldcat_alv,
gt_fcat_knb1 TYPE slis_t_fieldcat_alv.
START-OF-SELECTION.
SELECT * FROM t001 INTO TABLE gt_t001.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
* I_PROGRAM_NAME =
* I_INTERNAL_TABNAME =
i_structure_name = 'T001'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_INCLNAME =
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = gt_fcat_t001
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = syst-cprog
i_callback_pf_status_set = 'ALV_SET_PF_STATUS'
i_callback_user_command = 'ALV_USER_COMMAND'
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME = ' '
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
it_fieldcat = gt_fcat_t001
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_t001
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
END-OF-SELECTION.
*&--------------------------------------------------------------------*
*& Form set_pf_status
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->RT_EXTAB text
*---------------------------------------------------------------------*
FORM alv_set_pf_status USING rt_extab TYPE slis_t_extab.
<b>* NOTE: identical to STANDARD_FULLSCREEN with additional button for detail list ('DETAILLIST')</b>
SET PF-STATUS 'STANDARD_FULLSCREEN'.
ENDFORM. "set_pf_status
*&--------------------------------------------------------------------*
*& Form alv_user_command
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->R_UCOMM text
* -->RS_SELFIELDtext
*---------------------------------------------------------------------*
FORM alv_user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
<b>* Display detail list: all customers for selected company code</b>
check ( r_ucomm = 'DETAILLIST' ).
IF ( rs_selfield-fieldname = 'BUKRS' ).
SELECT * FROM knb1 INTO TABLE gt_knb1
WHERE bukrs = rs_selfield-value.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = syst-cprog
i_callback_pf_status_set = ' '
i_callback_user_command = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = 'KNB1'
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_knb1
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. "alv_user_commandRegards
Uwe