ABAP Select data from SAP table PES_SUFORM_I190_CERET_FORM0004 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 PES_SUFORM_I190_CERET_FORM0004 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 PES_SUFORM_I190_CERET_FORM0004. 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 PES_SUFORM_I190_CERET_FORM0004 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_PES_SUFORM_I190_CERET_FORM0004 TYPE STANDARD TABLE OF PES_SUFORM_I190_CERET_FORM0004,
      WA_PES_SUFORM_I190_CERET_FORM0004 TYPE PES_SUFORM_I190_CERET_FORM0004,
      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: <PES_SUFORM_I190_CERET_FORM0004> TYPE PES_SUFORM_I190_CERET_FORM0004.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PES_SUFORM_I190_CERET_FORM0004
*  INTO TABLE @DATA(IT_PES_SUFORM_I190_CERET_FORM00042).
*--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_PES_SUFORM_I190_CERET_FORM0004 INDEX 1 INTO DATA(WA_PES_SUFORM_I190_CERET_FORM00042).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PES_SUFORM_I190_CERET_FORM0004 ASSIGNING <PES_SUFORM_I190_CERET_FORM0004>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PES_SUFORM_I190_CERET_FORM0004>-CABECERA = 1.
<PES_SUFORM_I190_CERET_FORM0004>-EJER = 1.
<PES_SUFORM_I190_CERET_FORM0004>-NIF_PER = 1.
<PES_SUFORM_I190_CERET_FORM0004>-NAME = 1.
<PES_SUFORM_I190_CERET_FORM0004>-NAME_EMPR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PES_SUFORM_I190_CERET_FORM0004-NIF_PRES, sy-vline,
WA_PES_SUFORM_I190_CERET_FORM0004-SG, sy-vline,
WA_PES_SUFORM_I190_CERET_FORM0004-VIA, sy-vline,
WA_PES_SUFORM_I190_CERET_FORM0004-NUMO, sy-vline,
WA_PES_SUFORM_I190_CERET_FORM0004-ESCALERA, sy-vline,
WA_PES_SUFORM_I190_CERET_FORM0004-PISO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PES_SUFORM_I190_CERET_FORM0004 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_PES_SUFORM_I190_CERET_FORM0004 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_PES_SUFORM_I190_CERET_FORM0004 INTO WA_PES_SUFORM_I190_CERET_FORM0004. *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 C_COSTE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PES_SUFORM_I190_CERET_FORM0004-C_COSTE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PES_SUFORM_I190_CERET_FORM0004-C_COSTE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field C_COSTE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PES_SUFORM_I190_CERET_FORM0004-C_COSTE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PES_SUFORM_I190_CERET_FORM0004-C_COSTE.
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_PES_SUFORM_I190_CERET_FORM0004_STR,
CABECERA TYPE STRING,
EJER TYPE STRING,
NIF_PER TYPE STRING,
NAME TYPE STRING,
NAME_EMPR TYPE STRING,
NIF_PRES TYPE STRING,
SG TYPE STRING,
VIA TYPE STRING,
NUMO TYPE STRING,
ESCALERA TYPE STRING,
PISO TYPE STRING,
PUERTA TYPE STRING,
CPOS TYPE STRING,
MUNIC TYPE STRING,
PROVINCIA TYPE STRING,
TELN TYPE STRING,
PROV_TRA TYPE STRING,
PROV_EMP TYPE STRING,
REPRESENT TYPE STRING,
NIF TYPE STRING,
NOMBRE TYPE STRING,
TITULO TYPE STRING,
ACTIV_ECONOM TYPE STRING,
ACTIV_ECONOM_TEXT TYPE STRING,
PROFES TYPE STRING,
DINER_PER TYPE STRING,
DINER_RET TYPE STRING,
ESPEC_PER TYPE STRING,
ESPEC_RET TYPE STRING,
ESPEC_REP TYPE STRING,
ESPEC_NOREP TYPE STRING,
BENEFITS_AMOUNT TYPE STRING,
BENEFITS_RETEN TYPE STRING,
BENEFITS_REPERC TYPE STRING,
AGRICO TYPE STRING,
DINER_PER TYPE STRING,
DINER_RET TYPE STRING,
ESPEC_PER TYPE STRING,
ESPEC_RET TYPE STRING,
ESPEC_REP TYPE STRING,
ESPEC_NOREP TYPE STRING,
BENEFITS_AMOUNT TYPE STRING,
BENEFITS_RETEN TYPE STRING,
BENEFITS_REPERC TYPE STRING,
FOREST TYPE STRING,
DINER_PER TYPE STRING,
DINER_RET TYPE STRING,
ESPEC_PER TYPE STRING,
ESPEC_RET TYPE STRING,
ESPEC_REP TYPE STRING,
ESPEC_NOREP TYPE STRING,
BENEFITS_AMOUNT TYPE STRING,
BENEFITS_RETEN TYPE STRING,
BENEFITS_REPERC TYPE STRING,
ACTEMP TYPE STRING,
DINER_PER TYPE STRING,
DINER_RET TYPE STRING,
ESPEC_PER TYPE STRING,
ESPEC_RET TYPE STRING,
ESPEC_REP TYPE STRING,
ESPEC_NOREP TYPE STRING,
BENEFITS_AMOUNT TYPE STRING,
BENEFITS_RETEN TYPE STRING,
BENEFITS_REPERC TYPE STRING,
PROPIN TYPE STRING,
DINER_PER TYPE STRING,
DINER_RET TYPE STRING,
ESPEC_PER TYPE STRING,
ESPEC_RET TYPE STRING,
ESPEC_REP TYPE STRING,
ESPEC_NOREP TYPE STRING,
BENEFITS_AMOUNT TYPE STRING,
BENEFITS_RETEN TYPE STRING,
BENEFITS_REPERC TYPE STRING,
DATOS_ADICIONALES TYPE STRING,
PERNR TYPE STRING,
NIF TYPE STRING,
TRAT_EMPL TYPE STRING,
APELLIDO TYPE STRING,
SIGLA_DOM TYPE STRING,
CP TYPE STRING,
PROVINCIA TYPE STRING,
POBLACION TYPE STRING,
DIRECCION TYPE STRING,
PAIS TYPE STRING,
FECHA_ACTUAL TYPE STRING,
FECHA_FIN_EJ TYPE STRING,
EDIFICIO TYPE STRING,
NUMERO TYPE STRING,
ID_CASA TYPE STRING,
PLANTA TYPE STRING,
CPO_ADD TYPE STRING,
ADR03 TYPE STRING,
ADR04 TYPE STRING,
ACTUAL TYPE STRING,
DIV_PERS TYPE STRING,
SUBDIVISION TYPE STRING,
DIVISION TYPE STRING,
C_COSTE TYPE STRING,
POBL_DIV TYPE STRING,
SOCIEDAD TYPE STRING,
FINEJER TYPE STRING,
DIV_PERS TYPE STRING,
SUBDIVISION TYPE STRING,
DIVISION TYPE STRING,
C_COSTE TYPE STRING,
POBL_DIV TYPE STRING,
SOCIEDAD TYPE STRING,
FORESTRY_ACTV_ON_PUBLIC_HILLS TYPE STRING,
DINER_PER TYPE STRING,
DINER_RET TYPE STRING,
ESPEC_PER TYPE STRING,
ESPEC_RET TYPE STRING,
ESPEC_REP TYPE STRING,
ESPEC_NOREP TYPE STRING,
BENEFITS_AMOUNT TYPE STRING,
BENEFITS_RETEN TYPE STRING,
BENEFITS_REPERC TYPE STRING,
IMAGE_RIGHTS TYPE STRING,
DINER_PER TYPE STRING,
DINER_RET TYPE STRING,
ESPEC_PER TYPE STRING,
ESPEC_RET TYPE STRING,
ESPEC_REP TYPE STRING,
ESPEC_NOREP TYPE STRING,
BENEFITS_AMOUNT TYPE STRING,
BENEFITS_RETEN TYPE STRING,
BENEFITS_REPERC TYPE STRING,END OF T_EKKO_STR. DATA: WA_PES_SUFORM_I190_CERET_FORM0004_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_PES_SUFORM_I190_CERET_FORM0004_STR-CABECERA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-EJER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NIF_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NAME sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NAME_EMPR sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NIF_PRES sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-SG sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-VIA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NUMO sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESCALERA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PISO sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PUERTA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-CPOS sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-MUNIC sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PROVINCIA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-TELN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PROV_TRA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PROV_EMP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-REPRESENT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NIF sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NOMBRE sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-TITULO sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ACTIV_ECONOM sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ACTIV_ECONOM_TEXT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PROFES sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_REP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_NOREP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_AMOUNT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_RETEN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_REPERC sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-AGRICO sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_REP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_NOREP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_AMOUNT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_RETEN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_REPERC sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-FOREST sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_REP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_NOREP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_AMOUNT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_RETEN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_REPERC sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ACTEMP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_REP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_NOREP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_AMOUNT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_RETEN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_REPERC sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PROPIN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_REP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_NOREP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_AMOUNT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_RETEN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_REPERC sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DATOS_ADICIONALES sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PERNR sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NIF sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-TRAT_EMPL sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-APELLIDO sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-SIGLA_DOM sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-CP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PROVINCIA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-POBLACION sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DIRECCION sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PAIS sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-FECHA_ACTUAL sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-FECHA_FIN_EJ sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-EDIFICIO sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-NUMERO sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ID_CASA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-PLANTA sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-CPO_ADD sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ADR03 sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ADR04 sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ACTUAL sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DIV_PERS sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-SUBDIVISION sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DIVISION sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-C_COSTE sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-POBL_DIV sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-SOCIEDAD sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-FINEJER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DIV_PERS sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-SUBDIVISION sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DIVISION sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-C_COSTE sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-POBL_DIV sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-SOCIEDAD sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-FORESTRY_ACTV_ON_PUBLIC_HILLS sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_REP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_NOREP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_AMOUNT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_RETEN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_REPERC sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-IMAGE_RIGHTS sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-DINER_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_PER sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_RET sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_REP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-ESPEC_NOREP sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_AMOUNT sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_RETEN sy-vline
WA_PES_SUFORM_I190_CERET_FORM0004_STR-BENEFITS_REPERC sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.