ABAP Select data from SAP table P3417 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 P3417 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 P3417. 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 P3417 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_P3417 TYPE STANDARD TABLE OF P3417,
      WA_P3417 TYPE P3417,
      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: <P3417> TYPE P3417.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P3417
*  INTO TABLE @DATA(IT_P34172).
*--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_P3417 INDEX 1 INTO DATA(WA_P34172).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P3417 ASSIGNING <P3417>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P3417>-PERNR = 1.
<P3417>-INFTY = 1.
<P3417>-SUBTY = 1.
<P3417>-OBJPS = 1.
<P3417>-SPRPS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P3417-ENDDA, sy-vline,
WA_P3417-BEGDA, sy-vline,
WA_P3417-SEQNR, sy-vline,
WA_P3417-AEDTM, sy-vline,
WA_P3417-UNAME, sy-vline,
WA_P3417-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P3417 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_P3417 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_P3417 INTO WA_P3417. *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_P3417_STR,
PERNR TYPE STRING,
INFTY TYPE STRING,
SUBTY TYPE STRING,
OBJPS TYPE STRING,
SPRPS TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
SEQNR TYPE STRING,
AEDTM TYPE STRING,
UNAME TYPE STRING,
HISTO TYPE STRING,
ITXEX TYPE STRING,
REFEX TYPE STRING,
ORDEX TYPE STRING,
ITBLD TYPE STRING,
PREAS TYPE STRING,
FLAG1 TYPE STRING,
FLAG2 TYPE STRING,
FLAG3 TYPE STRING,
FLAG4 TYPE STRING,
RESE1 TYPE STRING,
RESE2 TYPE STRING,
GRPVL TYPE STRING,
ELGBG TYPE STRING,
ELGEX TYPE STRING,
TRAVL TYPE STRING,
TRABG TYPE STRING,
TRAED TYPE STRING,
TRAAD TYPE STRING,
TRALT TYPE STRING,
TRADL TYPE STRING,
TRT01 TYPE STRING,
TRS01 TYPE STRING,
TRO01 TYPE STRING,
TRB01 TYPE STRING,
TRE01 TYPE STRING,
TRC01 TYPE STRING,
TRX01 TYPE STRING,
TRF01 TYPE STRING,
TRT02 TYPE STRING,
TRS02 TYPE STRING,
TRO02 TYPE STRING,
TRB02 TYPE STRING,
TRE02 TYPE STRING,
TRC02 TYPE STRING,
TRX02 TYPE STRING,
TRF02 TYPE STRING,
TRT03 TYPE STRING,
TRS03 TYPE STRING,
TRO03 TYPE STRING,
TRB03 TYPE STRING,
TRE03 TYPE STRING,
TRC03 TYPE STRING,
TRX03 TYPE STRING,
TRF03 TYPE STRING,
TRT04 TYPE STRING,
TRS04 TYPE STRING,
TRO04 TYPE STRING,
TRB04 TYPE STRING,
TRE04 TYPE STRING,
TRC04 TYPE STRING,
TRX04 TYPE STRING,
TRF04 TYPE STRING,
TRT05 TYPE STRING,
TRS05 TYPE STRING,
TRO05 TYPE STRING,
TRB05 TYPE STRING,
TRE05 TYPE STRING,
TRC05 TYPE STRING,
TRX05 TYPE STRING,
TRF05 TYPE STRING,
TRT06 TYPE STRING,
TRS06 TYPE STRING,
TRO06 TYPE STRING,
TRB06 TYPE STRING,
TRE06 TYPE STRING,
TRC06 TYPE STRING,
TRX06 TYPE STRING,
TRF06 TYPE STRING,
TRT07 TYPE STRING,
TRS07 TYPE STRING,
TRO07 TYPE STRING,
TRB07 TYPE STRING,
TRE07 TYPE STRING,
TRC07 TYPE STRING,
TRX07 TYPE STRING,
TRF07 TYPE STRING,
TRT08 TYPE STRING,
TRS08 TYPE STRING,
TRO08 TYPE STRING,
TRB08 TYPE STRING,
TRE08 TYPE STRING,
TRC08 TYPE STRING,
TRX08 TYPE STRING,
TRF08 TYPE STRING,
TRT09 TYPE STRING,
TRS09 TYPE STRING,
TRO09 TYPE STRING,
TRB09 TYPE STRING,
TRE09 TYPE STRING,
TRC09 TYPE STRING,
TRX09 TYPE STRING,
TRF09 TYPE STRING,
TRT10 TYPE STRING,
TRS10 TYPE STRING,
TRO10 TYPE STRING,
TRB10 TYPE STRING,
TRE10 TYPE STRING,
TRC10 TYPE STRING,
TRX10 TYPE STRING,
TRF10 TYPE STRING,
TRT11 TYPE STRING,
TRS11 TYPE STRING,
TRO11 TYPE STRING,
TRB11 TYPE STRING,
TRE11 TYPE STRING,
TRC11 TYPE STRING,
TRX11 TYPE STRING,
TRF11 TYPE STRING,
TRT12 TYPE STRING,
TRS12 TYPE STRING,
TRO12 TYPE STRING,
TRB12 TYPE STRING,
TRE12 TYPE STRING,
TRC12 TYPE STRING,
TRX12 TYPE STRING,
TRF12 TYPE STRING,
TRT13 TYPE STRING,
TRS13 TYPE STRING,
TRO13 TYPE STRING,
TRB13 TYPE STRING,
TRE13 TYPE STRING,
TRC13 TYPE STRING,
TRX13 TYPE STRING,
TRF13 TYPE STRING,
TRT14 TYPE STRING,
TRS14 TYPE STRING,
TRO14 TYPE STRING,
TRB14 TYPE STRING,
TRE14 TYPE STRING,
TRC14 TYPE STRING,
TRX14 TYPE STRING,
TRF14 TYPE STRING,
TRT15 TYPE STRING,
TRS15 TYPE STRING,
TRO15 TYPE STRING,
TRB15 TYPE STRING,
TRE15 TYPE STRING,
TRC15 TYPE STRING,
TRX15 TYPE STRING,
TRF15 TYPE STRING,
TRT16 TYPE STRING,
TRS16 TYPE STRING,
TRO16 TYPE STRING,
TRB16 TYPE STRING,
TRE16 TYPE STRING,
TRC16 TYPE STRING,
TRX16 TYPE STRING,
TRF16 TYPE STRING,
TRT17 TYPE STRING,
TRS17 TYPE STRING,
TRO17 TYPE STRING,
TRB17 TYPE STRING,
TRE17 TYPE STRING,
TRC17 TYPE STRING,
TRX17 TYPE STRING,
TRF17 TYPE STRING,
TRT18 TYPE STRING,
TRS18 TYPE STRING,
TRO18 TYPE STRING,
TRB18 TYPE STRING,
TRE18 TYPE STRING,
TRC18 TYPE STRING,
TRX18 TYPE STRING,
TRF18 TYPE STRING,
TRT19 TYPE STRING,
TRS19 TYPE STRING,
TRO19 TYPE STRING,
TRB19 TYPE STRING,
TRE19 TYPE STRING,
TRC19 TYPE STRING,
TRX19 TYPE STRING,
TRF19 TYPE STRING,
TRT20 TYPE STRING,
TRS20 TYPE STRING,
TRO20 TYPE STRING,
TRB20 TYPE STRING,
TRE20 TYPE STRING,
TRC20 TYPE STRING,
TRX20 TYPE STRING,
TRF20 TYPE STRING,
SHIP_EXECUTION TYPE STRING,
SHIP_OPTION TYPE STRING,
TRIP_NUMBER TYPE STRING,
AUTH_ORIGIN_DS TYPE STRING,
AUTH_DEST_DS TYPE STRING,
AUTH_ORIGIN_PL TYPE STRING,
AUTH_DEST_PL TYPE STRING,END OF T_EKKO_STR. DATA: WA_P3417_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_P3417_STR-PERNR sy-vline
WA_P3417_STR-INFTY sy-vline
WA_P3417_STR-SUBTY sy-vline
WA_P3417_STR-OBJPS sy-vline
WA_P3417_STR-SPRPS sy-vline
WA_P3417_STR-ENDDA sy-vline
WA_P3417_STR-BEGDA sy-vline
WA_P3417_STR-SEQNR sy-vline
WA_P3417_STR-AEDTM sy-vline
WA_P3417_STR-UNAME sy-vline
WA_P3417_STR-HISTO sy-vline
WA_P3417_STR-ITXEX sy-vline
WA_P3417_STR-REFEX sy-vline
WA_P3417_STR-ORDEX sy-vline
WA_P3417_STR-ITBLD sy-vline
WA_P3417_STR-PREAS sy-vline
WA_P3417_STR-FLAG1 sy-vline
WA_P3417_STR-FLAG2 sy-vline
WA_P3417_STR-FLAG3 sy-vline
WA_P3417_STR-FLAG4 sy-vline
WA_P3417_STR-RESE1 sy-vline
WA_P3417_STR-RESE2 sy-vline
WA_P3417_STR-GRPVL sy-vline
WA_P3417_STR-ELGBG sy-vline
WA_P3417_STR-ELGEX sy-vline
WA_P3417_STR-TRAVL sy-vline
WA_P3417_STR-TRABG sy-vline
WA_P3417_STR-TRAED sy-vline
WA_P3417_STR-TRAAD sy-vline
WA_P3417_STR-TRALT sy-vline
WA_P3417_STR-TRADL sy-vline
WA_P3417_STR-TRT01 sy-vline
WA_P3417_STR-TRS01 sy-vline
WA_P3417_STR-TRO01 sy-vline
WA_P3417_STR-TRB01 sy-vline
WA_P3417_STR-TRE01 sy-vline
WA_P3417_STR-TRC01 sy-vline
WA_P3417_STR-TRX01 sy-vline
WA_P3417_STR-TRF01 sy-vline
WA_P3417_STR-TRT02 sy-vline
WA_P3417_STR-TRS02 sy-vline
WA_P3417_STR-TRO02 sy-vline
WA_P3417_STR-TRB02 sy-vline
WA_P3417_STR-TRE02 sy-vline
WA_P3417_STR-TRC02 sy-vline
WA_P3417_STR-TRX02 sy-vline
WA_P3417_STR-TRF02 sy-vline
WA_P3417_STR-TRT03 sy-vline
WA_P3417_STR-TRS03 sy-vline
WA_P3417_STR-TRO03 sy-vline
WA_P3417_STR-TRB03 sy-vline
WA_P3417_STR-TRE03 sy-vline
WA_P3417_STR-TRC03 sy-vline
WA_P3417_STR-TRX03 sy-vline
WA_P3417_STR-TRF03 sy-vline
WA_P3417_STR-TRT04 sy-vline
WA_P3417_STR-TRS04 sy-vline
WA_P3417_STR-TRO04 sy-vline
WA_P3417_STR-TRB04 sy-vline
WA_P3417_STR-TRE04 sy-vline
WA_P3417_STR-TRC04 sy-vline
WA_P3417_STR-TRX04 sy-vline
WA_P3417_STR-TRF04 sy-vline
WA_P3417_STR-TRT05 sy-vline
WA_P3417_STR-TRS05 sy-vline
WA_P3417_STR-TRO05 sy-vline
WA_P3417_STR-TRB05 sy-vline
WA_P3417_STR-TRE05 sy-vline
WA_P3417_STR-TRC05 sy-vline
WA_P3417_STR-TRX05 sy-vline
WA_P3417_STR-TRF05 sy-vline
WA_P3417_STR-TRT06 sy-vline
WA_P3417_STR-TRS06 sy-vline
WA_P3417_STR-TRO06 sy-vline
WA_P3417_STR-TRB06 sy-vline
WA_P3417_STR-TRE06 sy-vline
WA_P3417_STR-TRC06 sy-vline
WA_P3417_STR-TRX06 sy-vline
WA_P3417_STR-TRF06 sy-vline
WA_P3417_STR-TRT07 sy-vline
WA_P3417_STR-TRS07 sy-vline
WA_P3417_STR-TRO07 sy-vline
WA_P3417_STR-TRB07 sy-vline
WA_P3417_STR-TRE07 sy-vline
WA_P3417_STR-TRC07 sy-vline
WA_P3417_STR-TRX07 sy-vline
WA_P3417_STR-TRF07 sy-vline
WA_P3417_STR-TRT08 sy-vline
WA_P3417_STR-TRS08 sy-vline
WA_P3417_STR-TRO08 sy-vline
WA_P3417_STR-TRB08 sy-vline
WA_P3417_STR-TRE08 sy-vline
WA_P3417_STR-TRC08 sy-vline
WA_P3417_STR-TRX08 sy-vline
WA_P3417_STR-TRF08 sy-vline
WA_P3417_STR-TRT09 sy-vline
WA_P3417_STR-TRS09 sy-vline
WA_P3417_STR-TRO09 sy-vline
WA_P3417_STR-TRB09 sy-vline
WA_P3417_STR-TRE09 sy-vline
WA_P3417_STR-TRC09 sy-vline
WA_P3417_STR-TRX09 sy-vline
WA_P3417_STR-TRF09 sy-vline
WA_P3417_STR-TRT10 sy-vline
WA_P3417_STR-TRS10 sy-vline
WA_P3417_STR-TRO10 sy-vline
WA_P3417_STR-TRB10 sy-vline
WA_P3417_STR-TRE10 sy-vline
WA_P3417_STR-TRC10 sy-vline
WA_P3417_STR-TRX10 sy-vline
WA_P3417_STR-TRF10 sy-vline
WA_P3417_STR-TRT11 sy-vline
WA_P3417_STR-TRS11 sy-vline
WA_P3417_STR-TRO11 sy-vline
WA_P3417_STR-TRB11 sy-vline
WA_P3417_STR-TRE11 sy-vline
WA_P3417_STR-TRC11 sy-vline
WA_P3417_STR-TRX11 sy-vline
WA_P3417_STR-TRF11 sy-vline
WA_P3417_STR-TRT12 sy-vline
WA_P3417_STR-TRS12 sy-vline
WA_P3417_STR-TRO12 sy-vline
WA_P3417_STR-TRB12 sy-vline
WA_P3417_STR-TRE12 sy-vline
WA_P3417_STR-TRC12 sy-vline
WA_P3417_STR-TRX12 sy-vline
WA_P3417_STR-TRF12 sy-vline
WA_P3417_STR-TRT13 sy-vline
WA_P3417_STR-TRS13 sy-vline
WA_P3417_STR-TRO13 sy-vline
WA_P3417_STR-TRB13 sy-vline
WA_P3417_STR-TRE13 sy-vline
WA_P3417_STR-TRC13 sy-vline
WA_P3417_STR-TRX13 sy-vline
WA_P3417_STR-TRF13 sy-vline
WA_P3417_STR-TRT14 sy-vline
WA_P3417_STR-TRS14 sy-vline
WA_P3417_STR-TRO14 sy-vline
WA_P3417_STR-TRB14 sy-vline
WA_P3417_STR-TRE14 sy-vline
WA_P3417_STR-TRC14 sy-vline
WA_P3417_STR-TRX14 sy-vline
WA_P3417_STR-TRF14 sy-vline
WA_P3417_STR-TRT15 sy-vline
WA_P3417_STR-TRS15 sy-vline
WA_P3417_STR-TRO15 sy-vline
WA_P3417_STR-TRB15 sy-vline
WA_P3417_STR-TRE15 sy-vline
WA_P3417_STR-TRC15 sy-vline
WA_P3417_STR-TRX15 sy-vline
WA_P3417_STR-TRF15 sy-vline
WA_P3417_STR-TRT16 sy-vline
WA_P3417_STR-TRS16 sy-vline
WA_P3417_STR-TRO16 sy-vline
WA_P3417_STR-TRB16 sy-vline
WA_P3417_STR-TRE16 sy-vline
WA_P3417_STR-TRC16 sy-vline
WA_P3417_STR-TRX16 sy-vline
WA_P3417_STR-TRF16 sy-vline
WA_P3417_STR-TRT17 sy-vline
WA_P3417_STR-TRS17 sy-vline
WA_P3417_STR-TRO17 sy-vline
WA_P3417_STR-TRB17 sy-vline
WA_P3417_STR-TRE17 sy-vline
WA_P3417_STR-TRC17 sy-vline
WA_P3417_STR-TRX17 sy-vline
WA_P3417_STR-TRF17 sy-vline
WA_P3417_STR-TRT18 sy-vline
WA_P3417_STR-TRS18 sy-vline
WA_P3417_STR-TRO18 sy-vline
WA_P3417_STR-TRB18 sy-vline
WA_P3417_STR-TRE18 sy-vline
WA_P3417_STR-TRC18 sy-vline
WA_P3417_STR-TRX18 sy-vline
WA_P3417_STR-TRF18 sy-vline
WA_P3417_STR-TRT19 sy-vline
WA_P3417_STR-TRS19 sy-vline
WA_P3417_STR-TRO19 sy-vline
WA_P3417_STR-TRB19 sy-vline
WA_P3417_STR-TRE19 sy-vline
WA_P3417_STR-TRC19 sy-vline
WA_P3417_STR-TRX19 sy-vline
WA_P3417_STR-TRF19 sy-vline
WA_P3417_STR-TRT20 sy-vline
WA_P3417_STR-TRS20 sy-vline
WA_P3417_STR-TRO20 sy-vline
WA_P3417_STR-TRB20 sy-vline
WA_P3417_STR-TRE20 sy-vline
WA_P3417_STR-TRC20 sy-vline
WA_P3417_STR-TRX20 sy-vline
WA_P3417_STR-TRF20 sy-vline
WA_P3417_STR-SHIP_EXECUTION sy-vline
WA_P3417_STR-SHIP_OPTION sy-vline
WA_P3417_STR-TRIP_NUMBER sy-vline
WA_P3417_STR-AUTH_ORIGIN_DS sy-vline
WA_P3417_STR-AUTH_DEST_DS sy-vline
WA_P3417_STR-AUTH_ORIGIN_PL sy-vline
WA_P3417_STR-AUTH_DEST_PL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.