2012-08-03 288 views
0

我試圖運行APPS併發請求,但我不斷收到此錯誤原因:FDPSTP失敗,原因是ORA-06550:第1行,第7列:PLS-00221:不是一個過程或未定義

(Cause: FDPSTP failed due to ORA-06550: line 1, column 7: 
PLS-00221: 'XXINV_ITEM_ORACLE_E5B0' is not a procedure or is undefined 
ORA-06550: line 1, column 7: 
PL/SQL: Statement ignored) 

和繼承人我的包體只是一個簡單的插入。

CREATE OR REPLACE PACKAGE BODY APPS.XXINV_ITEM_ORACLE_E5B0 IS 
PROCEDURE inv_com_proc (
     o_chr_errbuf  OUT  VARCHAR2, 
     o_num_retcode OUT  NUMBER 
) 
AS 
    begin 
    EXECUTE IMMEDIATE 'TRUNCATE TABLE XXINV.XXINV_ITEM_ORACLE_E5B0'; 
    Insert into XXINV.XXINV_ITEM_ORACLE_E5B0(ORGANIZATION_CODE , 
    ITEM_NUM, 
    ON_HAND_QUANTITY , 
    ITEM_TYPE , 
    STATUS , 
    MATERIAL_COST , 
    MATERIAL_OVERHEAD_COST, 
    RESOURCE_COST, 
    OVERHEAD_COST, 
    OUTSIDE_PROCESSING_COST, 
    SUBINVENTORY_CODE , 
    LOCATORS) 
    select OWNING_ORG_CODE, ITEM_NUMBER, ON_HAND_QUANTITY, ITEM_TYPE, STATUS, MATERIAL_COST , 
    MATERIAL_OVERHEAD_COST, 
    RESOURCE_COST, 
    OVERHEAD_COST, 
    OUTSIDE_PROCESSING_COST, 
    SUBINVENTORY_CODE , 
    LOCATOR 
    from apps.XXRPT_INV_VALUATION_D535_V 
    where apps.XXRPT_INV_VALUATION_D535_V.SUBINVENTORY_CODE = 'FG' AND apps.XXRPT_INV_VALUATION_D535_V.STATUS = 'ONHAND'; 
    COMMIT; 
    END; 

end XXINV_ITEM_ORACLE_E5B0; 

回答

2

當你定義併發程序可執行文件在系統管理,確保您的執行文件名包括必須在程序包內執行過程/函數schema.package.procedure,如APPS.XXINV_ITEM_ORACLE_E5B0.inv_com_proc(沒有括號)。

1

看來你試圖執行包本身 - 這是行不通的。

DECLARE 
    o_chr_errbuf VARCHAR2(256); 
    o_num_retcode NUMBER; 
BEGIN 
    APPS.XXINV_ITEM_ORACLE_E5B0.inv_com_proc (o_chr_errbuf, o_num_retcode); 
END; 
/

一個簡單的測試:

DECLARE 
    err VARCHAR2(256); 
    CODE NUMBER; 
BEGIN xx(err, CODE); END; 

ORA-06550: line 5, column 7: 
PLS-00221: 'XX' is not a procedure or is undefined 
ORA-06550: line 5, column 7: 
PL/SQL: Statement ignored 
SQL> SELECT * FROM a; 

            ID 
--------------------------------------- 
SQL> DECLARE 
    2 err VARCHAR2(256); 
    3 CODE NUMBER; 
    4 BEGIN 
    5 xx.tst(err, CODE); 
    6 END; 
    7/

PL/SQL procedure successfully completed 
SQL> SELECT * FROM a; 

            ID 
--------------------------------------- 
             1 
+0

謝謝你幫助過的DCookie。我的軟件包在蟾蜍中運行得很完美,但是我試圖做的是通過Oracle 10G運行這個程序,我們創建了一個共同的請求來運行這個,那是哪裏得到的錯誤,但現在我意識到我的代碼是好的,問題是在oracle側 – AmericanSuave 2012-08-03 20:50:34