ABAP Select data from SAP table MCVKENNZ1 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 MCVKENNZ1 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 MCVKENNZ1. 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 MCVKENNZ1 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_MCVKENNZ1 TYPE STANDARD TABLE OF MCVKENNZ1, WA_MCVKENNZ1 TYPE MCVKENNZ1, 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: <MCVKENNZ1> TYPE MCVKENNZ1. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_MCVKENNZ1. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM MCVKENNZ1 INTO TABLE IT_MCVKENNZ1. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM MCVKENNZ1 * INTO TABLE @DATA(IT_MCVKENNZ12). *--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_MCVKENNZ1 INDEX 1 INTO DATA(WA_MCVKENNZ12). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_MCVKENNZ1 ASSIGNING <MCVKENNZ1>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<MCVKENNZ1>-AENETWR = 1.
<MCVKENNZ1>-RENETWR = 1.
<MCVKENNZ1>-OAUWE = 1.
<MCVKENNZ1>-UMNETWR = 1.
<MCVKENNZ1>-GUNETWR = 1.
ENDLOOP. LOOP AT IT_MCVKENNZ1 INTO WA_MCVKENNZ1. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_MCVKENNZ1-AEKZWI1, sy-vline,
WA_MCVKENNZ1-AEKZWI2, sy-vline,
WA_MCVKENNZ1-AEKZWI3, sy-vline,
WA_MCVKENNZ1-AEKZWI4, sy-vline,
WA_MCVKENNZ1-AEKZWI5, sy-vline,
WA_MCVKENNZ1-AEKZWI6, sy-vline.
ENDLOOP. *Add any further fields from structure WA_MCVKENNZ1 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_MCVKENNZ1 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_MCVKENNZ1 INTO WA_MCVKENNZ1. *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 BASME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_MCVKENNZ1-BASME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCVKENNZ1-BASME.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field GEWEI CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_MCVKENNZ1-GEWEI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCVKENNZ1-GEWEI.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field VOLEH CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_MCVKENNZ1-VOLEH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCVKENNZ1-VOLEH.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field AUNR1 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MCVKENNZ1-AUNR1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCVKENNZ1-AUNR1.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field AUNR2 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MCVKENNZ1-AUNR2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCVKENNZ1-AUNR2.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field AUNR3 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MCVKENNZ1-AUNR3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCVKENNZ1-AUNR3.
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_MCVKENNZ1_STR,
AENETWR TYPE STRING,
RENETWR TYPE STRING,
OAUWE TYPE STRING,
UMNETWR TYPE STRING,
GUNETWR TYPE STRING,
AEKZWI1 TYPE STRING,
AEKZWI2 TYPE STRING,
AEKZWI3 TYPE STRING,
AEKZWI4 TYPE STRING,
AEKZWI5 TYPE STRING,
AEKZWI6 TYPE STRING,
REKZWI1 TYPE STRING,
REKZWI2 TYPE STRING,
REKZWI3 TYPE STRING,
REKZWI4 TYPE STRING,
REKZWI5 TYPE STRING,
REKZWI6 TYPE STRING,
UMKZWI1 TYPE STRING,
UMKZWI2 TYPE STRING,
UMKZWI3 TYPE STRING,
UMKZWI4 TYPE STRING,
UMKZWI5 TYPE STRING,
UMKZWI6 TYPE STRING,
GUKZWI1 TYPE STRING,
GUKZWI2 TYPE STRING,
GUKZWI3 TYPE STRING,
GUKZWI4 TYPE STRING,
GUKZWI5 TYPE STRING,
GUKZWI6 TYPE STRING,
ANZAU TYPE STRING,
ANZRE TYPE STRING,
ANZAUPOS TYPE STRING,
ANZREPOS TYPE STRING,
AEMENGE TYPE STRING,
REMENGE TYPE STRING,
OAUME TYPE STRING,
UMMENGE TYPE STRING,
GUMENGE TYPE STRING,
NTGEW TYPE STRING,
BRGEW TYPE STRING,
VOLUM TYPE STRING,
ARBLA TYPE STRING,
RLNTGEW TYPE STRING,
RLBRGEW TYPE STRING,
RLVOLUM TYPE STRING,
RLARBLA TYPE STRING,
STWAE TYPE STRING,
BASME TYPE STRING,
GEWEI TYPE STRING,
VOLEH TYPE STRING,
HWAER TYPE STRING,
CMWAE TYPE STRING,
AEWAVWR TYPE STRING,
REWAVWR TYPE STRING,
UMWAVWR TYPE STRING,
GUWAVWR TYPE STRING,
KWERT TYPE STRING,
AUWRT TYPE STRING,
RUWRT TYPE STRING,
BONBA TYPE STRING,
OEIME TYPE STRING,
OEIKW TYPE STRING,
OLIME TYPE STRING,
OLIKW TYPE STRING,
OFAME TYPE STRING,
OFAKW TYPE STRING,
DUMMY TYPE STRING,
KAWRT TYPE STRING,
AUNR1 TYPE STRING,
ANZKONV1 TYPE STRING,
AUNR2 TYPE STRING,
ANZKONV2 TYPE STRING,
AUNR3 TYPE STRING,
ANZKONV3 TYPE STRING,
LIEFFZ TYPE STRING,
ENTNFZ TYPE STRING,
RRWRT TYPE STRING,
AEMENGE_D TYPE STRING,
AENETWR_D TYPE STRING,
AEKZWI1_D TYPE STRING,
AEKZWI2_D TYPE STRING,
AEKZWI3_D TYPE STRING,
AEKZWI4_D TYPE STRING,
AEKZWI5_D TYPE STRING,
AEKZWI6_D TYPE STRING,
AEWAVWR_D TYPE STRING,
OEIMEB TYPE STRING,
OEIMEW TYPE STRING,
OEIWEB TYPE STRING,
OEIWEW TYPE STRING,
OEIMEB_D TYPE STRING,
OEIMEW_D TYPE STRING,
OEIWEB_D TYPE STRING,
OEIWEW_D TYPE STRING,
AEMENGB TYPE STRING,
AEMENGB_D TYPE STRING,
LGMNG TYPE STRING,
LGMNG_D TYPE STRING,
UMNETWR_D TYPE STRING,
UMWAVWR_D TYPE STRING,
KCREQ TYPE STRING,
KCQTY TYPE STRING,
KUDMD TYPE STRING,
KLTBK TYPE STRING,
KCUBL TYPE STRING,
KOFLG TYPE STRING,
ZWERT TYPE STRING,
OAAUWE TYPE STRING,
OALIWE TYPE STRING,
AFAKWE TYPE STRING,
AEFREQ TYPE STRING,
AEFREQB TYPE STRING,
OEFREQB TYPE STRING,
OEFREQW TYPE STRING,
LGFREQ TYPE STRING,END OF T_EKKO_STR. DATA: WA_MCVKENNZ1_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_MCVKENNZ1_STR-AENETWR sy-vline
WA_MCVKENNZ1_STR-RENETWR sy-vline
WA_MCVKENNZ1_STR-OAUWE sy-vline
WA_MCVKENNZ1_STR-UMNETWR sy-vline
WA_MCVKENNZ1_STR-GUNETWR sy-vline
WA_MCVKENNZ1_STR-AEKZWI1 sy-vline
WA_MCVKENNZ1_STR-AEKZWI2 sy-vline
WA_MCVKENNZ1_STR-AEKZWI3 sy-vline
WA_MCVKENNZ1_STR-AEKZWI4 sy-vline
WA_MCVKENNZ1_STR-AEKZWI5 sy-vline
WA_MCVKENNZ1_STR-AEKZWI6 sy-vline
WA_MCVKENNZ1_STR-REKZWI1 sy-vline
WA_MCVKENNZ1_STR-REKZWI2 sy-vline
WA_MCVKENNZ1_STR-REKZWI3 sy-vline
WA_MCVKENNZ1_STR-REKZWI4 sy-vline
WA_MCVKENNZ1_STR-REKZWI5 sy-vline
WA_MCVKENNZ1_STR-REKZWI6 sy-vline
WA_MCVKENNZ1_STR-UMKZWI1 sy-vline
WA_MCVKENNZ1_STR-UMKZWI2 sy-vline
WA_MCVKENNZ1_STR-UMKZWI3 sy-vline
WA_MCVKENNZ1_STR-UMKZWI4 sy-vline
WA_MCVKENNZ1_STR-UMKZWI5 sy-vline
WA_MCVKENNZ1_STR-UMKZWI6 sy-vline
WA_MCVKENNZ1_STR-GUKZWI1 sy-vline
WA_MCVKENNZ1_STR-GUKZWI2 sy-vline
WA_MCVKENNZ1_STR-GUKZWI3 sy-vline
WA_MCVKENNZ1_STR-GUKZWI4 sy-vline
WA_MCVKENNZ1_STR-GUKZWI5 sy-vline
WA_MCVKENNZ1_STR-GUKZWI6 sy-vline
WA_MCVKENNZ1_STR-ANZAU sy-vline
WA_MCVKENNZ1_STR-ANZRE sy-vline
WA_MCVKENNZ1_STR-ANZAUPOS sy-vline
WA_MCVKENNZ1_STR-ANZREPOS sy-vline
WA_MCVKENNZ1_STR-AEMENGE sy-vline
WA_MCVKENNZ1_STR-REMENGE sy-vline
WA_MCVKENNZ1_STR-OAUME sy-vline
WA_MCVKENNZ1_STR-UMMENGE sy-vline
WA_MCVKENNZ1_STR-GUMENGE sy-vline
WA_MCVKENNZ1_STR-NTGEW sy-vline
WA_MCVKENNZ1_STR-BRGEW sy-vline
WA_MCVKENNZ1_STR-VOLUM sy-vline
WA_MCVKENNZ1_STR-ARBLA sy-vline
WA_MCVKENNZ1_STR-RLNTGEW sy-vline
WA_MCVKENNZ1_STR-RLBRGEW sy-vline
WA_MCVKENNZ1_STR-RLVOLUM sy-vline
WA_MCVKENNZ1_STR-RLARBLA sy-vline
WA_MCVKENNZ1_STR-STWAE sy-vline
WA_MCVKENNZ1_STR-BASME sy-vline
WA_MCVKENNZ1_STR-GEWEI sy-vline
WA_MCVKENNZ1_STR-VOLEH sy-vline
WA_MCVKENNZ1_STR-HWAER sy-vline
WA_MCVKENNZ1_STR-CMWAE sy-vline
WA_MCVKENNZ1_STR-AEWAVWR sy-vline
WA_MCVKENNZ1_STR-REWAVWR sy-vline
WA_MCVKENNZ1_STR-UMWAVWR sy-vline
WA_MCVKENNZ1_STR-GUWAVWR sy-vline
WA_MCVKENNZ1_STR-KWERT sy-vline
WA_MCVKENNZ1_STR-AUWRT sy-vline
WA_MCVKENNZ1_STR-RUWRT sy-vline
WA_MCVKENNZ1_STR-BONBA sy-vline
WA_MCVKENNZ1_STR-OEIME sy-vline
WA_MCVKENNZ1_STR-OEIKW sy-vline
WA_MCVKENNZ1_STR-OLIME sy-vline
WA_MCVKENNZ1_STR-OLIKW sy-vline
WA_MCVKENNZ1_STR-OFAME sy-vline
WA_MCVKENNZ1_STR-OFAKW sy-vline
WA_MCVKENNZ1_STR-DUMMY sy-vline
WA_MCVKENNZ1_STR-KAWRT sy-vline
WA_MCVKENNZ1_STR-AUNR1 sy-vline
WA_MCVKENNZ1_STR-ANZKONV1 sy-vline
WA_MCVKENNZ1_STR-AUNR2 sy-vline
WA_MCVKENNZ1_STR-ANZKONV2 sy-vline
WA_MCVKENNZ1_STR-AUNR3 sy-vline
WA_MCVKENNZ1_STR-ANZKONV3 sy-vline
WA_MCVKENNZ1_STR-LIEFFZ sy-vline
WA_MCVKENNZ1_STR-ENTNFZ sy-vline
WA_MCVKENNZ1_STR-RRWRT sy-vline
WA_MCVKENNZ1_STR-AEMENGE_D sy-vline
WA_MCVKENNZ1_STR-AENETWR_D sy-vline
WA_MCVKENNZ1_STR-AEKZWI1_D sy-vline
WA_MCVKENNZ1_STR-AEKZWI2_D sy-vline
WA_MCVKENNZ1_STR-AEKZWI3_D sy-vline
WA_MCVKENNZ1_STR-AEKZWI4_D sy-vline
WA_MCVKENNZ1_STR-AEKZWI5_D sy-vline
WA_MCVKENNZ1_STR-AEKZWI6_D sy-vline
WA_MCVKENNZ1_STR-AEWAVWR_D sy-vline
WA_MCVKENNZ1_STR-OEIMEB sy-vline
WA_MCVKENNZ1_STR-OEIMEW sy-vline
WA_MCVKENNZ1_STR-OEIWEB sy-vline
WA_MCVKENNZ1_STR-OEIWEW sy-vline
WA_MCVKENNZ1_STR-OEIMEB_D sy-vline
WA_MCVKENNZ1_STR-OEIMEW_D sy-vline
WA_MCVKENNZ1_STR-OEIWEB_D sy-vline
WA_MCVKENNZ1_STR-OEIWEW_D sy-vline
WA_MCVKENNZ1_STR-AEMENGB sy-vline
WA_MCVKENNZ1_STR-AEMENGB_D sy-vline
WA_MCVKENNZ1_STR-LGMNG sy-vline
WA_MCVKENNZ1_STR-LGMNG_D sy-vline
WA_MCVKENNZ1_STR-UMNETWR_D sy-vline
WA_MCVKENNZ1_STR-UMWAVWR_D sy-vline
WA_MCVKENNZ1_STR-KCREQ sy-vline
WA_MCVKENNZ1_STR-KCQTY sy-vline
WA_MCVKENNZ1_STR-KUDMD sy-vline
WA_MCVKENNZ1_STR-KLTBK sy-vline
WA_MCVKENNZ1_STR-KCUBL sy-vline
WA_MCVKENNZ1_STR-KOFLG sy-vline
WA_MCVKENNZ1_STR-ZWERT sy-vline
WA_MCVKENNZ1_STR-OAAUWE sy-vline
WA_MCVKENNZ1_STR-OALIWE sy-vline
WA_MCVKENNZ1_STR-AFAKWE sy-vline
WA_MCVKENNZ1_STR-AEFREQ sy-vline
WA_MCVKENNZ1_STR-AEFREQB sy-vline
WA_MCVKENNZ1_STR-OEFREQB sy-vline
WA_MCVKENNZ1_STR-OEFREQW sy-vline
WA_MCVKENNZ1_STR-LGFREQ sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.