ABAP Select data from SAP table IEDEVICESTOCK 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 IEDEVICESTOCK 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 IEDEVICESTOCK. 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 IEDEVICESTOCK 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_IEDEVICESTOCK TYPE STANDARD TABLE OF IEDEVICESTOCK,
      WA_IEDEVICESTOCK TYPE IEDEVICESTOCK,
      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: <IEDEVICESTOCK> TYPE IEDEVICESTOCK.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM IEDEVICESTOCK
*  INTO TABLE @DATA(IT_IEDEVICESTOCK2).
*--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_IEDEVICESTOCK INDEX 1 INTO DATA(WA_IEDEVICESTOCK2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_IEDEVICESTOCK ASSIGNING <IEDEVICESTOCK>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<IEDEVICESTOCK>-MANDT = 1.
<IEDEVICESTOCK>-UTILITIESDEVICE = 1.
<IEDEVICESTOCK>-UTILSDEVICEVALIDITYENDDATE = 1.
<IEDEVICESTOCK>-UTILSDEVICEACTIVITYREASON = 1.
<IEDEVICESTOCK>-UTILSDEVICEVALIDITYSTARTDATE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_IEDEVICESTOCK-UTILSDEVICEBSCCATCOMBINATION, sy-vline,
WA_IEDEVICESTOCK-UTILITIESLOGICALDEVICENUMBER, sy-vline,
WA_IEDEVICESTOCK-UTILITIESREGISTERGROUP, sy-vline,
WA_IEDEVICESTOCK-UTILSDEVICEINSTALLATIONDATE, sy-vline,
WA_IEDEVICESTOCK-UTILSDEVICEREMOVALDATE, sy-vline,
WA_IEDEVICESTOCK-UTILSDEVICELOCATION, sy-vline.
ENDLOOP. *Add any further fields from structure WA_IEDEVICESTOCK 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_IEDEVICESTOCK 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_IEDEVICESTOCK INTO WA_IEDEVICESTOCK. *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 UTILITIESDEVICE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IEDEVICESTOCK-UTILITIESDEVICE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IEDEVICESTOCK-UTILITIESDEVICE.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit TPLNR, internal->external for field UTILSDEVICELOCATION CALL FUNCTION 'CONVERSION_EXIT_TPLNR_OUTPUT' EXPORTING input = WA_IEDEVICESTOCK-UTILSDEVICELOCATION IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IEDEVICESTOCK-UTILSDEVICELOCATION.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit MATN1, internal->external for field UTILITIESDEVICECATEGORY CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_IEDEVICESTOCK-UTILITIESDEVICECATEGORY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IEDEVICESTOCK-UTILITIESDEVICECATEGORY.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field UTILSDEVICECATEGORYPRICECLASS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IEDEVICESTOCK-UTILSDEVICECATEGORYPRICECLASS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IEDEVICESTOCK-UTILSDEVICECATEGORYPRICECLASS.
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_IEDEVICESTOCK_STR,
MANDT TYPE STRING,
UTILITIESDEVICE TYPE STRING,
UTILSDEVICEVALIDITYENDDATE TYPE STRING,
UTILSDEVICEACTIVITYREASON TYPE STRING,
UTILSDEVICEVALIDITYSTARTDATE TYPE STRING,
UTILSDEVICEBSCCATCOMBINATION TYPE STRING,
UTILITIESLOGICALDEVICENUMBER TYPE STRING,
UTILITIESREGISTERGROUP TYPE STRING,
UTILSDEVICEINSTALLATIONDATE TYPE STRING,
UTILSDEVICEREMOVALDATE TYPE STRING,
UTILSDEVICELOCATION TYPE STRING,
UTILSDEVICEGROUP TYPE STRING,
UTILSDEVICEWINDINGGROUP TYPE STRING,
UTILITIESPREPAYMENTMETERTYPE TYPE STRING,
UTILSDEVICELOSSDETNGROUP TYPE STRING,
DVCEPWRTRNSFRMTRTRNSFRATINGVAL TYPE STRING,
DVCEPWRTRNSFRMTRPRIMVOLTVAL TYPE STRING,
DVCEPWRTRNSFRMTRSECDRYVOLTVAL TYPE STRING,
ADVANCEDMETERINGSYSTEM TYPE STRING,
ADVANCEDMETERCAPABILITYGROUP TYPE STRING,
EQUIPMENTCATEGORY TYPE STRING,
TECHNICALOBJECTTYPE TYPE STRING,
AUTHORIZATIONGROUP TYPE STRING,
ACQUISITIONDATE TYPE STRING,
ACQUISITIONVALUE TYPE STRING,
CURRENCY TYPE STRING,
ASSETMANUFACTURERNAME TYPE STRING,
MANUFACTURERCOUNTRY TYPE STRING,
MANUFACTURERSERIALNUMBER TYPE STRING,
MANUFACTURERPARTTYPENAME TYPE STRING,
CONSTRUCTIONYEAR TYPE STRING,
UTILITIESDEVICECATEGORY TYPE STRING,
SERIALNUMBER TYPE STRING,
DIVISION TYPE STRING,
UNIQUEITEMIDENTIFIER TYPE STRING,
UNIQUEITEMIDENTIFIERSTRUCTYPE TYPE STRING,
UNIQUEITEMIDENTIFIERRESPPLANT TYPE STRING,
UTILSDEVICEINOUTGROUP TYPE STRING,
UTILSDEVICEARCRCOMMANDGROUP TYPE STRING,
UTILSDEVICESAMPLELOT TYPE STRING,
UTILSDEVICEMEASUREDPRESSURE TYPE STRING,
UTILSDEVICETRANSFORMATIONRATIO TYPE STRING,
UTILSDEVICEINSPRELEVANCECODE TYPE STRING,
UTILSDEVICECERTIFICATIONYEAR TYPE STRING,
UTILSDEVICEADVNCRPLCMTYEAR TYPE STRING,
UTILSDEVICECERTFNSTATUS TYPE STRING,
SAMPLEUTILSDEVICESTATUS TYPE STRING,
UTILSDEVICELASTLEADSEALINGDATE TYPE STRING,
UTILSDEVICECERTFNTYPE TYPE STRING,
UTILSDEVICECERTIFICATIONNUMBER TYPE STRING,
UTILSDEVICEMODIFICATIONDATE TYPE STRING,
UTILSDEVICEMODREASON TYPE STRING,
UTILSDEVICECALIBRNVALDTYISUSED TYPE STRING,
UTILSDEVICEPARAMETRIZATIONCODE TYPE STRING,
UTILSDEVICELEADSEALINGCODE TYPE STRING,
LASTCHANGEDATE TYPE STRING,
UTILSDEVICELASTCHANGEDBYUSER TYPE STRING,
UTILSDEVICEINSPPOINTGROUP TYPE STRING,
INSTDUTILSDEVICEISCERTIFIABLE TYPE STRING,
UTILSDEVICEINSPECTIONNUMBER TYPE STRING,
DVCEINDIVCERTFNVALDTYINYRS TYPE STRING,
UTILSDEVICEFUNCTIONCLASS TYPE STRING,
UTILSDEVICECONSTRUCTIONCLASS TYPE STRING,
UTILSDEVICECATEGORYDESCRIPTION TYPE STRING,
UTILSDEVICECATEGORYPRICECLASS TYPE STRING,
UTILSDEVICEPTIREGNNMBR TYPE STRING,
UTILSDEVICEGGWAREGNNMBR TYPE STRING,
UTILSDEVICECERTFNRQMTTYPE TYPE STRING,
UTILSDVCECALIBRNVALDTYLNYEARS TYPE STRING,
UTILSDVCEINTCERTFNPERDINYEARS TYPE STRING,
UTILSDVCECALCNEXTRPLCMTINYEARS TYPE STRING,
UTILSDEVICEOLDCERTFNINYEARS TYPE STRING,
UTILSDEVICEMEASUREMENTTYPE TYPE STRING,
UTILSDEVICENOMINALLOADVALUE TYPE STRING,
UTILSDEVICEADVNCDMETERCAT TYPE STRING,
PLANT TYPE STRING,
STORAGELOCATION TYPE STRING,
INVENTORYSPECIALSTOCKTYPE TYPE STRING,
BATCH TYPE STRING,
GOODSMOVEMENTSTOCKTYPE TYPE STRING,
PLANTNAME TYPE STRING,
STORAGELOCATIONNAME TYPE STRING,
NMBROFSTOCKDEVICES TYPE STRING,END OF T_EKKO_STR. DATA: WA_IEDEVICESTOCK_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_IEDEVICESTOCK_STR-MANDT sy-vline
WA_IEDEVICESTOCK_STR-UTILITIESDEVICE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEVALIDITYENDDATE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEACTIVITYREASON sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEVALIDITYSTARTDATE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEBSCCATCOMBINATION sy-vline
WA_IEDEVICESTOCK_STR-UTILITIESLOGICALDEVICENUMBER sy-vline
WA_IEDEVICESTOCK_STR-UTILITIESREGISTERGROUP sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEINSTALLATIONDATE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEREMOVALDATE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICELOCATION sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEGROUP sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEWINDINGGROUP sy-vline
WA_IEDEVICESTOCK_STR-UTILITIESPREPAYMENTMETERTYPE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICELOSSDETNGROUP sy-vline
WA_IEDEVICESTOCK_STR-DVCEPWRTRNSFRMTRTRNSFRATINGVAL sy-vline
WA_IEDEVICESTOCK_STR-DVCEPWRTRNSFRMTRPRIMVOLTVAL sy-vline
WA_IEDEVICESTOCK_STR-DVCEPWRTRNSFRMTRSECDRYVOLTVAL sy-vline
WA_IEDEVICESTOCK_STR-ADVANCEDMETERINGSYSTEM sy-vline
WA_IEDEVICESTOCK_STR-ADVANCEDMETERCAPABILITYGROUP sy-vline
WA_IEDEVICESTOCK_STR-EQUIPMENTCATEGORY sy-vline
WA_IEDEVICESTOCK_STR-TECHNICALOBJECTTYPE sy-vline
WA_IEDEVICESTOCK_STR-AUTHORIZATIONGROUP sy-vline
WA_IEDEVICESTOCK_STR-ACQUISITIONDATE sy-vline
WA_IEDEVICESTOCK_STR-ACQUISITIONVALUE sy-vline
WA_IEDEVICESTOCK_STR-CURRENCY sy-vline
WA_IEDEVICESTOCK_STR-ASSETMANUFACTURERNAME sy-vline
WA_IEDEVICESTOCK_STR-MANUFACTURERCOUNTRY sy-vline
WA_IEDEVICESTOCK_STR-MANUFACTURERSERIALNUMBER sy-vline
WA_IEDEVICESTOCK_STR-MANUFACTURERPARTTYPENAME sy-vline
WA_IEDEVICESTOCK_STR-CONSTRUCTIONYEAR sy-vline
WA_IEDEVICESTOCK_STR-UTILITIESDEVICECATEGORY sy-vline
WA_IEDEVICESTOCK_STR-SERIALNUMBER sy-vline
WA_IEDEVICESTOCK_STR-DIVISION sy-vline
WA_IEDEVICESTOCK_STR-UNIQUEITEMIDENTIFIER sy-vline
WA_IEDEVICESTOCK_STR-UNIQUEITEMIDENTIFIERSTRUCTYPE sy-vline
WA_IEDEVICESTOCK_STR-UNIQUEITEMIDENTIFIERRESPPLANT sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEINOUTGROUP sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEARCRCOMMANDGROUP sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICESAMPLELOT sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEMEASUREDPRESSURE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICETRANSFORMATIONRATIO sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEINSPRELEVANCECODE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECERTIFICATIONYEAR sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEADVNCRPLCMTYEAR sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECERTFNSTATUS sy-vline
WA_IEDEVICESTOCK_STR-SAMPLEUTILSDEVICESTATUS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICELASTLEADSEALINGDATE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECERTFNTYPE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECERTIFICATIONNUMBER sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEMODIFICATIONDATE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEMODREASON sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECALIBRNVALDTYISUSED sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEPARAMETRIZATIONCODE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICELEADSEALINGCODE sy-vline
WA_IEDEVICESTOCK_STR-LASTCHANGEDATE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICELASTCHANGEDBYUSER sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEINSPPOINTGROUP sy-vline
WA_IEDEVICESTOCK_STR-INSTDUTILSDEVICEISCERTIFIABLE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEINSPECTIONNUMBER sy-vline
WA_IEDEVICESTOCK_STR-DVCEINDIVCERTFNVALDTYINYRS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEFUNCTIONCLASS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECONSTRUCTIONCLASS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECATEGORYDESCRIPTION sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECATEGORYPRICECLASS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEPTIREGNNMBR sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEGGWAREGNNMBR sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICECERTFNRQMTTYPE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDVCECALIBRNVALDTYLNYEARS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDVCEINTCERTFNPERDINYEARS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDVCECALCNEXTRPLCMTINYEARS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEOLDCERTFNINYEARS sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEMEASUREMENTTYPE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICENOMINALLOADVALUE sy-vline
WA_IEDEVICESTOCK_STR-UTILSDEVICEADVNCDMETERCAT sy-vline
WA_IEDEVICESTOCK_STR-PLANT sy-vline
WA_IEDEVICESTOCK_STR-STORAGELOCATION sy-vline
WA_IEDEVICESTOCK_STR-INVENTORYSPECIALSTOCKTYPE sy-vline
WA_IEDEVICESTOCK_STR-BATCH sy-vline
WA_IEDEVICESTOCK_STR-GOODSMOVEMENTSTOCKTYPE sy-vline
WA_IEDEVICESTOCK_STR-PLANTNAME sy-vline
WA_IEDEVICESTOCK_STR-STORAGELOCATIONNAME sy-vline
WA_IEDEVICESTOCK_STR-NMBROFSTOCKDEVICES sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.