ABAP Select data from SAP table ISU_DM_MR_ORDER_S_READING 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 ISU_DM_MR_ORDER_S_READING 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 ISU_DM_MR_ORDER_S_READING. 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 ISU_DM_MR_ORDER_S_READING 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_ISU_DM_MR_ORDER_S_READING TYPE STANDARD TABLE OF ISU_DM_MR_ORDER_S_READING,
      WA_ISU_DM_MR_ORDER_S_READING TYPE ISU_DM_MR_ORDER_S_READING,
      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: <ISU_DM_MR_ORDER_S_READING> TYPE ISU_DM_MR_ORDER_S_READING.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM ISU_DM_MR_ORDER_S_READING
*  INTO TABLE @DATA(IT_ISU_DM_MR_ORDER_S_READING2).
*--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_ISU_DM_MR_ORDER_S_READING INDEX 1 INTO DATA(WA_ISU_DM_MR_ORDER_S_READING2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_ISU_DM_MR_ORDER_S_READING ASSIGNING <ISU_DM_MR_ORDER_S_READING>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<ISU_DM_MR_ORDER_S_READING>-WA_READING = 1.
<ISU_DM_MR_ORDER_S_READING>-S_ZWSTAND = 1.
<ISU_DM_MR_ORDER_S_READING>-E_ZWSTERW = 1.
<ISU_DM_MR_ORDER_S_READING>-E_VERBERW = 1.
<ISU_DM_MR_ORDER_S_READING>-I_ZWSTERW = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_ISU_DM_MR_ORDER_S_READING-I_VERBERW, sy-vline,
WA_ISU_DM_MR_ORDER_S_READING-MANDT, sy-vline,
WA_ISU_DM_MR_ORDER_S_READING-ABLBELNR, sy-vline,
WA_ISU_DM_MR_ORDER_S_READING-GERNR, sy-vline,
WA_ISU_DM_MR_ORDER_S_READING-EQUNR, sy-vline,
WA_ISU_DM_MR_ORDER_S_READING-ZWNUMMER, sy-vline.
ENDLOOP. *Add any further fields from structure WA_ISU_DM_MR_ORDER_S_READING 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_ISU_DM_MR_ORDER_S_READING 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_ISU_DM_MR_ORDER_S_READING INTO WA_ISU_DM_MR_ORDER_S_READING. *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 ABLBELNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-ABLBELNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-ABLBELNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GERNR, internal->external for field GERNR CALL FUNCTION 'CONVERSION_EXIT_GERNR_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-GERNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-GERNR.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit HH_MM, internal->external for field ATIM CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-ATIM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-ATIM.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit HH_MM, internal->external for field ATIMMAX CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-ATIMMAX IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-ATIMMAX.
WRITE:/ 'New Value:', ld_input.

*Conversion exit HH_MM, internal->external for field ATIMTATS CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-ATIMTATS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-ATIMTATS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit HH_MM, internal->external for field ATIMERZ CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-ATIMERZ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-ATIMERZ.
WRITE:/ 'New Value:', ld_input.

*Conversion exit HH_MM, internal->external for field ATIMPROG CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-ATIMPROG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-ATIMPROG.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit HH_MM, internal->external for field ATIMREAL CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-ATIMREAL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-ATIMREAL.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ALPHA, internal->external for field PREV_MRDOC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ISU_DM_MR_ORDER_S_READING-PREV_MRDOC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_DM_MR_ORDER_S_READING-PREV_MRDOC.
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_ISU_DM_MR_ORDER_S_READING_STR,
WA_READING TYPE STRING,
S_ZWSTAND TYPE STRING,
E_ZWSTERW TYPE STRING,
E_VERBERW TYPE STRING,
I_ZWSTERW TYPE STRING,
I_VERBERW TYPE STRING,
MANDT TYPE STRING,
ABLBELNR TYPE STRING,
GERNR TYPE STRING,
EQUNR TYPE STRING,
ZWNUMMER TYPE STRING,
ADAT TYPE STRING,
ATIM TYPE STRING,
V_ZWSTAND TYPE STRING,
N_ZWSTAND TYPE STRING,
V_ZWSTNDAB TYPE STRING,
N_ZWSTNDAB TYPE STRING,
MASSREAD TYPE STRING,
MASSBILL TYPE STRING,
STANZVOR TYPE STRING,
STANZNAC TYPE STRING,
SCHAEVER TYPE STRING,
SCHAEGR TYPE STRING,
AKTIV TYPE STRING,
ADATSOLL TYPE STRING,
ADATMAX TYPE STRING,
ATIMMAX TYPE STRING,
ADATTATS TYPE STRING,
ATIMTATS TYPE STRING,
ADATERZ TYPE STRING,
ATIMERZ TYPE STRING,
ADATPROG TYPE STRING,
ATIMPROG TYPE STRING,
ZUORDDAT TYPE STRING,
THGDATUM TYPE STRING,
PRUEFZAHL TYPE STRING,
BAPERTYP TYPE STRING,
ABLSTAT TYPE STRING,
PRUEFPKT TYPE STRING,
POPCODE TYPE STRING,
PRUEFTYP TYPE STRING,
ABLHINW TYPE STRING,
STABLHW TYPE STRING,
KONTRVRF TYPE STRING,
ABLESART TYPE STRING,
ABLESER TYPE STRING,
NACHERF TYPE STRING,
MDENR TYPE STRING,
MDEUPL TYPE STRING,
E_ZEITVBL TYPE STRING,
E_ZVLZUORD TYPE STRING,
STEUERGRP TYPE STRING,
ARBAUF TYPE STRING,
KSTATUS TYPE STRING,
ERDAT TYPE STRING,
ERNAM TYPE STRING,
AEDAT TYPE STRING,
AENAM TYPE STRING,
ENTRYNUMB TYPE STRING,
ACTOR TYPE STRING,
ISTABLART TYPE STRING,
ABLESTYP TYPE STRING,
E_ZVBL_BEZDAT TYPE STRING,
SM_AUFNR TYPE STRING,
DOC_TYPE TYPE STRING,
ADATREAL TYPE STRING,
ATIMREAL TYPE STRING,
S_ISTABLART TYPE STRING,
S_AKTIV TYPE STRING,
S_ABLSTAT TYPE STRING,
S_V_ZWSTAND TYPE STRING,
S_N_ZWSTAND TYPE STRING,
S_V_ZWSTNDAB TYPE STRING,
S_N_ZWSTNDAB TYPE STRING,
REMOVED TYPE STRING,
BP TYPE STRING,
REM_ABLBELNR TYPE STRING,
REM_ABLESER TYPE STRING,
S_ADATSOLL TYPE STRING,
S_ZVBL_BEZDAT TYPE STRING,
AMS TYPE STRING,
TRANSSTAT TYPE STRING,
TRANSTSTAMP TYPE STRING,
SOURCESYST TYPE STRING,
QNT TYPE STRING,
QDSTAT TYPE STRING,
QDPROC TYPE STRING,
PREV_MRDOC TYPE STRING,
COLOGRP TYPE STRING,
WA_RANGES TYPE STRING,
UPPER_RESULT1 TYPE STRING,
LOWER_RESULT1 TYPE STRING,
UPPER_RESULT2 TYPE STRING,
LOWER_RESULT2 TYPE STRING,
UPPER_CONSUM1 TYPE STRING,
LOWER_CONSUM1 TYPE STRING,
UPPER_CONSUM2 TYPE STRING,
LOWER_CONSUM2 TYPE STRING,END OF T_EKKO_STR. DATA: WA_ISU_DM_MR_ORDER_S_READING_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_ISU_DM_MR_ORDER_S_READING_STR-WA_READING sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_ZWSTAND sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-E_ZWSTERW sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-E_VERBERW sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-I_ZWSTERW sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-I_VERBERW sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-MANDT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ABLBELNR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-GERNR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-EQUNR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ZWNUMMER sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ADAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ATIM sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-V_ZWSTAND sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-N_ZWSTAND sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-V_ZWSTNDAB sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-N_ZWSTNDAB sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-MASSREAD sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-MASSBILL sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-STANZVOR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-STANZNAC sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-SCHAEVER sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-SCHAEGR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-AKTIV sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ADATSOLL sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ADATMAX sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ATIMMAX sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ADATTATS sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ATIMTATS sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ADATERZ sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ATIMERZ sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ADATPROG sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ATIMPROG sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ZUORDDAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-THGDATUM sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-PRUEFZAHL sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-BAPERTYP sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ABLSTAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-PRUEFPKT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-POPCODE sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-PRUEFTYP sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ABLHINW sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-STABLHW sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-KONTRVRF sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ABLESART sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ABLESER sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-NACHERF sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-MDENR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-MDEUPL sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-E_ZEITVBL sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-E_ZVLZUORD sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-STEUERGRP sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ARBAUF sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-KSTATUS sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ERDAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ERNAM sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-AEDAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-AENAM sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ENTRYNUMB sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ACTOR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ISTABLART sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ABLESTYP sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-E_ZVBL_BEZDAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-SM_AUFNR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-DOC_TYPE sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ADATREAL sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-ATIMREAL sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_ISTABLART sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_AKTIV sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_ABLSTAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_V_ZWSTAND sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_N_ZWSTAND sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_V_ZWSTNDAB sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_N_ZWSTNDAB sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-REMOVED sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-BP sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-REM_ABLBELNR sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-REM_ABLESER sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_ADATSOLL sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-S_ZVBL_BEZDAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-AMS sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-TRANSSTAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-TRANSTSTAMP sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-SOURCESYST sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-QNT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-QDSTAT sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-QDPROC sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-PREV_MRDOC sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-COLOGRP sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-WA_RANGES sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-UPPER_RESULT1 sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-LOWER_RESULT1 sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-UPPER_RESULT2 sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-LOWER_RESULT2 sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-UPPER_CONSUM1 sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-LOWER_CONSUM1 sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-UPPER_CONSUM2 sy-vline
WA_ISU_DM_MR_ORDER_S_READING_STR-LOWER_CONSUM2 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.