ABAP Select data from SAP table SCIF_S4_PLANTPRODUCT 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 SCIF_S4_PLANTPRODUCT 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 SCIF_S4_PLANTPRODUCT. 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 SCIF_S4_PLANTPRODUCT 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_SCIF_S4_PLANTPRODUCT TYPE STANDARD TABLE OF SCIF_S4_PLANTPRODUCT,
      WA_SCIF_S4_PLANTPRODUCT TYPE SCIF_S4_PLANTPRODUCT,
      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: <SCIF_S4_PLANTPRODUCT> TYPE SCIF_S4_PLANTPRODUCT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM SCIF_S4_PLANTPRODUCT
*  INTO TABLE @DATA(IT_SCIF_S4_PLANTPRODUCT2).
*--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_SCIF_S4_PLANTPRODUCT INDEX 1 INTO DATA(WA_SCIF_S4_PLANTPRODUCT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_SCIF_S4_PLANTPRODUCT ASSIGNING <SCIF_S4_PLANTPRODUCT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<SCIF_S4_PLANTPRODUCT>-MATNR = 1.
<SCIF_S4_PLANTPRODUCT>-WERKS = 1.
<SCIF_S4_PLANTPRODUCT>-DISMM = 1.
<SCIF_S4_PLANTPRODUCT>-DISGR = 1.
<SCIF_S4_PLANTPRODUCT>-LVORM = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_SCIF_S4_PLANTPRODUCT-MINBE, sy-vline,
WA_SCIF_S4_PLANTPRODUCT-FXHOR, sy-vline,
WA_SCIF_S4_PLANTPRODUCT-DISPO, sy-vline,
WA_SCIF_S4_PLANTPRODUCT-DISLS, sy-vline,
WA_SCIF_S4_PLANTPRODUCT-BSTMI, sy-vline,
WA_SCIF_S4_PLANTPRODUCT-BSTMA, sy-vline.
ENDLOOP. *Add any further fields from structure WA_SCIF_S4_PLANTPRODUCT 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_SCIF_S4_PLANTPRODUCT 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_SCIF_S4_PLANTPRODUCT INTO WA_SCIF_S4_PLANTPRODUCT. *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_SCIF_S4_PLANTPRODUCT-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-MATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRN, internal->external for field SCM_PEG_FUTURE_ALERT CALL FUNCTION 'CONVERSION_EXIT_TSTRN_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_PEG_FUTURE_ALERT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_PEG_FUTURE_ALERT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRN, internal->external for field SCM_PEG_PAST_ALERT CALL FUNCTION 'CONVERSION_EXIT_TSTRN_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_PEG_PAST_ALERT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_PEG_PAST_ALERT.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit TSTRG, internal->external for field SCM_TARGET_DUR CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_TARGET_DUR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_TARGET_DUR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field SCM_REORD_DUR CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_REORD_DUR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_REORD_DUR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field SCM_GRPRT CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_GRPRT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_GRPRT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field SCM_GIPRT CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_GIPRT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_GIPRT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field SCM_SHELF_LIFE_DUR CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_SHELF_LIFE_DUR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_SHELF_LIFE_DUR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field SCM_SHLF_LFE_REQ_MIN CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_SHLF_LFE_REQ_MIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_SHLF_LFE_REQ_MIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field SCM_SHLF_LFE_REQ_MAX CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_SHLF_LFE_REQ_MAX IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_SHLF_LFE_REQ_MAX.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field SCM_MATURITY_DUR CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_MATURITY_DUR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_MATURITY_DUR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field SCM_THRUPUT_TIME CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-SCM_THRUPUT_TIME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-SCM_THRUPUT_TIME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field STDPD CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_SCIF_S4_PLANTPRODUCT-STDPD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SCIF_S4_PLANTPRODUCT-STDPD.
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_SCIF_S4_PLANTPRODUCT_STR,
MATNR TYPE STRING,
WERKS TYPE STRING,
DISMM TYPE STRING,
DISGR TYPE STRING,
LVORM TYPE STRING,
MINBE TYPE STRING,
FXHOR TYPE STRING,
DISPO TYPE STRING,
DISLS TYPE STRING,
BSTMI TYPE STRING,
BSTMA TYPE STRING,
BSTFE TYPE STRING,
MABST TYPE STRING,
LOSFX TYPE STRING,
LAGPR TYPE STRING,
AUSSS TYPE STRING,
DIBER TYPE STRING,
BERID TYPE STRING,
BESKZ TYPE STRING,
SOBSL TYPE STRING,
LGPRO TYPE STRING,
LGFSB TYPE STRING,
EISBE TYPE STRING,
DZEIT TYPE STRING,
PLIFZ TYPE STRING,
WEBAZ TYPE STRING,
MRPPP TYPE STRING,
EISLO TYPE STRING,
SHFLG TYPE STRING,
SHZET TYPE STRING,
FHORI TYPE STRING,
STRGR TYPE STRING,
VRMOD TYPE STRING,
VINT1 TYPE STRING,
VINT2 TYPE STRING,
MTVFP TYPE STRING,
SBDKZ TYPE STRING,
KAUSF TYPE STRING,
PPSKZ TYPE STRING,
SCM_WHATBOM TYPE STRING,
SCM_HEUR_ID TYPE STRING,
SCM_PRIO TYPE STRING,
SCM_PACKAGE_ID TYPE STRING,
SCM_RRP_TYPE TYPE STRING,
SCM_INTSRC_PROF TYPE STRING,
SCM_RRP_SEL_GROUP TYPE STRING,
SCM_PROFID TYPE STRING,
SCM_SCOST TYPE STRING,
SCM_SSPEN TYPE STRING,
SCM_PEG_WO_ALERT_FST TYPE STRING,
SCM_FIXPEG_PROD_SET TYPE STRING,
SCM_PEG_STRATEGY TYPE STRING,
SCM_STRA1 TYPE STRING,
SCM_MIN_PASS_AMOUNT TYPE STRING,
SCM_GES_MNG_USE TYPE STRING,
SCM_GES_BST_USE TYPE STRING,
SCM_PEG_FUTURE_ALERT TYPE STRING,
SCM_PEG_PAST_ALERT TYPE STRING,
SCM_RES_NET_NAME TYPE STRING,
SCM_GET_ALERTS TYPE STRING,
SCM_LSUOM TYPE STRING,
SCM_TARGET_DUR TYPE STRING,
SCM_REORD_DUR TYPE STRING,
SCM_TSTRID TYPE STRING,
SCM_RELDT TYPE STRING,
SCM_GRPRT TYPE STRING,
SCM_GIPRT TYPE STRING,
SCM_CONHAP TYPE STRING,
SCM_CONHAP_OUT TYPE STRING,
SCM_SHELF_LIFE_LOC TYPE STRING,
SCM_SHELF_LIFE_DUR TYPE STRING,
SCM_SHLF_LFE_REQ_MIN TYPE STRING,
SCM_SHLF_LFE_REQ_MAX TYPE STRING,
SCM_MATURITY_DUR TYPE STRING,
ESPPFLG TYPE STRING,
SCM_THRUPUT_TIME TYPE STRING,
SCM_TPOP TYPE STRING,
SCM_SAFTY_V TYPE STRING,
SCM_PPSAFTYSTK TYPE STRING,
SCM_PPSAFTYSTK_V TYPE STRING,
SCM_REPSAFTY TYPE STRING,
SCM_REPSAFTY_V TYPE STRING,
SCM_REORD_V TYPE STRING,
SCM_MAXSTOCK_V TYPE STRING,
SCM_SCOST_PRCNT TYPE STRING,
SCM_PROC_COST TYPE STRING,
SCM_NDCOSTWE TYPE STRING,
SCM_NDCOSTWA TYPE STRING,
CUOBJ_TYPE TYPE STRING,
CUOBJ_ID TYPE STRING,
STDPD TYPE STRING,END OF T_EKKO_STR. DATA: WA_SCIF_S4_PLANTPRODUCT_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_SCIF_S4_PLANTPRODUCT_STR-MATNR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-WERKS sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-DISMM sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-DISGR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-LVORM sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-MINBE sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-FXHOR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-DISPO sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-DISLS sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-BSTMI sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-BSTMA sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-BSTFE sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-MABST sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-LOSFX sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-LAGPR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-AUSSS sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-DIBER sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-BERID sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-BESKZ sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SOBSL sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-LGPRO sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-LGFSB sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-EISBE sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-DZEIT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-PLIFZ sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-WEBAZ sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-MRPPP sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-EISLO sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SHFLG sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SHZET sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-FHORI sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-STRGR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-VRMOD sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-VINT1 sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-VINT2 sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-MTVFP sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SBDKZ sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-KAUSF sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-PPSKZ sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_WHATBOM sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_HEUR_ID sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PRIO sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PACKAGE_ID sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_RRP_TYPE sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_INTSRC_PROF sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_RRP_SEL_GROUP sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PROFID sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_SCOST sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_SSPEN sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PEG_WO_ALERT_FST sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_FIXPEG_PROD_SET sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PEG_STRATEGY sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_STRA1 sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_MIN_PASS_AMOUNT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_GES_MNG_USE sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_GES_BST_USE sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PEG_FUTURE_ALERT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PEG_PAST_ALERT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_RES_NET_NAME sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_GET_ALERTS sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_LSUOM sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_TARGET_DUR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_REORD_DUR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_TSTRID sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_RELDT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_GRPRT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_GIPRT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_CONHAP sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_CONHAP_OUT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_SHELF_LIFE_LOC sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_SHELF_LIFE_DUR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_SHLF_LFE_REQ_MIN sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_SHLF_LFE_REQ_MAX sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_MATURITY_DUR sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-ESPPFLG sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_THRUPUT_TIME sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_TPOP sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_SAFTY_V sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PPSAFTYSTK sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PPSAFTYSTK_V sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_REPSAFTY sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_REPSAFTY_V sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_REORD_V sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_MAXSTOCK_V sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_SCOST_PRCNT sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_PROC_COST sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_NDCOSTWE sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-SCM_NDCOSTWA sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-CUOBJ_TYPE sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-CUOBJ_ID sy-vline
WA_SCIF_S4_PLANTPRODUCT_STR-STDPD sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.