ABAP Select data from SAP table PSOB_DI 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 PSOB_DI 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 PSOB_DI. 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 PSOB_DI 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_PSOB_DI TYPE STANDARD TABLE OF PSOB_DI,
      WA_PSOB_DI TYPE PSOB_DI,
      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: <PSOB_DI> TYPE PSOB_DI.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PSOB_DI
*  INTO TABLE @DATA(IT_PSOB_DI2).
*--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_PSOB_DI INDEX 1 INTO DATA(WA_PSOB_DI2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PSOB_DI ASSIGNING <PSOB_DI>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PSOB_DI>-AKTYP = 1.
<PSOB_DI>-RLTP1 = 1.
<PSOB_DI>-RLTP2 = 1.
<PSOB_DI>-RLTP3 = 1.
<PSOB_DI>-RLTP4 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PSOB_DI-RLTP5, sy-vline,
WA_PSOB_DI-RLTP6, sy-vline,
WA_PSOB_DI-RLTP7, sy-vline,
WA_PSOB_DI-RLTP8, sy-vline,
WA_PSOB_DI-RLTP9, sy-vline,
WA_PSOB_DI-PSOBKEY, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PSOB_DI 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_PSOB_DI 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_PSOB_DI INTO WA_PSOB_DI. *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 PSOBKEY CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PSOB_DI-PSOBKEY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PSOB_DI-PSOBKEY.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit GJAHR, internal->external for field FIRSTPER_YR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PSOB_DI-FIRSTPER_YR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PSOB_DI-FIRSTPER_YR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field LASTPER_YR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PSOB_DI-LASTPER_YR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PSOB_DI-LASTPER_YR.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ALPHA, internal->external for field ADRNR_CORR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PSOB_DI-ADRNR_CORR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PSOB_DI-ADRNR_CORR.
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_PSOB_DI_STR,
AKTYP TYPE STRING,
RLTP1 TYPE STRING,
RLTP2 TYPE STRING,
RLTP3 TYPE STRING,
RLTP4 TYPE STRING,
RLTP5 TYPE STRING,
RLTP6 TYPE STRING,
RLTP7 TYPE STRING,
RLTP8 TYPE STRING,
RLTP9 TYPE STRING,
PSOBKEY TYPE STRING,
PSOB_GUID TYPE STRING,
PSOBTYP TYPE STRING,
VALDT TYPE STRING,
PSOBTXT TYPE STRING,
LEGACYOBJK1 TYPE STRING,
BEGRU TYPE STRING,
XDELE TYPE STRING,
LOADR TYPE STRING,
LOCATION_ADNR TYPE STRING,
CITY1 TYPE STRING,
CITY2 TYPE STRING,
POST_CODE1 TYPE STRING,
STREET TYPE STRING,
HOUSE_NUM1 TYPE STRING,
HOUSE_NUM2 TYPE STRING,
STR_SUPPL1 TYPE STRING,
STR_SUPPL2 TYPE STRING,
STR_SUPPL3 TYPE STRING,
BUILDING TYPE STRING,
FLOOR TYPE STRING,
ROOMNUMBER TYPE STRING,
COUNTRY TYPE STRING,
REGION TYPE STRING,
ACTIVITY TYPE STRING,
PART_AKTYP TYPE STRING,
PARTNER TYPE STRING,
PARTNERACCTYP TYPE STRING,
XOBSL TYPE STRING,
PARTNERACC TYPE STRING,
LEGACYOBJK3 TYPE STRING,
KOFIZ TYPE STRING,
PSOB_PAY_ACT TYPE STRING,
EIGBV TYPE STRING,
ADRNR TYPE STRING,
ABWRE TYPE STRING,
ADRRE TYPE STRING,
EZAWE TYPE STRING,
EBVTY TYPE STRING,
CCARD_ID TYPE STRING,
ABWRA TYPE STRING,
ADRRA TYPE STRING,
AZAWE TYPE STRING,
ABVTY TYPE STRING,
CCARD_OUT TYPE STRING,
CMGRP TYPE STRING,
STRAT TYPE STRING,
CPERS TYPE STRING,
DDLXG TYPE STRING,
MNDID TYPE STRING,
DDLAM TYPE STRING,
DDLCU TYPE STRING,
DDLNM TYPE STRING,
PSOB_CORR_ACT TYPE STRING,
DEF_CORR_PARTNER TYPE STRING,
DEF_CORR_ACKEY TYPE STRING,
COPRC TYPE STRING,
XSEPINV TYPE STRING,
INVTP TYPE STRING,
ADRNUM_CORR TYPE STRING,
FILSTAT TYPE STRING,
COPER TYPE STRING,
FILOFFDY TYPE STRING,
FILOFFMT TYPE STRING,
CORR_MAHNV TYPE STRING,
FIRSTPER TYPE STRING,
FIRSTPER_YR TYPE STRING,
LASTPER TYPE STRING,
LASTPER_YR TYPE STRING,
INDIVIDUAL TYPE STRING,
XREMINDER TYPE STRING,
CALC_AMOUNT TYPE STRING,
CURRENCY TYPE STRING,
ORDER_QUANT TYPE STRING,
BASE_UOM TYPE STRING,
EXT_PARTNER TYPE STRING,
EXT_ADRNR TYPE STRING,
EXT_ACCOUNT TYPE STRING,
EXT_BANK_INC TYPE STRING,
EXT_BANK_OUT TYPE STRING,
EXT_ABWRE TYPE STRING,
EXT_ADRRE TYPE STRING,
EXT_ABWRA TYPE STRING,
EXT_ADRRA TYPE STRING,
EXT_DEF_CORR_PAR TYPE STRING,
EXT_ADRNUM_CORR TYPE STRING,
XDELP TYPE STRING,
CORR_AKTYP TYPE STRING,
CORR_IDENTNUMBER TYPE STRING,
EXT_RECEIVER TYPE STRING,
EXT_ADRNR_CORR TYPE STRING,
COTYP TYPE STRING,
CORR_ROLE TYPE STRING,
RECEIVER TYPE STRING,
SUBSTITUTE TYPE STRING,
IND_RECEIV TYPE STRING,
ADRNR_CORR TYPE STRING,
XADDR_SET TYPE STRING,
EXMT_AKTYP TYPE STRING,
EXMT_IDENTNUMBER TYPE STRING,
EXMT_BDAY TYPE STRING,
EXMT_BMONTH TYPE STRING,
EXMT_EDAY TYPE STRING,
EXMT_EMONTH TYPE STRING,
LOCK_AKTYP TYPE STRING,
LOTYP_KEY TYPE STRING,
PROID_KEY TYPE STRING,
LOCKR_KEY TYPE STRING,
FDATE_KEY TYPE STRING,
TDATE_KEY TYPE STRING,
LOTYP_DAT TYPE STRING,
PROID_DAT TYPE STRING,
LOCKR_DAT TYPE STRING,
FDATE_DAT TYPE STRING,
TDATE_DAT TYPE STRING,
COND_LOOBJ_DAT TYPE STRING,
ACTIVITY_DAT TYPE STRING,END OF T_EKKO_STR. DATA: WA_PSOB_DI_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_PSOB_DI_STR-AKTYP sy-vline
WA_PSOB_DI_STR-RLTP1 sy-vline
WA_PSOB_DI_STR-RLTP2 sy-vline
WA_PSOB_DI_STR-RLTP3 sy-vline
WA_PSOB_DI_STR-RLTP4 sy-vline
WA_PSOB_DI_STR-RLTP5 sy-vline
WA_PSOB_DI_STR-RLTP6 sy-vline
WA_PSOB_DI_STR-RLTP7 sy-vline
WA_PSOB_DI_STR-RLTP8 sy-vline
WA_PSOB_DI_STR-RLTP9 sy-vline
WA_PSOB_DI_STR-PSOBKEY sy-vline
WA_PSOB_DI_STR-PSOB_GUID sy-vline
WA_PSOB_DI_STR-PSOBTYP sy-vline
WA_PSOB_DI_STR-VALDT sy-vline
WA_PSOB_DI_STR-PSOBTXT sy-vline
WA_PSOB_DI_STR-LEGACYOBJK1 sy-vline
WA_PSOB_DI_STR-BEGRU sy-vline
WA_PSOB_DI_STR-XDELE sy-vline
WA_PSOB_DI_STR-LOADR sy-vline
WA_PSOB_DI_STR-LOCATION_ADNR sy-vline
WA_PSOB_DI_STR-CITY1 sy-vline
WA_PSOB_DI_STR-CITY2 sy-vline
WA_PSOB_DI_STR-POST_CODE1 sy-vline
WA_PSOB_DI_STR-STREET sy-vline
WA_PSOB_DI_STR-HOUSE_NUM1 sy-vline
WA_PSOB_DI_STR-HOUSE_NUM2 sy-vline
WA_PSOB_DI_STR-STR_SUPPL1 sy-vline
WA_PSOB_DI_STR-STR_SUPPL2 sy-vline
WA_PSOB_DI_STR-STR_SUPPL3 sy-vline
WA_PSOB_DI_STR-BUILDING sy-vline
WA_PSOB_DI_STR-FLOOR sy-vline
WA_PSOB_DI_STR-ROOMNUMBER sy-vline
WA_PSOB_DI_STR-COUNTRY sy-vline
WA_PSOB_DI_STR-REGION sy-vline
WA_PSOB_DI_STR-ACTIVITY sy-vline
WA_PSOB_DI_STR-PART_AKTYP sy-vline
WA_PSOB_DI_STR-PARTNER sy-vline
WA_PSOB_DI_STR-PARTNERACCTYP sy-vline
WA_PSOB_DI_STR-XOBSL sy-vline
WA_PSOB_DI_STR-PARTNERACC sy-vline
WA_PSOB_DI_STR-LEGACYOBJK3 sy-vline
WA_PSOB_DI_STR-KOFIZ sy-vline
WA_PSOB_DI_STR-PSOB_PAY_ACT sy-vline
WA_PSOB_DI_STR-EIGBV sy-vline
WA_PSOB_DI_STR-ADRNR sy-vline
WA_PSOB_DI_STR-ABWRE sy-vline
WA_PSOB_DI_STR-ADRRE sy-vline
WA_PSOB_DI_STR-EZAWE sy-vline
WA_PSOB_DI_STR-EBVTY sy-vline
WA_PSOB_DI_STR-CCARD_ID sy-vline
WA_PSOB_DI_STR-ABWRA sy-vline
WA_PSOB_DI_STR-ADRRA sy-vline
WA_PSOB_DI_STR-AZAWE sy-vline
WA_PSOB_DI_STR-ABVTY sy-vline
WA_PSOB_DI_STR-CCARD_OUT sy-vline
WA_PSOB_DI_STR-CMGRP sy-vline
WA_PSOB_DI_STR-STRAT sy-vline
WA_PSOB_DI_STR-CPERS sy-vline
WA_PSOB_DI_STR-DDLXG sy-vline
WA_PSOB_DI_STR-MNDID sy-vline
WA_PSOB_DI_STR-DDLAM sy-vline
WA_PSOB_DI_STR-DDLCU sy-vline
WA_PSOB_DI_STR-DDLNM sy-vline
WA_PSOB_DI_STR-PSOB_CORR_ACT sy-vline
WA_PSOB_DI_STR-DEF_CORR_PARTNER sy-vline
WA_PSOB_DI_STR-DEF_CORR_ACKEY sy-vline
WA_PSOB_DI_STR-COPRC sy-vline
WA_PSOB_DI_STR-XSEPINV sy-vline
WA_PSOB_DI_STR-INVTP sy-vline
WA_PSOB_DI_STR-ADRNUM_CORR sy-vline
WA_PSOB_DI_STR-FILSTAT sy-vline
WA_PSOB_DI_STR-COPER sy-vline
WA_PSOB_DI_STR-FILOFFDY sy-vline
WA_PSOB_DI_STR-FILOFFMT sy-vline
WA_PSOB_DI_STR-CORR_MAHNV sy-vline
WA_PSOB_DI_STR-FIRSTPER sy-vline
WA_PSOB_DI_STR-FIRSTPER_YR sy-vline
WA_PSOB_DI_STR-LASTPER sy-vline
WA_PSOB_DI_STR-LASTPER_YR sy-vline
WA_PSOB_DI_STR-INDIVIDUAL sy-vline
WA_PSOB_DI_STR-XREMINDER sy-vline
WA_PSOB_DI_STR-CALC_AMOUNT sy-vline
WA_PSOB_DI_STR-CURRENCY sy-vline
WA_PSOB_DI_STR-ORDER_QUANT sy-vline
WA_PSOB_DI_STR-BASE_UOM sy-vline
WA_PSOB_DI_STR-EXT_PARTNER sy-vline
WA_PSOB_DI_STR-EXT_ADRNR sy-vline
WA_PSOB_DI_STR-EXT_ACCOUNT sy-vline
WA_PSOB_DI_STR-EXT_BANK_INC sy-vline
WA_PSOB_DI_STR-EXT_BANK_OUT sy-vline
WA_PSOB_DI_STR-EXT_ABWRE sy-vline
WA_PSOB_DI_STR-EXT_ADRRE sy-vline
WA_PSOB_DI_STR-EXT_ABWRA sy-vline
WA_PSOB_DI_STR-EXT_ADRRA sy-vline
WA_PSOB_DI_STR-EXT_DEF_CORR_PAR sy-vline
WA_PSOB_DI_STR-EXT_ADRNUM_CORR sy-vline
WA_PSOB_DI_STR-XDELP sy-vline
WA_PSOB_DI_STR-CORR_AKTYP sy-vline
WA_PSOB_DI_STR-CORR_IDENTNUMBER sy-vline
WA_PSOB_DI_STR-EXT_RECEIVER sy-vline
WA_PSOB_DI_STR-EXT_ADRNR_CORR sy-vline
WA_PSOB_DI_STR-COTYP sy-vline
WA_PSOB_DI_STR-CORR_ROLE sy-vline
WA_PSOB_DI_STR-RECEIVER sy-vline
WA_PSOB_DI_STR-SUBSTITUTE sy-vline
WA_PSOB_DI_STR-IND_RECEIV sy-vline
WA_PSOB_DI_STR-ADRNR_CORR sy-vline
WA_PSOB_DI_STR-XADDR_SET sy-vline
WA_PSOB_DI_STR-EXMT_AKTYP sy-vline
WA_PSOB_DI_STR-EXMT_IDENTNUMBER sy-vline
WA_PSOB_DI_STR-EXMT_BDAY sy-vline
WA_PSOB_DI_STR-EXMT_BMONTH sy-vline
WA_PSOB_DI_STR-EXMT_EDAY sy-vline
WA_PSOB_DI_STR-EXMT_EMONTH sy-vline
WA_PSOB_DI_STR-LOCK_AKTYP sy-vline
WA_PSOB_DI_STR-LOTYP_KEY sy-vline
WA_PSOB_DI_STR-PROID_KEY sy-vline
WA_PSOB_DI_STR-LOCKR_KEY sy-vline
WA_PSOB_DI_STR-FDATE_KEY sy-vline
WA_PSOB_DI_STR-TDATE_KEY sy-vline
WA_PSOB_DI_STR-LOTYP_DAT sy-vline
WA_PSOB_DI_STR-PROID_DAT sy-vline
WA_PSOB_DI_STR-LOCKR_DAT sy-vline
WA_PSOB_DI_STR-FDATE_DAT sy-vline
WA_PSOB_DI_STR-TDATE_DAT sy-vline
WA_PSOB_DI_STR-COND_LOOBJ_DAT sy-vline
WA_PSOB_DI_STR-ACTIVITY_DAT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.