ABAP Select data from SAP table PES_IRPF_RETENIDO_LINE_OUT 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_IRPF_RETENIDO_LINE_OUT 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_IRPF_RETENIDO_LINE_OUT. 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_IRPF_RETENIDO_LINE_OUT 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_IRPF_RETENIDO_LINE_OUT TYPE STANDARD TABLE OF PES_IRPF_RETENIDO_LINE_OUT,
      WA_PES_IRPF_RETENIDO_LINE_OUT TYPE PES_IRPF_RETENIDO_LINE_OUT,
      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_IRPF_RETENIDO_LINE_OUT> TYPE PES_IRPF_RETENIDO_LINE_OUT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PES_IRPF_RETENIDO_LINE_OUT
*  INTO TABLE @DATA(IT_PES_IRPF_RETENIDO_LINE_OUT2).
*--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_IRPF_RETENIDO_LINE_OUT INDEX 1 INTO DATA(WA_PES_IRPF_RETENIDO_LINE_OUT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PES_IRPF_RETENIDO_LINE_OUT ASSIGNING <PES_IRPF_RETENIDO_LINE_OUT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PES_IRPF_RETENIDO_LINE_OUT>-NIF = 1.
<PES_IRPF_RETENIDO_LINE_OUT>-APELLIDOSNOMBRE = 1.
<PES_IRPF_RETENIDO_LINE_OUT>-ANONACIMIENTO = 1.
<PES_IRPF_RETENIDO_LINE_OUT>-COMUNIDADAUTONOMA = 1.
<PES_IRPF_RETENIDO_LINE_OUT>-RESIDENCIACEUTAMELILLA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PES_IRPF_RETENIDO_LINE_OUT-SITUACIONFAMILIAR, sy-vline,
WA_PES_IRPF_RETENIDO_LINE_OUT-SITUACION1, sy-vline,
WA_PES_IRPF_RETENIDO_LINE_OUT-SITUACION2, sy-vline,
WA_PES_IRPF_RETENIDO_LINE_OUT-NIFCONYUGE, sy-vline,
WA_PES_IRPF_RETENIDO_LINE_OUT-SITUACION3, sy-vline,
WA_PES_IRPF_RETENIDO_LINE_OUT-DISCAPACIDAD, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PES_IRPF_RETENIDO_LINE_OUT 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_IRPF_RETENIDO_LINE_OUT 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_IRPF_RETENIDO_LINE_OUT INTO WA_PES_IRPF_RETENIDO_LINE_OUT. *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 GJAHR, internal->external for field ANONACIMIENTO CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PES_IRPF_RETENIDO_LINE_OUT-ANONACIMIENTO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PES_IRPF_RETENIDO_LINE_OUT-ANONACIMIENTO.
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_IRPF_RETENIDO_LINE_OUT_STR,
NIF TYPE STRING,
APELLIDOSNOMBRE TYPE STRING,
ANONACIMIENTO TYPE STRING,
COMUNIDADAUTONOMA TYPE STRING,
RESIDENCIACEUTAMELILLA TYPE STRING,
SITUACIONFAMILIAR TYPE STRING,
SITUACION1 TYPE STRING,
SITUACION2 TYPE STRING,
NIFCONYUGE TYPE STRING,
SITUACION3 TYPE STRING,
DISCAPACIDAD TYPE STRING,
GRADO1 TYPE STRING,
MOVILIDADREDUCIDA TYPE STRING,
GRADO2 TYPE STRING,
SITUACIONLABORAL TYPE STRING,
TRABAJADORACTIVO TYPE STRING,
CONTRATO TYPE STRING,
MOVILIDADGEOGRAFICA TYPE STRING,
PROLONGACIONLABORAL TYPE STRING,
CAMBIORESIDENCIA TYPE STRING,
PENSIONISTA TYPE STRING,
DESEMPLEADO TYPE STRING,
OTRASITUACION TYPE STRING,
DESCENDIENTE TYPE STRING,
ASCENDIENTE TYPE STRING,
RETRIBANUALES TYPE STRING,
REDUCCIONES TYPE STRING,
GASTOSANUALES TYPE STRING,
PENSIONCOMPENSATORIA TYPE STRING,
ANUALIDADESHIJOS TYPE STRING,
RDTOSOBTENIDOSCEUTAMELILLA TYPE STRING,
PAGOPRESTAMOSVIVIENDA TYPE STRING,
REGULARIZACION TYPE STRING,
CAUSA TYPE STRING,
RETRIBSATISFECHAS TYPE STRING,
RETENCIONPRACTICADA TYPE STRING,
RETRIBANUALESINICIALES TYPE STRING,
RETENCIONANUALINICIAL TYPE STRING,
BASERETENCION TYPE STRING,
TIPORETENCION TYPE STRING,
RESIDENCIAINICIALCEUTAMELILLA TYPE STRING,
MINIMOPERSONALFAMILIARINICIAL TYPE STRING,
MINORACIONPRESTAMOSVIVIENDA TYPE STRING,
IMPORTEMINORACION TYPE STRING,
RDTNETO TYPE STRING,
RDTNETOREDUCIDO TYPE STRING,
MINORACIONPRESTAMO TYPE STRING,
MINIMOPERSONALFAMILIAR TYPE STRING,
MINIMOCTYE TYPE STRING,
GENERAL TYPE STRING,
EDAD TYPE STRING,
ASISTENCIA TYPE STRING,
TOTAL TYPE STRING,
MINIMODESCENDIENTES TYPE STRING,
GENERAL TYPE STRING,
CUIDADOHIJOS TYPE STRING,
TOTAL TYPE STRING,
MINIMOASCENDIENTES TYPE STRING,
EDAD TYPE STRING,
ASISTENCIA TYPE STRING,
TOTAL TYPE STRING,
MINIMODISCAPACIDAD TYPE STRING,
DISCAPACIDADCTYE TYPE STRING,
DISCAPACIDAD TYPE STRING,
ASISTENCIA TYPE STRING,
TOTAL TYPE STRING,
DISCAPACIDADDESCASC TYPE STRING,
DISCAPACIDADDESC TYPE STRING,
ASISTENCIADESC TYPE STRING,
DISCAPACIDADASC TYPE STRING,
ASISTENCIAASC TYPE STRING,
TOTAL TYPE STRING,
TOTAL TYPE STRING,
TOTAL TYPE STRING,
REDUCCION TYPE STRING,
RDTOSTRABAJO TYPE STRING,
GENERAL TYPE STRING,
PROLONGACIONACTIVIDADLABORAL TYPE STRING,
MOVILIDADGEOGRAFICA TYPE STRING,
DISCAPACIDADTRABAJADORESACTIVO TYPE STRING,
REDUCCIONMAS2 TYPE STRING,
PENSIONISTA TYPE STRING,
DESEMPLEADO TYPE STRING,
TOTAL TYPE STRING,
BASERETENCION TYPE STRING,
IMPANUALRETENCIONESINGRESOSCUE TYPE STRING,
TIPORETENCION TYPE STRING,
DESCENDIENTES TYPE STRING,
COMPUTODESCENDIENTES TYPE STRING,
HIJO1 TYPE STRING,
HIJO2 TYPE STRING,
HIJO3 TYPE STRING,
CUARTOYSUCESIVOS TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
MENORES3ANOS TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
RESTO TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
CONDISCAPACIDAD TYPE STRING,
ENGRADO1 TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
CONMOVILIDADREDUCIDA TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
ENGRADO2 TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
ASCENDIENTES TYPE STRING,
MENORES75 TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
MAYORES75 TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
CONDISCAPACIDAD TYPE STRING,
ENGRADO1 TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
CONMOVILIDADREDUCIDA TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,
ENGRADO2 TYPE STRING,
TOTAL TYPE STRING,
PORENTERO TYPE STRING,END OF T_EKKO_STR. DATA: WA_PES_IRPF_RETENIDO_LINE_OUT_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_IRPF_RETENIDO_LINE_OUT_STR-NIF sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-APELLIDOSNOMBRE sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ANONACIMIENTO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-COMUNIDADAUTONOMA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RESIDENCIACEUTAMELILLA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-SITUACIONFAMILIAR sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-SITUACION1 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-SITUACION2 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-NIFCONYUGE sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-SITUACION3 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DISCAPACIDAD sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-GRADO1 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MOVILIDADREDUCIDA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-GRADO2 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-SITUACIONLABORAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TRABAJADORACTIVO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CONTRATO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MOVILIDADGEOGRAFICA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PROLONGACIONLABORAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CAMBIORESIDENCIA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PENSIONISTA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DESEMPLEADO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-OTRASITUACION sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DESCENDIENTE sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ASCENDIENTE sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RETRIBANUALES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-REDUCCIONES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-GASTOSANUALES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PENSIONCOMPENSATORIA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ANUALIDADESHIJOS sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RDTOSOBTENIDOSCEUTAMELILLA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PAGOPRESTAMOSVIVIENDA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-REGULARIZACION sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CAUSA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RETRIBSATISFECHAS sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RETENCIONPRACTICADA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RETRIBANUALESINICIALES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RETENCIONANUALINICIAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-BASERETENCION sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TIPORETENCION sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RESIDENCIAINICIALCEUTAMELILLA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MINIMOPERSONALFAMILIARINICIAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MINORACIONPRESTAMOSVIVIENDA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-IMPORTEMINORACION sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RDTNETO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RDTNETOREDUCIDO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MINORACIONPRESTAMO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MINIMOPERSONALFAMILIAR sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MINIMOCTYE sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-GENERAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-EDAD sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ASISTENCIA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MINIMODESCENDIENTES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-GENERAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CUIDADOHIJOS sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MINIMOASCENDIENTES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-EDAD sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ASISTENCIA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MINIMODISCAPACIDAD sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DISCAPACIDADCTYE sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DISCAPACIDAD sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ASISTENCIA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DISCAPACIDADDESCASC sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DISCAPACIDADDESC sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ASISTENCIADESC sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DISCAPACIDADASC sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ASISTENCIAASC sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-REDUCCION sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RDTOSTRABAJO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-GENERAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PROLONGACIONACTIVIDADLABORAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MOVILIDADGEOGRAFICA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DISCAPACIDADTRABAJADORESACTIVO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-REDUCCIONMAS2 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PENSIONISTA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DESEMPLEADO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-BASERETENCION sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-IMPANUALRETENCIONESINGRESOSCUE sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TIPORETENCION sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-DESCENDIENTES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-COMPUTODESCENDIENTES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-HIJO1 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-HIJO2 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-HIJO3 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CUARTOYSUCESIVOS sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MENORES3ANOS sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-RESTO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CONDISCAPACIDAD sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ENGRADO1 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CONMOVILIDADREDUCIDA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ENGRADO2 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ASCENDIENTES sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MENORES75 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-MAYORES75 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CONDISCAPACIDAD sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ENGRADO1 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-CONMOVILIDADREDUCIDA sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-ENGRADO2 sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-TOTAL sy-vline
WA_PES_IRPF_RETENIDO_LINE_OUT_STR-PORENTERO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.