ABAP Select data from SAP table RGTRANS into internal table
Get Example source ABAP code based on a different SAP table
Below is a number of ABAP code snippets to demonstrate how to select data from SAP RGTRANS table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to RGTRANS. See here for more generic Select statement tips.
Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.
There is also a full declaration of the RGTRANS table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.
DATA: IT_RGTRANS TYPE STANDARD TABLE OF RGTRANS, WA_RGTRANS TYPE RGTRANS, GD_STR TYPE STRING. DATA: lo_typedescr type REF TO cl_abap_typedescr. DATA: lv_fieldname type fieldname. FIELD-SYMBOLS: <FIELD> TYPE any. FIELD-SYMBOLS: <RGTRANS> TYPE RGTRANS. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_RGTRANS. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM RGTRANS INTO TABLE IT_RGTRANS. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM RGTRANS * INTO TABLE @DATA(IT_RGTRANS2). *--Further methods of using ABAP code to select data from SAP database tables *You can also declare the header/work area using the in-line DATA declaration method READ TABLE IT_RGTRANS INDEX 1 INTO DATA(WA_RGTRANS2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_RGTRANS ASSIGNING <RGTRANS>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<RGTRANS>-T881 = 1.
<RGTRANS>-T884C = 1.
<RGTRANS>-T894 = 1.
<RGTRANS>-T882 = 1.
<RGTRANS>-T880 = 1.
ENDLOOP. LOOP AT IT_RGTRANS INTO WA_RGTRANS. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_RGTRANS-T886, sy-vline,
WA_RGTRANS-T888, sy-vline,
WA_RGTRANS-T893, sy-vline,
WA_RGTRANS-T890, sy-vline,
WA_RGTRANS-T001B, sy-vline,
WA_RGTRANS-T001C, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RGTRANS you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_RGTRANS TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_RGTRANS INTO WA_RGTRANS. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_RGTRANS_STR,
T881 TYPE STRING,
T884C TYPE STRING,
T894 TYPE STRING,
T882 TYPE STRING,
T880 TYPE STRING,
T886 TYPE STRING,
T888 TYPE STRING,
T893 TYPE STRING,
T890 TYPE STRING,
T001B TYPE STRING,
T001C TYPE STRING,
T022 TYPE STRING,
T000C TYPE STRING,
T800M TYPE STRING,
T811 TYPE STRING,
T800D TYPE STRING,
T800A TYPE STRING,
T820 TYPE STRING,
T821 TYPE STRING,
T892U TYPE STRING,
T895 TYPE STRING,
T889 TYPE STRING,
T030 TYPE STRING,
T888R TYPE STRING,
T822 TYPE STRING,
T807 TYPE STRING,
T811C TYPE STRING,
T804 TYPE STRING,
T009 TYPE STRING,
SETS TYPE STRING,
GB93 TYPE STRING,
GB92 TYPE STRING,
GB01 TYPE STRING,
T100 TYPE STRING,
GB90 TYPE STRING,
MSAD TYPE STRING,
TOTAL TYPE STRING,
PARTIAL TYPE STRING,
T884 TYPE STRING,
T80U TYPE STRING,
T891B TYPE STRING,
T892B TYPE STRING,
RWLAYOUT TYPE STRING,
RWBIB TYPE STRING,
RWBERICHT TYPE STRING,
RWBERGRPE TYPE STRING,
RWDATEN TYPE STRING,
RWVORLAGE TYPE STRING,
RGSSET TYPE STRING,
RGSVARI TYPE STRING,
RWVARIANT TYPE STRING,END OF T_EKKO_STR. DATA: WA_RGTRANS_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_RGTRANS_STR-T881 sy-vline
WA_RGTRANS_STR-T884C sy-vline
WA_RGTRANS_STR-T894 sy-vline
WA_RGTRANS_STR-T882 sy-vline
WA_RGTRANS_STR-T880 sy-vline
WA_RGTRANS_STR-T886 sy-vline
WA_RGTRANS_STR-T888 sy-vline
WA_RGTRANS_STR-T893 sy-vline
WA_RGTRANS_STR-T890 sy-vline
WA_RGTRANS_STR-T001B sy-vline
WA_RGTRANS_STR-T001C sy-vline
WA_RGTRANS_STR-T022 sy-vline
WA_RGTRANS_STR-T000C sy-vline
WA_RGTRANS_STR-T800M sy-vline
WA_RGTRANS_STR-T811 sy-vline
WA_RGTRANS_STR-T800D sy-vline
WA_RGTRANS_STR-T800A sy-vline
WA_RGTRANS_STR-T820 sy-vline
WA_RGTRANS_STR-T821 sy-vline
WA_RGTRANS_STR-T892U sy-vline
WA_RGTRANS_STR-T895 sy-vline
WA_RGTRANS_STR-T889 sy-vline
WA_RGTRANS_STR-T030 sy-vline
WA_RGTRANS_STR-T888R sy-vline
WA_RGTRANS_STR-T822 sy-vline
WA_RGTRANS_STR-T807 sy-vline
WA_RGTRANS_STR-T811C sy-vline
WA_RGTRANS_STR-T804 sy-vline
WA_RGTRANS_STR-T009 sy-vline
WA_RGTRANS_STR-SETS sy-vline
WA_RGTRANS_STR-GB93 sy-vline
WA_RGTRANS_STR-GB92 sy-vline
WA_RGTRANS_STR-GB01 sy-vline
WA_RGTRANS_STR-T100 sy-vline
WA_RGTRANS_STR-GB90 sy-vline
WA_RGTRANS_STR-MSAD sy-vline
WA_RGTRANS_STR-TOTAL sy-vline
WA_RGTRANS_STR-PARTIAL sy-vline
WA_RGTRANS_STR-T884 sy-vline
WA_RGTRANS_STR-T80U sy-vline
WA_RGTRANS_STR-T891B sy-vline
WA_RGTRANS_STR-T892B sy-vline
WA_RGTRANS_STR-RWLAYOUT sy-vline
WA_RGTRANS_STR-RWBIB sy-vline
WA_RGTRANS_STR-RWBERICHT sy-vline
WA_RGTRANS_STR-RWBERGRPE sy-vline
WA_RGTRANS_STR-RWDATEN sy-vline
WA_RGTRANS_STR-RWVORLAGE sy-vline
WA_RGTRANS_STR-RGSSET sy-vline
WA_RGTRANS_STR-RGSVARI sy-vline
WA_RGTRANS_STR-RWVARIANT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.