ABAP Select data from SAP table K810002 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 K810002 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 K810002. 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 K810002 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_K810002 TYPE STANDARD TABLE OF K810002,
      WA_K810002 TYPE K810002,
      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: <K810002> TYPE K810002.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM K810002
*  INTO TABLE @DATA(IT_K8100022).
*--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_K810002 INDEX 1 INTO DATA(WA_K8100022).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_K810002 ASSIGNING <K810002>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<K810002>-TRKEYNR = 1.
<K810002>-VV495_ME = 1.
<K810002>-VV550_ME = 1.
<K810002>-VV560_ME = 1.
<K810002>-VV570_ME = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_K810002-VV580_ME, sy-vline,
WA_K810002-VV810_ME, sy-vline,
WA_K810002-VV820_ME, sy-vline,
WA_K810002-VVGRW_ME, sy-vline,
WA_K810002-VVIQT_ME, sy-vline,
WA_K810002-VVOQT_ME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_K810002 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_K810002 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_K810002 INTO WA_K810002. *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 VV495_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VV495_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VV495_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VV550_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VV550_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VV550_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VV560_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VV560_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VV560_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VV570_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VV570_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VV570_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VV580_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VV580_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VV580_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VV810_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VV810_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VV810_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VV820_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VV820_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VV820_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VVGRW_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VVGRW_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VVGRW_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VVIQT_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VVIQT_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VVIQT_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VVOQT_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VVOQT_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VVOQT_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VVOQU_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VVOQU_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VVOQU_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VVSQT_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VVSQT_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VVSQT_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VVSTU_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VVSTU_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VVSTU_ME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VVSV_ME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_K810002-VVSV_ME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_K810002-VVSV_ME.
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_K810002_STR,
TRKEYNR TYPE STRING,
VV495_ME TYPE STRING,
VV550_ME TYPE STRING,
VV560_ME TYPE STRING,
VV570_ME TYPE STRING,
VV580_ME TYPE STRING,
VV810_ME TYPE STRING,
VV820_ME TYPE STRING,
VVGRW_ME TYPE STRING,
VVIQT_ME TYPE STRING,
VVOQT_ME TYPE STRING,
VVOQU_ME TYPE STRING,
VVSQT_ME TYPE STRING,
VVSTU_ME TYPE STRING,
VVSV_ME TYPE STRING,
VV010 TYPE STRING,
VV020 TYPE STRING,
VV030 TYPE STRING,
VV040 TYPE STRING,
VV060 TYPE STRING,
VV070 TYPE STRING,
VV075 TYPE STRING,
VV090 TYPE STRING,
VV095 TYPE STRING,
VV100 TYPE STRING,
VV110 TYPE STRING,
VV120 TYPE STRING,
VV130 TYPE STRING,
VV140 TYPE STRING,
VV145 TYPE STRING,
VV150 TYPE STRING,
VV151 TYPE STRING,
VV155 TYPE STRING,
VV160 TYPE STRING,
VV170 TYPE STRING,
VV171 TYPE STRING,
VV180 TYPE STRING,
VV181 TYPE STRING,
VV190 TYPE STRING,
VV191 TYPE STRING,
VV200 TYPE STRING,
VV201 TYPE STRING,
VV210 TYPE STRING,
VV211 TYPE STRING,
VV220 TYPE STRING,
VV230 TYPE STRING,
VV240 TYPE STRING,
VV250 TYPE STRING,
VV251 TYPE STRING,
VV260 TYPE STRING,
VV270 TYPE STRING,
VV280 TYPE STRING,
VV290 TYPE STRING,
VV300 TYPE STRING,
VV310 TYPE STRING,
VV320 TYPE STRING,
VV330 TYPE STRING,
VV340 TYPE STRING,
VV350 TYPE STRING,
VV360 TYPE STRING,
VV364 TYPE STRING,
VV365 TYPE STRING,
VV366 TYPE STRING,
VV367 TYPE STRING,
VV368 TYPE STRING,
VV370 TYPE STRING,
VV380 TYPE STRING,
VV390 TYPE STRING,
VV400 TYPE STRING,
VV410 TYPE STRING,
VV420 TYPE STRING,
VV430 TYPE STRING,
VV440 TYPE STRING,
VV450 TYPE STRING,
VV460 TYPE STRING,
VV470 TYPE STRING,
VV480 TYPE STRING,
VV495 TYPE STRING,
VV500 TYPE STRING,
VV510 TYPE STRING,
VV520 TYPE STRING,
VV530 TYPE STRING,
VV550 TYPE STRING,
VV560 TYPE STRING,
VV570 TYPE STRING,
VV580 TYPE STRING,
VV713 TYPE STRING,
VV810 TYPE STRING,
VV820 TYPE STRING,
VV830 TYPE STRING,
VV840 TYPE STRING,
VV900 TYPE STRING,
VV910 TYPE STRING,
VV915 TYPE STRING,
VV920 TYPE STRING,
VV930 TYPE STRING,
VV931 TYPE STRING,
VV940 TYPE STRING,
VV950 TYPE STRING,
VV960 TYPE STRING,
VV970 TYPE STRING,
VV999 TYPE STRING,
VVADV TYPE STRING,
VVCGS TYPE STRING,
VVCM2 TYPE STRING,
VVDEP TYPE STRING,
VVENG TYPE STRING,
VVGRW TYPE STRING,
VVIQT TYPE STRING,
VVK10 TYPE STRING,
VVK15 TYPE STRING,
VVK20 TYPE STRING,
VVK25 TYPE STRING,
VVK30 TYPE STRING,
VVLS1 TYPE STRING,
VVLS2 TYPE STRING,
VVLS3 TYPE STRING,
VVNR TYPE STRING,
VVO10 TYPE STRING,
VVO20 TYPE STRING,
VVOQT TYPE STRING,
VVOQU TYPE STRING,
VVPSC TYPE STRING,
VVREN TYPE STRING,
VVREV TYPE STRING,
VVSD TYPE STRING,
VVSQT TYPE STRING,
VVSTU TYPE STRING,
VVSV TYPE STRING,END OF T_EKKO_STR. DATA: WA_K810002_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_K810002_STR-TRKEYNR sy-vline
WA_K810002_STR-VV495_ME sy-vline
WA_K810002_STR-VV550_ME sy-vline
WA_K810002_STR-VV560_ME sy-vline
WA_K810002_STR-VV570_ME sy-vline
WA_K810002_STR-VV580_ME sy-vline
WA_K810002_STR-VV810_ME sy-vline
WA_K810002_STR-VV820_ME sy-vline
WA_K810002_STR-VVGRW_ME sy-vline
WA_K810002_STR-VVIQT_ME sy-vline
WA_K810002_STR-VVOQT_ME sy-vline
WA_K810002_STR-VVOQU_ME sy-vline
WA_K810002_STR-VVSQT_ME sy-vline
WA_K810002_STR-VVSTU_ME sy-vline
WA_K810002_STR-VVSV_ME sy-vline
WA_K810002_STR-VV010 sy-vline
WA_K810002_STR-VV020 sy-vline
WA_K810002_STR-VV030 sy-vline
WA_K810002_STR-VV040 sy-vline
WA_K810002_STR-VV060 sy-vline
WA_K810002_STR-VV070 sy-vline
WA_K810002_STR-VV075 sy-vline
WA_K810002_STR-VV090 sy-vline
WA_K810002_STR-VV095 sy-vline
WA_K810002_STR-VV100 sy-vline
WA_K810002_STR-VV110 sy-vline
WA_K810002_STR-VV120 sy-vline
WA_K810002_STR-VV130 sy-vline
WA_K810002_STR-VV140 sy-vline
WA_K810002_STR-VV145 sy-vline
WA_K810002_STR-VV150 sy-vline
WA_K810002_STR-VV151 sy-vline
WA_K810002_STR-VV155 sy-vline
WA_K810002_STR-VV160 sy-vline
WA_K810002_STR-VV170 sy-vline
WA_K810002_STR-VV171 sy-vline
WA_K810002_STR-VV180 sy-vline
WA_K810002_STR-VV181 sy-vline
WA_K810002_STR-VV190 sy-vline
WA_K810002_STR-VV191 sy-vline
WA_K810002_STR-VV200 sy-vline
WA_K810002_STR-VV201 sy-vline
WA_K810002_STR-VV210 sy-vline
WA_K810002_STR-VV211 sy-vline
WA_K810002_STR-VV220 sy-vline
WA_K810002_STR-VV230 sy-vline
WA_K810002_STR-VV240 sy-vline
WA_K810002_STR-VV250 sy-vline
WA_K810002_STR-VV251 sy-vline
WA_K810002_STR-VV260 sy-vline
WA_K810002_STR-VV270 sy-vline
WA_K810002_STR-VV280 sy-vline
WA_K810002_STR-VV290 sy-vline
WA_K810002_STR-VV300 sy-vline
WA_K810002_STR-VV310 sy-vline
WA_K810002_STR-VV320 sy-vline
WA_K810002_STR-VV330 sy-vline
WA_K810002_STR-VV340 sy-vline
WA_K810002_STR-VV350 sy-vline
WA_K810002_STR-VV360 sy-vline
WA_K810002_STR-VV364 sy-vline
WA_K810002_STR-VV365 sy-vline
WA_K810002_STR-VV366 sy-vline
WA_K810002_STR-VV367 sy-vline
WA_K810002_STR-VV368 sy-vline
WA_K810002_STR-VV370 sy-vline
WA_K810002_STR-VV380 sy-vline
WA_K810002_STR-VV390 sy-vline
WA_K810002_STR-VV400 sy-vline
WA_K810002_STR-VV410 sy-vline
WA_K810002_STR-VV420 sy-vline
WA_K810002_STR-VV430 sy-vline
WA_K810002_STR-VV440 sy-vline
WA_K810002_STR-VV450 sy-vline
WA_K810002_STR-VV460 sy-vline
WA_K810002_STR-VV470 sy-vline
WA_K810002_STR-VV480 sy-vline
WA_K810002_STR-VV495 sy-vline
WA_K810002_STR-VV500 sy-vline
WA_K810002_STR-VV510 sy-vline
WA_K810002_STR-VV520 sy-vline
WA_K810002_STR-VV530 sy-vline
WA_K810002_STR-VV550 sy-vline
WA_K810002_STR-VV560 sy-vline
WA_K810002_STR-VV570 sy-vline
WA_K810002_STR-VV580 sy-vline
WA_K810002_STR-VV713 sy-vline
WA_K810002_STR-VV810 sy-vline
WA_K810002_STR-VV820 sy-vline
WA_K810002_STR-VV830 sy-vline
WA_K810002_STR-VV840 sy-vline
WA_K810002_STR-VV900 sy-vline
WA_K810002_STR-VV910 sy-vline
WA_K810002_STR-VV915 sy-vline
WA_K810002_STR-VV920 sy-vline
WA_K810002_STR-VV930 sy-vline
WA_K810002_STR-VV931 sy-vline
WA_K810002_STR-VV940 sy-vline
WA_K810002_STR-VV950 sy-vline
WA_K810002_STR-VV960 sy-vline
WA_K810002_STR-VV970 sy-vline
WA_K810002_STR-VV999 sy-vline
WA_K810002_STR-VVADV sy-vline
WA_K810002_STR-VVCGS sy-vline
WA_K810002_STR-VVCM2 sy-vline
WA_K810002_STR-VVDEP sy-vline
WA_K810002_STR-VVENG sy-vline
WA_K810002_STR-VVGRW sy-vline
WA_K810002_STR-VVIQT sy-vline
WA_K810002_STR-VVK10 sy-vline
WA_K810002_STR-VVK15 sy-vline
WA_K810002_STR-VVK20 sy-vline
WA_K810002_STR-VVK25 sy-vline
WA_K810002_STR-VVK30 sy-vline
WA_K810002_STR-VVLS1 sy-vline
WA_K810002_STR-VVLS2 sy-vline
WA_K810002_STR-VVLS3 sy-vline
WA_K810002_STR-VVNR sy-vline
WA_K810002_STR-VVO10 sy-vline
WA_K810002_STR-VVO20 sy-vline
WA_K810002_STR-VVOQT sy-vline
WA_K810002_STR-VVOQU sy-vline
WA_K810002_STR-VVPSC sy-vline
WA_K810002_STR-VVREN sy-vline
WA_K810002_STR-VVREV sy-vline
WA_K810002_STR-VVSD sy-vline
WA_K810002_STR-VVSQT sy-vline
WA_K810002_STR-VVSTU sy-vline
WA_K810002_STR-VVSV sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.