Eki
3
2019

SS Onay Statusu Hatalı Kayıtların Düzeltilmesi

Merhabalar;
Arkadaslar asagıda paylastıgım script ile Satın alma siparişleri iş akısı üzerinde Hata’ya düşen kayıtları Onay statusune cekebilirsiniz.Paylasılan script bir procedure haline getirildi,gerekli tanımlamaları yapıp bir es zamanlı veya proceduru derleyip calıstırma kodunu sistem üzerinden alıp Satın Alma siparişi numarası ile calıstırabilir işlemlerinizi ilerletebilirsiniz.

CREATE OR REPLACE PROCEDURE APPS.xxdbo_retry_wf_poapprv (
p_segment1 VARCHAR2,
errbuff OUT VARCHAR2,
retcode OUT NUMBER,
p_message out varchar2
)
IS
–bkorkmaz 02.11.2018 iş akısı onay statusunda HATA’ya düşen kayıtları OYNAY statusune ceken script
CURSOR xx_errors
IS
SELECT sta.item_type item_type, sta.activity_result_code RESULT,
pra.process_name
|| ‘:’
|| pra.instance_label process_activity_label,
sta.process_activity instance_id, sta.item_key item_key,
pha.segment1 ss_no
FROM wf_item_activity_statuses sta,
wf_process_activities pra,
po_headers_all pha
WHERE sta.activity_status = ‘ERROR’
AND sta.process_activity = pra.instance_id
AND sta.item_key = pha.wf_item_key
AND sta.item_type = ‘POAPPRV’
AND pha.segment1 = p_segment1;
BEGIN
fnd_file.put_line (fnd_file.LOG, ‘LOG1’);
DBMS_OUTPUT.put_line (‘LOG1’);

IF p_segment1 IS NOT NULL
THEN
FOR csr IN xx_errors
LOOP
BEGIN
wf_engine.handleerror (itemtype => ‘POAPPRV’,
itemkey => csr.item_key,
activity => csr.process_activity_label,
command => ‘RETRY’,
RESULT => NULL
);
errbuff := ‘BASARILI’;
retcode := 2;
p_message:=’NEDEN : ‘||SQLERRM;
dbms_output.put_line(‘p_message : ‘||p_message);
fnd_file.put_line (fnd_file.LOG, ‘p_message : ‘||p_message);
EXCEPTION
WHEN OTHERS
THEN
errbuff := ‘HATA : ‘ || SQLERRM;
p_message:=’NEDEN : ‘||SQLERRM;
fnd_file.put_line (fnd_file.LOG, ‘p_message : ‘||p_message);
retcode := 2;
END;

–*********************
DBMS_OUTPUT.put_line (‘LOG2’);
DBMS_OUTPUT.put_line (‘ITEM-KEY: ‘ || csr.item_key);
DBMS_OUTPUT.put_line (‘ACTIVITY: ‘ || csr.process_activity_label);
–*********************
–fnd_file.put_line (fnd_file.LOG, ‘csr.ITEM_KEY’||csr.item_key);
DBMS_OUTPUT.put_line (csr.item_key);
fnd_file.put_line (fnd_file.LOG, ‘LOG2’);
fnd_file.put_line (fnd_file.LOG, ‘itemkey’ || csr.item_key);
fnd_file.put_line (fnd_file.LOG,
‘activity’ || csr.process_activity_label
);
COMMIT;
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS
THEN
fnd_file.put_line (fnd_file.LOG,
‘Workflow Successfully Progressed’ || SQLERRM
);
END;

Barış Kurtuluş Korkmaz

Oracle Applications Developer at Dboptimize
2017 yılında Bahçeşehir Üniversitesi Bilgisayar Mühendisliğinden Mezun
Oldu. Oracle E-Business Suite Uygulama Yazılımı Üzerinde Junior
Teknik Danışman Olarak Profesyonel Kariyerine Devam Etmektedir.İlgi
alanları Java Development, Oracle Database Administration, Database
Development, Web & Mobil Development' dır.
Barış Kurtuluş Korkmaz


Yorum yapın

*