ABAP Select data from SAP table REGUO 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 REGUO 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 REGUO. 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 REGUO 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_REGUO TYPE STANDARD TABLE OF REGUO,
      WA_REGUO TYPE REGUO,
      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: <REGUO> TYPE REGUO.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM REGUO
*  INTO TABLE @DATA(IT_REGUO2).
*--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_REGUO INDEX 1 INTO DATA(WA_REGUO2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_REGUO ASSIGNING <REGUO>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<REGUO>-LIFNR = 1.
<REGUO>-KUNNR = 1.
<REGUO>-EMPFG = 1.
<REGUO>-VBLNR = 1.
<REGUO>-AVISG = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_REGUO-WAERS, sy-vline,
WA_REGUO-SRTGB, sy-vline,
WA_REGUO-SRTBP, sy-vline,
WA_REGUO-NAME1, sy-vline,
WA_REGUO-ORT01, sy-vline,
WA_REGUO-LAND1, sy-vline.
ENDLOOP. *Add any further fields from structure WA_REGUO 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_REGUO 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_REGUO INTO WA_REGUO. *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.

*Conversion exit ALPHA, internal->external for field LIFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REGUO-LIFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-LIFNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field KUNNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REGUO-KUNNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-KUNNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VBLNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REGUO-VBLNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-VBLNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RBETR CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_REGUO-RBETR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RBETR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RSKON CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_REGUO-RSKON IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RSKON.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field SKVHW CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_REGUO-SKVHW IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-SKVHW.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RWBTR CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_REGUO-RWBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RWBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RWSKT CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_REGUO-RWSKT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RWSKT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field SKVFW CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_REGUO-SKVFW IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-SKVFW.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field DSKVH CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_REGUO-DSKVH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-DSKVH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field WEHMX CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_REGUO-WEHMX IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-WEHMX.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field WEFMX CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_REGUO-WEFMX IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-WEFMX.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field WEHRS CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_REGUO-WEHRS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-WEHRS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field WEFRS CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_REGUO-WEFRS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-WEFRS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU112, internal->external for field RSPE1 CALL FUNCTION 'CONVERSION_EXIT_AU112_OUTPUT' EXPORTING input = WA_REGUO-RSPE1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RSPE1.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU112, internal->external for field RSPE2 CALL FUNCTION 'CONVERSION_EXIT_AU112_OUTPUT' EXPORTING input = WA_REGUO-RSPE2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RSPE2.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU112, internal->external for field RSPM1 CALL FUNCTION 'CONVERSION_EXIT_AU112_OUTPUT' EXPORTING input = WA_REGUO-RSPM1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RSPM1.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU112, internal->external for field RSPM2 CALL FUNCTION 'CONVERSION_EXIT_AU112_OUTPUT' EXPORTING input = WA_REGUO-RSPM2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RSPM2.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field UBHKT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REGUO-UBHKT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-UBHKT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit EXCRT, internal->external for field KURSF CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_REGUO-KURSF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-KURSF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RBET2 CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_REGUO-RBET2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RBET2.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RBET3 CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_REGUO-RBET3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RBET3.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RSKO2 CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_REGUO-RSKO2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RSKO2.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RSKO3 CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_REGUO-RSKO3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-RSKO3.
WRITE:/ 'New Value:', ld_input.

*Conversion exit EXCRT, internal->external for field KURS2 CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_REGUO-KURS2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-KURS2.
WRITE:/ 'New Value:', ld_input.

*Conversion exit EXCRT, internal->external for field KURS3 CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_REGUO-KURS3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-KURS3.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PYORD CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REGUO-PYORD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-PYORD.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VERTN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REGUO-VERTN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-VERTN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SAKNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REGUO-SAKNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REGUO-SAKNR.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_REGUO_STR,
LIFNR TYPE STRING,
KUNNR TYPE STRING,
EMPFG TYPE STRING,
VBLNR TYPE STRING,
AVISG TYPE STRING,
WAERS TYPE STRING,
SRTGB TYPE STRING,
SRTBP TYPE STRING,
NAME1 TYPE STRING,
ORT01 TYPE STRING,
LAND1 TYPE STRING,
REGIO TYPE STRING,
ZNME1 TYPE STRING,
ZORT1 TYPE STRING,
ZLAND TYPE STRING,
ZBNKS TYPE STRING,
ZBNKN TYPE STRING,
ZBNKL TYPE STRING,
ZBKON TYPE STRING,
ZBVTY TYPE STRING,
ZSWIF TYPE STRING,
RZAWE TYPE STRING,
HKTID TYPE STRING,
HBKID TYPE STRING,
HKTIW TYPE STRING,
HBKIW TYPE STRING,
BVTYP TYPE STRING,
VALUT TYPE STRING,
WDATE TYPE STRING,
ANFAE TYPE STRING,
WEFAE TYPE STRING,
WEVWV TYPE STRING,
RBETR TYPE STRING,
RSKON TYPE STRING,
SKVHW TYPE STRING,
RWBTR TYPE STRING,
RWSKT TYPE STRING,
SKVFW TYPE STRING,
DSKVH TYPE STRING,
RPOST TYPE STRING,
RTEXT TYPE STRING,
RUMSK TYPE STRING,
RZUMS TYPE STRING,
WEHMX TYPE STRING,
WEFMX TYPE STRING,
WEHRS TYPE STRING,
WEFRS TYPE STRING,
WEAMX TYPE STRING,
RSPE1 TYPE STRING,
RSPE2 TYPE STRING,
RSPM1 TYPE STRING,
RSPM2 TYPE STRING,
BUSAB TYPE STRING,
INSEL TYPE STRING,
ORISO TYPE STRING,
TYPAE TYPE STRING,
UBHKT TYPE STRING,
UBKNT TYPE STRING,
UBKON TYPE STRING,
UBNKS TYPE STRING,
UBNKL TYPE STRING,
UIBAN TYPE STRING,
PAYGR TYPE STRING,
UBNKY TYPE STRING,
ZBNKY TYPE STRING,
KURSF TYPE STRING,
RBET2 TYPE STRING,
RBET3 TYPE STRING,
RSKO2 TYPE STRING,
RSKO3 TYPE STRING,
KURS2 TYPE STRING,
KURS3 TYPE STRING,
BKREF TYPE STRING,
UZAWE TYPE STRING,
ZPFOR TYPE STRING,
AUSFD TYPE STRING,
AUGDT TYPE STRING,
DTAWS TYPE STRING,
EDIAV TYPE STRING,
EDIBN TYPE STRING,
KOINH TYPE STRING,
DTWS1 TYPE STRING,
DTWS2 TYPE STRING,
DTWS3 TYPE STRING,
DTWS4 TYPE STRING,
KIDNO TYPE STRING,
PYORD TYPE STRING,
VERTN TYPE STRING,
VBEWA TYPE STRING,
BTYP1 TYPE STRING,
BNKS1 TYPE STRING,
BNKL1 TYPE STRING,
BNKN1 TYPE STRING,
BKON1 TYPE STRING,
IBAN1 TYPE STRING,
BTYP2 TYPE STRING,
BNKS2 TYPE STRING,
BNKL2 TYPE STRING,
BNKN2 TYPE STRING,
BKON2 TYPE STRING,
IBAN2 TYPE STRING,
BTYP3 TYPE STRING,
BNKS3 TYPE STRING,
BNKL3 TYPE STRING,
BNKN3 TYPE STRING,
BKON3 TYPE STRING,
IBAN3 TYPE STRING,
SAKNR TYPE STRING,
XURGE TYPE STRING,
ZIBAN TYPE STRING,
MGUID TYPE STRING,
MNDID TYPE STRING,
SEQ_TYPE TYPE STRING,
INST_CODE TYPE STRING,
UETR TYPE STRING,END OF T_EKKO_STR. DATA: WA_REGUO_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_REGUO_STR-LIFNR sy-vline
WA_REGUO_STR-KUNNR sy-vline
WA_REGUO_STR-EMPFG sy-vline
WA_REGUO_STR-VBLNR sy-vline
WA_REGUO_STR-AVISG sy-vline
WA_REGUO_STR-WAERS sy-vline
WA_REGUO_STR-SRTGB sy-vline
WA_REGUO_STR-SRTBP sy-vline
WA_REGUO_STR-NAME1 sy-vline
WA_REGUO_STR-ORT01 sy-vline
WA_REGUO_STR-LAND1 sy-vline
WA_REGUO_STR-REGIO sy-vline
WA_REGUO_STR-ZNME1 sy-vline
WA_REGUO_STR-ZORT1 sy-vline
WA_REGUO_STR-ZLAND sy-vline
WA_REGUO_STR-ZBNKS sy-vline
WA_REGUO_STR-ZBNKN sy-vline
WA_REGUO_STR-ZBNKL sy-vline
WA_REGUO_STR-ZBKON sy-vline
WA_REGUO_STR-ZBVTY sy-vline
WA_REGUO_STR-ZSWIF sy-vline
WA_REGUO_STR-RZAWE sy-vline
WA_REGUO_STR-HKTID sy-vline
WA_REGUO_STR-HBKID sy-vline
WA_REGUO_STR-HKTIW sy-vline
WA_REGUO_STR-HBKIW sy-vline
WA_REGUO_STR-BVTYP sy-vline
WA_REGUO_STR-VALUT sy-vline
WA_REGUO_STR-WDATE sy-vline
WA_REGUO_STR-ANFAE sy-vline
WA_REGUO_STR-WEFAE sy-vline
WA_REGUO_STR-WEVWV sy-vline
WA_REGUO_STR-RBETR sy-vline
WA_REGUO_STR-RSKON sy-vline
WA_REGUO_STR-SKVHW sy-vline
WA_REGUO_STR-RWBTR sy-vline
WA_REGUO_STR-RWSKT sy-vline
WA_REGUO_STR-SKVFW sy-vline
WA_REGUO_STR-DSKVH sy-vline
WA_REGUO_STR-RPOST sy-vline
WA_REGUO_STR-RTEXT sy-vline
WA_REGUO_STR-RUMSK sy-vline
WA_REGUO_STR-RZUMS sy-vline
WA_REGUO_STR-WEHMX sy-vline
WA_REGUO_STR-WEFMX sy-vline
WA_REGUO_STR-WEHRS sy-vline
WA_REGUO_STR-WEFRS sy-vline
WA_REGUO_STR-WEAMX sy-vline
WA_REGUO_STR-RSPE1 sy-vline
WA_REGUO_STR-RSPE2 sy-vline
WA_REGUO_STR-RSPM1 sy-vline
WA_REGUO_STR-RSPM2 sy-vline
WA_REGUO_STR-BUSAB sy-vline
WA_REGUO_STR-INSEL sy-vline
WA_REGUO_STR-ORISO sy-vline
WA_REGUO_STR-TYPAE sy-vline
WA_REGUO_STR-UBHKT sy-vline
WA_REGUO_STR-UBKNT sy-vline
WA_REGUO_STR-UBKON sy-vline
WA_REGUO_STR-UBNKS sy-vline
WA_REGUO_STR-UBNKL sy-vline
WA_REGUO_STR-UIBAN sy-vline
WA_REGUO_STR-PAYGR sy-vline
WA_REGUO_STR-UBNKY sy-vline
WA_REGUO_STR-ZBNKY sy-vline
WA_REGUO_STR-KURSF sy-vline
WA_REGUO_STR-RBET2 sy-vline
WA_REGUO_STR-RBET3 sy-vline
WA_REGUO_STR-RSKO2 sy-vline
WA_REGUO_STR-RSKO3 sy-vline
WA_REGUO_STR-KURS2 sy-vline
WA_REGUO_STR-KURS3 sy-vline
WA_REGUO_STR-BKREF sy-vline
WA_REGUO_STR-UZAWE sy-vline
WA_REGUO_STR-ZPFOR sy-vline
WA_REGUO_STR-AUSFD sy-vline
WA_REGUO_STR-AUGDT sy-vline
WA_REGUO_STR-DTAWS sy-vline
WA_REGUO_STR-EDIAV sy-vline
WA_REGUO_STR-EDIBN sy-vline
WA_REGUO_STR-KOINH sy-vline
WA_REGUO_STR-DTWS1 sy-vline
WA_REGUO_STR-DTWS2 sy-vline
WA_REGUO_STR-DTWS3 sy-vline
WA_REGUO_STR-DTWS4 sy-vline
WA_REGUO_STR-KIDNO sy-vline
WA_REGUO_STR-PYORD sy-vline
WA_REGUO_STR-VERTN sy-vline
WA_REGUO_STR-VBEWA sy-vline
WA_REGUO_STR-BTYP1 sy-vline
WA_REGUO_STR-BNKS1 sy-vline
WA_REGUO_STR-BNKL1 sy-vline
WA_REGUO_STR-BNKN1 sy-vline
WA_REGUO_STR-BKON1 sy-vline
WA_REGUO_STR-IBAN1 sy-vline
WA_REGUO_STR-BTYP2 sy-vline
WA_REGUO_STR-BNKS2 sy-vline
WA_REGUO_STR-BNKL2 sy-vline
WA_REGUO_STR-BNKN2 sy-vline
WA_REGUO_STR-BKON2 sy-vline
WA_REGUO_STR-IBAN2 sy-vline
WA_REGUO_STR-BTYP3 sy-vline
WA_REGUO_STR-BNKS3 sy-vline
WA_REGUO_STR-BNKL3 sy-vline
WA_REGUO_STR-BNKN3 sy-vline
WA_REGUO_STR-BKON3 sy-vline
WA_REGUO_STR-IBAN3 sy-vline
WA_REGUO_STR-SAKNR sy-vline
WA_REGUO_STR-XURGE sy-vline
WA_REGUO_STR-ZIBAN sy-vline
WA_REGUO_STR-MGUID sy-vline
WA_REGUO_STR-MNDID sy-vline
WA_REGUO_STR-SEQ_TYPE sy-vline
WA_REGUO_STR-INST_CODE sy-vline
WA_REGUO_STR-UETR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.