ABAP Select data from SAP table FKKPY_0600 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 FKKPY_0600 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 FKKPY_0600. 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 FKKPY_0600 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_FKKPY_0600 TYPE STANDARD TABLE OF FKKPY_0600,
      WA_FKKPY_0600 TYPE FKKPY_0600,
      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: <FKKPY_0600> TYPE FKKPY_0600.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FKKPY_0600
*  INTO TABLE @DATA(IT_FKKPY_06002).
*--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_FKKPY_0600 INDEX 1 INTO DATA(WA_FKKPY_06002).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FKKPY_0600 ASSIGNING <FKKPY_0600>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FKKPY_0600>-MANDT = 1.
<FKKPY_0600>-OPBEL = 1.
<FKKPY_0600>-OPUPW = 1.
<FKKPY_0600>-OPUPK = 1.
<FKKPY_0600>-OPUPZ = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FKKPY_0600-BUKRS, sy-vline,
WA_FKKPY_0600-GSBER, sy-vline,
WA_FKKPY_0600-BUPLA, sy-vline,
WA_FKKPY_0600-SEGMENT, sy-vline,
WA_FKKPY_0600-PRCTR, sy-vline,
WA_FKKPY_0600-AUGST, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FKKPY_0600 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_FKKPY_0600 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_FKKPY_0600 INTO WA_FKKPY_0600. *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 OPBEL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKPY_0600-OPBEL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKPY_0600-OPBEL.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit CFOBR, internal->external for field CFOPN CALL FUNCTION 'CONVERSION_EXIT_CFOBR_OUTPUT' EXPORTING input = WA_FKKPY_0600-CFOPN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKPY_0600-CFOPN.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit FMCIL, internal->external for field FIPEX CALL FUNCTION 'CONVERSION_EXIT_FMCIL_OUTPUT' EXPORTING input = WA_FKKPY_0600-FIPEX IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKPY_0600-FIPEX.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field ADRNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKPY_0600-ADRNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKPY_0600-ADRNR.
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_FKKPY_0600_STR,
MANDT TYPE STRING,
OPBEL TYPE STRING,
OPUPW TYPE STRING,
OPUPK TYPE STRING,
OPUPZ TYPE STRING,
BUKRS TYPE STRING,
GSBER TYPE STRING,
BUPLA TYPE STRING,
SEGMENT TYPE STRING,
PRCTR TYPE STRING,
AUGST TYPE STRING,
GPART TYPE STRING,
VTREF TYPE STRING,
VTPOS TYPE STRING,
VTRE2 TYPE STRING,
VKONT TYPE STRING,
ABWBL TYPE STRING,
ABWTP TYPE STRING,
ABWKT TYPE STRING,
APPLK TYPE STRING,
HVORG TYPE STRING,
TVORG TYPE STRING,
KOFIZ TYPE STRING,
SPART TYPE STRING,
HKONT TYPE STRING,
MWSKZ TYPE STRING,
MWSZKZ TYPE STRING,
XANZA TYPE STRING,
STAKZ TYPE STRING,
BLDAT TYPE STRING,
BUDAT TYPE STRING,
OPTXT TYPE STRING,
WAERS TYPE STRING,
FAEDN TYPE STRING,
FAEDS TYPE STRING,
VERKZ TYPE STRING,
STUDT TYPE STRING,
SKTPZ TYPE STRING,
XMANL TYPE STRING,
KURSF TYPE STRING,
BETRH TYPE STRING,
BETRW TYPE STRING,
BETR2 TYPE STRING,
BETR3 TYPE STRING,
SKFBT TYPE STRING,
SBETH TYPE STRING,
SBETW TYPE STRING,
SBET2 TYPE STRING,
SBET3 TYPE STRING,
MWSKO TYPE STRING,
MWVKO TYPE STRING,
TXRUL TYPE STRING,
SPZAH TYPE STRING,
PYMET TYPE STRING,
PYBUK TYPE STRING,
PERNR TYPE STRING,
GRKEY TYPE STRING,
PERSL TYPE STRING,
XAESP TYPE STRING,
AUGDT TYPE STRING,
AUGBL TYPE STRING,
AUGBD TYPE STRING,
AUGRD TYPE STRING,
AUGWA TYPE STRING,
AUGBT TYPE STRING,
AUGBS TYPE STRING,
AUGSK TYPE STRING,
AUGVD TYPE STRING,
AUGOB TYPE STRING,
WHANG TYPE STRING,
WHGRP TYPE STRING,
XEIPH TYPE STRING,
MAHNV TYPE STRING,
MANSP TYPE STRING,
XAUGP TYPE STRING,
ABRZU TYPE STRING,
ABRZO TYPE STRING,
FDGRP TYPE STRING,
FDLEV TYPE STRING,
FDZTG TYPE STRING,
FDWBT TYPE STRING,
XTAUS TYPE STRING,
AUGRS TYPE STRING,
PYGRP TYPE STRING,
PDTYP TYPE STRING,
SPERZ TYPE STRING,
INFOZ TYPE STRING,
TXJCD TYPE STRING,
TXDAT TYPE STRING,
VBUND TYPE STRING,
KONTT TYPE STRING,
KONTL TYPE STRING,
OPSTA TYPE STRING,
BLART TYPE STRING,
EMGPA TYPE STRING,
EMBVT TYPE STRING,
EMADR TYPE STRING,
IKEY TYPE STRING,
EUROU TYPE STRING,
XRAGL TYPE STRING,
XWHPO TYPE STRING,
ASTKZ TYPE STRING,
ASBLG TYPE STRING,
XBLNR TYPE STRING,
INKPS TYPE STRING,
RNDPS TYPE STRING,
QSSKZ TYPE STRING,
QSSEW TYPE STRING,
QSPTP TYPE STRING,
QSSHB TYPE STRING,
QBSHB TYPE STRING,
QSPRZ TYPE STRING,
QSZNR TYPE STRING,
XWHEX TYPE STRING,
RFUPK TYPE STRING,
STRKZ TYPE STRING,
FITPR TYPE STRING,
XPYOR TYPE STRING,
LANDL TYPE STRING,
INTBU TYPE STRING,
EMCRD TYPE STRING,
C4EYE TYPE STRING,
CFOPN TYPE STRING,
C4EYP TYPE STRING,
TXGRP TYPE STRING,
SCTAX TYPE STRING,
STTAX TYPE STRING,
STZAL TYPE STRING,
ORUPZ TYPE STRING,
NEGBU TYPE STRING,
SUBAP TYPE STRING,
PSWSL TYPE STRING,
PSWBT TYPE STRING,
PSWTX TYPE STRING,
PSGRP TYPE STRING,
XCOLC TYPE STRING,
AASTA TYPE STRING,
XCSHA TYPE STRING,
REACC TYPE STRING,
REBUK TYPE STRING,
XUSTPD TYPE STRING,
PTITM TYPE STRING,
EMMND TYPE STRING,
PALIX TYPE STRING,
CLRLOCK TYPE STRING,
PNNUM TYPE STRING,
PNHKF TYPE STRING,
PNEXD TYPE STRING,
PNCTR TYPE STRING,
FINRE TYPE STRING,
RDSTA TYPE STRING,
RDSTB TYPE STRING,
FASTA TYPE STRING,
PASTA TYPE STRING,
OPUPF TYPE STRING,
FMTYP TYPE STRING,
ORIGFIKRS TYPE STRING,
FIPEX TYPE STRING,
FISTL TYPE STRING,
FONDS TYPE STRING,
FKBER TYPE STRING,
MEASURE TYPE STRING,
GRANT_NBR TYPE STRING,
BUDGETYEAR TYPE STRING,
BUDGET_PD TYPE STRING,
COLOGRP TYPE STRING,
HERKF_KK TYPE STRING,
/SAPCE/FKRU_CN TYPE STRING,
/SAPCE/FKRU_CD TYPE STRING,
/SAPCE/FKRU_RN TYPE STRING,
/SAPCE/FKRU_AB TYPE STRING,
/SAPCE/FKRU_BIS TYPE STRING,
INTOP TYPE STRING,
CPUDT_OP TYPE STRING,
CPUTM_OP TYPE STRING,
CPUDT_ST TYPE STRING,
CPUTM_ST TYPE STRING,
_DATAAGING TYPE STRING,
AUGRE TYPE STRING,
INTTX TYPE STRING,
TXDAT_FROM TYPE STRING,
TAX_COUNTRY TYPE STRING,
TAXC_FACTOR TYPE STRING,
RCSTA TYPE STRING,
AWTYP_OP TYPE STRING,
AWKEY_OP TYPE STRING,
FULPA TYPE STRING,
INFPA TYPE STRING,
BCODE TYPE STRING,
BENT1 TYPE STRING,
ISSRB TYPE STRING,
DUMMY_FKKOP_INCL_EEW_PS TYPE STRING,
AUGBW TYPE STRING,
AUGBH TYPE STRING,
AUGB2 TYPE STRING,
AUGB3 TYPE STRING,
AUGBO TYPE STRING,
NAUGW TYPE STRING,
NAUGH TYPE STRING,
NAUG2 TYPE STRING,
NAUG3 TYPE STRING,
NAUGO TYPE STRING,
SKTOW TYPE STRING,
SKTOH TYPE STRING,
SKTO2 TYPE STRING,
SKTO3 TYPE STRING,
SKTOO TYPE STRING,
ASKTW TYPE STRING,
ASKTH TYPE STRING,
ASKT2 TYPE STRING,
ASKT3 TYPE STRING,
ASKTO TYPE STRING,
NETTW TYPE STRING,
NETTH TYPE STRING,
NETT2 TYPE STRING,
NETT3 TYPE STRING,
NETTO TYPE STRING,
AQSBW TYPE STRING,
AQSBH TYPE STRING,
AQSB2 TYPE STRING,
AQSB3 TYPE STRING,
AQSBO TYPE STRING,
ORIBT TYPE STRING,
ORISB TYPE STRING,
ORISK TYPE STRING,
ORIQS TYPE STRING,
ORIVZ TYPE STRING,
BETRV TYPE STRING,
VZINS TYPE STRING,
DSPAM TYPE STRING,
ORIWA TYPE STRING,
PYORD TYPE STRING,
AVKEY TYPE STRING,
PDKEY TYPE STRING,
TXTU1 TYPE STRING,
TXTU2 TYPE STRING,
XAKTP TYPE STRING,
XAKTS TYPE STRING,
QSPTP_VD TYPE STRING,
OPBEL_VD TYPE STRING,
SKTPA TYPE STRING,
WHANZ TYPE STRING,
INSEL TYPE STRING,
TMPSO TYPE STRING,
TABIX TYPE STRING,
XVERD TYPE STRING,
XMARK TYPE STRING,
XDETV TYPE STRING,
XCHNG TYPE STRING,
XCLON TYPE STRING,
NRZAS TYPE STRING,
VERDP TYPE STRING,
AZVDG TYPE STRING,
XMEMO TYPE STRING,
SPPOS TYPE STRING,
QSSTA TYPE STRING,
XQSER TYPE STRING,
VERTYP TYPE STRING,
XZVEX TYPE STRING,
NXUPZ TYPE STRING,
AGUPZ TYPE STRING,
STCHG TYPE STRING,
STRES TYPE STRING,
CRULE TYPE STRING,
XBPDB TYPE STRING,
BOLID TYPE STRING,
BOLST TYPE STRING,
X0119 TYPE STRING,
DEBT_SET_NUMBER TYPE STRING,
GPA3T TYPE STRING,
GPA3R TYPE STRING,
ACC3T TYPE STRING,
ACC3R TYPE STRING,
PAYGR_0600 TYPE STRING,
SPZAH_0600 TYPE STRING,
POKEN_0600 TYPE STRING,
CLEAR_PYMET_0600 TYPE STRING,
LFDNR_0600 TYPE STRING,
SPRIO_0600 TYPE STRING,
MERCH_0600 TYPE STRING,
NEW_PYMET_0600 TYPE STRING,
PRENOT_YES_0600 TYPE STRING,
PRENOT_NO_0600 TYPE STRING,
X_TAXSPLIT_0600 TYPE STRING,
EMGPA_0600 TYPE STRING,
EMBVT_0600 TYPE STRING,
EIGBV_0600 TYPE STRING,
OBJ1R_X TYPE STRING,
OBJ1X_X TYPE STRING,
ABWRE_X TYPE STRING,
ADRRE_X TYPE STRING,
EZAWE_X TYPE STRING,
EBVTY_X TYPE STRING,
ABWRA_X TYPE STRING,
ADRRA_X TYPE STRING,
AZAWE_X TYPE STRING,
ABVTY_X TYPE STRING,
CCARD_ID TYPE STRING,
CCARD_OUT TYPE STRING,
ADRNR TYPE STRING,
EIGBV_X TYPE STRING,
DDLCU_X TYPE STRING,
SUBAP_X TYPE STRING,
MNDID_X TYPE STRING,END OF T_EKKO_STR. DATA: WA_FKKPY_0600_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_FKKPY_0600_STR-MANDT sy-vline
WA_FKKPY_0600_STR-OPBEL sy-vline
WA_FKKPY_0600_STR-OPUPW sy-vline
WA_FKKPY_0600_STR-OPUPK sy-vline
WA_FKKPY_0600_STR-OPUPZ sy-vline
WA_FKKPY_0600_STR-BUKRS sy-vline
WA_FKKPY_0600_STR-GSBER sy-vline
WA_FKKPY_0600_STR-BUPLA sy-vline
WA_FKKPY_0600_STR-SEGMENT sy-vline
WA_FKKPY_0600_STR-PRCTR sy-vline
WA_FKKPY_0600_STR-AUGST sy-vline
WA_FKKPY_0600_STR-GPART sy-vline
WA_FKKPY_0600_STR-VTREF sy-vline
WA_FKKPY_0600_STR-VTPOS sy-vline
WA_FKKPY_0600_STR-VTRE2 sy-vline
WA_FKKPY_0600_STR-VKONT sy-vline
WA_FKKPY_0600_STR-ABWBL sy-vline
WA_FKKPY_0600_STR-ABWTP sy-vline
WA_FKKPY_0600_STR-ABWKT sy-vline
WA_FKKPY_0600_STR-APPLK sy-vline
WA_FKKPY_0600_STR-HVORG sy-vline
WA_FKKPY_0600_STR-TVORG sy-vline
WA_FKKPY_0600_STR-KOFIZ sy-vline
WA_FKKPY_0600_STR-SPART sy-vline
WA_FKKPY_0600_STR-HKONT sy-vline
WA_FKKPY_0600_STR-MWSKZ sy-vline
WA_FKKPY_0600_STR-MWSZKZ sy-vline
WA_FKKPY_0600_STR-XANZA sy-vline
WA_FKKPY_0600_STR-STAKZ sy-vline
WA_FKKPY_0600_STR-BLDAT sy-vline
WA_FKKPY_0600_STR-BUDAT sy-vline
WA_FKKPY_0600_STR-OPTXT sy-vline
WA_FKKPY_0600_STR-WAERS sy-vline
WA_FKKPY_0600_STR-FAEDN sy-vline
WA_FKKPY_0600_STR-FAEDS sy-vline
WA_FKKPY_0600_STR-VERKZ sy-vline
WA_FKKPY_0600_STR-STUDT sy-vline
WA_FKKPY_0600_STR-SKTPZ sy-vline
WA_FKKPY_0600_STR-XMANL sy-vline
WA_FKKPY_0600_STR-KURSF sy-vline
WA_FKKPY_0600_STR-BETRH sy-vline
WA_FKKPY_0600_STR-BETRW sy-vline
WA_FKKPY_0600_STR-BETR2 sy-vline
WA_FKKPY_0600_STR-BETR3 sy-vline
WA_FKKPY_0600_STR-SKFBT sy-vline
WA_FKKPY_0600_STR-SBETH sy-vline
WA_FKKPY_0600_STR-SBETW sy-vline
WA_FKKPY_0600_STR-SBET2 sy-vline
WA_FKKPY_0600_STR-SBET3 sy-vline
WA_FKKPY_0600_STR-MWSKO sy-vline
WA_FKKPY_0600_STR-MWVKO sy-vline
WA_FKKPY_0600_STR-TXRUL sy-vline
WA_FKKPY_0600_STR-SPZAH sy-vline
WA_FKKPY_0600_STR-PYMET sy-vline
WA_FKKPY_0600_STR-PYBUK sy-vline
WA_FKKPY_0600_STR-PERNR sy-vline
WA_FKKPY_0600_STR-GRKEY sy-vline
WA_FKKPY_0600_STR-PERSL sy-vline
WA_FKKPY_0600_STR-XAESP sy-vline
WA_FKKPY_0600_STR-AUGDT sy-vline
WA_FKKPY_0600_STR-AUGBL sy-vline
WA_FKKPY_0600_STR-AUGBD sy-vline
WA_FKKPY_0600_STR-AUGRD sy-vline
WA_FKKPY_0600_STR-AUGWA sy-vline
WA_FKKPY_0600_STR-AUGBT sy-vline
WA_FKKPY_0600_STR-AUGBS sy-vline
WA_FKKPY_0600_STR-AUGSK sy-vline
WA_FKKPY_0600_STR-AUGVD sy-vline
WA_FKKPY_0600_STR-AUGOB sy-vline
WA_FKKPY_0600_STR-WHANG sy-vline
WA_FKKPY_0600_STR-WHGRP sy-vline
WA_FKKPY_0600_STR-XEIPH sy-vline
WA_FKKPY_0600_STR-MAHNV sy-vline
WA_FKKPY_0600_STR-MANSP sy-vline
WA_FKKPY_0600_STR-XAUGP sy-vline
WA_FKKPY_0600_STR-ABRZU sy-vline
WA_FKKPY_0600_STR-ABRZO sy-vline
WA_FKKPY_0600_STR-FDGRP sy-vline
WA_FKKPY_0600_STR-FDLEV sy-vline
WA_FKKPY_0600_STR-FDZTG sy-vline
WA_FKKPY_0600_STR-FDWBT sy-vline
WA_FKKPY_0600_STR-XTAUS sy-vline
WA_FKKPY_0600_STR-AUGRS sy-vline
WA_FKKPY_0600_STR-PYGRP sy-vline
WA_FKKPY_0600_STR-PDTYP sy-vline
WA_FKKPY_0600_STR-SPERZ sy-vline
WA_FKKPY_0600_STR-INFOZ sy-vline
WA_FKKPY_0600_STR-TXJCD sy-vline
WA_FKKPY_0600_STR-TXDAT sy-vline
WA_FKKPY_0600_STR-VBUND sy-vline
WA_FKKPY_0600_STR-KONTT sy-vline
WA_FKKPY_0600_STR-KONTL sy-vline
WA_FKKPY_0600_STR-OPSTA sy-vline
WA_FKKPY_0600_STR-BLART sy-vline
WA_FKKPY_0600_STR-EMGPA sy-vline
WA_FKKPY_0600_STR-EMBVT sy-vline
WA_FKKPY_0600_STR-EMADR sy-vline
WA_FKKPY_0600_STR-IKEY sy-vline
WA_FKKPY_0600_STR-EUROU sy-vline
WA_FKKPY_0600_STR-XRAGL sy-vline
WA_FKKPY_0600_STR-XWHPO sy-vline
WA_FKKPY_0600_STR-ASTKZ sy-vline
WA_FKKPY_0600_STR-ASBLG sy-vline
WA_FKKPY_0600_STR-XBLNR sy-vline
WA_FKKPY_0600_STR-INKPS sy-vline
WA_FKKPY_0600_STR-RNDPS sy-vline
WA_FKKPY_0600_STR-QSSKZ sy-vline
WA_FKKPY_0600_STR-QSSEW sy-vline
WA_FKKPY_0600_STR-QSPTP sy-vline
WA_FKKPY_0600_STR-QSSHB sy-vline
WA_FKKPY_0600_STR-QBSHB sy-vline
WA_FKKPY_0600_STR-QSPRZ sy-vline
WA_FKKPY_0600_STR-QSZNR sy-vline
WA_FKKPY_0600_STR-XWHEX sy-vline
WA_FKKPY_0600_STR-RFUPK sy-vline
WA_FKKPY_0600_STR-STRKZ sy-vline
WA_FKKPY_0600_STR-FITPR sy-vline
WA_FKKPY_0600_STR-XPYOR sy-vline
WA_FKKPY_0600_STR-LANDL sy-vline
WA_FKKPY_0600_STR-INTBU sy-vline
WA_FKKPY_0600_STR-EMCRD sy-vline
WA_FKKPY_0600_STR-C4EYE sy-vline
WA_FKKPY_0600_STR-CFOPN sy-vline
WA_FKKPY_0600_STR-C4EYP sy-vline
WA_FKKPY_0600_STR-TXGRP sy-vline
WA_FKKPY_0600_STR-SCTAX sy-vline
WA_FKKPY_0600_STR-STTAX sy-vline
WA_FKKPY_0600_STR-STZAL sy-vline
WA_FKKPY_0600_STR-ORUPZ sy-vline
WA_FKKPY_0600_STR-NEGBU sy-vline
WA_FKKPY_0600_STR-SUBAP sy-vline
WA_FKKPY_0600_STR-PSWSL sy-vline
WA_FKKPY_0600_STR-PSWBT sy-vline
WA_FKKPY_0600_STR-PSWTX sy-vline
WA_FKKPY_0600_STR-PSGRP sy-vline
WA_FKKPY_0600_STR-XCOLC sy-vline
WA_FKKPY_0600_STR-AASTA sy-vline
WA_FKKPY_0600_STR-XCSHA sy-vline
WA_FKKPY_0600_STR-REACC sy-vline
WA_FKKPY_0600_STR-REBUK sy-vline
WA_FKKPY_0600_STR-XUSTPD sy-vline
WA_FKKPY_0600_STR-PTITM sy-vline
WA_FKKPY_0600_STR-EMMND sy-vline
WA_FKKPY_0600_STR-PALIX sy-vline
WA_FKKPY_0600_STR-CLRLOCK sy-vline
WA_FKKPY_0600_STR-PNNUM sy-vline
WA_FKKPY_0600_STR-PNHKF sy-vline
WA_FKKPY_0600_STR-PNEXD sy-vline
WA_FKKPY_0600_STR-PNCTR sy-vline
WA_FKKPY_0600_STR-FINRE sy-vline
WA_FKKPY_0600_STR-RDSTA sy-vline
WA_FKKPY_0600_STR-RDSTB sy-vline
WA_FKKPY_0600_STR-FASTA sy-vline
WA_FKKPY_0600_STR-PASTA sy-vline
WA_FKKPY_0600_STR-OPUPF sy-vline
WA_FKKPY_0600_STR-FMTYP sy-vline
WA_FKKPY_0600_STR-ORIGFIKRS sy-vline
WA_FKKPY_0600_STR-FIPEX sy-vline
WA_FKKPY_0600_STR-FISTL sy-vline
WA_FKKPY_0600_STR-FONDS sy-vline
WA_FKKPY_0600_STR-FKBER sy-vline
WA_FKKPY_0600_STR-MEASURE sy-vline
WA_FKKPY_0600_STR-GRANT_NBR sy-vline
WA_FKKPY_0600_STR-BUDGETYEAR sy-vline
WA_FKKPY_0600_STR-BUDGET_PD sy-vline
WA_FKKPY_0600_STR-COLOGRP sy-vline
WA_FKKPY_0600_STR-HERKF_KK sy-vline
WA_FKKPY_0600_STR-/SAPCE/FKRU_CN sy-vline
WA_FKKPY_0600_STR-/SAPCE/FKRU_CD sy-vline
WA_FKKPY_0600_STR-/SAPCE/FKRU_RN sy-vline
WA_FKKPY_0600_STR-/SAPCE/FKRU_AB sy-vline
WA_FKKPY_0600_STR-/SAPCE/FKRU_BIS sy-vline
WA_FKKPY_0600_STR-INTOP sy-vline
WA_FKKPY_0600_STR-CPUDT_OP sy-vline
WA_FKKPY_0600_STR-CPUTM_OP sy-vline
WA_FKKPY_0600_STR-CPUDT_ST sy-vline
WA_FKKPY_0600_STR-CPUTM_ST sy-vline
WA_FKKPY_0600_STR-_DATAAGING sy-vline
WA_FKKPY_0600_STR-AUGRE sy-vline
WA_FKKPY_0600_STR-INTTX sy-vline
WA_FKKPY_0600_STR-TXDAT_FROM sy-vline
WA_FKKPY_0600_STR-TAX_COUNTRY sy-vline
WA_FKKPY_0600_STR-TAXC_FACTOR sy-vline
WA_FKKPY_0600_STR-RCSTA sy-vline
WA_FKKPY_0600_STR-AWTYP_OP sy-vline
WA_FKKPY_0600_STR-AWKEY_OP sy-vline
WA_FKKPY_0600_STR-FULPA sy-vline
WA_FKKPY_0600_STR-INFPA sy-vline
WA_FKKPY_0600_STR-BCODE sy-vline
WA_FKKPY_0600_STR-BENT1 sy-vline
WA_FKKPY_0600_STR-ISSRB sy-vline
WA_FKKPY_0600_STR-DUMMY_FKKOP_INCL_EEW_PS sy-vline
WA_FKKPY_0600_STR-AUGBW sy-vline
WA_FKKPY_0600_STR-AUGBH sy-vline
WA_FKKPY_0600_STR-AUGB2 sy-vline
WA_FKKPY_0600_STR-AUGB3 sy-vline
WA_FKKPY_0600_STR-AUGBO sy-vline
WA_FKKPY_0600_STR-NAUGW sy-vline
WA_FKKPY_0600_STR-NAUGH sy-vline
WA_FKKPY_0600_STR-NAUG2 sy-vline
WA_FKKPY_0600_STR-NAUG3 sy-vline
WA_FKKPY_0600_STR-NAUGO sy-vline
WA_FKKPY_0600_STR-SKTOW sy-vline
WA_FKKPY_0600_STR-SKTOH sy-vline
WA_FKKPY_0600_STR-SKTO2 sy-vline
WA_FKKPY_0600_STR-SKTO3 sy-vline
WA_FKKPY_0600_STR-SKTOO sy-vline
WA_FKKPY_0600_STR-ASKTW sy-vline
WA_FKKPY_0600_STR-ASKTH sy-vline
WA_FKKPY_0600_STR-ASKT2 sy-vline
WA_FKKPY_0600_STR-ASKT3 sy-vline
WA_FKKPY_0600_STR-ASKTO sy-vline
WA_FKKPY_0600_STR-NETTW sy-vline
WA_FKKPY_0600_STR-NETTH sy-vline
WA_FKKPY_0600_STR-NETT2 sy-vline
WA_FKKPY_0600_STR-NETT3 sy-vline
WA_FKKPY_0600_STR-NETTO sy-vline
WA_FKKPY_0600_STR-AQSBW sy-vline
WA_FKKPY_0600_STR-AQSBH sy-vline
WA_FKKPY_0600_STR-AQSB2 sy-vline
WA_FKKPY_0600_STR-AQSB3 sy-vline
WA_FKKPY_0600_STR-AQSBO sy-vline
WA_FKKPY_0600_STR-ORIBT sy-vline
WA_FKKPY_0600_STR-ORISB sy-vline
WA_FKKPY_0600_STR-ORISK sy-vline
WA_FKKPY_0600_STR-ORIQS sy-vline
WA_FKKPY_0600_STR-ORIVZ sy-vline
WA_FKKPY_0600_STR-BETRV sy-vline
WA_FKKPY_0600_STR-VZINS sy-vline
WA_FKKPY_0600_STR-DSPAM sy-vline
WA_FKKPY_0600_STR-ORIWA sy-vline
WA_FKKPY_0600_STR-PYORD sy-vline
WA_FKKPY_0600_STR-AVKEY sy-vline
WA_FKKPY_0600_STR-PDKEY sy-vline
WA_FKKPY_0600_STR-TXTU1 sy-vline
WA_FKKPY_0600_STR-TXTU2 sy-vline
WA_FKKPY_0600_STR-XAKTP sy-vline
WA_FKKPY_0600_STR-XAKTS sy-vline
WA_FKKPY_0600_STR-QSPTP_VD sy-vline
WA_FKKPY_0600_STR-OPBEL_VD sy-vline
WA_FKKPY_0600_STR-SKTPA sy-vline
WA_FKKPY_0600_STR-WHANZ sy-vline
WA_FKKPY_0600_STR-INSEL sy-vline
WA_FKKPY_0600_STR-TMPSO sy-vline
WA_FKKPY_0600_STR-TABIX sy-vline
WA_FKKPY_0600_STR-XVERD sy-vline
WA_FKKPY_0600_STR-XMARK sy-vline
WA_FKKPY_0600_STR-XDETV sy-vline
WA_FKKPY_0600_STR-XCHNG sy-vline
WA_FKKPY_0600_STR-XCLON sy-vline
WA_FKKPY_0600_STR-NRZAS sy-vline
WA_FKKPY_0600_STR-VERDP sy-vline
WA_FKKPY_0600_STR-AZVDG sy-vline
WA_FKKPY_0600_STR-XMEMO sy-vline
WA_FKKPY_0600_STR-SPPOS sy-vline
WA_FKKPY_0600_STR-QSSTA sy-vline
WA_FKKPY_0600_STR-XQSER sy-vline
WA_FKKPY_0600_STR-VERTYP sy-vline
WA_FKKPY_0600_STR-XZVEX sy-vline
WA_FKKPY_0600_STR-NXUPZ sy-vline
WA_FKKPY_0600_STR-AGUPZ sy-vline
WA_FKKPY_0600_STR-STCHG sy-vline
WA_FKKPY_0600_STR-STRES sy-vline
WA_FKKPY_0600_STR-CRULE sy-vline
WA_FKKPY_0600_STR-XBPDB sy-vline
WA_FKKPY_0600_STR-BOLID sy-vline
WA_FKKPY_0600_STR-BOLST sy-vline
WA_FKKPY_0600_STR-X0119 sy-vline
WA_FKKPY_0600_STR-DEBT_SET_NUMBER sy-vline
WA_FKKPY_0600_STR-GPA3T sy-vline
WA_FKKPY_0600_STR-GPA3R sy-vline
WA_FKKPY_0600_STR-ACC3T sy-vline
WA_FKKPY_0600_STR-ACC3R sy-vline
WA_FKKPY_0600_STR-PAYGR_0600 sy-vline
WA_FKKPY_0600_STR-SPZAH_0600 sy-vline
WA_FKKPY_0600_STR-POKEN_0600 sy-vline
WA_FKKPY_0600_STR-CLEAR_PYMET_0600 sy-vline
WA_FKKPY_0600_STR-LFDNR_0600 sy-vline
WA_FKKPY_0600_STR-SPRIO_0600 sy-vline
WA_FKKPY_0600_STR-MERCH_0600 sy-vline
WA_FKKPY_0600_STR-NEW_PYMET_0600 sy-vline
WA_FKKPY_0600_STR-PRENOT_YES_0600 sy-vline
WA_FKKPY_0600_STR-PRENOT_NO_0600 sy-vline
WA_FKKPY_0600_STR-X_TAXSPLIT_0600 sy-vline
WA_FKKPY_0600_STR-EMGPA_0600 sy-vline
WA_FKKPY_0600_STR-EMBVT_0600 sy-vline
WA_FKKPY_0600_STR-EIGBV_0600 sy-vline
WA_FKKPY_0600_STR-OBJ1R_X sy-vline
WA_FKKPY_0600_STR-OBJ1X_X sy-vline
WA_FKKPY_0600_STR-ABWRE_X sy-vline
WA_FKKPY_0600_STR-ADRRE_X sy-vline
WA_FKKPY_0600_STR-EZAWE_X sy-vline
WA_FKKPY_0600_STR-EBVTY_X sy-vline
WA_FKKPY_0600_STR-ABWRA_X sy-vline
WA_FKKPY_0600_STR-ADRRA_X sy-vline
WA_FKKPY_0600_STR-AZAWE_X sy-vline
WA_FKKPY_0600_STR-ABVTY_X sy-vline
WA_FKKPY_0600_STR-CCARD_ID sy-vline
WA_FKKPY_0600_STR-CCARD_OUT sy-vline
WA_FKKPY_0600_STR-ADRNR sy-vline
WA_FKKPY_0600_STR-EIGBV_X sy-vline
WA_FKKPY_0600_STR-DDLCU_X sy-vline
WA_FKKPY_0600_STR-SUBAP_X sy-vline
WA_FKKPY_0600_STR-MNDID_X sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.