Code: Alles auswählen.
DATA: lr_me_pdoc TYPE REF TO /idxgc/cl_pd_doc_context,
ls_proc_header_data TYPE /idxgc/s_proc_hdr,
ls_proc_step_data TYPE /idxgc/s_proc_step_data.
LOOP AT itab ASSIGNING <fs_eideswtdoc>.
* Instanz auf Pdoc holen
TRY.
CALL METHOD /idxgc/cl_pd_doc_context=>get_instance
EXPORTING
iv_pdoc_no = <fs_eideswtdoc>-switchnum
RECEIVING
rr_ctx = lr_me_pdoc.
CATCH /idxgc/cx_process_error.
ENDTRY.
* Get process document header data.
TRY.
CALL METHOD lr_me_pdoc->get_header_data
IMPORTING
es_proc_hdr = ls_proc_header_data.
CATCH cx_sy_ref_is_initial.
ENDTRY.
TRY.
CALL METHOD lr_me_pdoc->get_proc_step_data
EXPORTING
iv_proc_step_no = '0010'
IMPORTING
es_proc_step_data = ls_proc_step_data.
CATCH /idxgc/cx_process_error.
ENDTRY.
TRY.
CALL METHOD lr_me_pdoc->close.
CATCH cx_sy_ref_is_initial.
ENDTRY.
FREE lr_me_pdoc.
cl_abap_memory_utilities=>do_garbage_collection( ).
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
chhe001
Hallo Martin,masterhash hat geschrieben: ↑23.11.2020 08:03Guten Morgen,
das selbe Problem hatte ich auch schon einmal. Dein Problem wird wahrscheinlich der Loop über /idxgc/cl_pd_doc_context=>get_instance sein. Die statische Methode müllt dich halt mit Instanzen voll, die erst beim beenden Programms aufgeräumt werden. Eine Lösung kann ich dir aber leider nicht anbieten... ich glaube ein Kollege hat irgendwas drumherum gebaut.
VG
Martin