在oracle ebs form的PACKAGE BODY 中使用insert的問題
我想在oracle ebs form的PACKAGE BODY 中使用insert,向table "XCT_EQ_PRODUCTIONS"插入數據
只有一個Data Blocks,數據源也是table "XCT_EQ_PRODUCTIONS",名稱為DB_XCT_EQ_PRODUCTIONS  
PACKAGE BODY LYH IS
procedure EVENT(EVT in VARCHAR2) is
--SEGMENT1 varchar2(30);BEGIN
 --if EVT='POST-CHANGE' then
 if EVT='KEY-COMMIT' then
FND_MESSAGE.DEBUG('調用成功');
       insert into  XCT_EQ_PRODUCTIONS
       (
        ITEM_NAME)
       VALUES
       (
       
       '111111111111111111');
 --END IF;
 END IF;
END EVENT;
END LYH;編譯後,Form Builder報錯:
Error 201 at line 9,column 22
  identifier 'XCT_EQ_PRODUCTIONS' must be declared
Error 0 at line 9,column 9
  SQL Statement ignored還要定義這個table名嗎,哪位幫幫忙??????????

解决方案 »

  1.   

    你确定表XCT_EQ_PRODUCTIONS存在吗?
      

  2.   


    --指明要添加数据的表的名称
    PACKAGE BODY LYH IS
    procedure EVENT(EVT in VARCHAR2) is
    BEGIN
         if EVT='KEY-COMMIT' then
            FND_MESSAGE.DEBUG('調用成功');
            insert into DB_XCT_EQ_PRODUCTIONS(ITEM_NAME)
            VALUES('111111111111111111');
         END IF;
    END EVENT;  
    END LYH;
      

  3.   


    SQL> create table t(itemname varchar2(50));
     
    Table created
     
    SQL> insert into t(itemname)
      2  values('11111111111111111111111111');
     
    1 row inserted
     
    SQL> select * from t;
     
    ITEMNAME
    --------------------------------------------------
    11111111111111111111111111
      

  4.   

    樓上,你這樣不對吧,我看我們公司另一個臺灣資訊寫的form,
    insert into 後面接的是table名,不是Data Blocks名,
      

  5.   

    找本书看看吧,慢慢学就知道了SQL> desc t;
    Name     Type         Nullable Default Comments 
    -------- ------------ -------- ------- -------- 
    ITEMNAME VARCHAR2(50) Y                         
     
    SQL> 
    SQL> create or replace procedure pro_insert(chr_in in varchar2)
      2  as
      3  begin
      4       if chr_in='INSERT' then
      5          insert into t(itemname)
      6          values('inserted date:11111111');
      7          dbms_output.put_line('insert successfully');
      8       end if;
      9  end;
     10  /
     
    Procedure created
     
    SQL> set serveroutput on;
    SQL> exec pro_insert('INSERT');
     
    insert successfully
     
    PL/SQL procedure successfully completed
     
    SQL> select * from t;
     
    ITEMNAME
    --------------------------------------------------
    inserted date:11111111