Oracle EBS Form CUSTOM.PLL詳解

來源:互聯網
上載者:User

編寫CUSTOM 庫

     CUSTOM庫是一個OracleForms Developer  PL/SQL 庫,它允許你充分使用Oracle Forms Developer直接整合你的代碼到Oracle 應用程式而不必改變Oracle Application 的代碼。

  什麼時候使用CUSTOM庫

      在一些主要的情況下,可以使用CUSTOM庫。

       Zoom  Zoom 通常會開啟另一個form並且可以傳遞參數到達開的form中。

       通用事件的邏輯  在確定的通用form事件中,增強Oracle 應用程式的邏輯例如:

   WHEN-NEW-FORM-INSTANCE 或WHEN-VALIDATE-RECORD你可以使用通用事件來改變地區的提示和其他的屬性,隱hide地區,添加驗證和其它

    產品特殊事件的邏輯 在確定的產品特殊事件中增強或替換Oracle 應用程式邏輯實現商務邏輯。

     客戶定義菜單  在Oracle 應用程式form中添加條目到special菜單中,例如一個開啟客戶化form的條目。

     設定視覺屬性  使用CUSTOM庫在運行時來改變視覺屬性,使用Oracle Forms內建程式 SET_VA_PROPERTY 來設定CUSTOM1 – CUSTOM5的視覺屬性,並使用APP_ITEM_PROPERTY2.SET_PROPERTY在運行時來應用視覺屬性。

編寫Zoom

Zoom允許使用者調用在每一個塊中調用邏輯,例如,你可能希望在輸入採購訂單form時開啟供應商form,你可以在這一個塊上使用Zoom並且當使用者調用它,你可以開啟供應商form

  11i版本Zoom的行為:

    Oracle 應用程式提供一個功能表項目和工具列中的一個按鈕,使用者可以調用Zoom,只有當這個塊在CUSTOM庫Zoom邏輯定義後,功能表項目和按鈕才可用。

     當游標在form中改變到不同的塊中,form調用CUSTOM庫中的ZOOM_AVALIABLE 方法。如果這個方法返回TRUE,ZOOM條目和按鈕可用,如果返回FALSE不可用。

     如果Zoom條目是可用的,這是當使用者調用Zoom時調用CUSTOM中的ZOOM方法。你基於當前form和塊編寫這個事件的方法。

  在CUSTOM庫中編寫Zooms

1.      添加一個CUSTOM.ZOOM_AVALIABLE方法只是form 和塊什麼時候可以啟用Zoom

2.      添加在ZOOM事件中添加CUSTOM.EVENT過程。

  支援一個塊中的多Zoom時間。

     11i版中Oracle應用程式為Zoom提供一個LOV和相應的參數:

u     LOV:APPCORE_ZOOM

u     參數:APPCORE_ZOOM_VALUE

使用LOV和參數當這個塊含有多餘1個的ZOOM時提供給使用者一個LOV。

編寫ZoomLOV到CUSTOM庫中。

在CUSTOM庫中(包括Zoom事件代碼)

1.     建立一個記錄組合,並填充可用的Zoom名字和值

2.     添加記錄組到APPCORE_ZOOM LOV中

3.     調用show_lov來顯示LOV給使用者

4.     如果使用者選擇一個Zoom,將傳回值給APPCORE_ZOOM_VALUE參數

5.     得到參數的值選擇不同的Zoom

編寫通用Form事件

          你可以編寫邏輯,在特別的form並在塊的特別的事件中觸發,你可以編寫邏輯在一下的事件中:

? WHEN–FORM–NAVIGATE

? WHEN–NEW–FORM–INSTANCE

? WHEN–NEW–BLOCK–INSTANCE

? WHEN–NEW–RECORD–INSTANCE

? WHEN–NEW–ITEM–INSTANCE

? WHEN–VALIDATE–RECORD

? SPECIALn (n 是1 到 45之間的一個數)

? ZOOM

