ABAP Select data from SAP table SPAOC_TRV_ITEM_GROUP_SUMMARY 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 SPAOC_TRV_ITEM_GROUP_SUMMARY 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 SPAOC_TRV_ITEM_GROUP_SUMMARY. 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 SPAOC_TRV_ITEM_GROUP_SUMMARY 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_SPAOC_TRV_ITEM_GROUP_SUMMARY TYPE STANDARD TABLE OF SPAOC_TRV_ITEM_GROUP_SUMMARY,
      WA_SPAOC_TRV_ITEM_GROUP_SUMMARY TYPE SPAOC_TRV_ITEM_GROUP_SUMMARY,
      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: <SPAOC_TRV_ITEM_GROUP_SUMMARY> TYPE SPAOC_TRV_ITEM_GROUP_SUMMARY.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM SPAOC_TRV_ITEM_GROUP_SUMMARY
*  INTO TABLE @DATA(IT_SPAOC_TRV_ITEM_GROUP_SUMMARY2).
*--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_SPAOC_TRV_ITEM_GROUP_SUMMARY INDEX 1 INTO DATA(WA_SPAOC_TRV_ITEM_GROUP_SUMMARY2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_SPAOC_TRV_ITEM_GROUP_SUMMARY ASSIGNING <SPAOC_TRV_ITEM_GROUP_SUMMARY>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<SPAOC_TRV_ITEM_GROUP_SUMMARY>-ITEMGROUPID = 1.
<SPAOC_TRV_ITEM_GROUP_SUMMARY>-EXPENSETYPEID = 1.
<SPAOC_TRV_ITEM_GROUP_SUMMARY>-EXPENSETYPEDESCRIPTION = 1.
<SPAOC_TRV_ITEM_GROUP_SUMMARY>-TAXCODE = 1.
<SPAOC_TRV_ITEM_GROUP_SUMMARY>-TAXCODEDESCRIPTION = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_SPAOC_TRV_ITEM_GROUP_SUMMARY-PERSONAL, sy-vline,
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY-MEMO, sy-vline,
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY-DESCRIPTION, sy-vline,
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY-BUSINESSPARTNER, sy-vline,
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY-SERVICEPROVIDER, sy-vline,
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY-SERVICEPROVIDERDESCRIPTION, sy-vline.
ENDLOOP. *Add any further fields from structure WA_SPAOC_TRV_ITEM_GROUP_SUMMARY 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_SPAOC_TRV_ITEM_GROUP_SUMMARY 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_SPAOC_TRV_ITEM_GROUP_SUMMARY INTO WA_SPAOC_TRV_ITEM_GROUP_SUMMARY. *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 CITYCODE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SPAOC_TRV_ITEM_GROUP_SUMMARY-CITYCODE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SPAOC_TRV_ITEM_GROUP_SUMMARY-CITYCODE.
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_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR,
ITEMGROUPID TYPE STRING,
EXPENSETYPEID TYPE STRING,
EXPENSETYPEDESCRIPTION TYPE STRING,
TAXCODE TYPE STRING,
TAXCODEDESCRIPTION TYPE STRING,
PERSONAL TYPE STRING,
MEMO TYPE STRING,
DESCRIPTION TYPE STRING,
BUSINESSPARTNER TYPE STRING,
SERVICEPROVIDER TYPE STRING,
SERVICEPROVIDERDESCRIPTION TYPE STRING,
BUSINESSPURPOSE TYPE STRING,
ENTERPRISETYPE TYPE STRING,
ENTERPRISETYPEDESCRIPTION TYPE STRING,
ADDRESS TYPE STRING,
FULLNAME TYPE STRING,
CITY TYPE STRING,
DISTRICT TYPE STRING,
POSTALCODE TYPE STRING,
CITYCODE TYPE STRING,
STREETNAME TYPE STRING,
STREETNUMBER TYPE STRING,
COUNTRY TYPE STRING,
REGION TYPE STRING,
LOCATION TYPE STRING,
COUNTRYDESCRIPTION TYPE STRING,
REGIONDESCRIPTION TYPE STRING,
FULLNAME_FC TYPE STRING,
CITY_FC TYPE STRING,
DISTRICT_FC TYPE STRING,
POSTALCODE_FC TYPE STRING,
CITYCODE_FC TYPE STRING,
STREETNAME_FC TYPE STRING,
STREETNUMBER_FC TYPE STRING,
COUNTRY_FC TYPE STRING,
REGION_FC TYPE STRING,
LOCATION_FC TYPE STRING,
CHECKRESULT TYPE STRING,
PARENTEXPENSEID TYPE STRING,
ISCHANGED TYPE STRING,
NUMBEROFLUNCHES TYPE STRING,
NUMBEROFBREAKFASTS TYPE STRING,
NUMBEROFDINNERS TYPE STRING,
PAIDBYCOMPANY TYPE STRING,
TAXJURISDICTIONCODE TYPE STRING,
TAXJURISDICTIONDESCRIPTION TYPE STRING,
PERDIEMREGION TYPE STRING,
PERDIEMREGIONDESCRIPTION TYPE STRING,
DESCRIPTION_FC TYPE STRING,
BUSINESSPARTNER_FC TYPE STRING,
SERVICEPROVIDER_FC TYPE STRING,
BUSINESSPURPOSE_FC TYPE STRING,
ENTERPRISETYPE_FC TYPE STRING,
MEMO_FC TYPE STRING,
PERSONAL_FC TYPE STRING,
TAXCODE_FC TYPE STRING,
TAXJURISDICTIONCODE_FC TYPE STRING,
NUMBEROFLUNCHES_FC TYPE STRING,
NUMBEROFBREAKFASTS_FC TYPE STRING,
NUMBEROFDINNERS_FC TYPE STRING,
PAIDBYCOMPANY_FC TYPE STRING,
PERDIEMREGION_FC TYPE STRING,
EXPENSEDATE_FC TYPE STRING,
FROMDATE_FC TYPE STRING,
TODATE_FC TYPE STRING,
AMOUNT_FC TYPE STRING,
EXCHANGERATE_FC TYPE STRING,
EXPENSENUMBER_FC TYPE STRING,
EXPENSESOURCE_FC TYPE STRING,
ATTACHMENTS_FC TYPE STRING,
RECEIPTNO_FC TYPE STRING,
NUMBEROFATTENDEES_FC TYPE STRING,
ATTENDEE_FC TYPE STRING,
FROMLOCATION_FC TYPE STRING,
TOLOCATION_FC TYPE STRING,
PAPERRECEIPT_FC TYPE STRING,
CDOC_FC TYPE STRING,
PPRV_FC TYPE STRING,
NSTF_FC TYPE STRING,
NPTN_FC TYPE STRING,
NGST_FC TYPE STRING,
AIRLINE_FC TYPE STRING,
AIRCABINCLASS_FC TYPE STRING,
AIRTICKETNUMBER_FC TYPE STRING,
CARODOMETERREADING_FC TYPE STRING,
SENAME_FC TYPE STRING,
SECUSTOMERSERVICEPHONE_FC TYPE STRING,
PDOC_FC TYPE STRING,
CCTRANSACTION_FC TYPE STRING,
DUMMY_ITME_GROUP_SUM TYPE STRING,END OF T_EKKO_STR. DATA: WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_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_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-ITEMGROUPID sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-EXPENSETYPEID sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-EXPENSETYPEDESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-TAXCODE sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-TAXCODEDESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PERSONAL sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-MEMO sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-DESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-BUSINESSPARTNER sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-SERVICEPROVIDER sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-SERVICEPROVIDERDESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-BUSINESSPURPOSE sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-ENTERPRISETYPE sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-ENTERPRISETYPEDESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-ADDRESS sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-FULLNAME sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-CITY sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-DISTRICT sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-POSTALCODE sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-CITYCODE sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-STREETNAME sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-STREETNUMBER sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-COUNTRY sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-REGION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-LOCATION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-COUNTRYDESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-REGIONDESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-FULLNAME_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-CITY_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-DISTRICT_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-POSTALCODE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-CITYCODE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-STREETNAME_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-STREETNUMBER_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-COUNTRY_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-REGION_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-LOCATION_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-CHECKRESULT sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PARENTEXPENSEID sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-ISCHANGED sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NUMBEROFLUNCHES sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NUMBEROFBREAKFASTS sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NUMBEROFDINNERS sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PAIDBYCOMPANY sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-TAXJURISDICTIONCODE sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-TAXJURISDICTIONDESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PERDIEMREGION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PERDIEMREGIONDESCRIPTION sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-DESCRIPTION_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-BUSINESSPARTNER_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-SERVICEPROVIDER_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-BUSINESSPURPOSE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-ENTERPRISETYPE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-MEMO_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PERSONAL_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-TAXCODE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-TAXJURISDICTIONCODE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NUMBEROFLUNCHES_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NUMBEROFBREAKFASTS_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NUMBEROFDINNERS_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PAIDBYCOMPANY_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PERDIEMREGION_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-EXPENSEDATE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-FROMDATE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-TODATE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-AMOUNT_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-EXCHANGERATE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-EXPENSENUMBER_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-EXPENSESOURCE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-ATTACHMENTS_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-RECEIPTNO_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NUMBEROFATTENDEES_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-ATTENDEE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-FROMLOCATION_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-TOLOCATION_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PAPERRECEIPT_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-CDOC_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PPRV_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NSTF_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NPTN_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-NGST_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-AIRLINE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-AIRCABINCLASS_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-AIRTICKETNUMBER_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-CARODOMETERREADING_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-SENAME_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-SECUSTOMERSERVICEPHONE_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-PDOC_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-CCTRANSACTION_FC sy-vline
WA_SPAOC_TRV_ITEM_GROUP_SUMMARY_STR-DUMMY_ITME_GROUP_SUM sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.