ABAP Select data from SAP table J_3RF_TAX_AGENT_DATA_STRUCTURE 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 J_3RF_TAX_AGENT_DATA_STRUCTURE 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 J_3RF_TAX_AGENT_DATA_STRUCTURE. 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 J_3RF_TAX_AGENT_DATA_STRUCTURE 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_J_3RF_TAX_AGENT_DATA_STRUCTURE TYPE STANDARD TABLE OF J_3RF_TAX_AGENT_DATA_STRUCTURE,
      WA_J_3RF_TAX_AGENT_DATA_STRUCTURE TYPE J_3RF_TAX_AGENT_DATA_STRUCTURE,
      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: <J_3RF_TAX_AGENT_DATA_STRUCTURE> TYPE J_3RF_TAX_AGENT_DATA_STRUCTURE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_3RF_TAX_AGENT_DATA_STRUCTURE
*  INTO TABLE @DATA(IT_J_3RF_TAX_AGENT_DATA_STRUCTURE2).
*--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_J_3RF_TAX_AGENT_DATA_STRUCTURE INDEX 1 INTO DATA(WA_J_3RF_TAX_AGENT_DATA_STRUCTURE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_J_3RF_TAX_AGENT_DATA_STRUCTURE ASSIGNING <J_3RF_TAX_AGENT_DATA_STRUCTURE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<J_3RF_TAX_AGENT_DATA_STRUCTURE>-STATUS = 1.
<J_3RF_TAX_AGENT_DATA_STRUCTURE>-COMPANY_CODE = 1.
<J_3RF_TAX_AGENT_DATA_STRUCTURE>-VENDOR_DPR_NUMBER = 1.
<J_3RF_TAX_AGENT_DATA_STRUCTURE>-VENDOR_DPR_YEAR = 1.
<J_3RF_TAX_AGENT_DATA_STRUCTURE>-VENDOR_DPR_ITEM = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-VENDOR_DPR_AMOUNT, sy-vline,
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-VENDOR_DPR_CURRENCY, sy-vline,
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-INVOICE_NUMBER, sy-vline,
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-INVOICE_YEAR, sy-vline,
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-INVOICE_POS, sy-vline,
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-INVOICE_BUDAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_3RF_TAX_AGENT_DATA_STRUCTURE 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_J_3RF_TAX_AGENT_DATA_STRUCTURE 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_J_3RF_TAX_AGENT_DATA_STRUCTURE INTO WA_J_3RF_TAX_AGENT_DATA_STRUCTURE. *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 VENDOR_DPR_NUMBER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-VENDOR_DPR_NUMBER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-VENDOR_DPR_NUMBER.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit EXCRT, internal->external for field PAYMENT_KURSF CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-PAYMENT_KURSF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-PAYMENT_KURSF.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

*Conversion exit GJAHR, internal->external for field ADVANCE_YEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-ADVANCE_YEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_3RF_TAX_AGENT_DATA_STRUCTURE-ADVANCE_YEAR.
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_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR,
STATUS TYPE STRING,
COMPANY_CODE TYPE STRING,
VENDOR_DPR_NUMBER TYPE STRING,
VENDOR_DPR_YEAR TYPE STRING,
VENDOR_DPR_ITEM TYPE STRING,
VENDOR_DPR_AMOUNT TYPE STRING,
VENDOR_DPR_CURRENCY TYPE STRING,
INVOICE_NUMBER TYPE STRING,
INVOICE_YEAR TYPE STRING,
INVOICE_POS TYPE STRING,
INVOICE_BUDAT TYPE STRING,
INVOICE_BLDAT TYPE STRING,
INVOICE_VATDATE TYPE STRING,
INVOICE_VENDOR TYPE STRING,
INVOICE_VENDOR_NAME TYPE STRING,
INVOICE_ACCOUNT TYPE STRING,
INVOICE_AMOUNT TYPE STRING,
INVOICE_CURRENCY TYPE STRING,
INVOICE_TAX_CODE TYPE STRING,
TAX_CODE TYPE STRING,
MM_INVOICE_NUM TYPE STRING,
ORDER TYPE STRING,
INC_VAT_NUMBER TYPE STRING,
INC_VAT_YEAR TYPE STRING,
INC_VAT_AMOUNT TYPE STRING,
INC_VAT_CURRENCY TYPE STRING,
VAT_AMOUNT TYPE STRING,
CC_CURRENCY TYPE STRING,
OUT_VAT_NUMBER TYPE STRING,
OUT_VAT_YEAR TYPE STRING,
TAX_NUMBER TYPE STRING,
TAX_YEAR TYPE STRING,
VAT_BASE TYPE STRING,
VAT_BASE_CURRENCY TYPE STRING,
VAT_AMOUNT_FC TYPE STRING,
VAT_AMOUNT_CURRENCY TYPE STRING,
PAYMENT_NUMBER TYPE STRING,
PAYMENT_YEAR TYPE STRING,
PAYMENT_AMOUNT TYPE STRING,
PAYMENT_CURRENCY TYPE STRING,
PAYMENT_KURSF TYPE STRING,
PAYMENT_WWERT TYPE STRING,
TRANSFER_NUMBER TYPE STRING,
TRANSFER_YEAR TYPE STRING,
PAYM_REQ_NUMBER TYPE STRING,
PAYM_REQ_YEAR TYPE STRING,
PAYM_REQ_AMOUNT TYPE STRING,
REVERSAL_NUMBER TYPE STRING,
REVERSAL_YEAR TYPE STRING,
CLEARED TYPE STRING,
REVERSED TYPE STRING,
NOT_PROCESSABLE TYPE STRING,
ADVANCE_NUMBER TYPE STRING,
ADVANCE_YEAR TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_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_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-STATUS sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-COMPANY_CODE sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VENDOR_DPR_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VENDOR_DPR_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VENDOR_DPR_ITEM sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VENDOR_DPR_AMOUNT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VENDOR_DPR_CURRENCY sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_POS sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_BUDAT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_BLDAT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_VATDATE sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_VENDOR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_VENDOR_NAME sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_ACCOUNT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_AMOUNT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_CURRENCY sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INVOICE_TAX_CODE sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-TAX_CODE sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-MM_INVOICE_NUM sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-ORDER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INC_VAT_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INC_VAT_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INC_VAT_AMOUNT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-INC_VAT_CURRENCY sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VAT_AMOUNT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-CC_CURRENCY sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-OUT_VAT_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-OUT_VAT_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-TAX_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-TAX_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VAT_BASE sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VAT_BASE_CURRENCY sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VAT_AMOUNT_FC sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-VAT_AMOUNT_CURRENCY sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYMENT_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYMENT_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYMENT_AMOUNT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYMENT_CURRENCY sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYMENT_KURSF sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYMENT_WWERT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-TRANSFER_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-TRANSFER_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYM_REQ_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYM_REQ_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-PAYM_REQ_AMOUNT sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-REVERSAL_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-REVERSAL_YEAR sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-CLEARED sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-REVERSED sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-NOT_PROCESSABLE sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-ADVANCE_NUMBER sy-vline
WA_J_3RF_TAX_AGENT_DATA_STRUCTURE_STR-ADVANCE_YEAR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.