ABAP Select data from SAP table RNBILLING_INPUT 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 RNBILLING_INPUT 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 RNBILLING_INPUT. 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 RNBILLING_INPUT 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_RNBILLING_INPUT TYPE STANDARD TABLE OF RNBILLING_INPUT,
      WA_RNBILLING_INPUT TYPE RNBILLING_INPUT,
      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: <RNBILLING_INPUT> TYPE RNBILLING_INPUT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RNBILLING_INPUT
*  INTO TABLE @DATA(IT_RNBILLING_INPUT2).
*--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_RNBILLING_INPUT INDEX 1 INTO DATA(WA_RNBILLING_INPUT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RNBILLING_INPUT ASSIGNING <RNBILLING_INPUT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RNBILLING_INPUT>-KEY_DATA = 1.
<RNBILLING_INPUT>-MANDT = 1.
<RNBILLING_INPUT>-GUID = 1.
<RNBILLING_INPUT>-EVENT = 1.
<RNBILLING_INPUT>-APPLK = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RNBILLING_INPUT-EINRI, sy-vline,
WA_RNBILLING_INPUT-FALNR, sy-vline,
WA_RNBILLING_INPUT-LFDNR, sy-vline,
WA_RNBILLING_INPUT-PATNR, sy-vline,
WA_RNBILLING_INPUT-EXTNR, sy-vline,
WA_RNBILLING_INPUT-KOSTR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RNBILLING_INPUT 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_RNBILLING_INPUT 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_RNBILLING_INPUT INTO WA_RNBILLING_INPUT. *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 EINRI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNBILLING_INPUT-EINRI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNBILLING_INPUT-EINRI.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit NLJUS, internal->external for field DOCNR CALL FUNCTION 'CONVERSION_EXIT_NLJUS_OUTPUT' EXPORTING input = WA_RNBILLING_INPUT-DOCNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNBILLING_INPUT-DOCNR.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit ALPHA, internal->external for field ASL_RES CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNBILLING_INPUT-ASL_RES IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNBILLING_INPUT-ASL_RES.
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_RNBILLING_INPUT_STR,
KEY_DATA TYPE STRING,
MANDT TYPE STRING,
GUID TYPE STRING,
EVENT TYPE STRING,
APPLK TYPE STRING,
EINRI TYPE STRING,
FALNR TYPE STRING,
LFDNR TYPE STRING,
PATNR TYPE STRING,
EXTNR TYPE STRING,
KOSTR TYPE STRING,
COMNUM TYPE STRING,
KEY1 TYPE STRING,
KEY2 TYPE STRING,
KEY3 TYPE STRING,
KEY4 TYPE STRING,
KEY5 TYPE STRING,
KEY6 TYPE STRING,
ERDAT TYPE STRING,
ERTIM TYPE STRING,
ERUSR TYPE STRING,
TA TYPE STRING,
DATA_TYPE TYPE STRING,
REF_GUID TYPE STRING,
NCIR TYPE STRING,
RNFP1 TYPE STRING,
NFAL TYPE STRING,
MANDT TYPE STRING,
EINRI TYPE STRING,
FALNR TYPE STRING,
FALAR TYPE STRING,
PATNR TYPE STRING,
BEKAT TYPE STRING,
ABRKZ TYPE STRING,
SICHV TYPE STRING,
EINZG TYPE STRING,
KZTXT TYPE STRING,
KUALF TYPE STRING,
BEWLF TYPE STRING,
DGNLF TYPE STRING,
PGRLF TYPE STRING,
INFKZ TYPE STRING,
STATU TYPE STRING,
FZIFF TYPE STRING,
NOTAN TYPE STRING,
KRZAN TYPE STRING,
ENDAT TYPE STRING,
ENTIM TYPE STRING,
FGTYP TYPE STRING,
KZKOM TYPE STRING,
KOMTX TYPE STRING,
KOLTX TYPE STRING,
ARBUN TYPE STRING,
ENDDT TYPE STRING,
FSPER TYPE STRING,
ERDAT TYPE STRING,
ERUSR TYPE STRING,
UPDAT TYPE STRING,
UPUSR TYPE STRING,
STORN TYPE STRING,
STUSR TYPE STRING,
STDAT TYPE STRING,
VORPT TYPE STRING,
BEGDT TYPE STRING,
STASP TYPE STRING,
KV_KZ TYPE STRING,
EAUFN TYPE STRING,
KVUEB TYPE STRING,
VORGR TYPE STRING,
OBJNR TYPE STRING,
RESID TYPE STRING,
CHILD TYPE STRING,
FOREI TYPE STRING,
FATYP TYPE STRING,
EMTYP TYPE STRING,
KTTAR TYPE STRING,
KTABK TYPE STRING,
GSTA1 TYPE STRING,
GSTA2 TYPE STRING,
ANZSC TYPE STRING,
ANZTD TYPE STRING,
ANZAB TYPE STRING,
LGBIS TYPE STRING,
FPEDT TYPE STRING,
APSTATE TYPE STRING,
FACHR TYPE STRING,
ENDTYP TYPE STRING,
DOCTY TYPE STRING,
DOCNR TYPE STRING,
WKAT TYPE STRING,
DOCW TYPE STRING,
PATW TYPE STRING,
PATGEW TYPE STRING,
GWEIN TYPE STRING,
PATGRO TYPE STRING,
GREIN TYPE STRING,
RESPI TYPE STRING,
FEXNR TYPE STRING,
TIMESTAMP TYPE STRING,
TOB TYPE STRING,
ISTAT_RES TYPE STRING,
ASL_RES TYPE STRING,
EXTBUD TYPE STRING,
DELGW TYPE STRING,
PLSNR TYPE STRING,
INV_COPY TYPE STRING,
SAPS_C TYPE STRING,
PIM2_C TYPE STRING,
CRIB_C TYPE STRING,
NEMS_C TYPE STRING,
MHLS TYPE STRING,
READM TYPE STRING,
LMPER TYPE STRING,
CONSENT TYPE STRING,
RNAB2 TYPE STRING,
VABKZ TYPE STRING,
EABKZ TYPE STRING,
KZZWA TYPE STRING,
TABKZ TYPE STRING,
DATZW TYPE STRING,
ABDAT TYPE STRING,
IGMAZ TYPE STRING,
BPVKZ TYPE STRING,
BPTCIND TYPE STRING,
COMNUM TYPE STRING,END OF T_EKKO_STR. DATA: WA_RNBILLING_INPUT_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_RNBILLING_INPUT_STR-KEY_DATA sy-vline
WA_RNBILLING_INPUT_STR-MANDT sy-vline
WA_RNBILLING_INPUT_STR-GUID sy-vline
WA_RNBILLING_INPUT_STR-EVENT sy-vline
WA_RNBILLING_INPUT_STR-APPLK sy-vline
WA_RNBILLING_INPUT_STR-EINRI sy-vline
WA_RNBILLING_INPUT_STR-FALNR sy-vline
WA_RNBILLING_INPUT_STR-LFDNR sy-vline
WA_RNBILLING_INPUT_STR-PATNR sy-vline
WA_RNBILLING_INPUT_STR-EXTNR sy-vline
WA_RNBILLING_INPUT_STR-KOSTR sy-vline
WA_RNBILLING_INPUT_STR-COMNUM sy-vline
WA_RNBILLING_INPUT_STR-KEY1 sy-vline
WA_RNBILLING_INPUT_STR-KEY2 sy-vline
WA_RNBILLING_INPUT_STR-KEY3 sy-vline
WA_RNBILLING_INPUT_STR-KEY4 sy-vline
WA_RNBILLING_INPUT_STR-KEY5 sy-vline
WA_RNBILLING_INPUT_STR-KEY6 sy-vline
WA_RNBILLING_INPUT_STR-ERDAT sy-vline
WA_RNBILLING_INPUT_STR-ERTIM sy-vline
WA_RNBILLING_INPUT_STR-ERUSR sy-vline
WA_RNBILLING_INPUT_STR-TA sy-vline
WA_RNBILLING_INPUT_STR-DATA_TYPE sy-vline
WA_RNBILLING_INPUT_STR-REF_GUID sy-vline
WA_RNBILLING_INPUT_STR-NCIR sy-vline
WA_RNBILLING_INPUT_STR-RNFP1 sy-vline
WA_RNBILLING_INPUT_STR-NFAL sy-vline
WA_RNBILLING_INPUT_STR-MANDT sy-vline
WA_RNBILLING_INPUT_STR-EINRI sy-vline
WA_RNBILLING_INPUT_STR-FALNR sy-vline
WA_RNBILLING_INPUT_STR-FALAR sy-vline
WA_RNBILLING_INPUT_STR-PATNR sy-vline
WA_RNBILLING_INPUT_STR-BEKAT sy-vline
WA_RNBILLING_INPUT_STR-ABRKZ sy-vline
WA_RNBILLING_INPUT_STR-SICHV sy-vline
WA_RNBILLING_INPUT_STR-EINZG sy-vline
WA_RNBILLING_INPUT_STR-KZTXT sy-vline
WA_RNBILLING_INPUT_STR-KUALF sy-vline
WA_RNBILLING_INPUT_STR-BEWLF sy-vline
WA_RNBILLING_INPUT_STR-DGNLF sy-vline
WA_RNBILLING_INPUT_STR-PGRLF sy-vline
WA_RNBILLING_INPUT_STR-INFKZ sy-vline
WA_RNBILLING_INPUT_STR-STATU sy-vline
WA_RNBILLING_INPUT_STR-FZIFF sy-vline
WA_RNBILLING_INPUT_STR-NOTAN sy-vline
WA_RNBILLING_INPUT_STR-KRZAN sy-vline
WA_RNBILLING_INPUT_STR-ENDAT sy-vline
WA_RNBILLING_INPUT_STR-ENTIM sy-vline
WA_RNBILLING_INPUT_STR-FGTYP sy-vline
WA_RNBILLING_INPUT_STR-KZKOM sy-vline
WA_RNBILLING_INPUT_STR-KOMTX sy-vline
WA_RNBILLING_INPUT_STR-KOLTX sy-vline
WA_RNBILLING_INPUT_STR-ARBUN sy-vline
WA_RNBILLING_INPUT_STR-ENDDT sy-vline
WA_RNBILLING_INPUT_STR-FSPER sy-vline
WA_RNBILLING_INPUT_STR-ERDAT sy-vline
WA_RNBILLING_INPUT_STR-ERUSR sy-vline
WA_RNBILLING_INPUT_STR-UPDAT sy-vline
WA_RNBILLING_INPUT_STR-UPUSR sy-vline
WA_RNBILLING_INPUT_STR-STORN sy-vline
WA_RNBILLING_INPUT_STR-STUSR sy-vline
WA_RNBILLING_INPUT_STR-STDAT sy-vline
WA_RNBILLING_INPUT_STR-VORPT sy-vline
WA_RNBILLING_INPUT_STR-BEGDT sy-vline
WA_RNBILLING_INPUT_STR-STASP sy-vline
WA_RNBILLING_INPUT_STR-KV_KZ sy-vline
WA_RNBILLING_INPUT_STR-EAUFN sy-vline
WA_RNBILLING_INPUT_STR-KVUEB sy-vline
WA_RNBILLING_INPUT_STR-VORGR sy-vline
WA_RNBILLING_INPUT_STR-OBJNR sy-vline
WA_RNBILLING_INPUT_STR-RESID sy-vline
WA_RNBILLING_INPUT_STR-CHILD sy-vline
WA_RNBILLING_INPUT_STR-FOREI sy-vline
WA_RNBILLING_INPUT_STR-FATYP sy-vline
WA_RNBILLING_INPUT_STR-EMTYP sy-vline
WA_RNBILLING_INPUT_STR-KTTAR sy-vline
WA_RNBILLING_INPUT_STR-KTABK sy-vline
WA_RNBILLING_INPUT_STR-GSTA1 sy-vline
WA_RNBILLING_INPUT_STR-GSTA2 sy-vline
WA_RNBILLING_INPUT_STR-ANZSC sy-vline
WA_RNBILLING_INPUT_STR-ANZTD sy-vline
WA_RNBILLING_INPUT_STR-ANZAB sy-vline
WA_RNBILLING_INPUT_STR-LGBIS sy-vline
WA_RNBILLING_INPUT_STR-FPEDT sy-vline
WA_RNBILLING_INPUT_STR-APSTATE sy-vline
WA_RNBILLING_INPUT_STR-FACHR sy-vline
WA_RNBILLING_INPUT_STR-ENDTYP sy-vline
WA_RNBILLING_INPUT_STR-DOCTY sy-vline
WA_RNBILLING_INPUT_STR-DOCNR sy-vline
WA_RNBILLING_INPUT_STR-WKAT sy-vline
WA_RNBILLING_INPUT_STR-DOCW sy-vline
WA_RNBILLING_INPUT_STR-PATW sy-vline
WA_RNBILLING_INPUT_STR-PATGEW sy-vline
WA_RNBILLING_INPUT_STR-GWEIN sy-vline
WA_RNBILLING_INPUT_STR-PATGRO sy-vline
WA_RNBILLING_INPUT_STR-GREIN sy-vline
WA_RNBILLING_INPUT_STR-RESPI sy-vline
WA_RNBILLING_INPUT_STR-FEXNR sy-vline
WA_RNBILLING_INPUT_STR-TIMESTAMP sy-vline
WA_RNBILLING_INPUT_STR-TOB sy-vline
WA_RNBILLING_INPUT_STR-ISTAT_RES sy-vline
WA_RNBILLING_INPUT_STR-ASL_RES sy-vline
WA_RNBILLING_INPUT_STR-EXTBUD sy-vline
WA_RNBILLING_INPUT_STR-DELGW sy-vline
WA_RNBILLING_INPUT_STR-PLSNR sy-vline
WA_RNBILLING_INPUT_STR-INV_COPY sy-vline
WA_RNBILLING_INPUT_STR-SAPS_C sy-vline
WA_RNBILLING_INPUT_STR-PIM2_C sy-vline
WA_RNBILLING_INPUT_STR-CRIB_C sy-vline
WA_RNBILLING_INPUT_STR-NEMS_C sy-vline
WA_RNBILLING_INPUT_STR-MHLS sy-vline
WA_RNBILLING_INPUT_STR-READM sy-vline
WA_RNBILLING_INPUT_STR-LMPER sy-vline
WA_RNBILLING_INPUT_STR-CONSENT sy-vline
WA_RNBILLING_INPUT_STR-RNAB2 sy-vline
WA_RNBILLING_INPUT_STR-VABKZ sy-vline
WA_RNBILLING_INPUT_STR-EABKZ sy-vline
WA_RNBILLING_INPUT_STR-KZZWA sy-vline
WA_RNBILLING_INPUT_STR-TABKZ sy-vline
WA_RNBILLING_INPUT_STR-DATZW sy-vline
WA_RNBILLING_INPUT_STR-ABDAT sy-vline
WA_RNBILLING_INPUT_STR-IGMAZ sy-vline
WA_RNBILLING_INPUT_STR-BPVKZ sy-vline
WA_RNBILLING_INPUT_STR-BPTCIND sy-vline
WA_RNBILLING_INPUT_STR-COMNUM sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.