on 2021 Dec 16 8:46 AM
I have the following code:
CLEAR: go_t1.
SELECT *
FROM mara
INTO TABLE @DATA(gt_mara)
UP TO 10 ROWS.
CREATE OBJECT go_t1
EXPORTING
container_name = 'CONTAINER'.
CREATE OBJECT go_splitter
EXPORTING
parent = go_t1
rows = 2
columns = 1.
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = o_grid.
CALL METHOD go_splitter->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = o_grid1.
TRY.
cl_salv_table=>factory(
EXPORTING
r_container = o_grid
IMPORTING
r_salv_table = alv
CHANGING
t_table = gt_mara ).
CATCH cx_salv_msg
cx_salv_not_found
cx_salv_data_error
cx_salv_existing
cx_salv_wrong_call INTO DATA(lo_x).
MESSAGE lo_x TYPE 'E'.
ENDTRY.
alv->display( ).
and I am getting the the following error : Field symbol has not been assigned yet.
and I have no idea why this is happening...
Request clarification before answering.
Be careful to NOT declare the ALV internal table as local, otherwise you will have a short dump (it may not be immediate, it depends on the global quantity of data (total number of bytes/characters of all cells displayed / versus given amount of bytes/characters buffered on frontend); if not immediate, it may happen after a number of ALV page scrolling, when the frontend needs to acquire more data of the internal table from the backend).
I don't reproduce the bug with this minimal reproducible program:
REPORT.
DATA: go_splitter TYPE REF TO cl_gui_splitter_container,
o_grid TYPE REF TO cl_gui_container,
alv TYPE REF TO cl_salv_table,
gt_mara TYPE TABLE OF mara.
PARAMETERS dummy.
AT SELECTION-SCREEN OUTPUT.
CHECK go_splitter IS NOT BOUND.
SELECT *
FROM mara
INTO TABLE gt_mara
UP TO 10 ROWS.
CREATE OBJECT go_splitter
EXPORTING
parent = cl_gui_container=>screen0
rows = 2
columns = 1.
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = o_grid.
TRY.
cl_salv_table=>factory(
EXPORTING
r_container = o_grid
IMPORTING
r_salv_table = alv
CHANGING
t_table = gt_mara ).
CATCH cx_salv_msg
cx_salv_not_found
cx_salv_data_error
cx_salv_existing
cx_salv_wrong_call INTO DATA(lo_x).
MESSAGE lo_x TYPE 'I' DISPLAY LIKE 'E'.
ENDTRY.
alv->display( ).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
73 | |
20 | |
9 | |
9 | |
7 | |
5 | |
4 | |
4 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.