ABAP Select data from SAP table ITORSTOP 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 ITORSTOP 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 ITORSTOP. 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 ITORSTOP 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_ITORSTOP TYPE STANDARD TABLE OF ITORSTOP,
      WA_ITORSTOP TYPE ITORSTOP,
      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: <ITORSTOP> TYPE ITORSTOP.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM ITORSTOP
*  INTO TABLE @DATA(IT_ITORSTOP2).
*--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_ITORSTOP INDEX 1 INTO DATA(WA_ITORSTOP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_ITORSTOP ASSIGNING <ITORSTOP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<ITORSTOP>-MANDT = 1.
<ITORSTOP>-TRANSPORTATIONORDERSTOPUUID = 1.
<ITORSTOP>-TRANSPORTATIONORDERUUID = 1.
<ITORSTOP>-TRANSPORTATIONORDERSTOP = 1.
<ITORSTOP>-TRANSPORDSTOPCATEGORY = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_ITORSTOP-LOCATIONADDITIONALUUID, sy-vline,
WA_ITORSTOP-LOCATIONUUID, sy-vline,
WA_ITORSTOP-LOCATIONID, sy-vline,
WA_ITORSTOP-TRANSPORDSTOPLOCUNCODE, sy-vline,
WA_ITORSTOP-TRANSPORDSTOPLOCIATACODE, sy-vline,
WA_ITORSTOP-TRANSPORDSTOPSTOPPARENTUUID, sy-vline.
ENDLOOP. *Add any further fields from structure WA_ITORSTOP 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_ITORSTOP 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_ITORSTOP INTO WA_ITORSTOP. *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 TRANSPORTATIONORDERSTOP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ITORSTOP-TRANSPORTATIONORDERSTOP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ITORSTOP-TRANSPORTATIONORDERSTOP.
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_ITORSTOP_STR,
MANDT TYPE STRING,
TRANSPORTATIONORDERSTOPUUID TYPE STRING,
TRANSPORTATIONORDERUUID TYPE STRING,
TRANSPORTATIONORDERSTOP TYPE STRING,
TRANSPORDSTOPCATEGORY TYPE STRING,
LOCATIONADDITIONALUUID TYPE STRING,
LOCATIONUUID TYPE STRING,
LOCATIONID TYPE STRING,
TRANSPORDSTOPLOCUNCODE TYPE STRING,
TRANSPORDSTOPLOCIATACODE TYPE STRING,
TRANSPORDSTOPSTOPPARENTUUID TYPE STRING,
TRANSPORDSTOPSEQUENCEPOSITION TYPE STRING,
TRANSPORDSTOPACCPTBLSTRTDTETME TYPE STRING,
TRANSPORDSTOPREQSTARTDTETME TYPE STRING,
TRANSPORDSTOPREQENDDTETME TYPE STRING,
TRANSPORDSTOPACCPTBLENDDTETME TYPE STRING,
TRANSPORDSTOPPLANTRANSPDTETME TYPE STRING,
TRANSPORDSTOPROLE TYPE STRING,
TRANSPORDSTOPAPPTSTRTDTETME TYPE STRING,
TRANSPORDSTOPAPPTENDDTETME TYPE STRING,
TRANSPSTOPCARRCONFSTRTDTETME TYPE STRING,
TRANSPSTOPCARRCONFENDDTETME TYPE STRING,
TRANSPORDSTOPPREPSTRTDTETME TYPE STRING,
TRANSPORDSTOPPREPENDDTETME TYPE STRING,
TRANSPSTOPFINALIZESTRTDTETME TYPE STRING,
TRANSPSTOPFINALIZEENDDTETME TYPE STRING,
TRANSPORDSTOPPLANEXECDTETME TYPE STRING,
TRANSPORDSTOPHNDLGEXECSTATUS TYPE STRING,
TRANSPORDSTOPLOADSTARTDATETIME TYPE STRING,
TRANSPORDSTOPLOADENDDATETIME TYPE STRING,
TRANSPORDSTOPCOUPLESTRTDTETME TYPE STRING,
TRANSPORDSTOPCOUPLEENDDTETME TYPE STRING,
TRANSPORDSTOPISENTRYPORT TYPE STRING,
TRANSPORDSTOPISEXITPORT TYPE STRING,
TRANSPORDCAPACITYSTOPUUID TYPE STRING,
TRANSPORDSTOPCAPACITYITEMUUID TYPE STRING,
TRANSPORDSTOPCAPPLNGSTRTDTETME TYPE STRING,
TRANSPORDSTOPCAPPLNGENDDTETME TYPE STRING,
TRANSPORDSTOPDTETME TYPE STRING,END OF T_EKKO_STR. DATA: WA_ITORSTOP_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_ITORSTOP_STR-MANDT sy-vline
WA_ITORSTOP_STR-TRANSPORTATIONORDERSTOPUUID sy-vline
WA_ITORSTOP_STR-TRANSPORTATIONORDERUUID sy-vline
WA_ITORSTOP_STR-TRANSPORTATIONORDERSTOP sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPCATEGORY sy-vline
WA_ITORSTOP_STR-LOCATIONADDITIONALUUID sy-vline
WA_ITORSTOP_STR-LOCATIONUUID sy-vline
WA_ITORSTOP_STR-LOCATIONID sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPLOCUNCODE sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPLOCIATACODE sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPSTOPPARENTUUID sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPSEQUENCEPOSITION sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPACCPTBLSTRTDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPREQSTARTDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPREQENDDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPACCPTBLENDDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPPLANTRANSPDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPROLE sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPAPPTSTRTDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPAPPTENDDTETME sy-vline
WA_ITORSTOP_STR-TRANSPSTOPCARRCONFSTRTDTETME sy-vline
WA_ITORSTOP_STR-TRANSPSTOPCARRCONFENDDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPPREPSTRTDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPPREPENDDTETME sy-vline
WA_ITORSTOP_STR-TRANSPSTOPFINALIZESTRTDTETME sy-vline
WA_ITORSTOP_STR-TRANSPSTOPFINALIZEENDDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPPLANEXECDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPHNDLGEXECSTATUS sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPLOADSTARTDATETIME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPLOADENDDATETIME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPCOUPLESTRTDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPCOUPLEENDDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPISENTRYPORT sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPISEXITPORT sy-vline
WA_ITORSTOP_STR-TRANSPORDCAPACITYSTOPUUID sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPCAPACITYITEMUUID sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPCAPPLNGSTRTDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPCAPPLNGENDDTETME sy-vline
WA_ITORSTOP_STR-TRANSPORDSTOPDTETME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.