ABAP Select data from SAP table PWRKCNTRACT2 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 PWRKCNTRACT2 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 PWRKCNTRACT2. 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 PWRKCNTRACT2 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_PWRKCNTRACT2 TYPE STANDARD TABLE OF PWRKCNTRACT2,
      WA_PWRKCNTRACT2 TYPE PWRKCNTRACT2,
      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: <PWRKCNTRACT2> TYPE PWRKCNTRACT2.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PWRKCNTRACT2
*  INTO TABLE @DATA(IT_PWRKCNTRACT22).
*--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_PWRKCNTRACT2 INDEX 1 INTO DATA(WA_PWRKCNTRACT22).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PWRKCNTRACT2 ASSIGNING <PWRKCNTRACT2>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PWRKCNTRACT2>-MANDT = 1.
<PWRKCNTRACT2>-WORKCENTERINTERNALID = 1.
<PWRKCNTRACT2>-WORKCENTERTYPECODE = 1.
<PWRKCNTRACT2>-WORKCENTERCATEGORYCODE = 1.
<PWRKCNTRACT2>-WORKCENTER = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PWRKCNTRACT2-PLANT, sy-vline,
WA_PWRKCNTRACT2-STANDARDWORKFORMULAPARAMGROUP, sy-vline,
WA_PWRKCNTRACT2-STANDARDWORKFORMULAPARAM1, sy-vline,
WA_PWRKCNTRACT2-PARAM1LANGUAGE, sy-vline,
WA_PWRKCNTRACT2-PARAMNAME1, sy-vline,
WA_PWRKCNTRACT2-STANDARDWORKFORMULAPARAM2, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PWRKCNTRACT2 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_PWRKCNTRACT2 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_PWRKCNTRACT2 INTO WA_PWRKCNTRACT2. *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 ISOLA, internal->external for field PARAM1LANGUAGE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_PWRKCNTRACT2-PARAM1LANGUAGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PWRKCNTRACT2-PARAM1LANGUAGE.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

