ABAP Select data from SAP table CGPL_MSP_RESOURCES_INT 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 CGPL_MSP_RESOURCES_INT 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 CGPL_MSP_RESOURCES_INT. 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 CGPL_MSP_RESOURCES_INT 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_CGPL_MSP_RESOURCES_INT TYPE STANDARD TABLE OF CGPL_MSP_RESOURCES_INT,
      WA_CGPL_MSP_RESOURCES_INT TYPE CGPL_MSP_RESOURCES_INT,
      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: <CGPL_MSP_RESOURCES_INT> TYPE CGPL_MSP_RESOURCES_INT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CGPL_MSP_RESOURCES_INT
*  INTO TABLE @DATA(IT_CGPL_MSP_RESOURCES_INT2).
*--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_CGPL_MSP_RESOURCES_INT INDEX 1 INTO DATA(WA_CGPL_MSP_RESOURCES_INT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CGPL_MSP_RESOURCES_INT ASSIGNING <CGPL_MSP_RESOURCES_INT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CGPL_MSP_RESOURCES_INT>-RESOURCE_DATA = 1.
<CGPL_MSP_RESOURCES_INT>-UID = 1.
<CGPL_MSP_RESOURCES_INT>-ID = 1.
<CGPL_MSP_RESOURCES_INT>-NAME = 1.
<CGPL_MSP_RESOURCES_INT>-TYPE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CGPL_MSP_RESOURCES_INT-IS_NULL, sy-vline,
WA_CGPL_MSP_RESOURCES_INT-INITIALS, sy-vline,
WA_CGPL_MSP_RESOURCES_INT-PHONETICS, sy-vline,
WA_CGPL_MSP_RESOURCES_INT-NTACCOUNT, sy-vline,
WA_CGPL_MSP_RESOURCES_INT-MATERIAL_LABEL, sy-vline,
WA_CGPL_MSP_RESOURCES_INT-CODE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CGPL_MSP_RESOURCES_INT 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_CGPL_MSP_RESOURCES_INT 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_CGPL_MSP_RESOURCES_INT INTO WA_CGPL_MSP_RESOURCES_INT. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_CGPL_MSP_RESOURCES_INT_STR,
RESOURCE_DATA TYPE STRING,
UID TYPE STRING,
ID TYPE STRING,
NAME TYPE STRING,
TYPE TYPE STRING,
IS_NULL TYPE STRING,
INITIALS TYPE STRING,
PHONETICS TYPE STRING,
NTACCOUNT TYPE STRING,
MATERIAL_LABEL TYPE STRING,
CODE TYPE STRING,
GROUP TYPE STRING,
WORK_GROUP TYPE STRING,
EMAIL_ADDRESS TYPE STRING,
HYPERLINK TYPE STRING,
HYPERLINK_ADDRESS TYPE STRING,
HYPERLINK_SUB_ADDRESS TYPE STRING,
MAX_UNITS TYPE STRING,
PEAK_UNITS TYPE STRING,
OVER_ALLOCATED TYPE STRING,
AVAILABLE_FROM TYPE STRING,
AVAILABLE_TO TYPE STRING,
START TYPE STRING,
FINISH TYPE STRING,
CAN_LEVEL TYPE STRING,
ACCRUE_AT TYPE STRING,
WORK TYPE STRING,
REGULAR_WORK TYPE STRING,
OVERTIME_WORK TYPE STRING,
ACTUAL_WORK TYPE STRING,
REMAINING_WORK TYPE STRING,
ACTUAL_OVERTIME_WORK TYPE STRING,
REMAINING_OVERTIME_WORK TYPE STRING,
PERCENT_WORK_COMPLETE TYPE STRING,
STANDARD_RATE TYPE STRING,
STANDARD_RATE_FORMAT TYPE STRING,
COST TYPE STRING,
OVERTIME_RATE TYPE STRING,
OVERTIME_RATE_FORMAT TYPE STRING,
OVERTIME_COST TYPE STRING,
COST_PER_USE TYPE STRING,
ACTUAL_COST TYPE STRING,
ACTUAL_OVERTIME_COST TYPE STRING,
REMAINING_COST TYPE STRING,
REMAINING_OVERTIME_COST TYPE STRING,
WORK_VARIANCE TYPE STRING,
COST_VARIANCE TYPE STRING,
SV TYPE STRING,
CV TYPE STRING,
ACWP TYPE STRING,
CALENDAR_UID TYPE STRING,
NOTES TYPE STRING,
BCWS TYPE STRING,
BCWP TYPE STRING,
IS_GENERIC TYPE STRING,
IS_INACTIVE TYPE STRING,
IS_ENTERPRISE TYPE STRING,
BOOKING_TYPE TYPE STRING,
ACTUAL_WORK_PROTECTED TYPE STRING,
ACTUAL_OVERTIME_WORK_PROTECTED TYPE STRING,
ACTIVE_DIRECTORY_GUID TYPE STRING,
CREATION_DATE TYPE STRING,
WORK_UNIT TYPE STRING,
TEXT1 TYPE STRING,
TEXT2 TYPE STRING,
TEXT3 TYPE STRING,
TEXT4 TYPE STRING,
TEXT5 TYPE STRING,
TEXT6 TYPE STRING,
TEXT7 TYPE STRING,
TEXT8 TYPE STRING,
TEXT9 TYPE STRING,
TEXT10 TYPE STRING,
TEXT11 TYPE STRING,
TEXT12 TYPE STRING,
TEXT13 TYPE STRING,
TEXT14 TYPE STRING,
TEXT15 TYPE STRING,
TEXT16 TYPE STRING,
TEXT17 TYPE STRING,
TEXT18 TYPE STRING,
TEXT19 TYPE STRING,
TEXT20 TYPE STRING,
TEXT21 TYPE STRING,
TEXT22 TYPE STRING,
TEXT23 TYPE STRING,
TEXT24 TYPE STRING,
TEXT25 TYPE STRING,
TEXT26 TYPE STRING,
TEXT27 TYPE STRING,
TEXT28 TYPE STRING,
TEXT29 TYPE STRING,
TEXT30 TYPE STRING,
NUMBER1 TYPE STRING,
NUMBER2 TYPE STRING,
NUMBER3 TYPE STRING,
NUMBER4 TYPE STRING,
NUMBER5 TYPE STRING,
NUMBER6 TYPE STRING,
NUMBER7 TYPE STRING,
NUMBER8 TYPE STRING,
NUMBER9 TYPE STRING,
NUMBER10 TYPE STRING,
NUMBER11 TYPE STRING,
NUMBER12 TYPE STRING,
NUMBER13 TYPE STRING,
NUMBER14 TYPE STRING,
NUMBER15 TYPE STRING,
NUMBER16 TYPE STRING,
NUMBER17 TYPE STRING,
NUMBER18 TYPE STRING,
NUMBER19 TYPE STRING,
NUMBER20 TYPE STRING,
DATE1 TYPE STRING,
DATE2 TYPE STRING,
DATE3 TYPE STRING,
DATE4 TYPE STRING,
DATE5 TYPE STRING,
DATE6 TYPE STRING,
DATE7 TYPE STRING,
DATE8 TYPE STRING,
DATE9 TYPE STRING,
DATE10 TYPE STRING,
OUTLINECODE1 TYPE STRING,
OUTLINECODE2 TYPE STRING,
OUTLINECODE3 TYPE STRING,
OUTLINECODE4 TYPE STRING,
OUTLINECODE5 TYPE STRING,
OUTLINECODE6 TYPE STRING,
OUTLINECODE7 TYPE STRING,
OUTLINECODE8 TYPE STRING,
OUTLINECODE9 TYPE STRING,
OUTLINECODE10 TYPE STRING,
ASSIGNMENTS TYPE STRING,END OF T_EKKO_STR. DATA: WA_CGPL_MSP_RESOURCES_INT_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_CGPL_MSP_RESOURCES_INT_STR-RESOURCE_DATA sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-UID sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ID sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NAME sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TYPE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-IS_NULL sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-INITIALS sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-PHONETICS sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NTACCOUNT sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-MATERIAL_LABEL sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-CODE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-GROUP sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-WORK_GROUP sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-EMAIL_ADDRESS sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-HYPERLINK sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-HYPERLINK_ADDRESS sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-HYPERLINK_SUB_ADDRESS sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-MAX_UNITS sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-PEAK_UNITS sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OVER_ALLOCATED sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-AVAILABLE_FROM sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-AVAILABLE_TO sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-START sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-FINISH sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-CAN_LEVEL sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACCRUE_AT sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-WORK sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-REGULAR_WORK sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OVERTIME_WORK sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACTUAL_WORK sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-REMAINING_WORK sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACTUAL_OVERTIME_WORK sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-REMAINING_OVERTIME_WORK sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-PERCENT_WORK_COMPLETE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-STANDARD_RATE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-STANDARD_RATE_FORMAT sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-COST sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OVERTIME_RATE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OVERTIME_RATE_FORMAT sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OVERTIME_COST sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-COST_PER_USE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACTUAL_COST sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACTUAL_OVERTIME_COST sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-REMAINING_COST sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-REMAINING_OVERTIME_COST sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-WORK_VARIANCE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-COST_VARIANCE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-SV sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-CV sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACWP sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-CALENDAR_UID sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NOTES sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-BCWS sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-BCWP sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-IS_GENERIC sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-IS_INACTIVE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-IS_ENTERPRISE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-BOOKING_TYPE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACTUAL_WORK_PROTECTED sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACTUAL_OVERTIME_WORK_PROTECTED sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ACTIVE_DIRECTORY_GUID sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-CREATION_DATE sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-WORK_UNIT sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT1 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT2 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT3 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT4 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT5 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT6 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT7 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT8 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT9 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT10 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT11 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT12 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT13 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT14 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT15 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT16 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT17 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT18 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT19 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT20 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT21 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT22 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT23 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT24 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT25 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT26 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT27 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT28 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT29 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-TEXT30 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER1 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER2 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER3 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER4 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER5 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER6 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER7 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER8 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER9 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER10 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER11 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER12 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER13 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER14 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER15 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER16 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER17 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER18 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER19 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-NUMBER20 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE1 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE2 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE3 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE4 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE5 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE6 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE7 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE8 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE9 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-DATE10 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE1 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE2 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE3 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE4 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE5 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE6 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE7 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE8 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE9 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-OUTLINECODE10 sy-vline
WA_CGPL_MSP_RESOURCES_INT_STR-ASSIGNMENTS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.