habe bezüglich ECatt aktuell massive Performanceprobleme.
Die Logik ist eigentlich überschaubar. Ich lese eine Datei ein und will alles nach dem Header an die ECatt gehaltene Tabelle übergeben um Sie im 2.Inlinestep zu verarbeiten.
Aktueller Code:
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- V_ABSTIMMSCHL = I_ABSTIMMSCHL.
- ABAP.
- SELECT SINGLE fikey
- FROM dfkksumc
- INTO v_fikey
- WHERE fikey = v_abstimmschl.
- V_ACTIVE = c_x.
- ENDABAP.
- *------------------------------------------------*.
- ABAP.
- c_file TYPE dynpread-fieldname VALUE 'FILE'.
- lv_file TYPE string.
- ls_sollstellung type yst_ecatt_cdataimport,
- ls_sollstellung2 type yst_ecatt_dataimport.
- CALL FUNCTION 'F4_FILENAME'
- EXPORTING
- program_name = syst-cprog
- dynpro_number = syst-dynnr
- field_name = c_file
- IMPORTING
- file_name = v_file_path.
- lv_file = v_file_path.
- CALL FUNCTION 'GUI_UPLOAD'
- EXPORTING
- filename = lv_file
- has_field_separator = c_x
- data_tab = lt_sollstellung.
- v_fehler = sy-subrc.
- EXIT.
- DESCRIBE TABLE lt_sollstellung LINES lv_tot.
- v_count = lv_tot - 1.
- v_exit = v_count.
- FREE lt_sollstellung.
- ENDABAP.
- *------------------------------------------------*.
- SAPGUI ( FPE1_3_1 ).
- *------------------------------------------------*.
- ABAP.
- v_readindx = v_index.
- READ TABLE v_secatt INDEX v_readindx INTO ls_sollstellung.
- v_gpnr = ls_sollstellung-gpnr.
- v_vertrag = ls_sollstellung-vertrag.
- v_buchkreis = ls_sollstellung-buchkreis.
- v_vtrgkonto = ls_sollstellung-vtrgkonto.
- v_hauptvorgang = ls_sollstellung-hauptvorgang.
- v_teilvorgang = ls_sollstellung-teilvorgang.
- v_betrag = ls_sollstellung-betrag.
- v_vkt = ls_sollstellung-vkt.
- CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
- EXPORTING
- date_external = ls_sollstellung-skontofaelldat
- IMPORTING
- date_internal = v_skontofaelldat.
- CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
- EXPORTING
- date_external = ls_sollstellung-abrechvondat
- IMPORTING
- date_internal = v_abrechvondat.
- CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
- EXPORTING
- date_external = ls_sollstellung-abrechbisdat
- IMPORTING
- date_internal = v_abrechbisdat.
- CLEAR ls_sollstellung.
- v_readindx = v_index + 1.
- READ TABLE v_secatt INDEX v_readindx INTO ls_sollstellung.
- v_gpnr_next = ls_sollstellung-gpnr.
- ELSE.
- v_gpnr_next = 0.
- v_exit = 0.
- ENDABAP.
- *------------------------------------------------*.
- SAPGUI ( FPE1_3_2_1_1_3 ).
- V_SCROLL = V_INDEX.
- SAPGUI ( FPE1_3_2_1_1_4 ).
- V_INDEX = V_INDEX + 1.
- V_LI_ROW = V_LI_ROW + 1.
- ELSE.
- V_LI_ROW = 0.
- ELSE.
- * EOF
- SAPGUI ( FPE1_3_2_1_2 ).
- SAPGUI ( FPE1_3_2_2 ).
- * finish
- LOG ( V_FEHLER ).
- GeSHi ©
V_SECATT ist als Parameter mit Sicht V und Bezug des Parameters mit "yty_ecatt_dataimport" definiert.
Hat jemand ein Hinweis, wo ich hier die Performance verliere?
Danke soweit