:SYSTEM.BLOCK_STATUS 控制BLOCK的插入操作

來源:互聯網
上載者:User

  題記:近日在做一個考察報告錄入的form開發,遇到這樣一個問題:有一個介面本來只能錄入一次資料,但是當我錄入資料不儲存, 然後再點擊建立或者KEY-DOWN鍵,介面被重新整理了,再輸入資料儲存,會同時儲存兩條資料。

  分析:

開啟介面時,:SYSTEM.BLOCK_STATUS='NEW',此時點擊建立或者KEY-DOWN鍵,會提示:FRM-40102:記錄必須被插入或刪除。

        介面資料發生變化時,:SYSTEM.BLOCK_STATUS='CHANGED',此時點擊建立或者KEY-DOWN鍵,介面被重新整理,輸入的是第二條資料。

        儲存或查詢時,:SYSTEM.BLOCK_STATUS='QUERY',此時點擊建立或者KEY-DOWN鍵,介面被重新整理,輸入的是第二條資料。

  解決方案:在需要控制的BLOCK中加入WHEN-CREATE-RECORD觸發器,在根據:SYSTEM.BLOCK_STATUS的值進行控制。

      IF :SYSTEM.BLOCK_STATUS = 'QUERY' THEN
             RAISE Form_Trigger_Failure;--阻止程式繼續進行
    ELSIF :SYSTEM.BLOCK_STATUS = 'CHANGED' THEN

           --給有好提示

            FND_MESSAGE.SET_STRING('請在繼續前先儲存所做更改。');

            FND_MESSAGE.SHOW;

             RAISE Form_Trigger_Failure;
 END IF;

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.