ABAP Select data from SAP table CCOCOROYTYQ 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 CCOCOROYTYQ 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 CCOCOROYTYQ. 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 CCOCOROYTYQ 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_CCOCOROYTYQ TYPE STANDARD TABLE OF CCOCOROYTYQ,
      WA_CCOCOROYTYQ TYPE CCOCOROYTYQ,
      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: <CCOCOROYTYQ> TYPE CCOCOROYTYQ.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CCOCOROYTYQ
*  INTO TABLE @DATA(IT_CCOCOROYTYQ2).
*--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_CCOCOROYTYQ INDEX 1 INTO DATA(WA_CCOCOROYTYQ2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CCOCOROYTYQ ASSIGNING <CCOCOROYTYQ>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CCOCOROYTYQ>-MANDT = 1.
<CCOCOROYTYQ>-CONDITIONCONTRACT = 1.
<CCOCOROYTYQ>-SETTLMTDOC = 1.
<CCOCOROYTYQ>-SETTLMTDOCITEM = 1.
<CCOCOROYTYQ>-SETTLEDSUPLRINVC = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CCOCOROYTYQ-SETTLEDSUPLRINVCFISCALYEAR, sy-vline,
WA_CCOCOROYTYQ-SETTLEDSUPLRINVCITEM, sy-vline,
WA_CCOCOROYTYQ-CNDNCONTRSUPPLIER, sy-vline,
WA_CCOCOROYTYQ-CNDNCONTRPURGORG, sy-vline,
WA_CCOCOROYTYQ-CNDNCONTRPURGGROUP, sy-vline,
WA_CCOCOROYTYQ-CNDNCONTRTYPE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CCOCOROYTYQ 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_CCOCOROYTYQ 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_CCOCOROYTYQ INTO WA_CCOCOROYTYQ. *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 CONDITIONCONTRACT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_CCOCOROYTYQ-CONDITIONCONTRACT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CCOCOROYTYQ-CONDITIONCONTRACT.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit GJAHR, internal->external for field SETTLEDSUPLRINVCFISCALYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_CCOCOROYTYQ-SETTLEDSUPLRINVCFISCALYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CCOCOROYTYQ-SETTLEDSUPLRINVCFISCALYEAR.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit MATN1, internal->external for field SETTLMTPRODUCT CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_CCOCOROYTYQ-SETTLMTPRODUCT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CCOCOROYTYQ-SETTLMTPRODUCT.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit MATN1, internal->external for field BUSVOLDOCITMPRODUCT CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_CCOCOROYTYQ-BUSVOLDOCITMPRODUCT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CCOCOROYTYQ-BUSVOLDOCITMPRODUCT.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit CUNIT, internal->external for field SETTLEDBUSVOLPOINTSQTYUNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CCOCOROYTYQ-SETTLEDBUSVOLPOINTSQTYUNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CCOCOROYTYQ-SETTLEDBUSVOLPOINTSQTYUNIT.
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_CCOCOROYTYQ_STR,
MANDT TYPE STRING,
CONDITIONCONTRACT TYPE STRING,
SETTLMTDOC TYPE STRING,
SETTLMTDOCITEM TYPE STRING,
SETTLEDSUPLRINVC TYPE STRING,
SETTLEDSUPLRINVCFISCALYEAR TYPE STRING,
SETTLEDSUPLRINVCITEM TYPE STRING,
CNDNCONTRSUPPLIER TYPE STRING,
CNDNCONTRPURGORG TYPE STRING,
CNDNCONTRPURGGROUP TYPE STRING,
CNDNCONTRTYPE TYPE STRING,
CNDNCONTRCLASSFCTNTYPE TYPE STRING,
CNDNCONTRPROCVAR TYPE STRING,
CNDNCONTRSETTLMTTYPE TYPE STRING,
INVOICINGPARTY TYPE STRING,
BILLTOPARTY TYPE STRING,
SETTLMTCOMPANYCODE TYPE STRING,
PURCHASINGORGANIZATION TYPE STRING,
PURCHASINGGROUP TYPE STRING,
SALESORGANIZATION TYPE STRING,
DISTRIBUTIONCHANNEL TYPE STRING,
DIVISION TYPE STRING,
SETTLMTDOCTYPE TYPE STRING,
SETTLMTPROCESSTYPE TYPE STRING,
POSTINGPARTNERCAT TYPE STRING,
SETTLMTMGMTACCTGTRANSFSTS TYPE STRING,
SETTLMTDATE TYPE STRING,
SETTLMTPRODUCT TYPE STRING,
SETTLMTDOCITEMTEXT TYPE STRING,
SETTLMTPROFITCENTER TYPE STRING,
BUSVOLDOCITMPRODUCT TYPE STRING,
BUSVOLDOCITMTEXT TYPE STRING,
BUSVOLDOCITMPRODUCTGROUP TYPE STRING,
BUSVOLDOCITMPLANT TYPE STRING,
BUSVOLSELDTEYRMNTHFORSETTLMT TYPE STRING,
BUSVOLSELDTEYRQTRFORSETTLMT TYPE STRING,
BUSVOLSELDTEYRWKFORSETTLMT TYPE STRING,
BUSVOLSELDTEYRFORSETTLMT TYPE STRING,
SETTLEDBUSVOLQTY TYPE STRING,
SETTLEDBUSVOLGROSSWEIGHT TYPE STRING,
SETTLEDBUSVOLNETWEIGHT TYPE STRING,
SETTLEDBUSVOLVOLUME TYPE STRING,
SETTLEDBUSVOLPOINTSQTY TYPE STRING,
BUSVOLDOCITMQUANTITY TYPE STRING,
BUSVOLDOCITMTOBSQTYDNMNTR TYPE STRING,
BUSVOLDOCITMTOBSQTYNMRTR TYPE STRING,
BUSVOLDOCITMQUANTITYUNIT TYPE STRING,
BUSVOLDOCITMQTYINBSUNT TYPE STRING,
SETTLEDBUSVOLQTYUNIT TYPE STRING,
BASEUNIT TYPE STRING,
SETTLEDBUSVOLWEIGHTUNIT TYPE STRING,
SETTLEDBUSVOLVOLUMEUNIT TYPE STRING,
SETTLEDBUSVOLPOINTSQTYUNIT TYPE STRING,
SETTLEDBUSVOLAMOUNT1 TYPE STRING,
SETTLEDBUSVOLAMOUNT2 TYPE STRING,
SETTLEDBUSVOLAMOUNT3 TYPE STRING,
SETTLEDBUSVOLAMOUNT4 TYPE STRING,
BUSVOLDOCITMNETAMOUNT TYPE STRING,
SETTLEDBUSVOLAMOUNT1INDC TYPE STRING,
SETTLEDBUSVOLAMOUNT2INDC TYPE STRING,
SETTLEDBUSVOLAMOUNT3INDC TYPE STRING,
SETTLEDBUSVOLAMOUNT4INDC TYPE STRING,
BUSVOLDOCITMNETAMOUNTINDC TYPE STRING,
DISPLAYCURRENCY TYPE STRING,
BUSVOLDOCCURRENCY TYPE STRING,END OF T_EKKO_STR. DATA: WA_CCOCOROYTYQ_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_CCOCOROYTYQ_STR-MANDT sy-vline
WA_CCOCOROYTYQ_STR-CONDITIONCONTRACT sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTDOC sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTDOCITEM sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDSUPLRINVC sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDSUPLRINVCFISCALYEAR sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDSUPLRINVCITEM sy-vline
WA_CCOCOROYTYQ_STR-CNDNCONTRSUPPLIER sy-vline
WA_CCOCOROYTYQ_STR-CNDNCONTRPURGORG sy-vline
WA_CCOCOROYTYQ_STR-CNDNCONTRPURGGROUP sy-vline
WA_CCOCOROYTYQ_STR-CNDNCONTRTYPE sy-vline
WA_CCOCOROYTYQ_STR-CNDNCONTRCLASSFCTNTYPE sy-vline
WA_CCOCOROYTYQ_STR-CNDNCONTRPROCVAR sy-vline
WA_CCOCOROYTYQ_STR-CNDNCONTRSETTLMTTYPE sy-vline
WA_CCOCOROYTYQ_STR-INVOICINGPARTY sy-vline
WA_CCOCOROYTYQ_STR-BILLTOPARTY sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTCOMPANYCODE sy-vline
WA_CCOCOROYTYQ_STR-PURCHASINGORGANIZATION sy-vline
WA_CCOCOROYTYQ_STR-PURCHASINGGROUP sy-vline
WA_CCOCOROYTYQ_STR-SALESORGANIZATION sy-vline
WA_CCOCOROYTYQ_STR-DISTRIBUTIONCHANNEL sy-vline
WA_CCOCOROYTYQ_STR-DIVISION sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTDOCTYPE sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTPROCESSTYPE sy-vline
WA_CCOCOROYTYQ_STR-POSTINGPARTNERCAT sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTMGMTACCTGTRANSFSTS sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTDATE sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTPRODUCT sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTDOCITEMTEXT sy-vline
WA_CCOCOROYTYQ_STR-SETTLMTPROFITCENTER sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMPRODUCT sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMTEXT sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMPRODUCTGROUP sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMPLANT sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLSELDTEYRMNTHFORSETTLMT sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLSELDTEYRQTRFORSETTLMT sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLSELDTEYRWKFORSETTLMT sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLSELDTEYRFORSETTLMT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLQTY sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLGROSSWEIGHT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLNETWEIGHT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLVOLUME sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLPOINTSQTY sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMQUANTITY sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMTOBSQTYDNMNTR sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMTOBSQTYNMRTR sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMQUANTITYUNIT sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMQTYINBSUNT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLQTYUNIT sy-vline
WA_CCOCOROYTYQ_STR-BASEUNIT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLWEIGHTUNIT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLVOLUMEUNIT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLPOINTSQTYUNIT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLAMOUNT1 sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLAMOUNT2 sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLAMOUNT3 sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLAMOUNT4 sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMNETAMOUNT sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLAMOUNT1INDC sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLAMOUNT2INDC sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLAMOUNT3INDC sy-vline
WA_CCOCOROYTYQ_STR-SETTLEDBUSVOLAMOUNT4INDC sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCITMNETAMOUNTINDC sy-vline
WA_CCOCOROYTYQ_STR-DISPLAYCURRENCY sy-vline
WA_CCOCOROYTYQ_STR-BUSVOLDOCCURRENCY sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.