誰かが私が以下のトリガーを修正するのを手伝ってもらえますか?私はこの問題を割り当てられていますが、私の技術的なスキルは限られています。
私のスクリプトは以下のエラーに遭遇しました(ORA 4091):
標準PO番号の処理:27179
.....................................。
POステータスの更新。
承認処理が完了しました。
distid611294gl金額10000.88bill_del_amount0 l_amount 10000.88
いくつかの例外が発生しました**ORA-04091:テーブルPO.PO_DISTRIBUTIONS_ALLが変化しています、
トリガー/関数はそれを認識しない可能性があります**
ORA-06512:「APPS.XXAET_PO_DELIVER_TO_TRG」で、
22行目
ORA-01403:データが見つかりません
ORA-04088:トリガーの実行中にエラーが発生しました
'APPS.XXAET_PO_DELIVER
PL/SQLプロシージャが正常に完了しました。
SQL>
クライアントマシンでカスタマイズされたトリガーを見つけることができましたが、調査した後、SQLの何が問題になっているのかを特定できません。助けてください!
CREATE OR REPLACE TRIGGER apps.xxaet_po_deliver_to_trg
BEFORE INSERT OR UPDATE ON po_distributions_all
FOR EACH ROW
DECLARE
l_emp_name VARCHAR2 (300);
l_sqlcode VARCHAR (30) := SQLCODE;
l_sqlerrm VARCHAR (400) := SUBSTR (SQLERRM, 1, 399);
x_profile_value VARCHAR (10) ;
BEGIN
x_profile_value := fnd_profile.value('ORG_ID');
Select Ship_To_Location_ID
INTO :NEW.Deliver_To_Location_Id
from PO_LINE_LOCATIONS_ALL
WHERE line_location_id = :NEW.line_location_id
AND ORG_ID = x_profile_value
;
EXCEPTION
WHEN OTHERS
THEN
NULL;
UPDATE PO_DISTRIBUTIONS_ALL SET Deliver_To_Location_Id = :NEW.Deliver_To_Location_Id
WHERE line_location_id = :NEW.line_location_id;
END;
/
どうもありがとう!ケネス。