ABAP Select data from SAP table /CEECV/BEFI_VAT_DECLARATION 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 /CEECV/BEFI_VAT_DECLARATION 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 /CEECV/BEFI_VAT_DECLARATION. 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 /CEECV/BEFI_VAT_DECLARATION 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_/CEECV/BEFI_VAT_DECLARATION TYPE STANDARD TABLE OF /CEECV/BEFI_VAT_DECLARATION,
      WA_/CEECV/BEFI_VAT_DECLARATION TYPE /CEECV/BEFI_VAT_DECLARATION,
      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: </CEECV/BEFI_VAT_DECLARATION> TYPE /CEECV/BEFI_VAT_DECLARATION.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM /CEECV/BEFI_VAT_DECLARATION
  INTO TABLE IT_/CEECV/BEFI_VAT_DECLARATION.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /CEECV/BEFI_VAT_DECLARATION
*  INTO TABLE @DATA(IT_/CEECV/BEFI_VAT_DECLARATION2).
*--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_/CEECV/BEFI_VAT_DECLARATION INDEX 1 INTO DATA(WA_/CEECV/BEFI_VAT_DECLARATION2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/CEECV/BEFI_VAT_DECLARATION ASSIGNING </CEECV/BEFI_VAT_DECLARATION>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</CEECV/BEFI_VAT_DECLARATION>-BUKRS = 1.
</CEECV/BEFI_VAT_DECLARATION>-GJAHR = 1.
</CEECV/BEFI_VAT_DECLARATION>-MONAT = 1.
</CEECV/BEFI_VAT_DECLARATION>-TAXPAYERREGCODE = 1.
</CEECV/BEFI_VAT_DECLARATION>-SUBMITTERPERSONCODE = 1.
ENDLOOP.

LOOP AT IT_/CEECV/BEFI_VAT_DECLARATION INTO WA_/CEECV/BEFI_VAT_DECLARATION.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/CEECV/BEFI_VAT_DECLARATION-DECLARATIONTYPE, sy-vline,
WA_/CEECV/BEFI_VAT_DECLARATION-NOSALES, sy-vline,
WA_/CEECV/BEFI_VAT_DECLARATION-NOPURCHASES, sy-vline,
WA_/CEECV/BEFI_VAT_DECLARATION-SUMPERPARTNERSALES, sy-vline,
WA_/CEECV/BEFI_VAT_DECLARATION-SUMPERPARTNERPURCHASES, sy-vline,
WA_/CEECV/BEFI_VAT_DECLARATION-TRANSACTIONS20, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/CEECV/BEFI_VAT_DECLARATION 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_/CEECV/BEFI_VAT_DECLARATION 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_/CEECV/BEFI_VAT_DECLARATION INTO WA_/CEECV/BEFI_VAT_DECLARATION. *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 GJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-GJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-GJAHR.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit AU132, internal->external for field TRANSACTIONS20 CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-TRANSACTIONS20 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-TRANSACTIONS20.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field SELFSUPPLY20 CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-SELFSUPPLY20 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-SELFSUPPLY20.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field TRANSACTIONS9 CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-TRANSACTIONS9 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-TRANSACTIONS9.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field SELFSUPPLY9 CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-SELFSUPPLY9 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-SELFSUPPLY9.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field TRANSACTIONSZEROVAT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-TRANSACTIONSZEROVAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-TRANSACTIONSZEROVAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field EUSUPPLYINCLGOODSANDSERVICESZE CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-EUSUPPLYINCLGOODSANDSERVICESZE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-EUSUPPLYINCLGOODSANDSERVICESZE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field EUSUPPLYGOODSZEROVAT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-EUSUPPLYGOODSZEROVAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-EUSUPPLYGOODSZEROVAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field EXPORTZEROVAT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-EXPORTZEROVAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-EXPORTZEROVAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field SALEPASSENGERSWITHRETURNVAT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-SALEPASSENGERSWITHRETURNVAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-SALEPASSENGERSWITHRETURNVAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field INPUTVATTOTAL CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-INPUTVATTOTAL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-INPUTVATTOTAL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field IMPORTVAT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-IMPORTVAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-IMPORTVAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field FIXEDASSETSVAT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-FIXEDASSETSVAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-FIXEDASSETSVAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field EUACQUISITIONSGOODSANDSERVICES CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-EUACQUISITIONSGOODSANDSERVICES IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-EUACQUISITIONSGOODSANDSERVICES.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field EUACQUISITIONSGOODS CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-EUACQUISITIONSGOODS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-EUACQUISITIONSGOODS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field ACQUISITIONOTHERGOODSANDSERVIC CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-ACQUISITIONOTHERGOODSANDSERVIC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-ACQUISITIONOTHERGOODSANDSERVIC.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field ACQUISITIONIMMOVABLESANDSCRAPM CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-ACQUISITIONIMMOVABLESANDSCRAPM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-ACQUISITIONIMMOVABLESANDSCRAPM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field SUPPLYEXEMPTFROMTAX CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-SUPPLYEXEMPTFROMTAX IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-SUPPLYEXEMPTFROMTAX.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field SUPPLYSPECIALARRANGEMENTS CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-SUPPLYSPECIALARRANGEMENTS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-SUPPLYSPECIALARRANGEMENTS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field ADJUSTMENTSPLUS CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-ADJUSTMENTSPLUS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-ADJUSTMENTSPLUS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field ADJUSTMENTSMINUS CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-ADJUSTMENTSMINUS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-ADJUSTMENTSMINUS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field CARSVAT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-CARSVAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-CARSVAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field CARSPARTIALVAT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-CARSPARTIALVAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-CARSPARTIALVAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field BDATJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_/CEECV/BEFI_VAT_DECLARATION-BDATJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEECV/BEFI_VAT_DECLARATION-BDATJ.
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_/CEECV/BEFI_VAT_DECLARATION_STR,
BUKRS TYPE STRING,
GJAHR TYPE STRING,
MONAT TYPE STRING,
TAXPAYERREGCODE TYPE STRING,
SUBMITTERPERSONCODE TYPE STRING,
DECLARATIONTYPE TYPE STRING,
NOSALES TYPE STRING,
NOPURCHASES TYPE STRING,
SUMPERPARTNERSALES TYPE STRING,
SUMPERPARTNERPURCHASES TYPE STRING,
TRANSACTIONS20 TYPE STRING,
SELFSUPPLY20 TYPE STRING,
TRANSACTIONS9 TYPE STRING,
SELFSUPPLY9 TYPE STRING,
TRANSACTIONSZEROVAT TYPE STRING,
EUSUPPLYINCLGOODSANDSERVICESZE TYPE STRING,
EUSUPPLYGOODSZEROVAT TYPE STRING,
EXPORTZEROVAT TYPE STRING,
SALEPASSENGERSWITHRETURNVAT TYPE STRING,
INPUTVATTOTAL TYPE STRING,
IMPORTVAT TYPE STRING,
FIXEDASSETSVAT TYPE STRING,
EUACQUISITIONSGOODSANDSERVICES TYPE STRING,
EUACQUISITIONSGOODS TYPE STRING,
ACQUISITIONOTHERGOODSANDSERVIC TYPE STRING,
ACQUISITIONIMMOVABLESANDSCRAPM TYPE STRING,
SUPPLYEXEMPTFROMTAX TYPE STRING,
SUPPLYSPECIALARRANGEMENTS TYPE STRING,
ADJUSTMENTSPLUS TYPE STRING,
ADJUSTMENTSMINUS TYPE STRING,
SALES TYPE STRING,
PURCHASES TYPE STRING,
WAERS TYPE STRING,
CARSVAT TYPE STRING,
NUMBEROFCARS TYPE STRING,
CARSPARTIALVAT TYPE STRING,
NUMBEROFCARSPARTIAL TYPE STRING,
TBUKRS TYPE STRING,
UMKRS TYPE STRING,
BUMON TYPE STRING,
BDATJ TYPE STRING,END OF T_EKKO_STR. DATA: WA_/CEECV/BEFI_VAT_DECLARATION_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_/CEECV/BEFI_VAT_DECLARATION_STR-BUKRS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-GJAHR sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-MONAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-TAXPAYERREGCODE sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SUBMITTERPERSONCODE sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-DECLARATIONTYPE sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-NOSALES sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-NOPURCHASES sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SUMPERPARTNERSALES sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SUMPERPARTNERPURCHASES sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-TRANSACTIONS20 sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SELFSUPPLY20 sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-TRANSACTIONS9 sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SELFSUPPLY9 sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-TRANSACTIONSZEROVAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-EUSUPPLYINCLGOODSANDSERVICESZE sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-EUSUPPLYGOODSZEROVAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-EXPORTZEROVAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SALEPASSENGERSWITHRETURNVAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-INPUTVATTOTAL sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-IMPORTVAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-FIXEDASSETSVAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-EUACQUISITIONSGOODSANDSERVICES sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-EUACQUISITIONSGOODS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-ACQUISITIONOTHERGOODSANDSERVIC sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-ACQUISITIONIMMOVABLESANDSCRAPM sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SUPPLYEXEMPTFROMTAX sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SUPPLYSPECIALARRANGEMENTS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-ADJUSTMENTSPLUS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-ADJUSTMENTSMINUS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-SALES sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-PURCHASES sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-WAERS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-CARSVAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-NUMBEROFCARS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-CARSPARTIALVAT sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-NUMBEROFCARSPARTIAL sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-TBUKRS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-UMKRS sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-BUMON sy-vline
WA_/CEECV/BEFI_VAT_DECLARATION_STR-BDATJ sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.