ABAP Select data from SAP table TE685 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 TE685 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 TE685. 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 TE685 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_TE685 TYPE STANDARD TABLE OF TE685, WA_TE685 TYPE TE685, 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: <TE685> TYPE TE685. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_TE685. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM TE685 INTO TABLE IT_TE685. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM TE685 * INTO TABLE @DATA(IT_TE6852). *--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_TE685 INDEX 1 INTO DATA(WA_TE6852). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_TE685 ASSIGNING <TE685>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<TE685>-MANDT = 1.
<TE685>-ZUZVER = 1.
<TE685>-THGBER = 1.
<TE685>-GEWKEY = 1.
<TE685>-VFZZNAKT = 1.
ENDLOOP. LOOP AT IT_TE685 INTO WA_TE685. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_TE685-MESSDRCKV, sy-vline,
WA_TE685-MESSDRCKB, sy-vline,
WA_TE685-NENNBELV, sy-vline,
WA_TE685-NENNBELB, sy-vline,
WA_TE685-FTEMPKZ, sy-vline,
WA_TE685-ARTMITTEL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TE685 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_TE685 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_TE685 INTO WA_TE685. *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 CUNIT, internal->external for field MASS_ZZ CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TE685-MASS_ZZ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TE685-MASS_ZZ.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field MASS_ZZQ CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TE685-MASS_ZZQ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TE685-MASS_ZZQ.
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_TE685_STR,
MANDT TYPE STRING,
ZUZVER TYPE STRING,
THGBER TYPE STRING,
GEWKEY TYPE STRING,
VFZZNAKT TYPE STRING,
MESSDRCKV TYPE STRING,
MESSDRCKB TYPE STRING,
NENNBELV TYPE STRING,
NENNBELB TYPE STRING,
FTEMPKZ TYPE STRING,
ARTMITTEL TYPE STRING,
TEMPMITTL TYPE STRING,
LUFTMESSD TYPE STRING,
KORRMESSD TYPE STRING,
KZAHLKZ TYPE STRING,
KORRKZAHL TYPE STRING,
ABGRENZKZ TYPE STRING,
NPAMB TYPE STRING,
TEMPSTEU TYPE STRING,
FREMDZZZ TYPE STRING,
FREMDZZE TYPE STRING,
ZUSTZFIX TYPE STRING,
USECATZZ TYPE STRING,
RUNDUNG1 TYPE STRING,
RUNDART1 TYPE STRING,
AKLASSE TYPE STRING,
RUNDUNGW TYPE STRING,
RUNDARTW TYPE STRING,
MASS_ZZ TYPE STRING,
MASS_ZZQ TYPE STRING,
NTEMPB TYPE STRING,
OTEMPB TYPE STRING,
GAS_PRS_KZ TYPE STRING,
CRG_PRS_KZ TYPE STRING,
SBZUZVER TYPE STRING,
TIMRTEMP TYPE STRING,
SUPCOMPR TYPE STRING,
TPSUPPR TYPE STRING,
PRSUPPR TYPE STRING,
JOULTHOM TYPE STRING,
RATIOJTH TYPE STRING,
LASTVAL_ZV TYPE STRING,
ZUSTZZW TYPE STRING,
USEZUSTZZW TYPE STRING,
APDAILY TYPE STRING,END OF T_EKKO_STR. DATA: WA_TE685_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_TE685_STR-MANDT sy-vline
WA_TE685_STR-ZUZVER sy-vline
WA_TE685_STR-THGBER sy-vline
WA_TE685_STR-GEWKEY sy-vline
WA_TE685_STR-VFZZNAKT sy-vline
WA_TE685_STR-MESSDRCKV sy-vline
WA_TE685_STR-MESSDRCKB sy-vline
WA_TE685_STR-NENNBELV sy-vline
WA_TE685_STR-NENNBELB sy-vline
WA_TE685_STR-FTEMPKZ sy-vline
WA_TE685_STR-ARTMITTEL sy-vline
WA_TE685_STR-TEMPMITTL sy-vline
WA_TE685_STR-LUFTMESSD sy-vline
WA_TE685_STR-KORRMESSD sy-vline
WA_TE685_STR-KZAHLKZ sy-vline
WA_TE685_STR-KORRKZAHL sy-vline
WA_TE685_STR-ABGRENZKZ sy-vline
WA_TE685_STR-NPAMB sy-vline
WA_TE685_STR-TEMPSTEU sy-vline
WA_TE685_STR-FREMDZZZ sy-vline
WA_TE685_STR-FREMDZZE sy-vline
WA_TE685_STR-ZUSTZFIX sy-vline
WA_TE685_STR-USECATZZ sy-vline
WA_TE685_STR-RUNDUNG1 sy-vline
WA_TE685_STR-RUNDART1 sy-vline
WA_TE685_STR-AKLASSE sy-vline
WA_TE685_STR-RUNDUNGW sy-vline
WA_TE685_STR-RUNDARTW sy-vline
WA_TE685_STR-MASS_ZZ sy-vline
WA_TE685_STR-MASS_ZZQ sy-vline
WA_TE685_STR-NTEMPB sy-vline
WA_TE685_STR-OTEMPB sy-vline
WA_TE685_STR-GAS_PRS_KZ sy-vline
WA_TE685_STR-CRG_PRS_KZ sy-vline
WA_TE685_STR-SBZUZVER sy-vline
WA_TE685_STR-TIMRTEMP sy-vline
WA_TE685_STR-SUPCOMPR sy-vline
WA_TE685_STR-TPSUPPR sy-vline
WA_TE685_STR-PRSUPPR sy-vline
WA_TE685_STR-JOULTHOM sy-vline
WA_TE685_STR-RATIOJTH sy-vline
WA_TE685_STR-LASTVAL_ZV sy-vline
WA_TE685_STR-ZUSTZZW sy-vline
WA_TE685_STR-USEZUSTZZW sy-vline
WA_TE685_STR-APDAILY sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.