ABAP Select data from SAP table CVDDRSCR 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 CVDDRSCR 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 CVDDRSCR. 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 CVDDRSCR 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_CVDDRSCR TYPE STANDARD TABLE OF CVDDRSCR,
      WA_CVDDRSCR TYPE CVDDRSCR,
      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: <CVDDRSCR> TYPE CVDDRSCR.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CVDDRSCR
*  INTO TABLE @DATA(IT_CVDDRSCR2).
*--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_CVDDRSCR INDEX 1 INTO DATA(WA_CVDDRSCR2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CVDDRSCR ASSIGNING <CVDDRSCR>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CVDDRSCR>-MANDT = 1.
<CVDDRSCR>-RECN = 1.
<CVDDRSCR>-ACTN = 1.
<CVDDRSCR>-VALFR = 1.
<CVDDRSCR>-VALTO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CVDDRSCR-AENNR, sy-vline,
WA_CVDDRSCR-DELFLG, sy-vline,
WA_CVDDRSCR-PARKFLG, sy-vline,
WA_CVDDRSCR-CRDAT, sy-vline,
WA_CVDDRSCR-CRNAM, sy-vline,
WA_CVDDRSCR-UPDDAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CVDDRSCR 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_CVDDRSCR 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_CVDDRSCR INTO WA_CVDDRSCR. *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 RECN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_CVDDRSCR-RECN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-RECN.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit SPEC1, internal->external for field DISTSUBID CALL FUNCTION 'CONVERSION_EXIT_SPEC1_OUTPUT' EXPORTING input = WA_CVDDRSCR-DISTSUBID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-DISTSUBID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field RECLANGU_C CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_CVDDRSCR-RECLANGU_C IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-RECLANGU_C.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field RECLANGU_P CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_CVDDRSCR-RECLANGU_P IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-RECLANGU_P.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPEC1, internal->external for field SUBID CALL FUNCTION 'CONVERSION_EXIT_SPEC1_OUTPUT' EXPORTING input = WA_CVDDRSCR-SUBID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-SUBID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CHRID, internal->external for field SBGVID CALL FUNCTION 'CONVERSION_EXIT_CHRID_OUTPUT' EXPORTING input = WA_CVDDRSCR-SBGVID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-SBGVID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_CVDDRSCR-LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-LANGU.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_CVDDRSCR-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-MATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field RAWMATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_CVDDRSCR-RAWMATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-RAWMATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field PDEST CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_CVDDRSCR-PDEST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CVDDRSCR-PDEST.
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_CVDDRSCR_STR,
MANDT TYPE STRING,
RECN TYPE STRING,
ACTN TYPE STRING,
VALFR TYPE STRING,
VALTO TYPE STRING,
AENNR TYPE STRING,
DELFLG TYPE STRING,
PARKFLG TYPE STRING,
CRDAT TYPE STRING,
CRNAM TYPE STRING,
UPDDAT TYPE STRING,
UPDNAM TYPE STRING,
SRSID TYPE STRING,
OWNID TYPE STRING,
RECNROOT TYPE STRING,
DDOID TYPE STRING,
DDBID TYPE STRING,
DDPID TYPE STRING,
STATUS TYPE STRING,
DDOCTYPE TYPE STRING,
REASONTYP TYPE STRING,
REASONCAT TYPE STRING,
REASONBPR TYPE STRING,
INITIATOR TYPE STRING,
DISTSUBID TYPE STRING,
RECTYPE TYPE STRING,
RECGROUP TYPE STRING,
RECADR_C TYPE STRING,
RECADR_P TYPE STRING,
RECTITLE_C TYPE STRING,
RECNAME_C TYPE STRING,
RECLAND_C TYPE STRING,
RECREGIO_C TYPE STRING,
RECCITY_C TYPE STRING,
RECCODE_C TYPE STRING,
RECLANGU_C TYPE STRING,
RECTITLE_P TYPE STRING,
RECFNAME_P TYPE STRING,
RECLNAME_P TYPE STRING,
RECLAND_P TYPE STRING,
RECREGIO_P TYPE STRING,
RECCITY_P TYPE STRING,
RECCODE_P TYPE STRING,
RECLANGU_P TYPE STRING,
RECDEFCOM TYPE STRING,
RECADR_INT TYPE STRING,
RECADR_RML TYPE STRING,
RECADR_FAX TYPE STRING,
RECADR_LET TYPE STRING,
RECSAPNAME TYPE STRING,
SUBID TYPE STRING,
SBGVID TYPE STRING,
LANGU TYPE STRING,
EHSDOCCAT TYPE STRING,
INTVERSION TYPE STRING,
REPTYPE TYPE STRING,
REPSTATUS TYPE STRING,
VERSION TYPE STRING,
SUBVERSION TYPE STRING,
GENDAT TYPE STRING,
VALDAT TYPE STRING,
REQREASON TYPE STRING,
RELCHGFLG TYPE STRING,
MATNR TYPE STRING,
MATNAM TYPE STRING,
RAWMATNR TYPE STRING,
DMSCAT TYPE STRING,
DMSKEY TYPE STRING,
DOCFORMAT1 TYPE STRING,
DOCFORMAT2 TYPE STRING,
NUMBYTES TYPE STRING,
NUMPAGES TYPE STRING,
SENDELEM TYPE STRING,
COM_ART TYPE STRING,
COM_GROUP TYPE STRING,
PDEST TYPE STRING,
PRCOP TYPE STRING,
PLIST TYPE STRING,
PRTXT TYPE STRING,
PRIMM TYPE STRING,
PRREL TYPE STRING,
PRNEW TYPE STRING,
PEXPI TYPE STRING,
LINCT TYPE STRING,
LINSZ TYPE STRING,
PAART TYPE STRING,
PRBIG TYPE STRING,
PRSAP TYPE STRING,
PRREC TYPE STRING,
PRABT TYPE STRING,
PRBER TYPE STRING,
PRDSN TYPE STRING,
PTYPE TYPE STRING,
ARMOD TYPE STRING,
FOOTL TYPE STRING,
PRIOT TYPE STRING,
PRUNX TYPE STRING,
PRKEYEXT TYPE STRING,
PRCHK TYPE STRING,
RSPOID TYPE STRING,
SO_OBJ_ID TYPE STRING,
OHORDERNO TYPE STRING,
OHORDERCNT TYPE STRING,
JOBID TYPE STRING,
WPJOBNAME TYPE STRING,
WPJOBCOUNT TYPE STRING,
STARTDAT TYPE STRING,
CRTIM TYPE STRING,
UPDTIM TYPE STRING,
OCDAT TYPE STRING,
OCTIM TYPE STRING,
OCNAM TYPE STRING,
ACKDAT TYPE STRING,
ACKTIM TYPE STRING,
ACKNAM TYPE STRING,
SEDAT TYPE STRING,
SETIM TYPE STRING,
RESFLG TYPE STRING,
OCFLG TYPE STRING,
SAVFLG TYPE STRING,
DDBFLG TYPE STRING,
RERFLG TYPE STRING,
HPFLG TYPE STRING,
ACKFLG TYPE STRING,
DDPORD TYPE STRING,
DDOCNR TYPE STRING,
DMSSRCCAT TYPE STRING,
DMSSRCKEY TYPE STRING,
PROCESSCAT TYPE STRING,
EVENTID TYPE STRING,
EVENTPARM TYPE STRING,
ADDOBJFLG TYPE STRING,
REPVIEW TYPE STRING,
ADD_DOC_IND TYPE STRING,
RDO_HAS_ADD_DOC_IND TYPE STRING,
KEEP_COMM_TYPE TYPE STRING,
BLOCKFLG TYPE STRING,
REPTNAM TYPE STRING,
SBGVNAM TYPE STRING,
LANGUTEXT TYPE STRING,END OF T_EKKO_STR. DATA: WA_CVDDRSCR_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_CVDDRSCR_STR-MANDT sy-vline
WA_CVDDRSCR_STR-RECN sy-vline
WA_CVDDRSCR_STR-ACTN sy-vline
WA_CVDDRSCR_STR-VALFR sy-vline
WA_CVDDRSCR_STR-VALTO sy-vline
WA_CVDDRSCR_STR-AENNR sy-vline
WA_CVDDRSCR_STR-DELFLG sy-vline
WA_CVDDRSCR_STR-PARKFLG sy-vline
WA_CVDDRSCR_STR-CRDAT sy-vline
WA_CVDDRSCR_STR-CRNAM sy-vline
WA_CVDDRSCR_STR-UPDDAT sy-vline
WA_CVDDRSCR_STR-UPDNAM sy-vline
WA_CVDDRSCR_STR-SRSID sy-vline
WA_CVDDRSCR_STR-OWNID sy-vline
WA_CVDDRSCR_STR-RECNROOT sy-vline
WA_CVDDRSCR_STR-DDOID sy-vline
WA_CVDDRSCR_STR-DDBID sy-vline
WA_CVDDRSCR_STR-DDPID sy-vline
WA_CVDDRSCR_STR-STATUS sy-vline
WA_CVDDRSCR_STR-DDOCTYPE sy-vline
WA_CVDDRSCR_STR-REASONTYP sy-vline
WA_CVDDRSCR_STR-REASONCAT sy-vline
WA_CVDDRSCR_STR-REASONBPR sy-vline
WA_CVDDRSCR_STR-INITIATOR sy-vline
WA_CVDDRSCR_STR-DISTSUBID sy-vline
WA_CVDDRSCR_STR-RECTYPE sy-vline
WA_CVDDRSCR_STR-RECGROUP sy-vline
WA_CVDDRSCR_STR-RECADR_C sy-vline
WA_CVDDRSCR_STR-RECADR_P sy-vline
WA_CVDDRSCR_STR-RECTITLE_C sy-vline
WA_CVDDRSCR_STR-RECNAME_C sy-vline
WA_CVDDRSCR_STR-RECLAND_C sy-vline
WA_CVDDRSCR_STR-RECREGIO_C sy-vline
WA_CVDDRSCR_STR-RECCITY_C sy-vline
WA_CVDDRSCR_STR-RECCODE_C sy-vline
WA_CVDDRSCR_STR-RECLANGU_C sy-vline
WA_CVDDRSCR_STR-RECTITLE_P sy-vline
WA_CVDDRSCR_STR-RECFNAME_P sy-vline
WA_CVDDRSCR_STR-RECLNAME_P sy-vline
WA_CVDDRSCR_STR-RECLAND_P sy-vline
WA_CVDDRSCR_STR-RECREGIO_P sy-vline
WA_CVDDRSCR_STR-RECCITY_P sy-vline
WA_CVDDRSCR_STR-RECCODE_P sy-vline
WA_CVDDRSCR_STR-RECLANGU_P sy-vline
WA_CVDDRSCR_STR-RECDEFCOM sy-vline
WA_CVDDRSCR_STR-RECADR_INT sy-vline
WA_CVDDRSCR_STR-RECADR_RML sy-vline
WA_CVDDRSCR_STR-RECADR_FAX sy-vline
WA_CVDDRSCR_STR-RECADR_LET sy-vline
WA_CVDDRSCR_STR-RECSAPNAME sy-vline
WA_CVDDRSCR_STR-SUBID sy-vline
WA_CVDDRSCR_STR-SBGVID sy-vline
WA_CVDDRSCR_STR-LANGU sy-vline
WA_CVDDRSCR_STR-EHSDOCCAT sy-vline
WA_CVDDRSCR_STR-INTVERSION sy-vline
WA_CVDDRSCR_STR-REPTYPE sy-vline
WA_CVDDRSCR_STR-REPSTATUS sy-vline
WA_CVDDRSCR_STR-VERSION sy-vline
WA_CVDDRSCR_STR-SUBVERSION sy-vline
WA_CVDDRSCR_STR-GENDAT sy-vline
WA_CVDDRSCR_STR-VALDAT sy-vline
WA_CVDDRSCR_STR-REQREASON sy-vline
WA_CVDDRSCR_STR-RELCHGFLG sy-vline
WA_CVDDRSCR_STR-MATNR sy-vline
WA_CVDDRSCR_STR-MATNAM sy-vline
WA_CVDDRSCR_STR-RAWMATNR sy-vline
WA_CVDDRSCR_STR-DMSCAT sy-vline
WA_CVDDRSCR_STR-DMSKEY sy-vline
WA_CVDDRSCR_STR-DOCFORMAT1 sy-vline
WA_CVDDRSCR_STR-DOCFORMAT2 sy-vline
WA_CVDDRSCR_STR-NUMBYTES sy-vline
WA_CVDDRSCR_STR-NUMPAGES sy-vline
WA_CVDDRSCR_STR-SENDELEM sy-vline
WA_CVDDRSCR_STR-COM_ART sy-vline
WA_CVDDRSCR_STR-COM_GROUP sy-vline
WA_CVDDRSCR_STR-PDEST sy-vline
WA_CVDDRSCR_STR-PRCOP sy-vline
WA_CVDDRSCR_STR-PLIST sy-vline
WA_CVDDRSCR_STR-PRTXT sy-vline
WA_CVDDRSCR_STR-PRIMM sy-vline
WA_CVDDRSCR_STR-PRREL sy-vline
WA_CVDDRSCR_STR-PRNEW sy-vline
WA_CVDDRSCR_STR-PEXPI sy-vline
WA_CVDDRSCR_STR-LINCT sy-vline
WA_CVDDRSCR_STR-LINSZ sy-vline
WA_CVDDRSCR_STR-PAART sy-vline
WA_CVDDRSCR_STR-PRBIG sy-vline
WA_CVDDRSCR_STR-PRSAP sy-vline
WA_CVDDRSCR_STR-PRREC sy-vline
WA_CVDDRSCR_STR-PRABT sy-vline
WA_CVDDRSCR_STR-PRBER sy-vline
WA_CVDDRSCR_STR-PRDSN sy-vline
WA_CVDDRSCR_STR-PTYPE sy-vline
WA_CVDDRSCR_STR-ARMOD sy-vline
WA_CVDDRSCR_STR-FOOTL sy-vline
WA_CVDDRSCR_STR-PRIOT sy-vline
WA_CVDDRSCR_STR-PRUNX sy-vline
WA_CVDDRSCR_STR-PRKEYEXT sy-vline
WA_CVDDRSCR_STR-PRCHK sy-vline
WA_CVDDRSCR_STR-RSPOID sy-vline
WA_CVDDRSCR_STR-SO_OBJ_ID sy-vline
WA_CVDDRSCR_STR-OHORDERNO sy-vline
WA_CVDDRSCR_STR-OHORDERCNT sy-vline
WA_CVDDRSCR_STR-JOBID sy-vline
WA_CVDDRSCR_STR-WPJOBNAME sy-vline
WA_CVDDRSCR_STR-WPJOBCOUNT sy-vline
WA_CVDDRSCR_STR-STARTDAT sy-vline
WA_CVDDRSCR_STR-CRTIM sy-vline
WA_CVDDRSCR_STR-UPDTIM sy-vline
WA_CVDDRSCR_STR-OCDAT sy-vline
WA_CVDDRSCR_STR-OCTIM sy-vline
WA_CVDDRSCR_STR-OCNAM sy-vline
WA_CVDDRSCR_STR-ACKDAT sy-vline
WA_CVDDRSCR_STR-ACKTIM sy-vline
WA_CVDDRSCR_STR-ACKNAM sy-vline
WA_CVDDRSCR_STR-SEDAT sy-vline
WA_CVDDRSCR_STR-SETIM sy-vline
WA_CVDDRSCR_STR-RESFLG sy-vline
WA_CVDDRSCR_STR-OCFLG sy-vline
WA_CVDDRSCR_STR-SAVFLG sy-vline
WA_CVDDRSCR_STR-DDBFLG sy-vline
WA_CVDDRSCR_STR-RERFLG sy-vline
WA_CVDDRSCR_STR-HPFLG sy-vline
WA_CVDDRSCR_STR-ACKFLG sy-vline
WA_CVDDRSCR_STR-DDPORD sy-vline
WA_CVDDRSCR_STR-DDOCNR sy-vline
WA_CVDDRSCR_STR-DMSSRCCAT sy-vline
WA_CVDDRSCR_STR-DMSSRCKEY sy-vline
WA_CVDDRSCR_STR-PROCESSCAT sy-vline
WA_CVDDRSCR_STR-EVENTID sy-vline
WA_CVDDRSCR_STR-EVENTPARM sy-vline
WA_CVDDRSCR_STR-ADDOBJFLG sy-vline
WA_CVDDRSCR_STR-REPVIEW sy-vline
WA_CVDDRSCR_STR-ADD_DOC_IND sy-vline
WA_CVDDRSCR_STR-RDO_HAS_ADD_DOC_IND sy-vline
WA_CVDDRSCR_STR-KEEP_COMM_TYPE sy-vline
WA_CVDDRSCR_STR-BLOCKFLG sy-vline
WA_CVDDRSCR_STR-REPTNAM sy-vline
WA_CVDDRSCR_STR-SBGVNAM sy-vline
WA_CVDDRSCR_STR-LANGUTEXT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.