*Conversion exit ISOLA, internal->external for field PARAM6LANGUAGE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_PWRKCNTRACT2-PARAM6LANGUAGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PWRKCNTRACT2-PARAM6LANGUAGE.
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_PWRKCNTRACT2_STR,
MANDT TYPE STRING,
WORKCENTERINTERNALID TYPE STRING,
WORKCENTERTYPECODE TYPE STRING,
WORKCENTERCATEGORYCODE TYPE STRING,
WORKCENTER TYPE STRING,
PLANT TYPE STRING,
STANDARDWORKFORMULAPARAMGROUP TYPE STRING,
STANDARDWORKFORMULAPARAM1 TYPE STRING,
PARAM1LANGUAGE TYPE STRING,
PARAMNAME1 TYPE STRING,
STANDARDWORKFORMULAPARAM2 TYPE STRING,
PARAM2LANGUAGE TYPE STRING,
PARAMNAME2 TYPE STRING,
STANDARDWORKFORMULAPARAM3 TYPE STRING,
PARAM3LANGUAGE TYPE STRING,
PARAMNAME3 TYPE STRING,
STANDARDWORKFORMULAPARAM4 TYPE STRING,
PARAM4LANGUAGE TYPE STRING,
PARAMNAME4 TYPE STRING,
STANDARDWORKFORMULAPARAM5 TYPE STRING,
PARAM5LANGUAGE TYPE STRING,
PARAMNAME5 TYPE STRING,
STANDARDWORKFORMULAPARAM6 TYPE STRING,
PARAM6LANGUAGE TYPE STRING,
PARAMNAME6 TYPE STRING,
COSTCENTERALLOCATION1 TYPE STRING,
CONTROLLINGAREA1 TYPE STRING,
COSTCTRACTIVITYTYPE1 TYPE STRING,
COSTCTRACTIVITYTYPENAME1 TYPE STRING,
ACTIVITYDESCORIGINTYPE1 TYPE STRING,
COSTCENTERACTIVITYALTVDESCID1 TYPE STRING,
VALIDITYSTARTDATE1 TYPE STRING,
VALIDITYENDDATE1 TYPE STRING,
COSTCENTERACTIVITYALTVDESC1 TYPE STRING,
COSTCENTERALLOCATION2 TYPE STRING,
CONTROLLINGAREA2 TYPE STRING,
COSTCTRACTIVITYTYPE2 TYPE STRING,
COSTCTRACTIVITYTYPENAME2 TYPE STRING,
ACTIVITYDESCORIGINTYPE2 TYPE STRING,
COSTCENTERACTIVITYALTVDESCID2 TYPE STRING,
VALIDITYSTARTDATE2 TYPE STRING,
VALIDITYENDDATE2 TYPE STRING,
COSTCENTERACTIVITYALTVDESC2 TYPE STRING,
COSTCENTERALLOCATION3 TYPE STRING,
CONTROLLINGAREA3 TYPE STRING,
COSTCTRACTIVITYTYPE3 TYPE STRING,
COSTCTRACTIVITYTYPENAME3 TYPE STRING,
ACTIVITYDESCORIGINTYPE3 TYPE STRING,
COSTCENTERACTIVITYALTVDESCID3 TYPE STRING,
VALIDITYSTARTDATE3 TYPE STRING,
VALIDITYENDDATE3 TYPE STRING,
COSTCENTERACTIVITYALTVDESC3 TYPE STRING,
COSTCENTERALLOCATION4 TYPE STRING,
CONTROLLINGAREA4 TYPE STRING,
COSTCTRACTIVITYTYPE4 TYPE STRING,
COSTCTRACTIVITYTYPENAME4 TYPE STRING,
ACTIVITYDESCORIGINTYPE4 TYPE STRING,
COSTCENTERACTIVITYALTVDESCID4 TYPE STRING,
VALIDITYSTARTDATE4 TYPE STRING,
VALIDITYENDDATE4 TYPE STRING,
COSTCENTERACTIVITYALTVDESC4 TYPE STRING,
COSTCENTERALLOCATION5 TYPE STRING,
CONTROLLINGAREA5 TYPE STRING,
COSTCTRACTIVITYTYPE5 TYPE STRING,
COSTCTRACTIVITYTYPENAME5 TYPE STRING,
ACTIVITYDESCORIGINTYPE5 TYPE STRING,
COSTCENTERACTIVITYALTVDESCID5 TYPE STRING,
VALIDITYSTARTDATE5 TYPE STRING,
VALIDITYENDDATE5 TYPE STRING,
COSTCENTERACTIVITYALTVDESC5 TYPE STRING,
COSTCENTERALLOCATION6 TYPE STRING,
CONTROLLINGAREA6 TYPE STRING,
COSTCTRACTIVITYTYPE6 TYPE STRING,
COSTCTRACTIVITYTYPENAME6 TYPE STRING,
ACTIVITYDESCORIGINTYPE6 TYPE STRING,
COSTCENTERACTIVITYALTVDESCID6 TYPE STRING,
VALIDITYSTARTDATE6 TYPE STRING,
VALIDITYENDDATE6 TYPE STRING,
COSTCENTERACTIVITYALTVDESC6 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PWRKCNTRACT2_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_PWRKCNTRACT2_STR-MANDT sy-vline
WA_PWRKCNTRACT2_STR-WORKCENTERINTERNALID sy-vline
WA_PWRKCNTRACT2_STR-WORKCENTERTYPECODE sy-vline
WA_PWRKCNTRACT2_STR-WORKCENTERCATEGORYCODE sy-vline
WA_PWRKCNTRACT2_STR-WORKCENTER sy-vline
WA_PWRKCNTRACT2_STR-PLANT sy-vline
WA_PWRKCNTRACT2_STR-STANDARDWORKFORMULAPARAMGROUP sy-vline
WA_PWRKCNTRACT2_STR-STANDARDWORKFORMULAPARAM1 sy-vline
WA_PWRKCNTRACT2_STR-PARAM1LANGUAGE sy-vline
WA_PWRKCNTRACT2_STR-PARAMNAME1 sy-vline
WA_PWRKCNTRACT2_STR-STANDARDWORKFORMULAPARAM2 sy-vline
WA_PWRKCNTRACT2_STR-PARAM2LANGUAGE sy-vline
WA_PWRKCNTRACT2_STR-PARAMNAME2 sy-vline
WA_PWRKCNTRACT2_STR-STANDARDWORKFORMULAPARAM3 sy-vline
WA_PWRKCNTRACT2_STR-PARAM3LANGUAGE sy-vline
WA_PWRKCNTRACT2_STR-PARAMNAME3 sy-vline
WA_PWRKCNTRACT2_STR-STANDARDWORKFORMULAPARAM4 sy-vline
WA_PWRKCNTRACT2_STR-PARAM4LANGUAGE sy-vline
WA_PWRKCNTRACT2_STR-PARAMNAME4 sy-vline
WA_PWRKCNTRACT2_STR-STANDARDWORKFORMULAPARAM5 sy-vline
WA_PWRKCNTRACT2_STR-PARAM5LANGUAGE sy-vline
WA_PWRKCNTRACT2_STR-PARAMNAME5 sy-vline
WA_PWRKCNTRACT2_STR-STANDARDWORKFORMULAPARAM6 sy-vline
WA_PWRKCNTRACT2_STR-PARAM6LANGUAGE sy-vline
WA_PWRKCNTRACT2_STR-PARAMNAME6 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERALLOCATION1 sy-vline
WA_PWRKCNTRACT2_STR-CONTROLLINGAREA1 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPE1 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPENAME1 sy-vline
WA_PWRKCNTRACT2_STR-ACTIVITYDESCORIGINTYPE1 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESCID1 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYSTARTDATE1 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYENDDATE1 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESC1 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERALLOCATION2 sy-vline
WA_PWRKCNTRACT2_STR-CONTROLLINGAREA2 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPE2 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPENAME2 sy-vline
WA_PWRKCNTRACT2_STR-ACTIVITYDESCORIGINTYPE2 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESCID2 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYSTARTDATE2 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYENDDATE2 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESC2 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERALLOCATION3 sy-vline
WA_PWRKCNTRACT2_STR-CONTROLLINGAREA3 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPE3 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPENAME3 sy-vline
WA_PWRKCNTRACT2_STR-ACTIVITYDESCORIGINTYPE3 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESCID3 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYSTARTDATE3 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYENDDATE3 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESC3 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERALLOCATION4 sy-vline
WA_PWRKCNTRACT2_STR-CONTROLLINGAREA4 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPE4 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPENAME4 sy-vline
WA_PWRKCNTRACT2_STR-ACTIVITYDESCORIGINTYPE4 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESCID4 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYSTARTDATE4 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYENDDATE4 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESC4 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERALLOCATION5 sy-vline
WA_PWRKCNTRACT2_STR-CONTROLLINGAREA5 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPE5 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPENAME5 sy-vline
WA_PWRKCNTRACT2_STR-ACTIVITYDESCORIGINTYPE5 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESCID5 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYSTARTDATE5 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYENDDATE5 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESC5 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERALLOCATION6 sy-vline
WA_PWRKCNTRACT2_STR-CONTROLLINGAREA6 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPE6 sy-vline
WA_PWRKCNTRACT2_STR-COSTCTRACTIVITYTYPENAME6 sy-vline
WA_PWRKCNTRACT2_STR-ACTIVITYDESCORIGINTYPE6 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESCID6 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYSTARTDATE6 sy-vline
WA_PWRKCNTRACT2_STR-VALIDITYENDDATE6 sy-vline
WA_PWRKCNTRACT2_STR-COSTCENTERACTIVITYALTVDESC6 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.