ABAP Select data from SAP table /SCMTMS/S_RATEMAINTENANCE 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 /SCMTMS/S_RATEMAINTENANCE 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 /SCMTMS/S_RATEMAINTENANCE. 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 /SCMTMS/S_RATEMAINTENANCE 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_/SCMTMS/S_RATEMAINTENANCE TYPE STANDARD TABLE OF /SCMTMS/S_RATEMAINTENANCE,
      WA_/SCMTMS/S_RATEMAINTENANCE TYPE /SCMTMS/S_RATEMAINTENANCE,
      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: </SCMTMS/S_RATEMAINTENANCE> TYPE /SCMTMS/S_RATEMAINTENANCE.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM /SCMTMS/S_RATEMAINTENANCE
  INTO TABLE IT_/SCMTMS/S_RATEMAINTENANCE.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /SCMTMS/S_RATEMAINTENANCE
*  INTO TABLE @DATA(IT_/SCMTMS/S_RATEMAINTENANCE2).
*--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_/SCMTMS/S_RATEMAINTENANCE INDEX 1 INTO DATA(WA_/SCMTMS/S_RATEMAINTENANCE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/SCMTMS/S_RATEMAINTENANCE ASSIGNING </SCMTMS/S_RATEMAINTENANCE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</SCMTMS/S_RATEMAINTENANCE>-KEY = 1.
</SCMTMS/S_RATEMAINTENANCE>-PARENT_KEY = 1.
</SCMTMS/S_RATEMAINTENANCE>-ROOT_KEY = 1.
</SCMTMS/S_RATEMAINTENANCE>-ITEM_KEYD1 = 1.
</SCMTMS/S_RATEMAINTENANCE>-VALUE_CHARD1 = 1.
ENDLOOP.

LOOP AT IT_/SCMTMS/S_RATEMAINTENANCE INTO WA_/SCMTMS/S_RATEMAINTENANCE.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD1, sy-vline,
WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_CURD1, sy-vline,
WA_/SCMTMS/S_RATEMAINTENANCE-UOMD1, sy-vline,
WA_/SCMTMS/S_RATEMAINTENANCE-CURRENCYD1, sy-vline,
WA_/SCMTMS/S_RATEMAINTENANCE-IS_NUMD1, sy-vline,
WA_/SCMTMS/S_RATEMAINTENANCE-IS_CURD1, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/SCMTMS/S_RATEMAINTENANCE 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_/SCMTMS/S_RATEMAINTENANCE 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_/SCMTMS/S_RATEMAINTENANCE INTO WA_/SCMTMS/S_RATEMAINTENANCE. *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 QTYRN, internal->external for field VALUE_NUMD1 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD1.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit QTYRN, internal->external for field VALUE_NUMD2 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD2.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit QTYRN, internal->external for field VALUE_NUMD3 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD3.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit QTYRN, internal->external for field VALUE_NUMD4 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD4 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD4.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit QTYRN, internal->external for field VALUE_NUMD5 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD5 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD5.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit QTYRN, internal->external for field VALUE_NUMD6 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD6 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD6.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit QTYRN, internal->external for field VALUE_NUMD7 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD7.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit QTYRN, internal->external for field VALUE_NUMD8 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD8 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD8.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit QTYRN, internal->external for field VALUE_NUMD9 CALL FUNCTION 'CONVERSION_EXIT_QTYRN_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD9 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-VALUE_NUMD9.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field UOMD9 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SCMTMS/S_RATEMAINTENANCE-UOMD9 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SCMTMS/S_RATEMAINTENANCE-UOMD9.
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_/SCMTMS/S_RATEMAINTENANCE_STR,
KEY TYPE STRING,
PARENT_KEY TYPE STRING,
ROOT_KEY TYPE STRING,
ITEM_KEYD1 TYPE STRING,
VALUE_CHARD1 TYPE STRING,
VALUE_NUMD1 TYPE STRING,
VALUE_CURD1 TYPE STRING,
UOMD1 TYPE STRING,
CURRENCYD1 TYPE STRING,
IS_NUMD1 TYPE STRING,
IS_CURD1 TYPE STRING,
ITEM_KEYD2 TYPE STRING,
VALUE_CHARD2 TYPE STRING,
VALUE_NUMD2 TYPE STRING,
VALUE_CURD2 TYPE STRING,
UOMD2 TYPE STRING,
CURRENCYD2 TYPE STRING,
IS_NUMD2 TYPE STRING,
IS_CURD2 TYPE STRING,
ITEM_KEYD3 TYPE STRING,
VALUE_CHARD3 TYPE STRING,
VALUE_NUMD3 TYPE STRING,
VALUE_CURD3 TYPE STRING,
UOMD3 TYPE STRING,
CURRENCYD3 TYPE STRING,
IS_NUMD3 TYPE STRING,
IS_CURD3 TYPE STRING,
ITEM_KEYD4 TYPE STRING,
VALUE_CHARD4 TYPE STRING,
VALUE_NUMD4 TYPE STRING,
VALUE_CURD4 TYPE STRING,
UOMD4 TYPE STRING,
CURRENCYD4 TYPE STRING,
IS_NUMD4 TYPE STRING,
IS_CURD4 TYPE STRING,
ITEM_KEYD5 TYPE STRING,
VALUE_CHARD5 TYPE STRING,
VALUE_NUMD5 TYPE STRING,
VALUE_CURD5 TYPE STRING,
UOMD5 TYPE STRING,
CURRENCYD5 TYPE STRING,
IS_NUMD5 TYPE STRING,
IS_CURD5 TYPE STRING,
ITEM_KEYD6 TYPE STRING,
VALUE_CHARD6 TYPE STRING,
VALUE_NUMD6 TYPE STRING,
VALUE_CURD6 TYPE STRING,
UOMD6 TYPE STRING,
CURRENCYD6 TYPE STRING,
IS_NUMD6 TYPE STRING,
IS_CURD6 TYPE STRING,
ITEM_KEYD7 TYPE STRING,
VALUE_CHARD7 TYPE STRING,
VALUE_NUMD7 TYPE STRING,
VALUE_CURD7 TYPE STRING,
UOMD7 TYPE STRING,
CURRENCYD7 TYPE STRING,
IS_NUMD7 TYPE STRING,
IS_CURD7 TYPE STRING,
ITEM_KEYD8 TYPE STRING,
VALUE_CHARD8 TYPE STRING,
VALUE_NUMD8 TYPE STRING,
VALUE_CURD8 TYPE STRING,
UOMD8 TYPE STRING,
CURRENCYD8 TYPE STRING,
IS_NUMD8 TYPE STRING,
IS_CURD8 TYPE STRING,
ITEM_KEYD9 TYPE STRING,
VALUE_CHARD9 TYPE STRING,
VALUE_NUMD9 TYPE STRING,
VALUE_CURD9 TYPE STRING,
UOMD9 TYPE STRING,
CURRENCYD9 TYPE STRING,
IS_NUMD9 TYPE STRING,
IS_CURD9 TYPE STRING,
RATE TYPE STRING,
RATE_CURR TYPE STRING,
TARGET_RATE TYPE STRING,
TOLERANCE TYPE STRING,
ZERO_RATE TYPE STRING,
SOL_SPEND_AMOUNT TYPE STRING,
SOL_SPEND_CURR TYPE STRING,
RATE_REQUESTED TYPE STRING,END OF T_EKKO_STR. DATA: WA_/SCMTMS/S_RATEMAINTENANCE_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_/SCMTMS/S_RATEMAINTENANCE_STR-KEY sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-PARENT_KEY sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ROOT_KEY sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD1 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD1 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD1 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD1 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD1 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD1 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD1 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD1 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD2 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD2 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD2 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD2 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD2 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD2 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD2 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD2 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD3 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD3 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD3 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD3 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD3 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD3 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD3 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD3 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD4 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD4 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD4 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD4 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD4 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD4 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD4 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD4 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD5 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD5 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD5 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD5 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD5 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD5 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD5 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD5 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD6 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD6 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD6 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD6 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD6 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD6 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD6 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD6 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD7 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD7 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD7 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD7 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD7 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD7 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD7 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD7 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD8 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD8 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD8 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD8 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD8 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD8 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD8 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD8 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ITEM_KEYD9 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CHARD9 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_NUMD9 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-VALUE_CURD9 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-UOMD9 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-CURRENCYD9 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_NUMD9 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-IS_CURD9 sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-RATE sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-RATE_CURR sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-TARGET_RATE sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-TOLERANCE sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-ZERO_RATE sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-SOL_SPEND_AMOUNT sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-SOL_SPEND_CURR sy-vline
WA_/SCMTMS/S_RATEMAINTENANCE_STR-RATE_REQUESTED sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.