ABAP Select data from SAP table J_1IEXITEM 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_1IEXITEM 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_1IEXITEM. 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_1IEXITEM 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_1IEXITEM TYPE STANDARD TABLE OF J_1IEXITEM,
      WA_J_1IEXITEM TYPE J_1IEXITEM,
      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_1IEXITEM> TYPE J_1IEXITEM.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_1IEXITEM
*  INTO TABLE @DATA(IT_J_1IEXITEM2).
*--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_1IEXITEM INDEX 1 INTO DATA(WA_J_1IEXITEM2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_J_1IEXITEM ASSIGNING <J_1IEXITEM>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<J_1IEXITEM>-TRNTYP = 1.
<J_1IEXITEM>-DOCYR = 1.
<J_1IEXITEM>-DOCNO = 1.
<J_1IEXITEM>-ZEILE = 1.
<J_1IEXITEM>-WERKS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_J_1IEXITEM-EXNUM, sy-vline,
WA_J_1IEXITEM-EXDAT, sy-vline,
WA_J_1IEXITEM-EXYEAR, sy-vline,
WA_J_1IEXITEM-EXGRP, sy-vline,
WA_J_1IEXITEM-LIFNR, sy-vline,
WA_J_1IEXITEM-SHIPFROM, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_1IEXITEM 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_1IEXITEM 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_1IEXITEM INTO WA_J_1IEXITEM. *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 EXYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_J_1IEXITEM-EXYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-EXYEAR.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit CUNIT, internal->external for field MEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-MEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-MEINS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ORIG_MEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-ORIG_MEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-ORIG_MEINS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field MENGR_UOM CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-MENGR_UOM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-MENGR_UOM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field BED_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-BED_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-BED_KMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field AED_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-AED_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-AED_KMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field SED_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-SED_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-SED_KMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field GEWEI CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-GEWEI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-GEWEI.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field MIGO_ERFME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-MIGO_ERFME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-MIGO_ERFME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field CESS_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-CESS_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-CESS_KMEIN.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit CUNIT, internal->external for field MIGO_MEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-MIGO_MEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-MIGO_MEINS.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit CUNIT, internal->external for field NCCD_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-NCCD_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-NCCD_KMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ECS_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-ECS_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-ECS_KMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field AT1_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-AT1_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-AT1_KMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field AT2_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-AT2_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-AT2_KMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field AT3_KMEIN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-AT3_KMEIN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-AT3_KMEIN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field MIGO_BPRME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_J_1IEXITEM-MIGO_BPRME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_1IEXITEM-MIGO_BPRME.
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_1IEXITEM_STR,
TRNTYP TYPE STRING,
DOCYR TYPE STRING,
DOCNO TYPE STRING,
ZEILE TYPE STRING,
WERKS TYPE STRING,
EXNUM TYPE STRING,
EXDAT TYPE STRING,
EXYEAR TYPE STRING,
EXGRP TYPE STRING,
LIFNR TYPE STRING,
SHIPFROM TYPE STRING,
RCWRK TYPE STRING,
GSBER TYPE STRING,
LGORT TYPE STRING,
MATNR TYPE STRING,
MAKTX TYPE STRING,
CHARG TYPE STRING,
CHAPID TYPE STRING,
OLD_CHAPID TYPE STRING,
MENGE TYPE STRING,
MEINS TYPE STRING,
ORIG_MENGE TYPE STRING,
ORIG_MEINS TYPE STRING,
MENGA TYPE STRING,
ORIG_MENGA TYPE STRING,
MENGR TYPE STRING,
ORIG_MENGR TYPE STRING,
CREDIT_QTY TYPE STRING,
AVB_CREDIT_QTY TYPE STRING,
ORIG_AVB_CREDIT_QTY TYPE STRING,
SCPGN TYPE STRING,
MENGR_UOM TYPE STRING,
EXCUR TYPE STRING,
EXBAS TYPE STRING,
ORIG_EXBAS TYPE STRING,
EXBED TYPE STRING,
ORIG_EXBED TYPE STRING,
EXAED TYPE STRING,
ORIG_EXAED TYPE STRING,
EXSED TYPE STRING,
ORIG_EXSED TYPE STRING,
CESS TYPE STRING,
BEDINV TYPE STRING,
ORIG_BEDINV TYPE STRING,
AEDINV TYPE STRING,
ORIG_AEDINV TYPE STRING,
SEDINV TYPE STRING,
ORIG_SEDINV TYPE STRING,
ADDBED TYPE STRING,
ADDAED TYPE STRING,
ADDSED TYPE STRING,
AVAILABLE_BED TYPE STRING,
ORIG_AVAILABLE_BED TYPE STRING,
AVAILABLE_AED TYPE STRING,
ORIG_AVAILABLE_AED TYPE STRING,
AVAILABLE_SED TYPE STRING,
ORIG_AVAILABLE_SED TYPE STRING,
AVAILED_BED TYPE STRING,
ORIG_AVAILED_BED TYPE STRING,
AVAILED_AED TYPE STRING,
ORIG_AVAILED_AED TYPE STRING,
AVAILED_SED TYPE STRING,
ORIG_AVAILED_SED TYPE STRING,
DUE_BED TYPE STRING,
ORIG_DUE_BED TYPE STRING,
DUE_AED TYPE STRING,
ORIG_DUE_AED TYPE STRING,
DUE_SED TYPE STRING,
ORIG_DUE_SED TYPE STRING,
SALES_TAX TYPE STRING,
OTHERS TYPE STRING,
INDTAX TYPE STRING,
PART2YR TYPE STRING,
RG23ASER TYPE STRING,
RG23CSER TYPE STRING,
RGPLASER TYPE STRING,
PART1YR TYPE STRING,
PART1SER TYPE STRING,
RDOC1 TYPE STRING,
RYEAR1 TYPE STRING,
RITEM1 TYPE STRING,
RIND1 TYPE STRING,
RDOC2 TYPE STRING,
RYEAR2 TYPE STRING,
RITEM2 TYPE STRING,
RIND2 TYPE STRING,
RDOC3 TYPE STRING,
RIND3 TYPE STRING,
STATUS TYPE STRING,
BEDRATE TYPE STRING,
AEDRATE TYPE STRING,
SEDRATE TYPE STRING,
ORIG_BEDRATE TYPE STRING,
ORIG_AEDRATE TYPE STRING,
ORIG_SEDRATE TYPE STRING,
CESSRATE TYPE STRING,
CAPIND TYPE STRING,
ORIG_CAPIND TYPE STRING,
MRPIND TYPE STRING,
REJ_CODE TYPE STRING,
USNAM TYPE STRING,
CPUDT TYPE STRING,
CPUTM TYPE STRING,
AENAM TYPE STRING,
AEDAT TYPE STRING,
ADDLDATA1 TYPE STRING,
ADDLDATA2 TYPE STRING,
ADDLDATA3 TYPE STRING,
ADDLDATA4 TYPE STRING,
ADDLVAL1 TYPE STRING,
ADDLVAL2 TYPE STRING,
SP_BED TYPE STRING,
BED_KONWA TYPE STRING,
BED_KPEIN TYPE STRING,
BED_KMEIN TYPE STRING,
SP_AED TYPE STRING,
AED_KONWA TYPE STRING,
AED_KPEIN TYPE STRING,
AED_KMEIN TYPE STRING,
SP_SED TYPE STRING,
SED_KONWA TYPE STRING,
SED_KPEIN TYPE STRING,
SED_KMEIN TYPE STRING,
GLOBAL_COUNTER TYPE STRING,
LOGLEVEL TYPE STRING,
DELETE_LINE TYPE STRING,
INVISIBLE TYPE STRING,
TAKE_IT TYPE STRING,
EXCISE_IND TYPE STRING,
EXCISE_RECAL TYPE STRING,
REVERSE TYPE STRING,
PART2_POSTED TYPE STRING,
J_1IGRXREF TYPE STRING,
TOTAL_BED TYPE STRING,
TOTAL_AED TYPE STRING,
TOTAL_SED TYPE STRING,
BEDINV_IQ TYPE STRING,
ORIG_BEDINV_IQ TYPE STRING,
BEDINV_CQ TYPE STRING,
ORIG_BEDINV_CQ TYPE STRING,
AEDINV_IQ TYPE STRING,
ORIG_AEDINV_IQ TYPE STRING,
AEDINV_CQ TYPE STRING,
ORIG_AEDINV_CQ TYPE STRING,
SEDINV_IQ TYPE STRING,
ORIG_SEDINV_IQ TYPE STRING,
SEDINV_CQ TYPE STRING,
ORIG_SEDINV_CQ TYPE STRING,
SPLIT_BED TYPE STRING,
ORIG_SPLIT_BED TYPE STRING,
SPLIT_AED TYPE STRING,
ORIG_SPLIT_AED TYPE STRING,
SPLIT_SED TYPE STRING,
ORIG_SPLIT_SED TYPE STRING,
RESTORE TYPE STRING,
XMANU TYPE STRING,
SALES_TAX_RATE TYPE STRING,
SALES_TAX_BASE TYPE STRING,
MANUAL TYPE STRING,
GR_STO TYPE STRING,
CVD_TAKE_IT TYPE STRING,
PLANT_IND TYPE STRING,
DEPOT_IND TYPE STRING,
SUBCON_IND TYPE STRING,
EXCISE_BOND_IND TYPE STRING,
NUM_OF_PKGS TYPE STRING,
DESC_PKG TYPE STRING,
NTGEW TYPE STRING,
BRGEW TYPE STRING,
GEWEI TYPE STRING,
MRK_PKG TYPE STRING,
NOS_ON_PKG TYPE STRING,
MIGO_ERFMG TYPE STRING,
MIGO_ERFME TYPE STRING,
SP_CESS TYPE STRING,
CESS_KONWA TYPE STRING,
CESS_KPEIN TYPE STRING,
CESS_KMEIN TYPE STRING,
ORIG_CESS TYPE STRING,
ALT_MATNR TYPE STRING,
ALT_MAKTX TYPE STRING,
MIGO_MENGE TYPE STRING,
MIGO_MEINS TYPE STRING,
RCPTISSRSN TYPE STRING,
LICYR TYPE STRING,
LICNO TYPE STRING,
LICZEILE TYPE STRING,
NCCD TYPE STRING,
ORIG_NCCD TYPE STRING,
NCCDINV TYPE STRING,
ORIG_NCCDINV TYPE STRING,
ADDNCCD TYPE STRING,
AVAILABLE_NCCD TYPE STRING,
ORIG_AVAILABLE_NCCD TYPE STRING,
AVAILED_NCCD TYPE STRING,
ORIG_AVAILED_NCCD TYPE STRING,
DUE_NCCD TYPE STRING,
ORIG_DUE_NCCD TYPE STRING,
NCCDRATE TYPE STRING,
ORIG_NCCDRATE TYPE STRING,
SP_NCCD TYPE STRING,
NCCD_KONWA TYPE STRING,
NCCD_KPEIN TYPE STRING,
NCCD_KMEIN TYPE STRING,
TOTAL_NCCD TYPE STRING,
NCCDINV_IQ TYPE STRING,
ORIG_NCCDINV_IQ TYPE STRING,
NCCDINV_CQ TYPE STRING,
ORIG_NCCDINV_CQ TYPE STRING,
SPLIT_NCCD TYPE STRING,
ORIG_SPLIT_NCCD TYPE STRING,
ECS TYPE STRING,
ORIG_ECS TYPE STRING,
ECSINV TYPE STRING,
ORIG_ECSINV TYPE STRING,
ADDECS TYPE STRING,
AVAILABLE_ECS TYPE STRING,
ORIG_AVAILABLE_ECS TYPE STRING,
ORIG_AVAILED_ECS TYPE STRING,
AVAILED_ECS TYPE STRING,
DUE_ECS TYPE STRING,
ORIG_DUE_ECS TYPE STRING,
ECSRATE TYPE STRING,
ORIG_ECSRATE TYPE STRING,
SP_ECS TYPE STRING,
ECS_KONWA TYPE STRING,
ECS_KPEIN TYPE STRING,
ECS_KMEIN TYPE STRING,
TOTAL_ECS TYPE STRING,
ECSINV_IQ TYPE STRING,
ORIG_ECSINV_IQ TYPE STRING,
ECSINV_CQ TYPE STRING,
ORIG_ECSINV_CQ TYPE STRING,
SPLIT_ECS TYPE STRING,
ORIG_SPLIT_ECS TYPE STRING,
EXADDTAX1 TYPE STRING,
ORIG_AT1 TYPE STRING,
EXADDINV1 TYPE STRING,
ORIG_AT1INV TYPE STRING,
ADDAT1 TYPE STRING,
AVAILABLE_AT1 TYPE STRING,
ORIG_AVAILABLE_AT1 TYPE STRING,
ORIG_AVAILED_AT1 TYPE STRING,
AVAILED_AT1 TYPE STRING,
DUE_AT1 TYPE STRING,
ORIG_DUE_AT1 TYPE STRING,
EXADDRATE1 TYPE STRING,
ORIG_EXADDRATE1 TYPE STRING,
SP_AT1 TYPE STRING,
AT1_KONWA TYPE STRING,
AT1_KPEIN TYPE STRING,
AT1_KMEIN TYPE STRING,
TOTAL_AT1 TYPE STRING,
AT1INV_IQ TYPE STRING,
ORIG_AT1INV_IQ TYPE STRING,
AT1INV_CQ TYPE STRING,
ORIG_AT1INV_CQ TYPE STRING,
SPLIT_AT1 TYPE STRING,
ORIG_SPLIT_AT1 TYPE STRING,
EXADDTAX2 TYPE STRING,
ORIG_AT2 TYPE STRING,
EXADDINV2 TYPE STRING,
ORIG_AT2INV TYPE STRING,
ADDAT2 TYPE STRING,
AVAILABLE_AT2 TYPE STRING,
ORIG_AVAILABLE_AT2 TYPE STRING,
ORIG_AVAILED_AT2 TYPE STRING,
AVAILED_AT2 TYPE STRING,
DUE_AT2 TYPE STRING,
ORIG_DUE_AT2 TYPE STRING,
EXADDRATE2 TYPE STRING,
ORIG_EXADDRATE2 TYPE STRING,
SP_AT2 TYPE STRING,
AT2_KONWA TYPE STRING,
AT2_KPEIN TYPE STRING,
AT2_KMEIN TYPE STRING,
TOTAL_AT2 TYPE STRING,
AT2INV_IQ TYPE STRING,
ORIG_AT2INV_IQ TYPE STRING,
AT2INV_CQ TYPE STRING,
ORIG_AT2INV_CQ TYPE STRING,
SPLIT_AT2 TYPE STRING,
ORIG_SPLIT_AT2 TYPE STRING,
EXADDTAX3 TYPE STRING,
ORIG_AT3 TYPE STRING,
EXADDINV3 TYPE STRING,
ORIG_AT3INV TYPE STRING,
ADDAT3 TYPE STRING,
AVAILABLE_AT3 TYPE STRING,
ORIG_AVAILABLE_AT3 TYPE STRING,
ORIG_AVAILED_AT3 TYPE STRING,
AVAILED_AT3 TYPE STRING,
DUE_AT3 TYPE STRING,
ORIG_DUE_AT3 TYPE STRING,
EXADDRATE3 TYPE STRING,
ORIG_EXADDRATE3 TYPE STRING,
SP_AT3 TYPE STRING,
AT3_KONWA TYPE STRING,
AT3_KPEIN TYPE STRING,
AT3_KMEIN TYPE STRING,
TOTAL_AT3 TYPE STRING,
AT3INV_IQ TYPE STRING,
ORIG_AT3INV_IQ TYPE STRING,
AT3INV_CQ TYPE STRING,
ORIG_AT3INV_CQ TYPE STRING,
SPLIT_AT3 TYPE STRING,
ORIG_SPLIT_AT3 TYPE STRING,
MIGO_BPMNG TYPE STRING,
MIGO_BPRME TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_1IEXITEM_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_1IEXITEM_STR-TRNTYP sy-vline
WA_J_1IEXITEM_STR-DOCYR sy-vline
WA_J_1IEXITEM_STR-DOCNO sy-vline
WA_J_1IEXITEM_STR-ZEILE sy-vline
WA_J_1IEXITEM_STR-WERKS sy-vline
WA_J_1IEXITEM_STR-EXNUM sy-vline
WA_J_1IEXITEM_STR-EXDAT sy-vline
WA_J_1IEXITEM_STR-EXYEAR sy-vline
WA_J_1IEXITEM_STR-EXGRP sy-vline
WA_J_1IEXITEM_STR-LIFNR sy-vline
WA_J_1IEXITEM_STR-SHIPFROM sy-vline
WA_J_1IEXITEM_STR-RCWRK sy-vline
WA_J_1IEXITEM_STR-GSBER sy-vline
WA_J_1IEXITEM_STR-LGORT sy-vline
WA_J_1IEXITEM_STR-MATNR sy-vline
WA_J_1IEXITEM_STR-MAKTX sy-vline
WA_J_1IEXITEM_STR-CHARG sy-vline
WA_J_1IEXITEM_STR-CHAPID sy-vline
WA_J_1IEXITEM_STR-OLD_CHAPID sy-vline
WA_J_1IEXITEM_STR-MENGE sy-vline
WA_J_1IEXITEM_STR-MEINS sy-vline
WA_J_1IEXITEM_STR-ORIG_MENGE sy-vline
WA_J_1IEXITEM_STR-ORIG_MEINS sy-vline
WA_J_1IEXITEM_STR-MENGA sy-vline
WA_J_1IEXITEM_STR-ORIG_MENGA sy-vline
WA_J_1IEXITEM_STR-MENGR sy-vline
WA_J_1IEXITEM_STR-ORIG_MENGR sy-vline
WA_J_1IEXITEM_STR-CREDIT_QTY sy-vline
WA_J_1IEXITEM_STR-AVB_CREDIT_QTY sy-vline
WA_J_1IEXITEM_STR-ORIG_AVB_CREDIT_QTY sy-vline
WA_J_1IEXITEM_STR-SCPGN sy-vline
WA_J_1IEXITEM_STR-MENGR_UOM sy-vline
WA_J_1IEXITEM_STR-EXCUR sy-vline
WA_J_1IEXITEM_STR-EXBAS sy-vline
WA_J_1IEXITEM_STR-ORIG_EXBAS sy-vline
WA_J_1IEXITEM_STR-EXBED sy-vline
WA_J_1IEXITEM_STR-ORIG_EXBED sy-vline
WA_J_1IEXITEM_STR-EXAED sy-vline
WA_J_1IEXITEM_STR-ORIG_EXAED sy-vline
WA_J_1IEXITEM_STR-EXSED sy-vline
WA_J_1IEXITEM_STR-ORIG_EXSED sy-vline
WA_J_1IEXITEM_STR-CESS sy-vline
WA_J_1IEXITEM_STR-BEDINV sy-vline
WA_J_1IEXITEM_STR-ORIG_BEDINV sy-vline
WA_J_1IEXITEM_STR-AEDINV sy-vline
WA_J_1IEXITEM_STR-ORIG_AEDINV sy-vline
WA_J_1IEXITEM_STR-SEDINV sy-vline
WA_J_1IEXITEM_STR-ORIG_SEDINV sy-vline
WA_J_1IEXITEM_STR-ADDBED sy-vline
WA_J_1IEXITEM_STR-ADDAED sy-vline
WA_J_1IEXITEM_STR-ADDSED sy-vline
WA_J_1IEXITEM_STR-AVAILABLE_BED sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILABLE_BED sy-vline
WA_J_1IEXITEM_STR-AVAILABLE_AED sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILABLE_AED sy-vline
WA_J_1IEXITEM_STR-AVAILABLE_SED sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILABLE_SED sy-vline
WA_J_1IEXITEM_STR-AVAILED_BED sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILED_BED sy-vline
WA_J_1IEXITEM_STR-AVAILED_AED sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILED_AED sy-vline
WA_J_1IEXITEM_STR-AVAILED_SED sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILED_SED sy-vline
WA_J_1IEXITEM_STR-DUE_BED sy-vline
WA_J_1IEXITEM_STR-ORIG_DUE_BED sy-vline
WA_J_1IEXITEM_STR-DUE_AED sy-vline
WA_J_1IEXITEM_STR-ORIG_DUE_AED sy-vline
WA_J_1IEXITEM_STR-DUE_SED sy-vline
WA_J_1IEXITEM_STR-ORIG_DUE_SED sy-vline
WA_J_1IEXITEM_STR-SALES_TAX sy-vline
WA_J_1IEXITEM_STR-OTHERS sy-vline
WA_J_1IEXITEM_STR-INDTAX sy-vline
WA_J_1IEXITEM_STR-PART2YR sy-vline
WA_J_1IEXITEM_STR-RG23ASER sy-vline
WA_J_1IEXITEM_STR-RG23CSER sy-vline
WA_J_1IEXITEM_STR-RGPLASER sy-vline
WA_J_1IEXITEM_STR-PART1YR sy-vline
WA_J_1IEXITEM_STR-PART1SER sy-vline
WA_J_1IEXITEM_STR-RDOC1 sy-vline
WA_J_1IEXITEM_STR-RYEAR1 sy-vline
WA_J_1IEXITEM_STR-RITEM1 sy-vline
WA_J_1IEXITEM_STR-RIND1 sy-vline
WA_J_1IEXITEM_STR-RDOC2 sy-vline
WA_J_1IEXITEM_STR-RYEAR2 sy-vline
WA_J_1IEXITEM_STR-RITEM2 sy-vline
WA_J_1IEXITEM_STR-RIND2 sy-vline
WA_J_1IEXITEM_STR-RDOC3 sy-vline
WA_J_1IEXITEM_STR-RIND3 sy-vline
WA_J_1IEXITEM_STR-STATUS sy-vline
WA_J_1IEXITEM_STR-BEDRATE sy-vline
WA_J_1IEXITEM_STR-AEDRATE sy-vline
WA_J_1IEXITEM_STR-SEDRATE sy-vline
WA_J_1IEXITEM_STR-ORIG_BEDRATE sy-vline
WA_J_1IEXITEM_STR-ORIG_AEDRATE sy-vline
WA_J_1IEXITEM_STR-ORIG_SEDRATE sy-vline
WA_J_1IEXITEM_STR-CESSRATE sy-vline
WA_J_1IEXITEM_STR-CAPIND sy-vline
WA_J_1IEXITEM_STR-ORIG_CAPIND sy-vline
WA_J_1IEXITEM_STR-MRPIND sy-vline
WA_J_1IEXITEM_STR-REJ_CODE sy-vline
WA_J_1IEXITEM_STR-USNAM sy-vline
WA_J_1IEXITEM_STR-CPUDT sy-vline
WA_J_1IEXITEM_STR-CPUTM sy-vline
WA_J_1IEXITEM_STR-AENAM sy-vline
WA_J_1IEXITEM_STR-AEDAT sy-vline
WA_J_1IEXITEM_STR-ADDLDATA1 sy-vline
WA_J_1IEXITEM_STR-ADDLDATA2 sy-vline
WA_J_1IEXITEM_STR-ADDLDATA3 sy-vline
WA_J_1IEXITEM_STR-ADDLDATA4 sy-vline
WA_J_1IEXITEM_STR-ADDLVAL1 sy-vline
WA_J_1IEXITEM_STR-ADDLVAL2 sy-vline
WA_J_1IEXITEM_STR-SP_BED sy-vline
WA_J_1IEXITEM_STR-BED_KONWA sy-vline
WA_J_1IEXITEM_STR-BED_KPEIN sy-vline
WA_J_1IEXITEM_STR-BED_KMEIN sy-vline
WA_J_1IEXITEM_STR-SP_AED sy-vline
WA_J_1IEXITEM_STR-AED_KONWA sy-vline
WA_J_1IEXITEM_STR-AED_KPEIN sy-vline
WA_J_1IEXITEM_STR-AED_KMEIN sy-vline
WA_J_1IEXITEM_STR-SP_SED sy-vline
WA_J_1IEXITEM_STR-SED_KONWA sy-vline
WA_J_1IEXITEM_STR-SED_KPEIN sy-vline
WA_J_1IEXITEM_STR-SED_KMEIN sy-vline
WA_J_1IEXITEM_STR-GLOBAL_COUNTER sy-vline
WA_J_1IEXITEM_STR-LOGLEVEL sy-vline
WA_J_1IEXITEM_STR-DELETE_LINE sy-vline
WA_J_1IEXITEM_STR-INVISIBLE sy-vline
WA_J_1IEXITEM_STR-TAKE_IT sy-vline
WA_J_1IEXITEM_STR-EXCISE_IND sy-vline
WA_J_1IEXITEM_STR-EXCISE_RECAL sy-vline
WA_J_1IEXITEM_STR-REVERSE sy-vline
WA_J_1IEXITEM_STR-PART2_POSTED sy-vline
WA_J_1IEXITEM_STR-J_1IGRXREF sy-vline
WA_J_1IEXITEM_STR-TOTAL_BED sy-vline
WA_J_1IEXITEM_STR-TOTAL_AED sy-vline
WA_J_1IEXITEM_STR-TOTAL_SED sy-vline
WA_J_1IEXITEM_STR-BEDINV_IQ sy-vline
WA_J_1IEXITEM_STR-ORIG_BEDINV_IQ sy-vline
WA_J_1IEXITEM_STR-BEDINV_CQ sy-vline
WA_J_1IEXITEM_STR-ORIG_BEDINV_CQ sy-vline
WA_J_1IEXITEM_STR-AEDINV_IQ sy-vline
WA_J_1IEXITEM_STR-ORIG_AEDINV_IQ sy-vline
WA_J_1IEXITEM_STR-AEDINV_CQ sy-vline
WA_J_1IEXITEM_STR-ORIG_AEDINV_CQ sy-vline
WA_J_1IEXITEM_STR-SEDINV_IQ sy-vline
WA_J_1IEXITEM_STR-ORIG_SEDINV_IQ sy-vline
WA_J_1IEXITEM_STR-SEDINV_CQ sy-vline
WA_J_1IEXITEM_STR-ORIG_SEDINV_CQ sy-vline
WA_J_1IEXITEM_STR-SPLIT_BED sy-vline
WA_J_1IEXITEM_STR-ORIG_SPLIT_BED sy-vline
WA_J_1IEXITEM_STR-SPLIT_AED sy-vline
WA_J_1IEXITEM_STR-ORIG_SPLIT_AED sy-vline
WA_J_1IEXITEM_STR-SPLIT_SED sy-vline
WA_J_1IEXITEM_STR-ORIG_SPLIT_SED sy-vline
WA_J_1IEXITEM_STR-RESTORE sy-vline
WA_J_1IEXITEM_STR-XMANU sy-vline
WA_J_1IEXITEM_STR-SALES_TAX_RATE sy-vline
WA_J_1IEXITEM_STR-SALES_TAX_BASE sy-vline
WA_J_1IEXITEM_STR-MANUAL sy-vline
WA_J_1IEXITEM_STR-GR_STO sy-vline
WA_J_1IEXITEM_STR-CVD_TAKE_IT sy-vline
WA_J_1IEXITEM_STR-PLANT_IND sy-vline
WA_J_1IEXITEM_STR-DEPOT_IND sy-vline
WA_J_1IEXITEM_STR-SUBCON_IND sy-vline
WA_J_1IEXITEM_STR-EXCISE_BOND_IND sy-vline
WA_J_1IEXITEM_STR-NUM_OF_PKGS sy-vline
WA_J_1IEXITEM_STR-DESC_PKG sy-vline
WA_J_1IEXITEM_STR-NTGEW sy-vline
WA_J_1IEXITEM_STR-BRGEW sy-vline
WA_J_1IEXITEM_STR-GEWEI sy-vline
WA_J_1IEXITEM_STR-MRK_PKG sy-vline
WA_J_1IEXITEM_STR-NOS_ON_PKG sy-vline
WA_J_1IEXITEM_STR-MIGO_ERFMG sy-vline
WA_J_1IEXITEM_STR-MIGO_ERFME sy-vline
WA_J_1IEXITEM_STR-SP_CESS sy-vline
WA_J_1IEXITEM_STR-CESS_KONWA sy-vline
WA_J_1IEXITEM_STR-CESS_KPEIN sy-vline
WA_J_1IEXITEM_STR-CESS_KMEIN sy-vline
WA_J_1IEXITEM_STR-ORIG_CESS sy-vline
WA_J_1IEXITEM_STR-ALT_MATNR sy-vline
WA_J_1IEXITEM_STR-ALT_MAKTX sy-vline
WA_J_1IEXITEM_STR-MIGO_MENGE sy-vline
WA_J_1IEXITEM_STR-MIGO_MEINS sy-vline
WA_J_1IEXITEM_STR-RCPTISSRSN sy-vline
WA_J_1IEXITEM_STR-LICYR sy-vline
WA_J_1IEXITEM_STR-LICNO sy-vline
WA_J_1IEXITEM_STR-LICZEILE sy-vline
WA_J_1IEXITEM_STR-NCCD sy-vline
WA_J_1IEXITEM_STR-ORIG_NCCD sy-vline
WA_J_1IEXITEM_STR-NCCDINV sy-vline
WA_J_1IEXITEM_STR-ORIG_NCCDINV sy-vline
WA_J_1IEXITEM_STR-ADDNCCD sy-vline
WA_J_1IEXITEM_STR-AVAILABLE_NCCD sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILABLE_NCCD sy-vline
WA_J_1IEXITEM_STR-AVAILED_NCCD sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILED_NCCD sy-vline
WA_J_1IEXITEM_STR-DUE_NCCD sy-vline
WA_J_1IEXITEM_STR-ORIG_DUE_NCCD sy-vline
WA_J_1IEXITEM_STR-NCCDRATE sy-vline
WA_J_1IEXITEM_STR-ORIG_NCCDRATE sy-vline
WA_J_1IEXITEM_STR-SP_NCCD sy-vline
WA_J_1IEXITEM_STR-NCCD_KONWA sy-vline
WA_J_1IEXITEM_STR-NCCD_KPEIN sy-vline
WA_J_1IEXITEM_STR-NCCD_KMEIN sy-vline
WA_J_1IEXITEM_STR-TOTAL_NCCD sy-vline
WA_J_1IEXITEM_STR-NCCDINV_IQ sy-vline
WA_J_1IEXITEM_STR-ORIG_NCCDINV_IQ sy-vline
WA_J_1IEXITEM_STR-NCCDINV_CQ sy-vline
WA_J_1IEXITEM_STR-ORIG_NCCDINV_CQ sy-vline
WA_J_1IEXITEM_STR-SPLIT_NCCD sy-vline
WA_J_1IEXITEM_STR-ORIG_SPLIT_NCCD sy-vline
WA_J_1IEXITEM_STR-ECS sy-vline
WA_J_1IEXITEM_STR-ORIG_ECS sy-vline
WA_J_1IEXITEM_STR-ECSINV sy-vline
WA_J_1IEXITEM_STR-ORIG_ECSINV sy-vline
WA_J_1IEXITEM_STR-ADDECS sy-vline
WA_J_1IEXITEM_STR-AVAILABLE_ECS sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILABLE_ECS sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILED_ECS sy-vline
WA_J_1IEXITEM_STR-AVAILED_ECS sy-vline
WA_J_1IEXITEM_STR-DUE_ECS sy-vline
WA_J_1IEXITEM_STR-ORIG_DUE_ECS sy-vline
WA_J_1IEXITEM_STR-ECSRATE sy-vline
WA_J_1IEXITEM_STR-ORIG_ECSRATE sy-vline
WA_J_1IEXITEM_STR-SP_ECS sy-vline
WA_J_1IEXITEM_STR-ECS_KONWA sy-vline
WA_J_1IEXITEM_STR-ECS_KPEIN sy-vline
WA_J_1IEXITEM_STR-ECS_KMEIN sy-vline
WA_J_1IEXITEM_STR-TOTAL_ECS sy-vline
WA_J_1IEXITEM_STR-ECSINV_IQ sy-vline
WA_J_1IEXITEM_STR-ORIG_ECSINV_IQ sy-vline
WA_J_1IEXITEM_STR-ECSINV_CQ sy-vline
WA_J_1IEXITEM_STR-ORIG_ECSINV_CQ sy-vline
WA_J_1IEXITEM_STR-SPLIT_ECS sy-vline
WA_J_1IEXITEM_STR-ORIG_SPLIT_ECS sy-vline
WA_J_1IEXITEM_STR-EXADDTAX1 sy-vline
WA_J_1IEXITEM_STR-ORIG_AT1 sy-vline
WA_J_1IEXITEM_STR-EXADDINV1 sy-vline
WA_J_1IEXITEM_STR-ORIG_AT1INV sy-vline
WA_J_1IEXITEM_STR-ADDAT1 sy-vline
WA_J_1IEXITEM_STR-AVAILABLE_AT1 sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILABLE_AT1 sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILED_AT1 sy-vline
WA_J_1IEXITEM_STR-AVAILED_AT1 sy-vline
WA_J_1IEXITEM_STR-DUE_AT1 sy-vline
WA_J_1IEXITEM_STR-ORIG_DUE_AT1 sy-vline
WA_J_1IEXITEM_STR-EXADDRATE1 sy-vline
WA_J_1IEXITEM_STR-ORIG_EXADDRATE1 sy-vline
WA_J_1IEXITEM_STR-SP_AT1 sy-vline
WA_J_1IEXITEM_STR-AT1_KONWA sy-vline
WA_J_1IEXITEM_STR-AT1_KPEIN sy-vline
WA_J_1IEXITEM_STR-AT1_KMEIN sy-vline
WA_J_1IEXITEM_STR-TOTAL_AT1 sy-vline
WA_J_1IEXITEM_STR-AT1INV_IQ sy-vline
WA_J_1IEXITEM_STR-ORIG_AT1INV_IQ sy-vline
WA_J_1IEXITEM_STR-AT1INV_CQ sy-vline
WA_J_1IEXITEM_STR-ORIG_AT1INV_CQ sy-vline
WA_J_1IEXITEM_STR-SPLIT_AT1 sy-vline
WA_J_1IEXITEM_STR-ORIG_SPLIT_AT1 sy-vline
WA_J_1IEXITEM_STR-EXADDTAX2 sy-vline
WA_J_1IEXITEM_STR-ORIG_AT2 sy-vline
WA_J_1IEXITEM_STR-EXADDINV2 sy-vline
WA_J_1IEXITEM_STR-ORIG_AT2INV sy-vline
WA_J_1IEXITEM_STR-ADDAT2 sy-vline
WA_J_1IEXITEM_STR-AVAILABLE_AT2 sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILABLE_AT2 sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILED_AT2 sy-vline
WA_J_1IEXITEM_STR-AVAILED_AT2 sy-vline
WA_J_1IEXITEM_STR-DUE_AT2 sy-vline
WA_J_1IEXITEM_STR-ORIG_DUE_AT2 sy-vline
WA_J_1IEXITEM_STR-EXADDRATE2 sy-vline
WA_J_1IEXITEM_STR-ORIG_EXADDRATE2 sy-vline
WA_J_1IEXITEM_STR-SP_AT2 sy-vline
WA_J_1IEXITEM_STR-AT2_KONWA sy-vline
WA_J_1IEXITEM_STR-AT2_KPEIN sy-vline
WA_J_1IEXITEM_STR-AT2_KMEIN sy-vline
WA_J_1IEXITEM_STR-TOTAL_AT2 sy-vline
WA_J_1IEXITEM_STR-AT2INV_IQ sy-vline
WA_J_1IEXITEM_STR-ORIG_AT2INV_IQ sy-vline
WA_J_1IEXITEM_STR-AT2INV_CQ sy-vline
WA_J_1IEXITEM_STR-ORIG_AT2INV_CQ sy-vline
WA_J_1IEXITEM_STR-SPLIT_AT2 sy-vline
WA_J_1IEXITEM_STR-ORIG_SPLIT_AT2 sy-vline
WA_J_1IEXITEM_STR-EXADDTAX3 sy-vline
WA_J_1IEXITEM_STR-ORIG_AT3 sy-vline
WA_J_1IEXITEM_STR-EXADDINV3 sy-vline
WA_J_1IEXITEM_STR-ORIG_AT3INV sy-vline
WA_J_1IEXITEM_STR-ADDAT3 sy-vline
WA_J_1IEXITEM_STR-AVAILABLE_AT3 sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILABLE_AT3 sy-vline
WA_J_1IEXITEM_STR-ORIG_AVAILED_AT3 sy-vline
WA_J_1IEXITEM_STR-AVAILED_AT3 sy-vline
WA_J_1IEXITEM_STR-DUE_AT3 sy-vline
WA_J_1IEXITEM_STR-ORIG_DUE_AT3 sy-vline
WA_J_1IEXITEM_STR-EXADDRATE3 sy-vline
WA_J_1IEXITEM_STR-ORIG_EXADDRATE3 sy-vline
WA_J_1IEXITEM_STR-SP_AT3 sy-vline
WA_J_1IEXITEM_STR-AT3_KONWA sy-vline
WA_J_1IEXITEM_STR-AT3_KPEIN sy-vline
WA_J_1IEXITEM_STR-AT3_KMEIN sy-vline
WA_J_1IEXITEM_STR-TOTAL_AT3 sy-vline
WA_J_1IEXITEM_STR-AT3INV_IQ sy-vline
WA_J_1IEXITEM_STR-ORIG_AT3INV_IQ sy-vline
WA_J_1IEXITEM_STR-AT3INV_CQ sy-vline
WA_J_1IEXITEM_STR-ORIG_AT3INV_CQ sy-vline
WA_J_1IEXITEM_STR-SPLIT_AT3 sy-vline
WA_J_1IEXITEM_STR-ORIG_SPLIT_AT3 sy-vline
WA_J_1IEXITEM_STR-MIGO_BPMNG sy-vline
WA_J_1IEXITEM_STR-MIGO_BPRME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.