ABAP Select data from SAP table ICLH_ICLH40_BULKINV_ALV 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 ICLH_ICLH40_BULKINV_ALV 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 ICLH_ICLH40_BULKINV_ALV. 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 ICLH_ICLH40_BULKINV_ALV 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_ICLH_ICLH40_BULKINV_ALV TYPE STANDARD TABLE OF ICLH_ICLH40_BULKINV_ALV,
      WA_ICLH_ICLH40_BULKINV_ALV TYPE ICLH_ICLH40_BULKINV_ALV,
      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: <ICLH_ICLH40_BULKINV_ALV> TYPE ICLH_ICLH40_BULKINV_ALV.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM ICLH_ICLH40_BULKINV_ALV
*  INTO TABLE @DATA(IT_ICLH_ICLH40_BULKINV_ALV2).
*--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_ICLH_ICLH40_BULKINV_ALV INDEX 1 INTO DATA(WA_ICLH_ICLH40_BULKINV_ALV2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_ICLH_ICLH40_BULKINV_ALV ASSIGNING <ICLH_ICLH40_BULKINV_ALV>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<ICLH_ICLH40_BULKINV_ALV>-XSELECT = 1.
<ICLH_ICLH40_BULKINV_ALV>-DETAIL_SELECT = 1.
<ICLH_ICLH40_BULKINV_ALV>-CLAIM = 1.
<ICLH_ICLH40_BULKINV_ALV>-SUBCLAIM = 1.
<ICLH_ICLH40_BULKINV_ALV>-PROCUREMENT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_ICLH_ICLH40_BULKINV_ALV-PARTNER, sy-vline,
WA_ICLH_ICLH40_BULKINV_ALV-DESCRP_PARTNER, sy-vline,
WA_ICLH_ICLH40_BULKINV_ALV-ACQUISITIONDATE, sy-vline,
WA_ICLH_ICLH40_BULKINV_ALV-CREATEDBY, sy-vline,
WA_ICLH_ICLH40_BULKINV_ALV-INVTYPE, sy-vline,
WA_ICLH_ICLH40_BULKINV_ALV-INVTYPEN, sy-vline.
ENDLOOP. *Add any further fields from structure WA_ICLH_ICLH40_BULKINV_ALV 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_ICLH_ICLH40_BULKINV_ALV 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_ICLH_ICLH40_BULKINV_ALV INTO WA_ICLH_ICLH40_BULKINV_ALV. *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 CLAIM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ICLH_ICLH40_BULKINV_ALV-CLAIM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ICLH_ICLH40_BULKINV_ALV-CLAIM.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit CLAIM, internal->external for field CLAIM_APPR CALL FUNCTION 'CONVERSION_EXIT_CLAIM_OUTPUT' EXPORTING input = WA_ICLH_ICLH40_BULKINV_ALV-CLAIM_APPR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ICLH_ICLH40_BULKINV_ALV-CLAIM_APPR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field COST_PART CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ICLH_ICLH40_BULKINV_ALV-COST_PART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ICLH_ICLH40_BULKINV_ALV-COST_PART.
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_ICLH_ICLH40_BULKINV_ALV_STR,
XSELECT TYPE STRING,
DETAIL_SELECT TYPE STRING,
CLAIM TYPE STRING,
SUBCLAIM TYPE STRING,
PROCUREMENT TYPE STRING,
PARTNER TYPE STRING,
DESCRP_PARTNER TYPE STRING,
ACQUISITIONDATE TYPE STRING,
CREATEDBY TYPE STRING,
INVTYPE TYPE STRING,
INVTYPEN TYPE STRING,
LOSSTYPE TYPE STRING,
SUBCLTYPE TYPE STRING,
STATUS TYPE STRING,
STATUSN TYPE STRING,
ISSUEDATE TYPE STRING,
RECEIVEDATE TYPE STRING,
DATEFROM TYPE STRING,
DATETO TYPE STRING,
EXTERNALREF_BULK TYPE STRING,
INVOICEREF_BULK TYPE STRING,
CCEVENT TYPE STRING,
EXTERNALREF TYPE STRING,
CURRENCY TYPE STRING,
PURPOSE TYPE STRING,
CONTRIBAMOUNT_INV TYPE STRING,
XCONTRIBAMOUNT_INV TYPE STRING,
AMOUNT_INV TYPE STRING,
FEE TYPE STRING,
MATLABCOST TYPE STRING,
MATLABCOSTINT TYPE STRING,
ADDCOST TYPE STRING,
AMOUNT TYPE STRING,
CONTRIBAMOUNT TYPE STRING,
XCONTRIBAMOUNT TYPE STRING,
AMOUNT_CANCELED TYPE STRING,
XCANCEL TYPE STRING,
CLAIM_APPR TYPE STRING,
PROCUREMENT_APPR TYPE STRING,
SUBCLAIM_APPR TYPE STRING,
DATASOURCE TYPE STRING,
EXTDOCUMENT TYPE STRING,
DISCOUNTAMOUNT TYPE STRING,
DISCOUNTPERCENT TYPE STRING,
XDISCOUNTPERCENT TYPE STRING,
XDISCOUNT_POS TYPE STRING,
TOBEPAIDAMOUNT TYPE STRING,
METHOD TYPE STRING,
METHODTXT TYPE STRING,
PAYEE_SCR TYPE STRING,
PAYEE TYPE STRING,
DESCRP_PAYEE TYPE STRING,
PAYEE_ROLE TYPE STRING,
LE_PART_SCR TYPE STRING,
LE_PART TYPE STRING,
DESCRP_LE TYPE STRING,
LE_ROLE TYPE STRING,
VO_PART_SCR TYPE STRING,
VO_PART TYPE STRING,
DESCRP_VO TYPE STRING,
VO_ROLE TYPE STRING,
OWNER TYPE STRING,
INV_PART_SCR TYPE STRING,
INV_PART TYPE STRING,
DESCRP_INV TYPE STRING,
INV_ROLE TYPE STRING,
EBR_PART_SCR TYPE STRING,
EBR_PART TYPE STRING,
DESCRP_EBR TYPE STRING,
EBR_ROLE TYPE STRING,
POLH_PART TYPE STRING,
DESCRP_POLH TYPE STRING,
COST_ROLE TYPE STRING,
COST_PART_SCR TYPE STRING,
COST_PART TYPE STRING,
DESCRP_COST TYPE STRING,
XBULKERROR TYPE STRING,
ISSUEDATE_PRESCR TYPE STRING,
DUEDATE TYPE STRING,
DUEDATE_ORIG TYPE STRING,
COLOR TYPE STRING,
XREIMBURSE TYPE STRING,
XREQUEST TYPE STRING,
CANCEL TYPE STRING,
REJECTED TYPE STRING,
INSUSPENSE TYPE STRING,
INPROCESS TYPE STRING,
RELEASED TYPE STRING,
XFINISHED TYPE STRING,
ORDERED TYPE STRING,
TRANSFERRED TYPE STRING,
TOBEAPPROVED TYPE STRING,
INVSEQNUM TYPE STRING,
DESCRIPTION_EBR TYPE STRING,
REJREASON_EBR TYPE STRING,
REFNO_EBR TYPE STRING,
STARTDATE_EBR TYPE STRING,
ENDDATE_EBR TYPE STRING,
PDREF_EBR TYPE STRING,
PDPOS_EBR TYPE STRING,
EBR_AMOUNT_TOTAL TYPE STRING,
DISCOUNTAMOUNT_EBR TYPE STRING,
CONTRIBAMOUNT_EBR TYPE STRING,
EVCURR_EBR TYPE STRING,END OF T_EKKO_STR. DATA: WA_ICLH_ICLH40_BULKINV_ALV_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_ICLH_ICLH40_BULKINV_ALV_STR-XSELECT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DETAIL_SELECT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CLAIM sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-SUBCLAIM sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PROCUREMENT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PARTNER sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRP_PARTNER sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-ACQUISITIONDATE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CREATEDBY sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INVTYPE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INVTYPEN sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-LOSSTYPE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-SUBCLTYPE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-STATUS sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-STATUSN sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-ISSUEDATE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-RECEIVEDATE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DATEFROM sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DATETO sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-EXTERNALREF_BULK sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INVOICEREF_BULK sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CCEVENT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-EXTERNALREF sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CURRENCY sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PURPOSE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CONTRIBAMOUNT_INV sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XCONTRIBAMOUNT_INV sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-AMOUNT_INV sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-FEE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-MATLABCOST sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-MATLABCOSTINT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-ADDCOST sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-AMOUNT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CONTRIBAMOUNT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XCONTRIBAMOUNT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-AMOUNT_CANCELED sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XCANCEL sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CLAIM_APPR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PROCUREMENT_APPR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-SUBCLAIM_APPR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DATASOURCE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-EXTDOCUMENT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DISCOUNTAMOUNT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DISCOUNTPERCENT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XDISCOUNTPERCENT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XDISCOUNT_POS sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-TOBEPAIDAMOUNT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-METHOD sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-METHODTXT sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PAYEE_SCR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PAYEE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRP_PAYEE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PAYEE_ROLE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-LE_PART_SCR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-LE_PART sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRP_LE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-LE_ROLE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-VO_PART_SCR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-VO_PART sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRP_VO sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-VO_ROLE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-OWNER sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INV_PART_SCR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INV_PART sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRP_INV sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INV_ROLE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-EBR_PART_SCR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-EBR_PART sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRP_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-EBR_ROLE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-POLH_PART sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRP_POLH sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-COST_ROLE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-COST_PART_SCR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-COST_PART sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRP_COST sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XBULKERROR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-ISSUEDATE_PRESCR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DUEDATE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DUEDATE_ORIG sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-COLOR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XREIMBURSE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XREQUEST sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CANCEL sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-REJECTED sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INSUSPENSE sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INPROCESS sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-RELEASED sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-XFINISHED sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-ORDERED sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-TRANSFERRED sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-TOBEAPPROVED sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-INVSEQNUM sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DESCRIPTION_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-REJREASON_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-REFNO_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-STARTDATE_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-ENDDATE_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PDREF_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-PDPOS_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-EBR_AMOUNT_TOTAL sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-DISCOUNTAMOUNT_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-CONTRIBAMOUNT_EBR sy-vline
WA_ICLH_ICLH40_BULKINV_ALV_STR-EVCURR_EBR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.