? EXPORT

? KEY–Fn (n 是1 到 8之間的一個數)

一些Oracle 應用程式forms例如多數的Oracle人力資源模組的form可能提供附加的事件調用CUSTOM庫,這些附加事件被列在擁有這個form的產品的文檔中。你可以編寫邏輯在CUSTOM庫中以相同的方法在通用時間中編寫邏輯。

  在CUSTOM庫中為通用的form時間編寫邏輯:

1.      在CUSTOM.EVENT過程中為特別的事件添加一個分支。

在分支內部,指定你希望你的邏輯觸發的form 和 塊並添加邏輯到你希望發生的事件到這些塊中。

編寫產品指定的事件:

    為了編寫產品指定的事件邏輯到CUSTOM庫中:

1.     為特殊的產品的指定的事件添加分支到CUSTOM.EVENT過程中

在分支中添加邏輯。

2.     如果要支援客戶化的執行類型,添加分支到CUSTOM.STYLE方法來指定執行類型。

添加客戶化條目到special菜單中。

     為了在CUSTOM 庫中添加邏輯到special菜單中的條目

1.     在CUSTOM.EVENT過程中添加分支事件WHEN-NEW-FORM-INSTANCE

在這個分支中指定你希望添加邏輯的form和塊,添加邏輯到Special菜單中

2.     將特別的SPECIALn事件添加分支到CUSTOM.EVENT過程。

在這個分支中,指定邏輯發生的form和塊。添加邏輯到你的Special菜單中。如果是你開發的form你應該添加邏輯到使用者命名的SPECIALn觸發器中。

Oracle應用物件程式庫中產品特別的事件。

     Oracle 應用物件程式庫提供可以使用CUSTOM庫使用的產品特別事件。

WHEN-LOGON-CHANGED 事件

     使用WHEN-LOGON-CHANGED事件在使用者使用”File-> Log On as a Different User”立即觸發來驗證。這個方法是只是對基於Oracle Forms Developer開發的form有效。而對基於HTML或Java 的from是無用的。

    你可以使用FND_PROFILE.GET方法得到新的使用者名稱和其他預置檔案值

    如果因為一些原因在這個時間中的代碼拋出form_trigger_failure的異常,使用者將返登入介面。

WHEN-RSPONSIBILITY-CHANGED 事件

   使用WHEN-RESPONSIBILITY-CHANGED事件當使用者使用“Fiel->SwitchResponsibility”來切換職責時觸發進行驗證。這個方法只對基於Oracle  Forms Developer 開發的forms有效。

   你可以通過FND_PROFILE.GET 方法得到新的職責名稱和其他預置檔案的值。如果因為一些原因在這個事件中的代碼拋出 form_trigger_failure的異常,使用者將返回如同選擇了一個錯誤的職責的值列表介面。

CUSTOM 包

  CUSTOM包包含了下列的方法和過程

     CUSTOM.ZOOM_AVALIABLE

     CUSTOM.STYLE

      CUSTOM.EVENT

CUSTOM.ZOOM_AVAILABLE

    function custom.zoom_available return BOOLEAN;

     如果對於這個塊Zoom是可用的,則返回TRUE,否則返回FALSE,通常用於測試form和塊。

     通常這個方法返回FALSE

      CUSTOM.STYLE

     function custom.style(event_name varchar2) return integer;

     這個方法允許你決定執行的類型。你可以選擇代碼的執行為,之前,之後,或替代。注意的是一些產品特定事件是不支援所有的執行類型的CUSTOM.STYLE不對通用form事件或Zoom起作用。

     下列的包變數以用作傳回值:

        Custom.before

        Custom.after

        Custom.override

        Custom.standard

   作為預設值,這個方法返回custom.standard

CUSTOM.EVENT

    procedurecustom.event(event_name varchar2);

    這個方法允許你在指定的事件中執行你的代碼。通常測試事件名稱然或測試form和塊。

    作為預設這個方法應該返回null;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.