ABAP Select data from SAP table CINCDEFINST 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 CINCDEFINST 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 CINCDEFINST. 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 CINCDEFINST 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_CINCDEFINST TYPE STANDARD TABLE OF CINCDEFINST,
      WA_CINCDEFINST TYPE CINCDEFINST,
      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: <CINCDEFINST> TYPE CINCDEFINST.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CINCDEFINST
*  INTO TABLE @DATA(IT_CINCDEFINST2).
*--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_CINCDEFINST INDEX 1 INTO DATA(WA_CINCDEFINST2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CINCDEFINST ASSIGNING <CINCDEFINST>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CINCDEFINST>-MANDT = 1.
<CINCDEFINST>-EHSTASKDEFINITIONUUID = 1.
<CINCDEFINST>-WORKFLOWTASKINTERNALID = 1.
<CINCDEFINST>-EHSPLANNEDTASKUUID = 1.
<CINCDEFINST>-EHSTASKHOSTOBJECTINSTANCE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CINCDEFINST-EHSTASKHOSTOBJECTADAPTERCLASS, sy-vline,
WA_CINCDEFINST-EHSTASKHOSTSEMANTICOBJECT, sy-vline,
WA_CINCDEFINST-EHSTASKHASWORKFLOW, sy-vline,
WA_CINCDEFINST-EHSTASKTITLE, sy-vline,
WA_CINCDEFINST-EHSPLANNEDTASKID, sy-vline,
WA_CINCDEFINST-EHSTASKDEFINITIONTYPE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CINCDEFINST 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_CINCDEFINST 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_CINCDEFINST INTO WA_CINCDEFINST. *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 EHSTASKOWNERBP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_CINCDEFINST-EHSTASKOWNERBP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CINCDEFINST-EHSTASKOWNERBP.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ALPHA, internal->external for field EHSTASKAPPROVINGBP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_CINCDEFINST-EHSTASKAPPROVINGBP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CINCDEFINST-EHSTASKAPPROVINGBP.
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_CINCDEFINST_STR,
MANDT TYPE STRING,
EHSTASKDEFINITIONUUID TYPE STRING,
WORKFLOWTASKINTERNALID TYPE STRING,
EHSPLANNEDTASKUUID TYPE STRING,
EHSTASKHOSTOBJECTINSTANCE TYPE STRING,
EHSTASKHOSTOBJECTADAPTERCLASS TYPE STRING,
EHSTASKHOSTSEMANTICOBJECT TYPE STRING,
EHSTASKHASWORKFLOW TYPE STRING,
EHSTASKTITLE TYPE STRING,
EHSPLANNEDTASKID TYPE STRING,
EHSTASKDEFINITIONTYPE TYPE STRING,
EHSTASKSTATUSNAME TYPE STRING,
EHSTASKSTATUSCRITICALITY TYPE STRING,
EHSTASKDUEDATE TYPE STRING,
EHSTASKISRECURRENT TYPE STRING,
EHSTASKINSTANCEPROCESSORNAME TYPE STRING,
EHSTSKRELATEDOBJECTDESCRIPTION TYPE STRING,
EHSTASKSTARTDATE TYPE STRING,
EHSTASKINSTCECOMPLETIONDATE TYPE STRING,
EHSTASKSTATUSVALUEFORSORTING TYPE STRING,
EHSTASKDATEFORSORTING TYPE STRING,
EHSTASKDEFINITIONISPAUSED TYPE STRING,
WORKFLOWTASKSTATUS TYPE STRING,
WRKFLWTSKCOMPLETIONUTCDATETIME TYPE STRING,
EHSTASKDEFINITIONSTATUS TYPE STRING,
EHSTASKTIMEZONE TYPE STRING,
EHSTASKDEFINITIONMANAGEACTION TYPE STRING,
EHSTASKINSTANCEDISPLAYACTION TYPE STRING,
EHSTASKOWNERUSER TYPE STRING,
EHSTASKOWNERBP TYPE STRING,
EHSTASKOWNERUSERNAME TYPE STRING,
EHSTASKASSIGNEDBP TYPE STRING,
EHSTASKASSIGNEDUSERNAME TYPE STRING,
EHSTASKASSIGNEDLOCROLENAME TYPE STRING,
EHSTASKAPPROVINGBP TYPE STRING,
EHSTASKAPPROVINGUSERNAME TYPE STRING,
EHSTASKAPPROVERLOCROLENAME TYPE STRING,
EHSTASKINSTANCEPROCESSORUSER TYPE STRING,
INCIDENTUUID TYPE STRING,
INCIDENTHASACCESSRESTRICTION TYPE STRING,END OF T_EKKO_STR. DATA: WA_CINCDEFINST_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_CINCDEFINST_STR-MANDT sy-vline
WA_CINCDEFINST_STR-EHSTASKDEFINITIONUUID sy-vline
WA_CINCDEFINST_STR-WORKFLOWTASKINTERNALID sy-vline
WA_CINCDEFINST_STR-EHSPLANNEDTASKUUID sy-vline
WA_CINCDEFINST_STR-EHSTASKHOSTOBJECTINSTANCE sy-vline
WA_CINCDEFINST_STR-EHSTASKHOSTOBJECTADAPTERCLASS sy-vline
WA_CINCDEFINST_STR-EHSTASKHOSTSEMANTICOBJECT sy-vline
WA_CINCDEFINST_STR-EHSTASKHASWORKFLOW sy-vline
WA_CINCDEFINST_STR-EHSTASKTITLE sy-vline
WA_CINCDEFINST_STR-EHSPLANNEDTASKID sy-vline
WA_CINCDEFINST_STR-EHSTASKDEFINITIONTYPE sy-vline
WA_CINCDEFINST_STR-EHSTASKSTATUSNAME sy-vline
WA_CINCDEFINST_STR-EHSTASKSTATUSCRITICALITY sy-vline
WA_CINCDEFINST_STR-EHSTASKDUEDATE sy-vline
WA_CINCDEFINST_STR-EHSTASKISRECURRENT sy-vline
WA_CINCDEFINST_STR-EHSTASKINSTANCEPROCESSORNAME sy-vline
WA_CINCDEFINST_STR-EHSTSKRELATEDOBJECTDESCRIPTION sy-vline
WA_CINCDEFINST_STR-EHSTASKSTARTDATE sy-vline
WA_CINCDEFINST_STR-EHSTASKINSTCECOMPLETIONDATE sy-vline
WA_CINCDEFINST_STR-EHSTASKSTATUSVALUEFORSORTING sy-vline
WA_CINCDEFINST_STR-EHSTASKDATEFORSORTING sy-vline
WA_CINCDEFINST_STR-EHSTASKDEFINITIONISPAUSED sy-vline
WA_CINCDEFINST_STR-WORKFLOWTASKSTATUS sy-vline
WA_CINCDEFINST_STR-WRKFLWTSKCOMPLETIONUTCDATETIME sy-vline
WA_CINCDEFINST_STR-EHSTASKDEFINITIONSTATUS sy-vline
WA_CINCDEFINST_STR-EHSTASKTIMEZONE sy-vline
WA_CINCDEFINST_STR-EHSTASKDEFINITIONMANAGEACTION sy-vline
WA_CINCDEFINST_STR-EHSTASKINSTANCEDISPLAYACTION sy-vline
WA_CINCDEFINST_STR-EHSTASKOWNERUSER sy-vline
WA_CINCDEFINST_STR-EHSTASKOWNERBP sy-vline
WA_CINCDEFINST_STR-EHSTASKOWNERUSERNAME sy-vline
WA_CINCDEFINST_STR-EHSTASKASSIGNEDBP sy-vline
WA_CINCDEFINST_STR-EHSTASKASSIGNEDUSERNAME sy-vline
WA_CINCDEFINST_STR-EHSTASKASSIGNEDLOCROLENAME sy-vline
WA_CINCDEFINST_STR-EHSTASKAPPROVINGBP sy-vline
WA_CINCDEFINST_STR-EHSTASKAPPROVINGUSERNAME sy-vline
WA_CINCDEFINST_STR-EHSTASKAPPROVERLOCROLENAME sy-vline
WA_CINCDEFINST_STR-EHSTASKINSTANCEPROCESSORUSER sy-vline
WA_CINCDEFINST_STR-INCIDENTUUID sy-vline
WA_CINCDEFINST_STR-INCIDENTHASACCESSRESTRICTION sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.