ABAP Select data from SAP table CE3COCA 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 CE3COCA 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 CE3COCA. 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 CE3COCA 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_CE3COCA TYPE STANDARD TABLE OF CE3COCA,
      WA_CE3COCA TYPE CE3COCA,
      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: <CE3COCA> TYPE CE3COCA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CE3COCA
*  INTO TABLE @DATA(IT_CE3COCA2).
*--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_CE3COCA INDEX 1 INTO DATA(WA_CE3COCA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CE3COCA ASSIGNING <CE3COCA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CE3COCA>-MANDT = 1.
<CE3COCA>-PAOBJNR = 1.
<CE3COCA>-PALEDGER = 1.
<CE3COCA>-VRGAR = 1.
<CE3COCA>-PLIKZ = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CE3COCA-VERSI, sy-vline,
WA_CE3COCA-PERBL, sy-vline,
WA_CE3COCA-PASUBNR, sy-vline,
WA_CE3COCA-PAPAOBJNR, sy-vline,
WA_CE3COCA-PAPASUBNR, sy-vline,
WA_CE3COCA-HRKFT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CE3COCA 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_CE3COCA 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_CE3COCA INTO WA_CE3COCA. *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 LEDBO, internal->external for field PALEDGER CALL FUNCTION 'CONVERSION_EXIT_LEDBO_OUTPUT' EXPORTING input = WA_CE3COCA-PALEDGER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CE3COCA-PALEDGER.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit PERI7, internal->external for field PERBL CALL FUNCTION 'CONVERSION_EXIT_PERI7_OUTPUT' EXPORTING input = WA_CE3COCA-PERBL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CE3COCA-PERBL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field GJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_CE3COCA-GJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CE3COCA-GJAHR.
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_CE3COCA_STR,
MANDT TYPE STRING,
PAOBJNR TYPE STRING,
PALEDGER TYPE STRING,
VRGAR TYPE STRING,
PLIKZ TYPE STRING,
VERSI TYPE STRING,
PERBL TYPE STRING,
PASUBNR TYPE STRING,
PAPAOBJNR TYPE STRING,
PAPASUBNR TYPE STRING,
HRKFT TYPE STRING,
UPDAT TYPE STRING,
USNAM TYPE STRING,
GJAHR TYPE STRING,
REC_WAERS TYPE STRING,
TIMESTMP TYPE STRING,
VVOQT001 TYPE STRING,
VVIQT001 TYPE STRING,
VVSQT001 TYPE STRING,
VVGRW001 TYPE STRING,
VV010001 TYPE STRING,
VV020001 TYPE STRING,
VV030001 TYPE STRING,
VV040001 TYPE STRING,
VV060001 TYPE STRING,
VV070001 TYPE STRING,
VV090001 TYPE STRING,
VV100001 TYPE STRING,
VV110001 TYPE STRING,
VV120001 TYPE STRING,
VV130001 TYPE STRING,
VV140001 TYPE STRING,
VV150001 TYPE STRING,
VV160001 TYPE STRING,
VV170001 TYPE STRING,
VV180001 TYPE STRING,
VV190001 TYPE STRING,
VV200001 TYPE STRING,
VV210001 TYPE STRING,
VV220001 TYPE STRING,
VV230001 TYPE STRING,
VV240001 TYPE STRING,
VV250001 TYPE STRING,
VV260001 TYPE STRING,
VV270001 TYPE STRING,
VV280001 TYPE STRING,
VV290001 TYPE STRING,
VV300001 TYPE STRING,
VV310001 TYPE STRING,
VV320001 TYPE STRING,
VV330001 TYPE STRING,
VV340001 TYPE STRING,
VV350001 TYPE STRING,
VV360001 TYPE STRING,
VV370001 TYPE STRING,
VV380001 TYPE STRING,
VV390001 TYPE STRING,
VV400001 TYPE STRING,
VV410001 TYPE STRING,
VV420001 TYPE STRING,
VV430001 TYPE STRING,
VV440001 TYPE STRING,
VV450001 TYPE STRING,
VV460001 TYPE STRING,
VV470001 TYPE STRING,
VV480001 TYPE STRING,
VV145001 TYPE STRING,
VV075001 TYPE STRING,
VV500001 TYPE STRING,
VV510001 TYPE STRING,
VV520001 TYPE STRING,
VV530001 TYPE STRING,
VV550001 TYPE STRING,
VV560001 TYPE STRING,
VV570001 TYPE STRING,
VV580001 TYPE STRING,
VV495001 TYPE STRING,
VVSTU001 TYPE STRING,
VV155001 TYPE STRING,
VV365001 TYPE STRING,
VV364001 TYPE STRING,
VVK15001 TYPE STRING,
VVK20001 TYPE STRING,
VVK25001 TYPE STRING,
VVK30001 TYPE STRING,
VVK10001 TYPE STRING,
VVO10001 TYPE STRING,
VVO20001 TYPE STRING,
VVOQU001 TYPE STRING,
VV366001 TYPE STRING,
VV367001 TYPE STRING,
VV368001 TYPE STRING,
VV151001 TYPE STRING,
VV171001 TYPE STRING,
VV181001 TYPE STRING,
VV191001 TYPE STRING,
VV201001 TYPE STRING,
VV211001 TYPE STRING,
VV251001 TYPE STRING,
VV810001 TYPE STRING,
VV820001 TYPE STRING,
VV830001 TYPE STRING,
VV840001 TYPE STRING,
VV095001 TYPE STRING,
VV713001 TYPE STRING,
VV900001 TYPE STRING,
VV910001 TYPE STRING,
VV915001 TYPE STRING,
VV920001 TYPE STRING,
VV930001 TYPE STRING,
VV931001 TYPE STRING,
VV940001 TYPE STRING,
VV950001 TYPE STRING,
VV960001 TYPE STRING,
VV970001 TYPE STRING,
VV999001 TYPE STRING,
VVADV001 TYPE STRING,
VVCGS001 TYPE STRING,
VVDEP001 TYPE STRING,
VVENG001 TYPE STRING,
VVNR001 TYPE STRING,
VVPSC001 TYPE STRING,
VVREN001 TYPE STRING,
VVREV001 TYPE STRING,
VVSD001 TYPE STRING,
VVCM2001 TYPE STRING,
VVSV001 TYPE STRING,
VVLS1001 TYPE STRING,
VVLS2001 TYPE STRING,
VVLS3001 TYPE STRING,END OF T_EKKO_STR. DATA: WA_CE3COCA_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_CE3COCA_STR-MANDT sy-vline
WA_CE3COCA_STR-PAOBJNR sy-vline
WA_CE3COCA_STR-PALEDGER sy-vline
WA_CE3COCA_STR-VRGAR sy-vline
WA_CE3COCA_STR-PLIKZ sy-vline
WA_CE3COCA_STR-VERSI sy-vline
WA_CE3COCA_STR-PERBL sy-vline
WA_CE3COCA_STR-PASUBNR sy-vline
WA_CE3COCA_STR-PAPAOBJNR sy-vline
WA_CE3COCA_STR-PAPASUBNR sy-vline
WA_CE3COCA_STR-HRKFT sy-vline
WA_CE3COCA_STR-UPDAT sy-vline
WA_CE3COCA_STR-USNAM sy-vline
WA_CE3COCA_STR-GJAHR sy-vline
WA_CE3COCA_STR-REC_WAERS sy-vline
WA_CE3COCA_STR-TIMESTMP sy-vline
WA_CE3COCA_STR-VVOQT001 sy-vline
WA_CE3COCA_STR-VVIQT001 sy-vline
WA_CE3COCA_STR-VVSQT001 sy-vline
WA_CE3COCA_STR-VVGRW001 sy-vline
WA_CE3COCA_STR-VV010001 sy-vline
WA_CE3COCA_STR-VV020001 sy-vline
WA_CE3COCA_STR-VV030001 sy-vline
WA_CE3COCA_STR-VV040001 sy-vline
WA_CE3COCA_STR-VV060001 sy-vline
WA_CE3COCA_STR-VV070001 sy-vline
WA_CE3COCA_STR-VV090001 sy-vline
WA_CE3COCA_STR-VV100001 sy-vline
WA_CE3COCA_STR-VV110001 sy-vline
WA_CE3COCA_STR-VV120001 sy-vline
WA_CE3COCA_STR-VV130001 sy-vline
WA_CE3COCA_STR-VV140001 sy-vline
WA_CE3COCA_STR-VV150001 sy-vline
WA_CE3COCA_STR-VV160001 sy-vline
WA_CE3COCA_STR-VV170001 sy-vline
WA_CE3COCA_STR-VV180001 sy-vline
WA_CE3COCA_STR-VV190001 sy-vline
WA_CE3COCA_STR-VV200001 sy-vline
WA_CE3COCA_STR-VV210001 sy-vline
WA_CE3COCA_STR-VV220001 sy-vline
WA_CE3COCA_STR-VV230001 sy-vline
WA_CE3COCA_STR-VV240001 sy-vline
WA_CE3COCA_STR-VV250001 sy-vline
WA_CE3COCA_STR-VV260001 sy-vline
WA_CE3COCA_STR-VV270001 sy-vline
WA_CE3COCA_STR-VV280001 sy-vline
WA_CE3COCA_STR-VV290001 sy-vline
WA_CE3COCA_STR-VV300001 sy-vline
WA_CE3COCA_STR-VV310001 sy-vline
WA_CE3COCA_STR-VV320001 sy-vline
WA_CE3COCA_STR-VV330001 sy-vline
WA_CE3COCA_STR-VV340001 sy-vline
WA_CE3COCA_STR-VV350001 sy-vline
WA_CE3COCA_STR-VV360001 sy-vline
WA_CE3COCA_STR-VV370001 sy-vline
WA_CE3COCA_STR-VV380001 sy-vline
WA_CE3COCA_STR-VV390001 sy-vline
WA_CE3COCA_STR-VV400001 sy-vline
WA_CE3COCA_STR-VV410001 sy-vline
WA_CE3COCA_STR-VV420001 sy-vline
WA_CE3COCA_STR-VV430001 sy-vline
WA_CE3COCA_STR-VV440001 sy-vline
WA_CE3COCA_STR-VV450001 sy-vline
WA_CE3COCA_STR-VV460001 sy-vline
WA_CE3COCA_STR-VV470001 sy-vline
WA_CE3COCA_STR-VV480001 sy-vline
WA_CE3COCA_STR-VV145001 sy-vline
WA_CE3COCA_STR-VV075001 sy-vline
WA_CE3COCA_STR-VV500001 sy-vline
WA_CE3COCA_STR-VV510001 sy-vline
WA_CE3COCA_STR-VV520001 sy-vline
WA_CE3COCA_STR-VV530001 sy-vline
WA_CE3COCA_STR-VV550001 sy-vline
WA_CE3COCA_STR-VV560001 sy-vline
WA_CE3COCA_STR-VV570001 sy-vline
WA_CE3COCA_STR-VV580001 sy-vline
WA_CE3COCA_STR-VV495001 sy-vline
WA_CE3COCA_STR-VVSTU001 sy-vline
WA_CE3COCA_STR-VV155001 sy-vline
WA_CE3COCA_STR-VV365001 sy-vline
WA_CE3COCA_STR-VV364001 sy-vline
WA_CE3COCA_STR-VVK15001 sy-vline
WA_CE3COCA_STR-VVK20001 sy-vline
WA_CE3COCA_STR-VVK25001 sy-vline
WA_CE3COCA_STR-VVK30001 sy-vline
WA_CE3COCA_STR-VVK10001 sy-vline
WA_CE3COCA_STR-VVO10001 sy-vline
WA_CE3COCA_STR-VVO20001 sy-vline
WA_CE3COCA_STR-VVOQU001 sy-vline
WA_CE3COCA_STR-VV366001 sy-vline
WA_CE3COCA_STR-VV367001 sy-vline
WA_CE3COCA_STR-VV368001 sy-vline
WA_CE3COCA_STR-VV151001 sy-vline
WA_CE3COCA_STR-VV171001 sy-vline
WA_CE3COCA_STR-VV181001 sy-vline
WA_CE3COCA_STR-VV191001 sy-vline
WA_CE3COCA_STR-VV201001 sy-vline
WA_CE3COCA_STR-VV211001 sy-vline
WA_CE3COCA_STR-VV251001 sy-vline
WA_CE3COCA_STR-VV810001 sy-vline
WA_CE3COCA_STR-VV820001 sy-vline
WA_CE3COCA_STR-VV830001 sy-vline
WA_CE3COCA_STR-VV840001 sy-vline
WA_CE3COCA_STR-VV095001 sy-vline
WA_CE3COCA_STR-VV713001 sy-vline
WA_CE3COCA_STR-VV900001 sy-vline
WA_CE3COCA_STR-VV910001 sy-vline
WA_CE3COCA_STR-VV915001 sy-vline
WA_CE3COCA_STR-VV920001 sy-vline
WA_CE3COCA_STR-VV930001 sy-vline
WA_CE3COCA_STR-VV931001 sy-vline
WA_CE3COCA_STR-VV940001 sy-vline
WA_CE3COCA_STR-VV950001 sy-vline
WA_CE3COCA_STR-VV960001 sy-vline
WA_CE3COCA_STR-VV970001 sy-vline
WA_CE3COCA_STR-VV999001 sy-vline
WA_CE3COCA_STR-VVADV001 sy-vline
WA_CE3COCA_STR-VVCGS001 sy-vline
WA_CE3COCA_STR-VVDEP001 sy-vline
WA_CE3COCA_STR-VVENG001 sy-vline
WA_CE3COCA_STR-VVNR001 sy-vline
WA_CE3COCA_STR-VVPSC001 sy-vline
WA_CE3COCA_STR-VVREN001 sy-vline
WA_CE3COCA_STR-VVREV001 sy-vline
WA_CE3COCA_STR-VVSD001 sy-vline
WA_CE3COCA_STR-VVCM2001 sy-vline
WA_CE3COCA_STR-VVSV001 sy-vline
WA_CE3COCA_STR-VVLS1001 sy-vline
WA_CE3COCA_STR-VVLS2001 sy-vline
WA_CE3COCA_STR-VVLS3001 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.