ABAP Select data from SAP table /SAPAPO/MSDP_TLB_ALV_STR 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 /SAPAPO/MSDP_TLB_ALV_STR 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 /SAPAPO/MSDP_TLB_ALV_STR. 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 /SAPAPO/MSDP_TLB_ALV_STR 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_/SAPAPO/MSDP_TLB_ALV_STR TYPE STANDARD TABLE OF /SAPAPO/MSDP_TLB_ALV_STR, WA_/SAPAPO/MSDP_TLB_ALV_STR TYPE /SAPAPO/MSDP_TLB_ALV_STR, 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: </SAPAPO/MSDP_TLB_ALV_STR> TYPE /SAPAPO/MSDP_TLB_ALV_STR. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_/SAPAPO/MSDP_TLB_ALV_STR. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM /SAPAPO/MSDP_TLB_ALV_STR INTO TABLE IT_/SAPAPO/MSDP_TLB_ALV_STR. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM /SAPAPO/MSDP_TLB_ALV_STR * INTO TABLE @DATA(IT_/SAPAPO/MSDP_TLB_ALV_STR2). *--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_/SAPAPO/MSDP_TLB_ALV_STR INDEX 1 INTO DATA(WA_/SAPAPO/MSDP_TLB_ALV_STR2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_/SAPAPO/MSDP_TLB_ALV_STR ASSIGNING </SAPAPO/MSDP_TLB_ALV_STR>.*To update a field value using a field symbol simply change the value via the field symbol pointer
</SAPAPO/MSDP_TLB_ALV_STR>-TROID = 1.
</SAPAPO/MSDP_TLB_ALV_STR>-DOCID = 1.
</SAPAPO/MSDP_TLB_ALV_STR>-SCHID = 1.
</SAPAPO/MSDP_TLB_ALV_STR>-MATNR = 1.
</SAPAPO/MSDP_TLB_ALV_STR>-LOCFRNO = 1.
ENDLOOP. LOOP AT IT_/SAPAPO/MSDP_TLB_ALV_STR INTO WA_/SAPAPO/MSDP_TLB_ALV_STR. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_/SAPAPO/MSDP_TLB_ALV_STR-LOCTONO, sy-vline,
WA_/SAPAPO/MSDP_TLB_ALV_STR-TTYPE, sy-vline,
WA_/SAPAPO/MSDP_TLB_ALV_STR-TRANS, sy-vline,
WA_/SAPAPO/MSDP_TLB_ALV_STR-QUANTITY, sy-vline,
WA_/SAPAPO/MSDP_TLB_ALV_STR-FROM_QUANTITY, sy-vline,
WA_/SAPAPO/MSDP_TLB_ALV_STR-FROM_REAL_QUANTITY, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/SAPAPO/MSDP_TLB_ALV_STR 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_/SAPAPO/MSDP_TLB_ALV_STR 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_/SAPAPO/MSDP_TLB_ALV_STR INTO WA_/SAPAPO/MSDP_TLB_ALV_STR. *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 MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-MATNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM1_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM1_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM1_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM2_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM2_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM2_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM3_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM3_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM3_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM4_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM4_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM4_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM5_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM5_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM5_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM6_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM6_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM6_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM7_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM7_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM7_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM8_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM8_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM8_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM9_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM9_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM9_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PARAM10_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM10_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPAPO/MSDP_TLB_ALV_STR-PARAM10_UNIT.
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_/SAPAPO/MSDP_TLB_ALV_STR_STR,
TROID TYPE STRING,
DOCID TYPE STRING,
SCHID TYPE STRING,
MATNR TYPE STRING,
LOCFRNO TYPE STRING,
LOCTONO TYPE STRING,
TTYPE TYPE STRING,
TRANS TYPE STRING,
QUANTITY TYPE STRING,
FROM_QUANTITY TYPE STRING,
FROM_REAL_QUANTITY TYPE STRING,
UNIT TYPE STRING,
BSTRF TYPE STRING,
DATFR TYPE STRING,
DATTO TYPE STRING,
TIMEFR TYPE STRING,
TIMETO TYPE STRING,
TPRIO TYPE STRING,
STFAC TYPE STRING,
DELNR TYPE STRING,
DELNR2 TYPE STRING,
POSITION_NO TYPE STRING,
LINE_NO TYPE STRING,
CATFR TYPE STRING,
CATTO TYPE STRING,
CATFRTEXT10 TYPE STRING,
CATTOTEXT10 TYPE STRING,
CATFRTEXT40 TYPE STRING,
CATTOTEXT40 TYPE STRING,
MAKTX TYPE STRING,
PALCAP TYPE STRING,
BSTNK TYPE STRING,
DATFR_TA TYPE STRING,
DATTO_TA TYPE STRING,
TIMEFR_TA TYPE STRING,
TIMETO_TA TYPE STRING,
VEGRP TYPE STRING,
PARAM1_QTY TYPE STRING,
PARAM1_TOTQTY TYPE STRING,
PARAM1_UNIT TYPE STRING,
PARAM1_FREE_QTY TYPE STRING,
PARAM1_PERC TYPE STRING,
PARAM2_QTY TYPE STRING,
PARAM2_TOTQTY TYPE STRING,
PARAM2_UNIT TYPE STRING,
PARAM2_FREE_QTY TYPE STRING,
PARAM2_PERC TYPE STRING,
PARAM3_QTY TYPE STRING,
PARAM3_TOTQTY TYPE STRING,
PARAM3_UNIT TYPE STRING,
PARAM3_FREE_QTY TYPE STRING,
PARAM3_PERC TYPE STRING,
PARAM4_QTY TYPE STRING,
PARAM4_TOTQTY TYPE STRING,
PARAM4_UNIT TYPE STRING,
PARAM4_FREE_QTY TYPE STRING,
PARAM4_PERC TYPE STRING,
PARAM5_QTY TYPE STRING,
PARAM5_TOTQTY TYPE STRING,
PARAM5_UNIT TYPE STRING,
PARAM5_FREE_QTY TYPE STRING,
PARAM5_PERC TYPE STRING,
PARAM6_QTY TYPE STRING,
PARAM6_TOTQTY TYPE STRING,
PARAM6_UNIT TYPE STRING,
PARAM6_FREE_QTY TYPE STRING,
PARAM6_PERC TYPE STRING,
PARAM7_QTY TYPE STRING,
PARAM7_TOTQTY TYPE STRING,
PARAM7_UNIT TYPE STRING,
PARAM7_FREE_QTY TYPE STRING,
PARAM7_PERC TYPE STRING,
PARAM8_QTY TYPE STRING,
PARAM8_TOTQTY TYPE STRING,
PARAM8_UNIT TYPE STRING,
PARAM8_FREE_QTY TYPE STRING,
PARAM8_PERC TYPE STRING,
PARAM9_QTY TYPE STRING,
PARAM9_TOTQTY TYPE STRING,
PARAM9_UNIT TYPE STRING,
PARAM9_FREE_QTY TYPE STRING,
PARAM9_PERC TYPE STRING,
PARAM10_QTY TYPE STRING,
PARAM10_TOTQTY TYPE STRING,
PARAM10_UNIT TYPE STRING,
PARAM10_FREE_QTY TYPE STRING,
PARAM10_PERC TYPE STRING,
CONSIGNMENT TYPE STRING,END OF T_EKKO_STR. DATA: WA_/SAPAPO/MSDP_TLB_ALV_STR_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_/SAPAPO/MSDP_TLB_ALV_STR_STR-TROID sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-DOCID sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-SCHID sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-MATNR sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-LOCFRNO sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-LOCTONO sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-TTYPE sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-TRANS sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-QUANTITY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-FROM_QUANTITY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-FROM_REAL_QUANTITY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-BSTRF sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-DATFR sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-DATTO sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-TIMEFR sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-TIMETO sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-TPRIO sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-STFAC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-DELNR sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-DELNR2 sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-POSITION_NO sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-LINE_NO sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-CATFR sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-CATTO sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-CATFRTEXT10 sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-CATTOTEXT10 sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-CATFRTEXT40 sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-CATTOTEXT40 sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-MAKTX sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PALCAP sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-BSTNK sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-DATFR_TA sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-DATTO_TA sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-TIMEFR_TA sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-TIMETO_TA sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-VEGRP sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM1_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM1_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM1_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM1_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM1_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM2_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM2_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM2_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM2_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM2_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM3_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM3_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM3_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM3_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM3_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM4_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM4_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM4_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM4_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM4_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM5_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM5_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM5_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM5_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM5_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM6_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM6_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM6_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM6_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM6_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM7_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM7_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM7_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM7_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM7_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM8_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM8_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM8_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM8_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM8_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM9_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM9_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM9_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM9_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM9_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM10_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM10_TOTQTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM10_UNIT sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM10_FREE_QTY sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-PARAM10_PERC sy-vline
WA_/SAPAPO/MSDP_TLB_ALV_STR_STR-CONSIGNMENT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.