ABAP Select data from SAP table RKSPIL_PER 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 RKSPIL_PER 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 RKSPIL_PER. 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 RKSPIL_PER 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_RKSPIL_PER TYPE STANDARD TABLE OF RKSPIL_PER,
      WA_RKSPIL_PER TYPE RKSPIL_PER,
      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: <RKSPIL_PER> TYPE RKSPIL_PER.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RKSPIL_PER
*  INTO TABLE @DATA(IT_RKSPIL_PER2).
*--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_RKSPIL_PER INDEX 1 INTO DATA(WA_RKSPIL_PER2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RKSPIL_PER ASSIGNING <RKSPIL_PER>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RKSPIL_PER>-PERIO = 1.
<RKSPIL_PER>-LSTBTR = 1.
<RKSPIL_PER>-LEINH = 1.
<RKSPIL_PER>-TKGBTR = 1.
<RKSPIL_PER>-TKFBTR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RKSPIL_PER-TKVBTR, sy-vline,
WA_RKSPIL_PER-TKEBTR, sy-vline,
WA_RKSPIL_PER-TOGBTR, sy-vline,
WA_RKSPIL_PER-TOFBTR, sy-vline,
WA_RKSPIL_PER-TOVBTR, sy-vline,
WA_RKSPIL_PER-TOEBTR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RKSPIL_PER 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_RKSPIL_PER 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_RKSPIL_PER INTO WA_RKSPIL_PER. *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 CUNIT, internal->external for field LEINH CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RKSPIL_PER-LEINH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-LEINH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TKGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TKGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TKGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TKFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TKFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TKFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TKVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TKVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TKVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TOGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TOGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TOGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TOFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TOFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TOFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TOVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TOVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TOVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TAGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TAGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TAGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TAFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TAFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TAFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TAVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TAVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TAVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TVGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TVGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TVGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TVFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TVFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TVFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TVVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TVVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TVVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TBGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TBGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TBGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TBFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TBFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TBFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TBVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TBVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TBVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TCGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TCGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TCGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TCFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TCFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TCFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TCVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TCVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TCVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TDGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TDGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TDGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TDFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TDFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TDFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TDVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TDVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TDVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TEGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TEGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TEGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TEFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TEFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TEFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TEVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TEVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TEVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TFGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TFGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TFGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TFFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TFFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TFFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TFVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TFVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TFVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TGGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TGGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TGGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TGFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TGFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TGFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field TGVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-TGVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-TGVBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field THGBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-THGBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-THGBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field THFBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-THFBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-THFBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC112, internal->external for field THVBTR CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_RKSPIL_PER-THVBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RKSPIL_PER-THVBTR.
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_RKSPIL_PER_STR,
PERIO TYPE STRING,
LSTBTR TYPE STRING,
LEINH TYPE STRING,
TKGBTR TYPE STRING,
TKFBTR TYPE STRING,
TKVBTR TYPE STRING,
TKEBTR TYPE STRING,
TOGBTR TYPE STRING,
TOFBTR TYPE STRING,
TOVBTR TYPE STRING,
TOEBTR TYPE STRING,
NABST TYPE STRING,
WAERS TYPE STRING,
AWAER TYPE STRING,
TAGBTR TYPE STRING,
TAFBTR TYPE STRING,
TAVBTR TYPE STRING,
TAEBTR TYPE STRING,
VWAER TYPE STRING,
TVGBTR TYPE STRING,
TVFBTR TYPE STRING,
TVVBTR TYPE STRING,
TVEBTR TYPE STRING,
BWAER TYPE STRING,
TBGBTR TYPE STRING,
TBFBTR TYPE STRING,
TBVBTR TYPE STRING,
TBEBTR TYPE STRING,
CWAER TYPE STRING,
TCGBTR TYPE STRING,
TCFBTR TYPE STRING,
TCVBTR TYPE STRING,
TCEBTR TYPE STRING,
DWAER TYPE STRING,
TDGBTR TYPE STRING,
TDFBTR TYPE STRING,
TDVBTR TYPE STRING,
TDEBTR TYPE STRING,
EWAER TYPE STRING,
TEGBTR TYPE STRING,
TEFBTR TYPE STRING,
TEVBTR TYPE STRING,
TEEBTR TYPE STRING,
FWAER TYPE STRING,
TFGBTR TYPE STRING,
TFFBTR TYPE STRING,
TFVBTR TYPE STRING,
TFEBTR TYPE STRING,
GWAER TYPE STRING,
TGGBTR TYPE STRING,
TGFBTR TYPE STRING,
TGVBTR TYPE STRING,
TGEBTR TYPE STRING,
HWAER TYPE STRING,
THGBTR TYPE STRING,
THFBTR TYPE STRING,
THVBTR TYPE STRING,
THEBTR TYPE STRING,END OF T_EKKO_STR. DATA: WA_RKSPIL_PER_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_RKSPIL_PER_STR-PERIO sy-vline
WA_RKSPIL_PER_STR-LSTBTR sy-vline
WA_RKSPIL_PER_STR-LEINH sy-vline
WA_RKSPIL_PER_STR-TKGBTR sy-vline
WA_RKSPIL_PER_STR-TKFBTR sy-vline
WA_RKSPIL_PER_STR-TKVBTR sy-vline
WA_RKSPIL_PER_STR-TKEBTR sy-vline
WA_RKSPIL_PER_STR-TOGBTR sy-vline
WA_RKSPIL_PER_STR-TOFBTR sy-vline
WA_RKSPIL_PER_STR-TOVBTR sy-vline
WA_RKSPIL_PER_STR-TOEBTR sy-vline
WA_RKSPIL_PER_STR-NABST sy-vline
WA_RKSPIL_PER_STR-WAERS sy-vline
WA_RKSPIL_PER_STR-AWAER sy-vline
WA_RKSPIL_PER_STR-TAGBTR sy-vline
WA_RKSPIL_PER_STR-TAFBTR sy-vline
WA_RKSPIL_PER_STR-TAVBTR sy-vline
WA_RKSPIL_PER_STR-TAEBTR sy-vline
WA_RKSPIL_PER_STR-VWAER sy-vline
WA_RKSPIL_PER_STR-TVGBTR sy-vline
WA_RKSPIL_PER_STR-TVFBTR sy-vline
WA_RKSPIL_PER_STR-TVVBTR sy-vline
WA_RKSPIL_PER_STR-TVEBTR sy-vline
WA_RKSPIL_PER_STR-BWAER sy-vline
WA_RKSPIL_PER_STR-TBGBTR sy-vline
WA_RKSPIL_PER_STR-TBFBTR sy-vline
WA_RKSPIL_PER_STR-TBVBTR sy-vline
WA_RKSPIL_PER_STR-TBEBTR sy-vline
WA_RKSPIL_PER_STR-CWAER sy-vline
WA_RKSPIL_PER_STR-TCGBTR sy-vline
WA_RKSPIL_PER_STR-TCFBTR sy-vline
WA_RKSPIL_PER_STR-TCVBTR sy-vline
WA_RKSPIL_PER_STR-TCEBTR sy-vline
WA_RKSPIL_PER_STR-DWAER sy-vline
WA_RKSPIL_PER_STR-TDGBTR sy-vline
WA_RKSPIL_PER_STR-TDFBTR sy-vline
WA_RKSPIL_PER_STR-TDVBTR sy-vline
WA_RKSPIL_PER_STR-TDEBTR sy-vline
WA_RKSPIL_PER_STR-EWAER sy-vline
WA_RKSPIL_PER_STR-TEGBTR sy-vline
WA_RKSPIL_PER_STR-TEFBTR sy-vline
WA_RKSPIL_PER_STR-TEVBTR sy-vline
WA_RKSPIL_PER_STR-TEEBTR sy-vline
WA_RKSPIL_PER_STR-FWAER sy-vline
WA_RKSPIL_PER_STR-TFGBTR sy-vline
WA_RKSPIL_PER_STR-TFFBTR sy-vline
WA_RKSPIL_PER_STR-TFVBTR sy-vline
WA_RKSPIL_PER_STR-TFEBTR sy-vline
WA_RKSPIL_PER_STR-GWAER sy-vline
WA_RKSPIL_PER_STR-TGGBTR sy-vline
WA_RKSPIL_PER_STR-TGFBTR sy-vline
WA_RKSPIL_PER_STR-TGVBTR sy-vline
WA_RKSPIL_PER_STR-TGEBTR sy-vline
WA_RKSPIL_PER_STR-HWAER sy-vline
WA_RKSPIL_PER_STR-THGBTR sy-vline
WA_RKSPIL_PER_STR-THFBTR sy-vline
WA_RKSPIL_PER_STR-THVBTR sy-vline
WA_RKSPIL_PER_STR-THEBTR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.