ABAP Select data from SAP table TCORS_CO_INCL 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 TCORS_CO_INCL 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 TCORS_CO_INCL. 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 TCORS_CO_INCL 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_TCORS_CO_INCL TYPE STANDARD TABLE OF TCORS_CO_INCL,
      WA_TCORS_CO_INCL TYPE TCORS_CO_INCL,
      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: <TCORS_CO_INCL> TYPE TCORS_CO_INCL.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TCORS_CO_INCL
*  INTO TABLE @DATA(IT_TCORS_CO_INCL2).
*--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_TCORS_CO_INCL INDEX 1 INTO DATA(WA_TCORS_CO_INCL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TCORS_CO_INCL ASSIGNING <TCORS_CO_INCL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TCORS_CO_INCL>-CO_KEY = 1.
<TCORS_CO_INCL>-CODMD_UUID = 1.
<TCORS_CO_INCL>-COSA_UUID = 1.
<TCORS_CO_INCL>-COMPANY_CODE = 1.
<TCORS_CO_INCL>-DEALNUMBER = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TCORS_CO_INCL-BUSTRANSID, sy-vline,
WA_TCORS_CO_INCL-BUSTRANSCAT, sy-vline,
WA_TCORS_CO_INCL-SEC_ACC, sy-vline,
WA_TCORS_CO_INCL-SECURITYID, sy-vline,
WA_TCORS_CO_INCL-PRODUCTTYPE, sy-vline,
WA_TCORS_CO_INCL-TRANSACTIONTYPE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TCORS_CO_INCL 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_TCORS_CO_INCL 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_TCORS_CO_INCL INTO WA_TCORS_CO_INCL. *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 CO_KEY CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TCORS_CO_INCL-CO_KEY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TCORS_CO_INCL-CO_KEY.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit ISOLA, internal->external for field CORR_LANGUAGE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_TCORS_CO_INCL-CORR_LANGUAGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TCORS_CO_INCL-CORR_LANGUAGE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SXIDN, internal->external for field EMAIL_ADD CALL FUNCTION 'CONVERSION_EXIT_SXIDN_OUTPUT' EXPORTING input = WA_TCORS_CO_INCL-EMAIL_ADD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TCORS_CO_INCL-EMAIL_ADD.
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_TCORS_CO_INCL_STR,
CO_KEY TYPE STRING,
CODMD_UUID TYPE STRING,
COSA_UUID TYPE STRING,
COMPANY_CODE TYPE STRING,
DEALNUMBER TYPE STRING,
BUSTRANSID TYPE STRING,
BUSTRANSCAT TYPE STRING,
SEC_ACC TYPE STRING,
SECURITYID TYPE STRING,
PRODUCTTYPE TYPE STRING,
TRANSACTIONTYPE TYPE STRING,
ACTIVITY TYPE STRING,
ACTIVITYCAT TYPE STRING,
SFUNKTL TYPE STRING,
PARTNR TYPE STRING,
BPGROUP TYPE STRING,
PROFILE TYPE STRING,
RECIPIENT_TYPE TYPE STRING,
RECIPIENT TYPE STRING,
FUNCTION TYPE STRING,
CHANNEL TYPE STRING,
MESSAGE_FORMAT TYPE STRING,
DIRECTION TYPE STRING,
OPERATION TYPE STRING,
REF_CO_KEY TYPE STRING,
STATUS_GUID TYPE STRING,
IS_AUTO_CORR TYPE STRING,
IS_REL_REQD TYPE STRING,
IS_STATUS_REL TYPE STRING,
IS_CTRCONF_REQD TYPE STRING,
IS_AUTO_COMPLETE TYPE STRING,
IS_UPD_EXT_REF TYPE STRING,
IS_MANUAL TYPE STRING,
IS_ACK_REL TYPE STRING,
IS_RESENT TYPE STRING,
RECONCILE TYPE STRING,
SET_DELIVERY TYPE STRING,
CRUSER TYPE STRING,
DCRDAT TYPE STRING,
TCRTIM TYPE STRING,
UPUSER TYPE STRING,
DUPDAT TYPE STRING,
TUPTIM TYPE STRING,
EXEC_DATE TYPE STRING,
EXEC_TIME TYPE STRING,
EXEC_USER TYPE STRING,
DELV_DATE TYPE STRING,
DELV_TIME TYPE STRING,
DELV_USER TYPE STRING,
RECON_DATE TYPE STRING,
RECON_TIME TYPE STRING,
RECON_USER TYPE STRING,
MTCH_DATE TYPE STRING,
MTCH_TIME TYPE STRING,
MTCH_USER TYPE STRING,
RECV_DATE TYPE STRING,
RECV_TIME TYPE STRING,
RECV_USER TYPE STRING,
MATCH_ID TYPE STRING,
CO_INT_REF TYPE STRING,
CO_EXT_REF TYPE STRING,
IS_COMPLETE TYPE STRING,
IS_MANUAL_CHNG TYPE STRING,
MSG_STATUS TYPE STRING,
MSG_REASON TYPE STRING,
ERROR_CODE TYPE STRING,
ERROR_TEXT TYPE STRING,
ERROR_LINE TYPE STRING,
CORR_COUNTRY TYPE STRING,
CORR_LANGUAGE TYPE STRING,
CORPACT_IND TYPE STRING,
ADR_COUNTRY TYPE STRING,
FAX_NO TYPE STRING,
EMAIL_ADD TYPE STRING,
SENT_FOR_MATCH TYPE STRING,
LOG_HANDLE TYPE STRING,
CORR_ADDTYPE TYPE STRING,
SAP_USER TYPE STRING,
IS_AUTOMATCH_OUT TYPE STRING,
IS_DEAL_REL_REQ TYPE STRING,
IS_CTRCNF_MAN TYPE STRING,
ASSIGN_REASON TYPE STRING,
PRESENT_ID TYPE STRING,
PRESENT_STATUS TYPE STRING,END OF T_EKKO_STR. DATA: WA_TCORS_CO_INCL_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_TCORS_CO_INCL_STR-CO_KEY sy-vline
WA_TCORS_CO_INCL_STR-CODMD_UUID sy-vline
WA_TCORS_CO_INCL_STR-COSA_UUID sy-vline
WA_TCORS_CO_INCL_STR-COMPANY_CODE sy-vline
WA_TCORS_CO_INCL_STR-DEALNUMBER sy-vline
WA_TCORS_CO_INCL_STR-BUSTRANSID sy-vline
WA_TCORS_CO_INCL_STR-BUSTRANSCAT sy-vline
WA_TCORS_CO_INCL_STR-SEC_ACC sy-vline
WA_TCORS_CO_INCL_STR-SECURITYID sy-vline
WA_TCORS_CO_INCL_STR-PRODUCTTYPE sy-vline
WA_TCORS_CO_INCL_STR-TRANSACTIONTYPE sy-vline
WA_TCORS_CO_INCL_STR-ACTIVITY sy-vline
WA_TCORS_CO_INCL_STR-ACTIVITYCAT sy-vline
WA_TCORS_CO_INCL_STR-SFUNKTL sy-vline
WA_TCORS_CO_INCL_STR-PARTNR sy-vline
WA_TCORS_CO_INCL_STR-BPGROUP sy-vline
WA_TCORS_CO_INCL_STR-PROFILE sy-vline
WA_TCORS_CO_INCL_STR-RECIPIENT_TYPE sy-vline
WA_TCORS_CO_INCL_STR-RECIPIENT sy-vline
WA_TCORS_CO_INCL_STR-FUNCTION sy-vline
WA_TCORS_CO_INCL_STR-CHANNEL sy-vline
WA_TCORS_CO_INCL_STR-MESSAGE_FORMAT sy-vline
WA_TCORS_CO_INCL_STR-DIRECTION sy-vline
WA_TCORS_CO_INCL_STR-OPERATION sy-vline
WA_TCORS_CO_INCL_STR-REF_CO_KEY sy-vline
WA_TCORS_CO_INCL_STR-STATUS_GUID sy-vline
WA_TCORS_CO_INCL_STR-IS_AUTO_CORR sy-vline
WA_TCORS_CO_INCL_STR-IS_REL_REQD sy-vline
WA_TCORS_CO_INCL_STR-IS_STATUS_REL sy-vline
WA_TCORS_CO_INCL_STR-IS_CTRCONF_REQD sy-vline
WA_TCORS_CO_INCL_STR-IS_AUTO_COMPLETE sy-vline
WA_TCORS_CO_INCL_STR-IS_UPD_EXT_REF sy-vline
WA_TCORS_CO_INCL_STR-IS_MANUAL sy-vline
WA_TCORS_CO_INCL_STR-IS_ACK_REL sy-vline
WA_TCORS_CO_INCL_STR-IS_RESENT sy-vline
WA_TCORS_CO_INCL_STR-RECONCILE sy-vline
WA_TCORS_CO_INCL_STR-SET_DELIVERY sy-vline
WA_TCORS_CO_INCL_STR-CRUSER sy-vline
WA_TCORS_CO_INCL_STR-DCRDAT sy-vline
WA_TCORS_CO_INCL_STR-TCRTIM sy-vline
WA_TCORS_CO_INCL_STR-UPUSER sy-vline
WA_TCORS_CO_INCL_STR-DUPDAT sy-vline
WA_TCORS_CO_INCL_STR-TUPTIM sy-vline
WA_TCORS_CO_INCL_STR-EXEC_DATE sy-vline
WA_TCORS_CO_INCL_STR-EXEC_TIME sy-vline
WA_TCORS_CO_INCL_STR-EXEC_USER sy-vline
WA_TCORS_CO_INCL_STR-DELV_DATE sy-vline
WA_TCORS_CO_INCL_STR-DELV_TIME sy-vline
WA_TCORS_CO_INCL_STR-DELV_USER sy-vline
WA_TCORS_CO_INCL_STR-RECON_DATE sy-vline
WA_TCORS_CO_INCL_STR-RECON_TIME sy-vline
WA_TCORS_CO_INCL_STR-RECON_USER sy-vline
WA_TCORS_CO_INCL_STR-MTCH_DATE sy-vline
WA_TCORS_CO_INCL_STR-MTCH_TIME sy-vline
WA_TCORS_CO_INCL_STR-MTCH_USER sy-vline
WA_TCORS_CO_INCL_STR-RECV_DATE sy-vline
WA_TCORS_CO_INCL_STR-RECV_TIME sy-vline
WA_TCORS_CO_INCL_STR-RECV_USER sy-vline
WA_TCORS_CO_INCL_STR-MATCH_ID sy-vline
WA_TCORS_CO_INCL_STR-CO_INT_REF sy-vline
WA_TCORS_CO_INCL_STR-CO_EXT_REF sy-vline
WA_TCORS_CO_INCL_STR-IS_COMPLETE sy-vline
WA_TCORS_CO_INCL_STR-IS_MANUAL_CHNG sy-vline
WA_TCORS_CO_INCL_STR-MSG_STATUS sy-vline
WA_TCORS_CO_INCL_STR-MSG_REASON sy-vline
WA_TCORS_CO_INCL_STR-ERROR_CODE sy-vline
WA_TCORS_CO_INCL_STR-ERROR_TEXT sy-vline
WA_TCORS_CO_INCL_STR-ERROR_LINE sy-vline
WA_TCORS_CO_INCL_STR-CORR_COUNTRY sy-vline
WA_TCORS_CO_INCL_STR-CORR_LANGUAGE sy-vline
WA_TCORS_CO_INCL_STR-CORPACT_IND sy-vline
WA_TCORS_CO_INCL_STR-ADR_COUNTRY sy-vline
WA_TCORS_CO_INCL_STR-FAX_NO sy-vline
WA_TCORS_CO_INCL_STR-EMAIL_ADD sy-vline
WA_TCORS_CO_INCL_STR-SENT_FOR_MATCH sy-vline
WA_TCORS_CO_INCL_STR-LOG_HANDLE sy-vline
WA_TCORS_CO_INCL_STR-CORR_ADDTYPE sy-vline
WA_TCORS_CO_INCL_STR-SAP_USER sy-vline
WA_TCORS_CO_INCL_STR-IS_AUTOMATCH_OUT sy-vline
WA_TCORS_CO_INCL_STR-IS_DEAL_REL_REQ sy-vline
WA_TCORS_CO_INCL_STR-IS_CTRCNF_MAN sy-vline
WA_TCORS_CO_INCL_STR-ASSIGN_REASON sy-vline
WA_TCORS_CO_INCL_STR-PRESENT_ID sy-vline
WA_TCORS_CO_INCL_STR-PRESENT_STATUS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.