ABAP Select data from SAP table CCOCOSLSRBTEQ 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 CCOCOSLSRBTEQ 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 CCOCOSLSRBTEQ. 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 CCOCOSLSRBTEQ 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_CCOCOSLSRBTEQ TYPE STANDARD TABLE OF CCOCOSLSRBTEQ,
      WA_CCOCOSLSRBTEQ TYPE CCOCOSLSRBTEQ,
      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: <CCOCOSLSRBTEQ> TYPE CCOCOSLSRBTEQ.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CCOCOSLSRBTEQ
*  INTO TABLE @DATA(IT_CCOCOSLSRBTEQ2).
*--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_CCOCOSLSRBTEQ INDEX 1 INTO DATA(WA_CCOCOSLSRBTEQ2).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CCOCOSLSRBTEQ-SETTLEDBILLGDOCITEM, sy-vline,
WA_CCOCOSLSRBTEQ-SETTLEDSALESORDER, sy-vline,
WA_CCOCOSLSRBTEQ-SETTLEDSALESORDERITEM, sy-vline,
WA_CCOCOSLSRBTEQ-CNDNCONTRCUSTOMER, sy-vline,
WA_CCOCOSLSRBTEQ-CNDNCONTRSLSORG, sy-vline,
WA_CCOCOSLSRBTEQ-CNDNCONTRDISTRCHNL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CCOCOSLSRBTEQ 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_CCOCOSLSRBTEQ 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_CCOCOSLSRBTEQ INTO WA_CCOCOSLSRBTEQ. *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_CCOCOSLSRBTEQ-CONDITIONCONTRACT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CCOCOSLSRBTEQ-CONDITIONCONTRACT.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit CUNIT, internal->external for field BUSVOLDOCITMQUANTITYUNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CCOCOSLSRBTEQ-BUSVOLDOCITMQUANTITYUNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CCOCOSLSRBTEQ-BUSVOLDOCITMQUANTITYUNIT.
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_CCOCOSLSRBTEQ_STR,
MANDT TYPE STRING,
CONDITIONCONTRACT TYPE STRING,
SETTLMTDOC TYPE STRING,
SETTLMTDOCITEM TYPE STRING,
SETTLEDBILLGDOC TYPE STRING,
SETTLEDBILLGDOCITEM TYPE STRING,
SETTLEDSALESORDER TYPE STRING,
SETTLEDSALESORDERITEM TYPE STRING,
CNDNCONTRCUSTOMER TYPE STRING,
CNDNCONTRSLSORG TYPE STRING,
CNDNCONTRDISTRCHNL TYPE STRING,
CNDNCONTRDIVN TYPE STRING,
CNDNCONTRTYPE TYPE STRING,
CNDNCONTRCLASSFCTNTYPE TYPE STRING,
CNDNCONTRPROCVAR TYPE STRING,
CNDNCONTRSETTLMTTYPE TYPE STRING,
BILLTOPARTY TYPE STRING,
SETTLMTCOMPANYCODE TYPE STRING,
SALESORGANIZATION TYPE STRING,
DISTRIBUTIONCHANNEL TYPE STRING,
DIVISION TYPE STRING,
SETTLMTDOCTYPE TYPE STRING,
SETTLMTPROCESSTYPE TYPE STRING,
POSTINGPARTNERCAT TYPE STRING,
SETTLMTMGMTACCTGTRANSFSTS 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,
SETTLMTDATE TYPE STRING,
POSTINGDATE TYPE STRING,
SETTLEDBUSVOLQTY TYPE STRING,
SETTLEDBUSVOLGROSSWEIGHT TYPE STRING,
SETTLEDBUSVOLNETWEIGHT TYPE STRING,
SETTLEDBUSVOLVOLUME TYPE STRING,
SETTLEDBUSVOLPOINTSQTY TYPE STRING,
BUSVOLDOCITMQUANTITY TYPE STRING,
BUSVOLDOCITMQTYINBSUNT TYPE STRING,
SETTLEDBUSVOLQTYUNIT TYPE STRING,
BASEUNIT TYPE STRING,
SETTLEDBUSVOLWEIGHTUNIT TYPE STRING,
SETTLEDBUSVOLVOLUMEUNIT TYPE STRING,
SETTLEDBUSVOLPOINTSQTYUNIT TYPE STRING,
BUSVOLDOCITMQUANTITYUNIT 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_CCOCOSLSRBTEQ_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_CCOCOSLSRBTEQ_STR-MANDT sy-vline
WA_CCOCOSLSRBTEQ_STR-CONDITIONCONTRACT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTDOC sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTDOCITEM sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBILLGDOC sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBILLGDOCITEM sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDSALESORDER sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDSALESORDERITEM sy-vline
WA_CCOCOSLSRBTEQ_STR-CNDNCONTRCUSTOMER sy-vline
WA_CCOCOSLSRBTEQ_STR-CNDNCONTRSLSORG sy-vline
WA_CCOCOSLSRBTEQ_STR-CNDNCONTRDISTRCHNL sy-vline
WA_CCOCOSLSRBTEQ_STR-CNDNCONTRDIVN sy-vline
WA_CCOCOSLSRBTEQ_STR-CNDNCONTRTYPE sy-vline
WA_CCOCOSLSRBTEQ_STR-CNDNCONTRCLASSFCTNTYPE sy-vline
WA_CCOCOSLSRBTEQ_STR-CNDNCONTRPROCVAR sy-vline
WA_CCOCOSLSRBTEQ_STR-CNDNCONTRSETTLMTTYPE sy-vline
WA_CCOCOSLSRBTEQ_STR-BILLTOPARTY sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTCOMPANYCODE sy-vline
WA_CCOCOSLSRBTEQ_STR-SALESORGANIZATION sy-vline
WA_CCOCOSLSRBTEQ_STR-DISTRIBUTIONCHANNEL sy-vline
WA_CCOCOSLSRBTEQ_STR-DIVISION sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTDOCTYPE sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTPROCESSTYPE sy-vline
WA_CCOCOSLSRBTEQ_STR-POSTINGPARTNERCAT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTMGMTACCTGTRANSFSTS sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTPRODUCT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTDOCITEMTEXT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTPROFITCENTER sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMPRODUCT sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMTEXT sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMPRODUCTGROUP sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMPLANT sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLSELDTEYRMNTHFORSETTLMT sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLSELDTEYRQTRFORSETTLMT sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLSELDTEYRWKFORSETTLMT sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLSELDTEYRFORSETTLMT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLMTDATE sy-vline
WA_CCOCOSLSRBTEQ_STR-POSTINGDATE sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLQTY sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLGROSSWEIGHT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLNETWEIGHT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLVOLUME sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLPOINTSQTY sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMQUANTITY sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMQTYINBSUNT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLQTYUNIT sy-vline
WA_CCOCOSLSRBTEQ_STR-BASEUNIT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLWEIGHTUNIT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLVOLUMEUNIT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLPOINTSQTYUNIT sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMQUANTITYUNIT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLAMOUNT1 sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLAMOUNT2 sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLAMOUNT3 sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLAMOUNT4 sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMNETAMOUNT sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLAMOUNT1INDC sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLAMOUNT2INDC sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLAMOUNT3INDC sy-vline
WA_CCOCOSLSRBTEQ_STR-SETTLEDBUSVOLAMOUNT4INDC sy-vline
WA_CCOCOSLSRBTEQ_STR-BUSVOLDOCITMNETAMOUNTINDC sy-vline
WA_CCOCOSLSRBTEQ_STR-DISPLAYCURRENCY sy-vline
WA_CCOCOSLSRBTEQ_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.