ABAP Select data from SAP table WCOCOH_WCOCOI_V 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 WCOCOH_WCOCOI_V 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 WCOCOH_WCOCOI_V. 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 WCOCOH_WCOCOI_V 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_WCOCOH_WCOCOI_V TYPE STANDARD TABLE OF WCOCOH_WCOCOI_V,
      WA_WCOCOH_WCOCOI_V TYPE WCOCOH_WCOCOI_V,
      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: <WCOCOH_WCOCOI_V> TYPE WCOCOH_WCOCOI_V.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM WCOCOH_WCOCOI_V
*  INTO TABLE @DATA(IT_WCOCOH_WCOCOI_V2).
*--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_WCOCOH_WCOCOI_V INDEX 1 INTO DATA(WA_WCOCOH_WCOCOI_V2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_WCOCOH_WCOCOI_V ASSIGNING <WCOCOH_WCOCOI_V>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<WCOCOH_WCOCOI_V>-CLIENT = 1.
<WCOCOH_WCOCOI_V>-NUM = 1.
<WCOCOH_WCOCOI_V>-CONTRACT_TYPE = 1.
<WCOCOH_WCOCOI_V>-VEND_OWNER = 1.
<WCOCOH_WCOCOI_V>-CUST_OWNER = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_WCOCOH_WCOCOI_V-REFERENCE, sy-vline,
WA_WCOCOH_WCOCOI_V-ASSIGNMENT, sy-vline,
WA_WCOCOH_WCOCOI_V-EXT_PARTNER, sy-vline,
WA_WCOCOH_WCOCOI_V-CREATED_BY, sy-vline,
WA_WCOCOH_WCOCOI_V-CREATED_ON, sy-vline,
WA_WCOCOH_WCOCOI_V-REC_TIME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WCOCOH_WCOCOI_V 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_WCOCOH_WCOCOI_V 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_WCOCOH_WCOCOI_V INTO WA_WCOCOH_WCOCOI_V. *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 NUM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCOCOH_WCOCOI_V-NUM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCOCOH_WCOCOI_V-NUM.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit EXCRT, internal->external for field RATE CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_WCOCOH_WCOCOI_V-RATE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCOCOH_WCOCOI_V-RATE.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field LIST_NUMI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCOCOH_WCOCOI_V-LIST_NUMI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCOCOH_WCOCOI_V-LIST_NUMI.
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_WCOCOH_WCOCOI_V_STR,
CLIENT TYPE STRING,
NUM TYPE STRING,
CONTRACT_TYPE TYPE STRING,
VEND_OWNER TYPE STRING,
CUST_OWNER TYPE STRING,
REFERENCE TYPE STRING,
ASSIGNMENT TYPE STRING,
EXT_PARTNER TYPE STRING,
CREATED_BY TYPE STRING,
CREATED_ON TYPE STRING,
REC_TIME TYPE STRING,
EKORG TYPE STRING,
EKGRP TYPE STRING,
VKORG TYPE STRING,
VTWEG TYPE STRING,
SPART TYPE STRING,
ZTERM TYPE STRING,
ZBD1T TYPE STRING,
ZBD1P TYPE STRING,
ZBD2T TYPE STRING,
ZBD2P TYPE STRING,
ZBD3T TYPE STRING,
ZLSCH TYPE STRING,
GUID TYPE STRING,
DEACT TYPE STRING,
DATE_FROM TYPE STRING,
DATE_TO TYPE STRING,
ZONLO TYPE STRING,
EXT_NUM TYPE STRING,
CC_CURR TYPE STRING,
RATE TYPE STRING,
RATE_DATE TYPE STRING,
RATE_TYPE TYPE STRING,
VKGRP TYPE STRING,
VKBUR TYPE STRING,
ACCESS_TYPE TYPE STRING,
SETTL_MATNR TYPE STRING,
SETTL_TYPE_VEND TYPE STRING,
SETTL_CAL_FINAL TYPE STRING,
SETTL_CAL_PART TYPE STRING,
BUKRS TYPE STRING,
SETTL_TYPE_CUST TYPE STRING,
CH_NAME TYPE STRING,
CH_DATE TYPE STRING,
CH_TIME TYPE STRING,
EXTENSION_CAL TYPE STRING,
PRED_CC TYPE STRING,
CATEGORY TYPE STRING,
CC_PURPOSE TYPE STRING,
EXT_REF_CAT TYPE STRING,
EXT_REF TYPE STRING,
KOLIF TYPE STRING,
SETTL_CAL_DELTA TYPE STRING,
BVTAB_GROUP TYPE STRING,
SETTL_CAL_ACCR TYPE STRING,
AF_GROUP TYPE STRING,
SETTL_MEINS TYPE STRING,
SETTL_GEWEI TYPE STRING,
SETTL_VOLEH TYPE STRING,
SETTL_PUNEI TYPE STRING,
ACCRUALS_UPD_REQ TYPE STRING,
SETTL_CAL_ACCR_ROLLO TYPE STRING,
CREATED_ON_TSTMP TYPE STRING,
CH_TSTMP TYPE STRING,
STCEG TYPE STRING,
PERSON_OWNER TYPE STRING,
AFSC_GROUP TYPE STRING,
TAX_COUNTRY TYPE STRING,
PROCESS_VARIANT TYPE STRING,
EXT_REF_ITEM TYPE STRING,
COCO_DET_REL_CONTR TYPE STRING,
TAX_REPORTING_COUNTRY TYPE STRING,
SETTL_VARIANT TYPE STRING,
OWNER_TYPE TYPE STRING,
PROCESS_CATEGORY TYPE STRING,
REBATE_TYPE TYPE STRING,
SDM_VERSION TYPE STRING,
EXT_GUID TYPE STRING,
ITEM_GUIDI TYPE STRING,
ELIGIBLE_CUSTI TYPE STRING,
ELIGIBLE_VENDORI TYPE STRING,
LIST_NUMI TYPE STRING,
EXCLUSIONI TYPE STRING,
REFERENCEI TYPE STRING,
DEACTI TYPE STRING,
DATE_FROMI TYPE STRING,
DATE_TOI TYPE STRING,END OF T_EKKO_STR. DATA: WA_WCOCOH_WCOCOI_V_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_WCOCOH_WCOCOI_V_STR-CLIENT sy-vline
WA_WCOCOH_WCOCOI_V_STR-NUM sy-vline
WA_WCOCOH_WCOCOI_V_STR-CONTRACT_TYPE sy-vline
WA_WCOCOH_WCOCOI_V_STR-VEND_OWNER sy-vline
WA_WCOCOH_WCOCOI_V_STR-CUST_OWNER sy-vline
WA_WCOCOH_WCOCOI_V_STR-REFERENCE sy-vline
WA_WCOCOH_WCOCOI_V_STR-ASSIGNMENT sy-vline
WA_WCOCOH_WCOCOI_V_STR-EXT_PARTNER sy-vline
WA_WCOCOH_WCOCOI_V_STR-CREATED_BY sy-vline
WA_WCOCOH_WCOCOI_V_STR-CREATED_ON sy-vline
WA_WCOCOH_WCOCOI_V_STR-REC_TIME sy-vline
WA_WCOCOH_WCOCOI_V_STR-EKORG sy-vline
WA_WCOCOH_WCOCOI_V_STR-EKGRP sy-vline
WA_WCOCOH_WCOCOI_V_STR-VKORG sy-vline
WA_WCOCOH_WCOCOI_V_STR-VTWEG sy-vline
WA_WCOCOH_WCOCOI_V_STR-SPART sy-vline
WA_WCOCOH_WCOCOI_V_STR-ZTERM sy-vline
WA_WCOCOH_WCOCOI_V_STR-ZBD1T sy-vline
WA_WCOCOH_WCOCOI_V_STR-ZBD1P sy-vline
WA_WCOCOH_WCOCOI_V_STR-ZBD2T sy-vline
WA_WCOCOH_WCOCOI_V_STR-ZBD2P sy-vline
WA_WCOCOH_WCOCOI_V_STR-ZBD3T sy-vline
WA_WCOCOH_WCOCOI_V_STR-ZLSCH sy-vline
WA_WCOCOH_WCOCOI_V_STR-GUID sy-vline
WA_WCOCOH_WCOCOI_V_STR-DEACT sy-vline
WA_WCOCOH_WCOCOI_V_STR-DATE_FROM sy-vline
WA_WCOCOH_WCOCOI_V_STR-DATE_TO sy-vline
WA_WCOCOH_WCOCOI_V_STR-ZONLO sy-vline
WA_WCOCOH_WCOCOI_V_STR-EXT_NUM sy-vline
WA_WCOCOH_WCOCOI_V_STR-CC_CURR sy-vline
WA_WCOCOH_WCOCOI_V_STR-RATE sy-vline
WA_WCOCOH_WCOCOI_V_STR-RATE_DATE sy-vline
WA_WCOCOH_WCOCOI_V_STR-RATE_TYPE sy-vline
WA_WCOCOH_WCOCOI_V_STR-VKGRP sy-vline
WA_WCOCOH_WCOCOI_V_STR-VKBUR sy-vline
WA_WCOCOH_WCOCOI_V_STR-ACCESS_TYPE sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_MATNR sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_TYPE_VEND sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_CAL_FINAL sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_CAL_PART sy-vline
WA_WCOCOH_WCOCOI_V_STR-BUKRS sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_TYPE_CUST sy-vline
WA_WCOCOH_WCOCOI_V_STR-CH_NAME sy-vline
WA_WCOCOH_WCOCOI_V_STR-CH_DATE sy-vline
WA_WCOCOH_WCOCOI_V_STR-CH_TIME sy-vline
WA_WCOCOH_WCOCOI_V_STR-EXTENSION_CAL sy-vline
WA_WCOCOH_WCOCOI_V_STR-PRED_CC sy-vline
WA_WCOCOH_WCOCOI_V_STR-CATEGORY sy-vline
WA_WCOCOH_WCOCOI_V_STR-CC_PURPOSE sy-vline
WA_WCOCOH_WCOCOI_V_STR-EXT_REF_CAT sy-vline
WA_WCOCOH_WCOCOI_V_STR-EXT_REF sy-vline
WA_WCOCOH_WCOCOI_V_STR-KOLIF sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_CAL_DELTA sy-vline
WA_WCOCOH_WCOCOI_V_STR-BVTAB_GROUP sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_CAL_ACCR sy-vline
WA_WCOCOH_WCOCOI_V_STR-AF_GROUP sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_MEINS sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_GEWEI sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_VOLEH sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_PUNEI sy-vline
WA_WCOCOH_WCOCOI_V_STR-ACCRUALS_UPD_REQ sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_CAL_ACCR_ROLLO sy-vline
WA_WCOCOH_WCOCOI_V_STR-CREATED_ON_TSTMP sy-vline
WA_WCOCOH_WCOCOI_V_STR-CH_TSTMP sy-vline
WA_WCOCOH_WCOCOI_V_STR-STCEG sy-vline
WA_WCOCOH_WCOCOI_V_STR-PERSON_OWNER sy-vline
WA_WCOCOH_WCOCOI_V_STR-AFSC_GROUP sy-vline
WA_WCOCOH_WCOCOI_V_STR-TAX_COUNTRY sy-vline
WA_WCOCOH_WCOCOI_V_STR-PROCESS_VARIANT sy-vline
WA_WCOCOH_WCOCOI_V_STR-EXT_REF_ITEM sy-vline
WA_WCOCOH_WCOCOI_V_STR-COCO_DET_REL_CONTR sy-vline
WA_WCOCOH_WCOCOI_V_STR-TAX_REPORTING_COUNTRY sy-vline
WA_WCOCOH_WCOCOI_V_STR-SETTL_VARIANT sy-vline
WA_WCOCOH_WCOCOI_V_STR-OWNER_TYPE sy-vline
WA_WCOCOH_WCOCOI_V_STR-PROCESS_CATEGORY sy-vline
WA_WCOCOH_WCOCOI_V_STR-REBATE_TYPE sy-vline
WA_WCOCOH_WCOCOI_V_STR-SDM_VERSION sy-vline
WA_WCOCOH_WCOCOI_V_STR-EXT_GUID sy-vline
WA_WCOCOH_WCOCOI_V_STR-ITEM_GUIDI sy-vline
WA_WCOCOH_WCOCOI_V_STR-ELIGIBLE_CUSTI sy-vline
WA_WCOCOH_WCOCOI_V_STR-ELIGIBLE_VENDORI sy-vline
WA_WCOCOH_WCOCOI_V_STR-LIST_NUMI sy-vline
WA_WCOCOH_WCOCOI_V_STR-EXCLUSIONI sy-vline
WA_WCOCOH_WCOCOI_V_STR-REFERENCEI sy-vline
WA_WCOCOH_WCOCOI_V_STR-DEACTI sy-vline
WA_WCOCOH_WCOCOI_V_STR-DATE_FROMI sy-vline
WA_WCOCOH_WCOCOI_V_STR-DATE_TOI sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.