Last active
March 18, 2019 15:21
-
-
Save kkayacan/3099fe2f47a1f95376b2f97f1e1af2dd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CLASS lcl_test DEFINITION. | |
PUBLIC SECTION. | |
TYPES: BEGIN OF st_list, | |
tabname TYPE dd03l-tabname, | |
fieldname TYPE dd03l-fieldname, | |
keyflag TYPE dd03l-keyflag, | |
rollname TYPE dd03l-rollname, | |
ddtext TYPE dd03t-ddtext, | |
END OF st_list. | |
CLASS-DATA: t_list TYPE TABLE OF st_list, | |
t_text TYPE TABLE OF st_list. | |
CLASS-METHODS: retrieve_data, | |
process_data, | |
display_data. | |
ENDCLASS. | |
CLASS lcl_test IMPLEMENTATION. | |
METHOD retrieve_data. | |
SELECT tabname fieldname keyflag rollname UP TO 100000 ROWS | |
FROM dd03l INTO CORRESPONDING FIELDS OF TABLE t_list | |
WHERE as4local = 'A'. | |
IF t_list IS NOT INITIAL. | |
SELECT tabname fieldname ddtext FROM dd03t | |
INTO CORRESPONDING FIELDS OF TABLE t_text | |
FOR ALL ENTRIES IN t_list | |
WHERE tabname = t_list-tabname | |
AND ddlanguage = 'E' | |
AND as4local = 'A' | |
AND fieldname = t_list-fieldname. | |
ENDIF. | |
ENDMETHOD. | |
METHOD process_data. | |
FIELD-SYMBOLS: <ls_list> TYPE st_list, | |
<ls_text> TYPE st_list. | |
LOOP AT t_list ASSIGNING <ls_list>. | |
READ TABLE t_text ASSIGNING <ls_text> WITH KEY tabname = <ls_list>-tabname | |
fieldname = <ls_list>-fieldname. | |
IF sy-subrc = 0. | |
<ls_list>-ddtext = <ls_text>-ddtext. | |
ENDIF. | |
ENDLOOP. | |
ENDMETHOD. | |
METHOD display_data. | |
DATA lo_salv TYPE REF TO cl_salv_table. | |
cl_salv_table=>factory( | |
IMPORTING | |
r_salv_table = lo_salv | |
CHANGING | |
t_table = t_list ). | |
lo_salv->display( ). | |
ENDMETHOD. | |
ENDCLASS. | |
START-OF-SELECTION. | |
lcl_test=>retrieve_data( ). | |
END-OF-SELECTION. | |
lcl_test=>process_data( ). | |
lcl_test=>display_data( ). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment