ABAP Select data from SAP table TRCON_MM_IT_GEN 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 TRCON_MM_IT_GEN 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 TRCON_MM_IT_GEN. 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 TRCON_MM_IT_GEN 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_TRCON_MM_IT_GEN TYPE STANDARD TABLE OF TRCON_MM_IT_GEN,
      WA_TRCON_MM_IT_GEN TYPE TRCON_MM_IT_GEN,
      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: <TRCON_MM_IT_GEN> TYPE TRCON_MM_IT_GEN.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TRCON_MM_IT_GEN
*  INTO TABLE @DATA(IT_TRCON_MM_IT_GEN2).
*--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_TRCON_MM_IT_GEN INDEX 1 INTO DATA(WA_TRCON_MM_IT_GEN2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TRCON_MM_IT_GEN ASSIGNING <TRCON_MM_IT_GEN>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TRCON_MM_IT_GEN>-TC_NUMB = 1.
<TRCON_MM_IT_GEN>-TPOSN = 1.
<TRCON_MM_IT_GEN>-TPOSN_SUB = 1.
<TRCON_MM_IT_GEN>-ELIFN = 1.
<TRCON_MM_IT_GEN>-TC_CURRENCY_MM = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TRCON_MM_IT_GEN-EINDT, sy-vline,
WA_TRCON_MM_IT_GEN-LPEIN_INT, sy-vline,
WA_TRCON_MM_IT_GEN-PRSDT, sy-vline,
WA_TRCON_MM_IT_GEN-INCOTERMS1, sy-vline,
WA_TRCON_MM_IT_GEN-INCOTERMS2, sy-vline,
WA_TRCON_MM_IT_GEN-INCOTERMSV, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TRCON_MM_IT_GEN 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_TRCON_MM_IT_GEN 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_TRCON_MM_IT_GEN INTO WA_TRCON_MM_IT_GEN. *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 TC_NUMB CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TRCON_MM_IT_GEN-TC_NUMB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TRCON_MM_IT_GEN-TC_NUMB.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ELIFN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TRCON_MM_IT_GEN-ELIFN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TRCON_MM_IT_GEN-ELIFN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field MEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TRCON_MM_IT_GEN-MEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TRCON_MM_IT_GEN-MEINS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field BPRME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TRCON_MM_IT_GEN-BPRME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TRCON_MM_IT_GEN-BPRME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field KOSTL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TRCON_MM_IT_GEN-KOSTL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TRCON_MM_IT_GEN-KOSTL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field UNIT_OF_WT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TRCON_MM_IT_GEN-UNIT_OF_WT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TRCON_MM_IT_GEN-UNIT_OF_WT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VOLUMUNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TRCON_MM_IT_GEN-VOLUMUNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TRCON_MM_IT_GEN-VOLUMUNIT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field KBELN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TRCON_MM_IT_GEN-KBELN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TRCON_MM_IT_GEN-KBELN.
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_TRCON_MM_IT_GEN_STR,
TC_NUMB TYPE STRING,
TPOSN TYPE STRING,
TPOSN_SUB TYPE STRING,
ELIFN TYPE STRING,
TC_CURRENCY_MM TYPE STRING,
EINDT TYPE STRING,
LPEIN_INT TYPE STRING,
PRSDT TYPE STRING,
INCOTERMS1 TYPE STRING,
INCOTERMS2 TYPE STRING,
INCOTERMSV TYPE STRING,
INCOTERMS2L TYPE STRING,
INCOTERMS3L TYPE STRING,
EVERS TYPE STRING,
BSTAE TYPE STRING,
KZABS TYPE STRING,
LABNR TYPE STRING,
HKLA TYPE STRING,
KETDAT TYPE STRING,
LPEIN TYPE STRING,
MENGE TYPE STRING,
MEINS TYPE STRING,
BPRME TYPE STRING,
BPUMZ TYPE STRING,
BPUMN TYPE STRING,
UMREZ TYPE STRING,
UMREN TYPE STRING,
PEINH TYPE STRING,
NETPR TYPE STRING,
KOSTL TYPE STRING,
NET_VALUE TYPE STRING,
MWSKZ TYPE STRING,
UEBTK TYPE STRING,
UNTTO TYPE STRING,
BWTTY TYPE STRING,
PSTYP TYPE STRING,
KNTTP TYPE STRING,
LEWED TYPE STRING,
UEBTO TYPE STRING,
LOEKZ TYPE STRING,
NET_WT TYPE STRING,
GROSS_WT TYPE STRING,
UNIT_OF_WT TYPE STRING,
VOLUME TYPE STRING,
VOLUMUNIT TYPE STRING,
KBELN TYPE STRING,
KBELP TYPE STRING,
EKNUM TYPE STRING,
KPOSN TYPE STRING,
BRT_VALUE TYPE STRING,
MWSBP TYPE STRING,
NET_VALUE_IN_TC_CURR TYPE STRING,
BRT_VALUE_IN_TC_CURR TYPE STRING,
MWSBP_IN_TC_CURR TYPE STRING,
NETPR_IN_TC_CURR TYPE STRING,
TC_CURRENCY TYPE STRING,END OF T_EKKO_STR. DATA: WA_TRCON_MM_IT_GEN_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_TRCON_MM_IT_GEN_STR-TC_NUMB sy-vline
WA_TRCON_MM_IT_GEN_STR-TPOSN sy-vline
WA_TRCON_MM_IT_GEN_STR-TPOSN_SUB sy-vline
WA_TRCON_MM_IT_GEN_STR-ELIFN sy-vline
WA_TRCON_MM_IT_GEN_STR-TC_CURRENCY_MM sy-vline
WA_TRCON_MM_IT_GEN_STR-EINDT sy-vline
WA_TRCON_MM_IT_GEN_STR-LPEIN_INT sy-vline
WA_TRCON_MM_IT_GEN_STR-PRSDT sy-vline
WA_TRCON_MM_IT_GEN_STR-INCOTERMS1 sy-vline
WA_TRCON_MM_IT_GEN_STR-INCOTERMS2 sy-vline
WA_TRCON_MM_IT_GEN_STR-INCOTERMSV sy-vline
WA_TRCON_MM_IT_GEN_STR-INCOTERMS2L sy-vline
WA_TRCON_MM_IT_GEN_STR-INCOTERMS3L sy-vline
WA_TRCON_MM_IT_GEN_STR-EVERS sy-vline
WA_TRCON_MM_IT_GEN_STR-BSTAE sy-vline
WA_TRCON_MM_IT_GEN_STR-KZABS sy-vline
WA_TRCON_MM_IT_GEN_STR-LABNR sy-vline
WA_TRCON_MM_IT_GEN_STR-HKLA sy-vline
WA_TRCON_MM_IT_GEN_STR-KETDAT sy-vline
WA_TRCON_MM_IT_GEN_STR-LPEIN sy-vline
WA_TRCON_MM_IT_GEN_STR-MENGE sy-vline
WA_TRCON_MM_IT_GEN_STR-MEINS sy-vline
WA_TRCON_MM_IT_GEN_STR-BPRME sy-vline
WA_TRCON_MM_IT_GEN_STR-BPUMZ sy-vline
WA_TRCON_MM_IT_GEN_STR-BPUMN sy-vline
WA_TRCON_MM_IT_GEN_STR-UMREZ sy-vline
WA_TRCON_MM_IT_GEN_STR-UMREN sy-vline
WA_TRCON_MM_IT_GEN_STR-PEINH sy-vline
WA_TRCON_MM_IT_GEN_STR-NETPR sy-vline
WA_TRCON_MM_IT_GEN_STR-KOSTL sy-vline
WA_TRCON_MM_IT_GEN_STR-NET_VALUE sy-vline
WA_TRCON_MM_IT_GEN_STR-MWSKZ sy-vline
WA_TRCON_MM_IT_GEN_STR-UEBTK sy-vline
WA_TRCON_MM_IT_GEN_STR-UNTTO sy-vline
WA_TRCON_MM_IT_GEN_STR-BWTTY sy-vline
WA_TRCON_MM_IT_GEN_STR-PSTYP sy-vline
WA_TRCON_MM_IT_GEN_STR-KNTTP sy-vline
WA_TRCON_MM_IT_GEN_STR-LEWED sy-vline
WA_TRCON_MM_IT_GEN_STR-UEBTO sy-vline
WA_TRCON_MM_IT_GEN_STR-LOEKZ sy-vline
WA_TRCON_MM_IT_GEN_STR-NET_WT sy-vline
WA_TRCON_MM_IT_GEN_STR-GROSS_WT sy-vline
WA_TRCON_MM_IT_GEN_STR-UNIT_OF_WT sy-vline
WA_TRCON_MM_IT_GEN_STR-VOLUME sy-vline
WA_TRCON_MM_IT_GEN_STR-VOLUMUNIT sy-vline
WA_TRCON_MM_IT_GEN_STR-KBELN sy-vline
WA_TRCON_MM_IT_GEN_STR-KBELP sy-vline
WA_TRCON_MM_IT_GEN_STR-EKNUM sy-vline
WA_TRCON_MM_IT_GEN_STR-KPOSN sy-vline
WA_TRCON_MM_IT_GEN_STR-BRT_VALUE sy-vline
WA_TRCON_MM_IT_GEN_STR-MWSBP sy-vline
WA_TRCON_MM_IT_GEN_STR-NET_VALUE_IN_TC_CURR sy-vline
WA_TRCON_MM_IT_GEN_STR-BRT_VALUE_IN_TC_CURR sy-vline
WA_TRCON_MM_IT_GEN_STR-MWSBP_IN_TC_CURR sy-vline
WA_TRCON_MM_IT_GEN_STR-NETPR_IN_TC_CURR sy-vline
WA_TRCON_MM_IT_GEN_STR-TC_CURRENCY sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.