ABAP Select data from SAP table UCF_SX_COI_OC_SENDER_DATA 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 UCF_SX_COI_OC_SENDER_DATA 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 UCF_SX_COI_OC_SENDER_DATA. 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 UCF_SX_COI_OC_SENDER_DATA 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_UCF_SX_COI_OC_SENDER_DATA TYPE STANDARD TABLE OF UCF_SX_COI_OC_SENDER_DATA, WA_UCF_SX_COI_OC_SENDER_DATA TYPE UCF_SX_COI_OC_SENDER_DATA, 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: <UCF_SX_COI_OC_SENDER_DATA> TYPE UCF_SX_COI_OC_SENDER_DATA. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_UCF_SX_COI_OC_SENDER_DATA. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM UCF_SX_COI_OC_SENDER_DATA INTO TABLE IT_UCF_SX_COI_OC_SENDER_DATA. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM UCF_SX_COI_OC_SENDER_DATA * INTO TABLE @DATA(IT_UCF_SX_COI_OC_SENDER_DATA2). *--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_UCF_SX_COI_OC_SENDER_DATA INDEX 1 INTO DATA(WA_UCF_SX_COI_OC_SENDER_DATA2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_UCF_SX_COI_OC_SENDER_DATA ASSIGNING <UCF_SX_COI_OC_SENDER_DATA>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<UCF_SX_COI_OC_SENDER_DATA>-ID = 1.
<UCF_SX_COI_OC_SENDER_DATA>-T_INVOR_OLD = 1.
<UCF_SX_COI_OC_SENDER_DATA>-T_INVOR_NEW = 1.
<UCF_SX_COI_OC_SENDER_DATA>-ORGCHANGE = 1.
<UCF_SX_COI_OC_SENDER_DATA>-ORGCHANGE2 = 1.
ENDLOOP. LOOP AT IT_UCF_SX_COI_OC_SENDER_DATA INTO WA_UCF_SX_COI_OC_SENDER_DATA. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_UCF_SX_COI_OC_SENDER_DATA-COINR_ORIG, sy-vline,
WA_UCF_SX_COI_OC_SENDER_DATA-T_COICU_ORIG, sy-vline,
WA_UCF_SX_COI_OC_SENDER_DATA-S_CMETH_PROP, sy-vline,
WA_UCF_SX_COI_OC_SENDER_DATA-METHOD, sy-vline,
WA_UCF_SX_COI_OC_SENDER_DATA-TXTMI, sy-vline,
WA_UCF_SX_COI_OC_SENDER_DATA-COITP, sy-vline.
ENDLOOP. *Add any further fields from structure WA_UCF_SX_COI_OC_SENDER_DATA 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_UCF_SX_COI_OC_SENDER_DATA 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_UCF_SX_COI_OC_SENDER_DATA INTO WA_UCF_SX_COI_OC_SENDER_DATA. *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 ORGCHANGE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_UCF_SX_COI_OC_SENDER_DATA-ORGCHANGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_UCF_SX_COI_OC_SENDER_DATA-ORGCHANGE.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ORGCHANGE2 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_UCF_SX_COI_OC_SENDER_DATA-ORGCHANGE2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_UCF_SX_COI_OC_SENDER_DATA-ORGCHANGE2.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field COINR_ORIG CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_UCF_SX_COI_OC_SENDER_DATA-COINR_ORIG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_UCF_SX_COI_OC_SENDER_DATA-COINR_ORIG.
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_UCF_SX_COI_OC_SENDER_DATA_STR,
ID TYPE STRING,
T_INVOR_OLD TYPE STRING,
T_INVOR_NEW TYPE STRING,
ORGCHANGE TYPE STRING,
ORGCHANGE2 TYPE STRING,
COINR_ORIG TYPE STRING,
T_COICU_ORIG TYPE STRING,
S_CMETH_PROP TYPE STRING,
METHOD TYPE STRING,
TXTMI TYPE STRING,
COITP TYPE STRING,
USGAAP TYPE STRING,
EQIGSH TYPE STRING,
GWFULLFLG TYPE STRING,
GWLCFLG TYPE STRING,
GWIEFLG TYPE STRING,
GWIEFLG_INDI TYPE STRING,
GWMINADJ_INDI TYPE STRING,
GWPROC TYPE STRING,
NGPROC TYPE STRING,
NINVFLG TYPE STRING,
NMINFLG TYPE STRING,
T_NEQ_ACC TYPE STRING,
T_GWA_ACC TYPE STRING,
S_GWA_TIME TYPE STRING,
GWAYR TYPE STRING,
GWAPE TYPE STRING,
GWABG TYPE STRING,
GWARFLG TYPE STRING,
GWALFLG TYPE STRING,
GWAMETH TYPE STRING,
GWAPCNT TYPE STRING,
GWRYR TYPE STRING,
GWRPE TYPE STRING,
GWRBG TYPE STRING,
GWRRFLG TYPE STRING,
GWRLFLG TYPE STRING,
GWRMETH TYPE STRING,
GWRPCNT TYPE STRING,
NGAYR TYPE STRING,
NGAPE TYPE STRING,
NGABG TYPE STRING,
NGARFLG TYPE STRING,
NGALFLG TYPE STRING,
NGAMETH TYPE STRING,
NGAPCNT TYPE STRING,
NGRYR TYPE STRING,
NGRPE TYPE STRING,
NGRBG TYPE STRING,
NGRRFLG TYPE STRING,
NGRLFLG TYPE STRING,
NGRMETH TYPE STRING,
NGRPCNT TYPE STRING,
ODAYR TYPE STRING,
ODAPE TYPE STRING,
S_GWA_THRESHOLD TYPE STRING,
GWALVAL TYPE STRING,
GWRLVAL TYPE STRING,
NGALVAL TYPE STRING,
NGRLVAL TYPE STRING,
S_HRA_SETT TYPE STRING,
HRREV TYPE STRING,
HRSHA TYPE STRING,
S_EXC TYPE STRING,
GWNEXC TYPE STRING,
GWAEXC TYPE STRING,
GWWEXC TYPE STRING,
GWDEXC TYPE STRING,
GWREXC TYPE STRING,
NGNEXC TYPE STRING,
NGAEXC TYPE STRING,
NGWEXC TYPE STRING,
NGDEXC TYPE STRING,
NGREXC TYPE STRING,
NEQEXC TYPE STRING,
R_TH_GW_ENTRY_DIV TYPE STRING,
R_TH_GW_ENTRY_REST TYPE STRING,
R_TH_GW_ACQ_DIV TYPE STRING,
R_TH_GW_ACQ_PR_DIV TYPE STRING,
R_TH_GW_ACQ_REST TYPE STRING,
R_TH_GW_ACQ_PR_REST TYPE STRING,
R_T_GW_VAL_DIV TYPE STRING,
R_TH_GW_VAL_PR_DIV TYPE STRING,
R_TH_GW_VAL_REST TYPE STRING,
R_TH_GW_VAL_PR_REST TYPE STRING,
R_T_GW_VIRT_DIV TYPE STRING,
R_T_GW_VIRT_PR_DIV TYPE STRING,
R_T_GW_VIRT_REST TYPE STRING,
R_TH_GW_STAT_DIV TYPE STRING,
R_T_GW_STAT_REST TYPE STRING,
R_T_GW_OFFS_STAT_DIV TYPE STRING,
R_T_GW_OFFS_STAT_REST TYPE STRING,
R_T_GW_OFFS_DIV TYPE STRING,
R_T_GW_OFFS_REST TYPE STRING,
R_T_GW_TAD_DIV TYPE STRING,
R_T_GW_TAD_REST TYPE STRING,
R_T_GW_TAD_STAT_DIV TYPE STRING,
R_T_GW_TAD_STAT_REST TYPE STRING,
R_T_GW_FULL_MIN_DIV TYPE STRING,
R_T_GW_FULL_MIN_REST TYPE STRING,
R_T_GW_FULL_TAD_MIN_DIV TYPE STRING,
R_T_GW_FULL_TAD_MIN_REST TYPE STRING,
R_TH_EQU_STAT_DIV TYPE STRING,
R_TH_EQU_STAT_REST TYPE STRING,
R_TH_EQU_STAT_INVOR_DIV TYPE STRING,
R_TH_EQU_STAT_INVOR_REST TYPE STRING,
R_TH_EQI_STAT_DIV TYPE STRING,
R_TH_EQI_STAT_REST TYPE STRING,
R_TH_NEG_EQI_STAT_DIV TYPE STRING,
R_TH_NEG_EQI_STAT_REST TYPE STRING,
R_TH_NI_TOT_DIV TYPE STRING,
R_TH_NI_TOT_REST TYPE STRING,
R_TH_NI_MIN_DIV TYPE STRING,
R_TH_NI_MIN_REST TYPE STRING,
R_TH_RE_OC_DIV TYPE STRING,
R_TH_RE_OC_REST TYPE STRING,
T_MESSAGE TYPE STRING,END OF T_EKKO_STR. DATA: WA_UCF_SX_COI_OC_SENDER_DATA_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_UCF_SX_COI_OC_SENDER_DATA_STR-ID sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-T_INVOR_OLD sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-T_INVOR_NEW sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-ORGCHANGE sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-ORGCHANGE2 sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-COINR_ORIG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-T_COICU_ORIG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-S_CMETH_PROP sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-METHOD sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-TXTMI sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-COITP sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-USGAAP sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-EQIGSH sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWFULLFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWLCFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWIEFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWIEFLG_INDI sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWMINADJ_INDI sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWPROC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGPROC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NINVFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NMINFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-T_NEQ_ACC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-T_GWA_ACC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-S_GWA_TIME sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWAYR sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWAPE sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWABG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWARFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWALFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWAMETH sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWAPCNT sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWRYR sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWRPE sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWRBG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWRRFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWRLFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWRMETH sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWRPCNT sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGAYR sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGAPE sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGABG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGARFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGALFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGAMETH sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGAPCNT sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGRYR sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGRPE sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGRBG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGRRFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGRLFLG sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGRMETH sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGRPCNT sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-ODAYR sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-ODAPE sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-S_GWA_THRESHOLD sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWALVAL sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWRLVAL sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGALVAL sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGRLVAL sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-S_HRA_SETT sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-HRREV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-HRSHA sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-S_EXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWNEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWAEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWWEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWDEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-GWREXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGNEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGAEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGWEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGDEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NGREXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-NEQEXC sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_ENTRY_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_ENTRY_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_ACQ_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_ACQ_PR_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_ACQ_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_ACQ_PR_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_VAL_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_VAL_PR_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_VAL_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_VAL_PR_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_VIRT_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_VIRT_PR_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_VIRT_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_GW_STAT_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_STAT_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_OFFS_STAT_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_OFFS_STAT_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_OFFS_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_OFFS_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_TAD_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_TAD_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_TAD_STAT_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_TAD_STAT_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_FULL_MIN_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_FULL_MIN_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_FULL_TAD_MIN_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_T_GW_FULL_TAD_MIN_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_EQU_STAT_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_EQU_STAT_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_EQU_STAT_INVOR_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_EQU_STAT_INVOR_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_EQI_STAT_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_EQI_STAT_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_NEG_EQI_STAT_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_NEG_EQI_STAT_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_NI_TOT_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_NI_TOT_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_NI_MIN_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_NI_MIN_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_RE_OC_DIV sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-R_TH_RE_OC_REST sy-vline
WA_UCF_SX_COI_OC_SENDER_DATA_STR-T_MESSAGE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.