ABAP Select data from SAP table RGPLP 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 RGPLP 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 RGPLP. 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 RGPLP 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_RGPLP TYPE STANDARD TABLE OF RGPLP,
      WA_RGPLP TYPE RGPLP,
      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: <RGPLP> TYPE RGPLP.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_RGPLP.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM RGPLP
  INTO TABLE IT_RGPLP.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RGPLP
*  INTO TABLE @DATA(IT_RGPLP2).
*--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_RGPLP INDEX 1 INTO DATA(WA_RGPLP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RGPLP ASSIGNING <RGPLP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RGPLP>-WTGMAN0101 = 1.
<RGPLP>-WOGMAN0101 = 1.
<RGPLP>-WKGMAN0101 = 1.
<RGPLP>-MEGMAN0101 = 1.
<RGPLP>-LSTMAN0102 = 1.
ENDLOOP.

LOOP AT IT_RGPLP INTO WA_RGPLP.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RGPLP-KAPMAN0102, sy-vline,
WA_RGPLP-AUSMAN0102, sy-vline,
WA_RGPLP-AEQMAN0102, sy-vline,
WA_RGPLP-TOGMAN0102, sy-vline,
WA_RGPLP-TOFMAN0102, sy-vline,
WA_RGPLP-TKGMAN0102, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RGPLP 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_RGPLP 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_RGPLP INTO WA_RGPLP. *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_RGPLP_STR,
WTGMAN0101 TYPE STRING,
WOGMAN0101 TYPE STRING,
WKGMAN0101 TYPE STRING,
MEGMAN0101 TYPE STRING,
LSTMAN0102 TYPE STRING,
KAPMAN0102 TYPE STRING,
AUSMAN0102 TYPE STRING,
AEQMAN0102 TYPE STRING,
TOGMAN0102 TYPE STRING,
TOFMAN0102 TYPE STRING,
TKGMAN0102 TYPE STRING,
TKFMAN0102 TYPE STRING,
MEGMAN0103 TYPE STRING,
SMEMAN0104 TYPE STRING,
SMAMAN0104 TYPE STRING,
WTGMAN0106 TYPE STRING,
WTFMAN0106 TYPE STRING,
WOGMAN0106 TYPE STRING,
WOFMAN0106 TYPE STRING,
WKGMAN0106 TYPE STRING,
WKFMAN0106 TYPE STRING,
MEGMAN0106 TYPE STRING,
MEFMAN0106 TYPE STRING,
MEGMAN0107 TYPE STRING,
MEFMAN0107 TYPE STRING,
WTGDIS0101 TYPE STRING,
WOGDIS0101 TYPE STRING,
WKGDIS0101 TYPE STRING,
MEGDIS0101 TYPE STRING,
MEFDIS0101 TYPE STRING,
LSTDIS0102 TYPE STRING,
KAPDIS0102 TYPE STRING,
AUSDIS0102 TYPE STRING,
DISDIS0102 TYPE STRING,
AEQDIS0102 TYPE STRING,
TOGDIS0102 TYPE STRING,
TOFDIS0102 TYPE STRING,
TKGDIS0102 TYPE STRING,
TKFDIS0102 TYPE STRING,
WOGDIS0102 TYPE STRING,
WOFDIS0102 TYPE STRING,
WKGDIS0102 TYPE STRING,
WKFDIS0102 TYPE STRING,
MEGDIS0103 TYPE STRING,
MEFDIS0103 TYPE STRING,
TOGDIS0103 TYPE STRING,
TOFDIS0103 TYPE STRING,
TKGDIS0103 TYPE STRING,
TKFDIS0103 TYPE STRING,
WTGDIS0103 TYPE STRING,
WOGDIS0103 TYPE STRING,
WOFDIS0103 TYPE STRING,
WKGDIS0103 TYPE STRING,
WKFDIS0103 TYPE STRING,
SMEDIS0104 TYPE STRING,
SMADIS0104 TYPE STRING,
WTGDIS0106 TYPE STRING,
WTFDIS0106 TYPE STRING,
WOGDIS0106 TYPE STRING,
WOFDIS0106 TYPE STRING,
WKGDIS0106 TYPE STRING,
WKFDIS0106 TYPE STRING,
MEGDIS0106 TYPE STRING,
MEFDIS0106 TYPE STRING,
MEGDIS0107 TYPE STRING,
MEFDIS0107 TYPE STRING,
TOGDIS0107 TYPE STRING,
TOFDIS0107 TYPE STRING,
TKGDIS0107 TYPE STRING,
TKFDIS0107 TYPE STRING,
WTGDIS0107 TYPE STRING,
WOFDIS0107 TYPE STRING,
WOGDIS0107 TYPE STRING,
BOFDIS0107 TYPE STRING,
WKGDIS0107 TYPE STRING,
BKFDIS0107 TYPE STRING,
WKFDIS0107 TYPE STRING,END OF T_EKKO_STR. DATA: WA_RGPLP_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_RGPLP_STR-WTGMAN0101 sy-vline
WA_RGPLP_STR-WOGMAN0101 sy-vline
WA_RGPLP_STR-WKGMAN0101 sy-vline
WA_RGPLP_STR-MEGMAN0101 sy-vline
WA_RGPLP_STR-LSTMAN0102 sy-vline
WA_RGPLP_STR-KAPMAN0102 sy-vline
WA_RGPLP_STR-AUSMAN0102 sy-vline
WA_RGPLP_STR-AEQMAN0102 sy-vline
WA_RGPLP_STR-TOGMAN0102 sy-vline
WA_RGPLP_STR-TOFMAN0102 sy-vline
WA_RGPLP_STR-TKGMAN0102 sy-vline
WA_RGPLP_STR-TKFMAN0102 sy-vline
WA_RGPLP_STR-MEGMAN0103 sy-vline
WA_RGPLP_STR-SMEMAN0104 sy-vline
WA_RGPLP_STR-SMAMAN0104 sy-vline
WA_RGPLP_STR-WTGMAN0106 sy-vline
WA_RGPLP_STR-WTFMAN0106 sy-vline
WA_RGPLP_STR-WOGMAN0106 sy-vline
WA_RGPLP_STR-WOFMAN0106 sy-vline
WA_RGPLP_STR-WKGMAN0106 sy-vline
WA_RGPLP_STR-WKFMAN0106 sy-vline
WA_RGPLP_STR-MEGMAN0106 sy-vline
WA_RGPLP_STR-MEFMAN0106 sy-vline
WA_RGPLP_STR-MEGMAN0107 sy-vline
WA_RGPLP_STR-MEFMAN0107 sy-vline
WA_RGPLP_STR-WTGDIS0101 sy-vline
WA_RGPLP_STR-WOGDIS0101 sy-vline
WA_RGPLP_STR-WKGDIS0101 sy-vline
WA_RGPLP_STR-MEGDIS0101 sy-vline
WA_RGPLP_STR-MEFDIS0101 sy-vline
WA_RGPLP_STR-LSTDIS0102 sy-vline
WA_RGPLP_STR-KAPDIS0102 sy-vline
WA_RGPLP_STR-AUSDIS0102 sy-vline
WA_RGPLP_STR-DISDIS0102 sy-vline
WA_RGPLP_STR-AEQDIS0102 sy-vline
WA_RGPLP_STR-TOGDIS0102 sy-vline
WA_RGPLP_STR-TOFDIS0102 sy-vline
WA_RGPLP_STR-TKGDIS0102 sy-vline
WA_RGPLP_STR-TKFDIS0102 sy-vline
WA_RGPLP_STR-WOGDIS0102 sy-vline
WA_RGPLP_STR-WOFDIS0102 sy-vline
WA_RGPLP_STR-WKGDIS0102 sy-vline
WA_RGPLP_STR-WKFDIS0102 sy-vline
WA_RGPLP_STR-MEGDIS0103 sy-vline
WA_RGPLP_STR-MEFDIS0103 sy-vline
WA_RGPLP_STR-TOGDIS0103 sy-vline
WA_RGPLP_STR-TOFDIS0103 sy-vline
WA_RGPLP_STR-TKGDIS0103 sy-vline
WA_RGPLP_STR-TKFDIS0103 sy-vline
WA_RGPLP_STR-WTGDIS0103 sy-vline
WA_RGPLP_STR-WOGDIS0103 sy-vline
WA_RGPLP_STR-WOFDIS0103 sy-vline
WA_RGPLP_STR-WKGDIS0103 sy-vline
WA_RGPLP_STR-WKFDIS0103 sy-vline
WA_RGPLP_STR-SMEDIS0104 sy-vline
WA_RGPLP_STR-SMADIS0104 sy-vline
WA_RGPLP_STR-WTGDIS0106 sy-vline
WA_RGPLP_STR-WTFDIS0106 sy-vline
WA_RGPLP_STR-WOGDIS0106 sy-vline
WA_RGPLP_STR-WOFDIS0106 sy-vline
WA_RGPLP_STR-WKGDIS0106 sy-vline
WA_RGPLP_STR-WKFDIS0106 sy-vline
WA_RGPLP_STR-MEGDIS0106 sy-vline
WA_RGPLP_STR-MEFDIS0106 sy-vline
WA_RGPLP_STR-MEGDIS0107 sy-vline
WA_RGPLP_STR-MEFDIS0107 sy-vline
WA_RGPLP_STR-TOGDIS0107 sy-vline
WA_RGPLP_STR-TOFDIS0107 sy-vline
WA_RGPLP_STR-TKGDIS0107 sy-vline
WA_RGPLP_STR-TKFDIS0107 sy-vline
WA_RGPLP_STR-WTGDIS0107 sy-vline
WA_RGPLP_STR-WOFDIS0107 sy-vline
WA_RGPLP_STR-WOGDIS0107 sy-vline
WA_RGPLP_STR-BOFDIS0107 sy-vline
WA_RGPLP_STR-WKGDIS0107 sy-vline
WA_RGPLP_STR-BKFDIS0107 sy-vline
WA_RGPLP_STR-WKFDIS0107 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.