此函數的第一個參數為Windows 名稱. 此處我們傳入ORDERS 給這個函數.
第二個函數為置放Windows 的方式. 共有以下幾種
CASCADE
RIGHT
BELOW
OVERLAP
CENTER
FIRST_WINDOW
此處因為我們是要開啟第一個Window, 因此指定FIRST_WINDOW
2.如何在開啟Form時,可讓User自行選擇Organization?
利用Procedure:FND_ORG.CHOOSE_ORG即可達成此效果。
先決條件:先建立Org_ID (Number)、
Org_Code (Char 30)、
Org_Name(Char 30)、
Chart_of_Accounts_ID (Number)
此四個Parameter。
3. 如何開啟萬年曆?
Ø 開啟:
步驟1、將Data Field的LOV屬性值設定為Enable_List_Lamp。
步驟2、將Data Field的Validate from List屬性值設定為No。
步驟3、在Data Field的Key-ListVal Item Trigger(Override)中,寫入Calendar.show;即可。
Ø Disable設定 (寫在Calendar.Show之前):
方式1、Calendar.Setup( ‘<Name>’,<Low_Date>,<High_Date> );
介於Low、High之間的Date無效;若Low_Date。
方式2、Calendar.Setup( ‘<Name>’,null,null,’<SQL String>’ );
如:Select Low_Date,High_Date From Table…。
方式3、Calendar.Setup( ‘WEEKEND’ );
每個星期六、日為Disable;Weekend須為大寫。
Ø 設定標題 (寫在Calendar.Show之前):
Calendar.Setup( ‘TITLE’,null,null,’<Title String>’ );
Title須為大寫。
Ø 抓取資料:
萬年曆若要抓到年月日時分秒,要開啟萬年曆的欄位長度須 >= 20;
若要User無法自選時分秒(預設為00:00:00),則開啟萬年曆的欄位型態為Date;
若要User可自選時分秒,則開啟萬年曆的欄位型態為DateTime;
4.如何設定Item的編輯屬性
取代 Set_Item_Property:
App_Item_Property﹒Set_Property( '<Block.Item>',<Property_Name>,<Setting> );
其中Property Name值可為
Displayed (Item Level) (顯示)、
Enabled (Item Level) (與Enterable相似,但off時,游標不能進入)、
Required (Item Level) (只控制是否必須輸入)、
Enterable (Item Instance Level) (與Enabled相似,但off時,游標仍可進入,只是不能更改)、
Alterable (Item Instance Level) (與Enterable相似,但其控管為Alterable)、
Alterable_Plus (Item Level) (與Enterable相同)
Setting值可為 Property_On、Property_Off。
5.如何得知Form使用哪個Descriptive Flexfield?
步驟1、進入Form中à查看$Descriptive_Flexfield$ Block à點選其中一個Field。
步驟2、上步驟所得的值,即解釋為<Flexfield_Title> ( <Application_Name> )。
6.如何儲存Created_By、Updated_By等相關使用者資料?
方式有二:分前端、後端。
前端:
在Pre-Insert、Pre-Update這兩個Block Trigger中,寫入:
Fnd_Standard.Set_Who;即可。
後端:
Fnd_Global.User_ID即為取得建立者 or 異動者。
7.自動新增一筆資料且複製上一筆資料,
下面方式即可處理 :
8.刪除LIST的顯示
1. 刪除LIST的TYPE(在畫面上刪除,並不是從它的下拉選項中刪除).
2. 在Trigger:WHEN-NEW-BLOCK-INSTANCE中寫入:
DELETE_LIST_ELEMENT(list_name VARCHAR2, list_index NUMBER);
注:List_index:是下拉選項中的序號如1,2,3....