EBS開發筆記-1
1:判斷資料塊的項是否為空
IF :BlockName.Item1 is null
THEN message(?Item1為空‘);
END IF; 這個和一般的程式語言使用字串比較很不一致,但從PL/SQL的語句來看,卻也是正常的。
2:資訊提示框之基本用法
1、message Usage:message('提示資訊'); Effect:在FORMS左下角會出現這個提示資訊。
2、fnd_message用法大全
2.1 FND_Message.Debug Usage::fnd_message.debug('提示資訊');
Effect:會直接彈出一個對話方塊,與vb中的msgbox("提示資訊")類似。
2.2、fnd_message.question . Usage:
declare v_num number;
begin FND_MESSAGE.SET_STRING('確要執行此操作嗎?');
v_num := FND_MESSAGE.QUESTION('否', '是',NULL, 1,2);
if v_num=2 then fnd_message.debug('選擇了是');
elsif v_num=1 then fnd_message.debug('選擇了否');
end if;
end;
Effect: Effect:會直接彈出一個選擇框,與vb中的msgbox("提示資訊",vbokcancel)類似。
2.3、FND_MESSAGE.show 這是一個Procedure,把資訊以最基本的方式顯示給使用者,和FND_MESSAGE.DEBUG一樣的效果。但分成了兩步來寫。
begin fnd_message.set_string('show a string!);
fnd_message.show;
end;
2.4、FND_MESSAGE.hint 這是一個Procedure這種方式不會彈出對話方塊給使用者,而是顯示在左下腳的狀態列上面。
2.5、FND_MESSAGE.error 這是一個Procedure以Error資訊的方式顯示給使用者
3: 用程式碼控制ITEM屬性
1、用程式碼控制ITEM的可用性。
1.1、SET_ITEM_PROPERTY和SET_ITEM_INSTANCE_PROPERTY:
如果是控制單行記錄或者多行記錄中的全部記錄:SET_ITEM_PROPERTY
如果是控制多行記錄中的單一行記錄:SET_ITEM_INSTANCE_PROPERTY
1.2、理解它們的最好區別就是親自動手寫一例子。
例: ①控制資料塊T_TEST(多條記錄)的ITEM的某一條記錄是否可更改。
SET_ITEM_INSTANCE_PROPERTY(?T_TEST.TID‘, CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_FALSE);
SET_ITEM_INSTANCE_PROPERTY('T_TEST.TID', CURRENT_RECORD,INSERT_ALLOWED,PROPERTY_FALSE);
Effect:
③ 控制資料塊T_TEST(多條記錄)的單個ITEM的全部記錄是否可更改。
SET_ITEM_PROPERTY('T_TEST.TID',ENABLED,PROPERTY_FALSE);--ITEM不可獲得焦點
或:
SET_ITEM_PROPERTY('T_TEST.TID‘,INSERT_ALLOWED,PROPERTY_FALSE);
-- ITEM可以獲得焦點 SET_ITEM_PROPERTY('T_TEST.TID',UPDATE_ALLOWED,PROPERTY_FALSE);
/* 如果此時使用SET_ITEM_INSTANCE_PROPERTY進行更改可用狀態,必須先使用SET_ITEM_PROPERTY改回可寫屬性,之後方可使用SET_ITEM_INSTANCE_PROPERTY。
③控制資料塊某個ITEM只允許insert,不允許delete.
在when-new-form-instance中加入
--先將資料塊設為不可刪除 set_block_property('T_TEST ',delete_allowed,property_false);
--然後對ITEM設為不可update set_item_property(' T_TEST .TID',update_allowed,property_false);
2、用程式碼控制ITEM的可見性 SET_ITEM_PROPERTY('CONTROL.ITEM1', ENABLED, PROPERTY_FALSE);
4:實現將LOV可以自行錄入內容
在WHEN-NEW-ITEM-INSTANCE觸發器加入
begin
set_item_property('block.item1', VALIDATE_FROM_LIST, property_false);
end;
5: 在FORMS呼叫WEB頁面
web.show_document('http://www.sina.com.cn','_blank'); 第二引數為頁面的載入方式,有四種選擇。
_SELF
_PARENT
_TOP
_BLANK
Effect:自己可以去show一下,印象會比較深。
6:Forms資料提交的方式
1、commit_form 先針對form上面的資料變動進行commit,然後對於程式碼中的類似DML語句也進行提交; 如果form上面的資料變動和程式碼中的資料變動有衝突,最後以FORM上的為 準。 適用:一般來在直接修改Form上的資料時,就使用commit_form。
2、commit 對form和資料庫進行提交。如果form上面的資料和程式碼中的資料變動有衝突,最後以FORM上的為準。 適用:一般來在直接使用DML程式碼修改資料時,就使用commit。
3、do_key('commit_form') 會首先尋找form下的triggers中的KEY-COMMIT這個trigger,並執行KEY-COMMIT中所寫的程式碼。 如果沒有KEY-COMMIT這個trigger,則會針對form和程式碼
一起提交。 如果form上面的資料變動和程式碼中的資料變動有衝突,最後以介面上的為準。 適用:只是更改了一下程式碼執行的任先順序,沒有什麼實質區別。
4、forms_ddl('commit') 只針對程式碼中的update,insert,delete語句進行提交。如果form上面的資料有變動,是不會提交的。 適用:一般不用。
7: 初始化操作
fnd_global.apps_initialize(fnd_profile.value('USER_ID'),fnd_profile('RESP_ID'),fnd_profile('RESP_APPL_ID'));
因為有的試圖資料是會通過user_id,resp_id,resp_appl_id來過濾的,所以在when-new-form-instance的時候,需要通過apps_initialize來進行初始化。
8: 設定窗體的位置
app_window.set_window_position('OPEN_CANVAS','CENTER','OPEN_WINDOW‘);
IF :BlockName.Item1 is null
THEN message(?Item1為空‘);
END IF; 這個和一般的程式語言使用字串比較很不一致,但從PL/SQL的語句來看,卻也是正常的。
2:資訊提示框之基本用法
1、message Usage:message('提示資訊'); Effect:在FORMS左下角會出現這個提示資訊。
2、fnd_message用法大全
2.1 FND_Message.Debug Usage::fnd_message.debug('提示資訊');
Effect:會直接彈出一個對話方塊,與vb中的msgbox("提示資訊")類似。
2.2、fnd_message.question . Usage:
declare v_num number;
begin FND_MESSAGE.SET_STRING('確要執行此操作嗎?');
v_num := FND_MESSAGE.QUESTION('否', '是',NULL, 1,2);
if v_num=2 then fnd_message.debug('選擇了是');
elsif v_num=1 then fnd_message.debug('選擇了否');
end if;
end;
Effect: Effect:會直接彈出一個選擇框,與vb中的msgbox("提示資訊",vbokcancel)類似。
2.3、FND_MESSAGE.show 這是一個Procedure,把資訊以最基本的方式顯示給使用者,和FND_MESSAGE.DEBUG一樣的效果。但分成了兩步來寫。
begin fnd_message.set_string('show a string!);
fnd_message.show;
end;
2.4、FND_MESSAGE.hint 這是一個Procedure這種方式不會彈出對話方塊給使用者,而是顯示在左下腳的狀態列上面。
2.5、FND_MESSAGE.error 這是一個Procedure以Error資訊的方式顯示給使用者
3: 用程式碼控制ITEM屬性
1、用程式碼控制ITEM的可用性。
1.1、SET_ITEM_PROPERTY和SET_ITEM_INSTANCE_PROPERTY:
如果是控制單行記錄或者多行記錄中的全部記錄:SET_ITEM_PROPERTY
如果是控制多行記錄中的單一行記錄:SET_ITEM_INSTANCE_PROPERTY
1.2、理解它們的最好區別就是親自動手寫一例子。
例: ①控制資料塊T_TEST(多條記錄)的ITEM的某一條記錄是否可更改。
SET_ITEM_INSTANCE_PROPERTY(?T_TEST.TID‘, CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_FALSE);
SET_ITEM_INSTANCE_PROPERTY('T_TEST.TID', CURRENT_RECORD,INSERT_ALLOWED,PROPERTY_FALSE);
Effect:
③ 控制資料塊T_TEST(多條記錄)的單個ITEM的全部記錄是否可更改。
SET_ITEM_PROPERTY('T_TEST.TID',ENABLED,PROPERTY_FALSE);--ITEM不可獲得焦點
或:
SET_ITEM_PROPERTY('T_TEST.TID‘,INSERT_ALLOWED,PROPERTY_FALSE);
-- ITEM可以獲得焦點 SET_ITEM_PROPERTY('T_TEST.TID',UPDATE_ALLOWED,PROPERTY_FALSE);
/* 如果此時使用SET_ITEM_INSTANCE_PROPERTY進行更改可用狀態,必須先使用SET_ITEM_PROPERTY改回可寫屬性,之後方可使用SET_ITEM_INSTANCE_PROPERTY。
③控制資料塊某個ITEM只允許insert,不允許delete.
在when-new-form-instance中加入
--先將資料塊設為不可刪除 set_block_property('T_TEST ',delete_allowed,property_false);
--然後對ITEM設為不可update set_item_property(' T_TEST .TID',update_allowed,property_false);
2、用程式碼控制ITEM的可見性 SET_ITEM_PROPERTY('CONTROL.ITEM1', ENABLED, PROPERTY_FALSE);
4:實現將LOV可以自行錄入內容
在WHEN-NEW-ITEM-INSTANCE觸發器加入
begin
set_item_property('block.item1', VALIDATE_FROM_LIST, property_false);
end;
5: 在FORMS呼叫WEB頁面
web.show_document('http://www.sina.com.cn','_blank'); 第二引數為頁面的載入方式,有四種選擇。
_SELF
_PARENT
_TOP
_BLANK
Effect:自己可以去show一下,印象會比較深。
6:Forms資料提交的方式
1、commit_form 先針對form上面的資料變動進行commit,然後對於程式碼中的類似DML語句也進行提交; 如果form上面的資料變動和程式碼中的資料變動有衝突,最後以FORM上的為 準。 適用:一般來在直接修改Form上的資料時,就使用commit_form。
2、commit 對form和資料庫進行提交。如果form上面的資料和程式碼中的資料變動有衝突,最後以FORM上的為準。 適用:一般來在直接使用DML程式碼修改資料時,就使用commit。
3、do_key('commit_form') 會首先尋找form下的triggers中的KEY-COMMIT這個trigger,並執行KEY-COMMIT中所寫的程式碼。 如果沒有KEY-COMMIT這個trigger,則會針對form和程式碼
一起提交。 如果form上面的資料變動和程式碼中的資料變動有衝突,最後以介面上的為準。 適用:只是更改了一下程式碼執行的任先順序,沒有什麼實質區別。
4、forms_ddl('commit') 只針對程式碼中的update,insert,delete語句進行提交。如果form上面的資料有變動,是不會提交的。 適用:一般不用。
7: 初始化操作
fnd_global.apps_initialize(fnd_profile.value('USER_ID'),fnd_profile('RESP_ID'),fnd_profile('RESP_APPL_ID'));
因為有的試圖資料是會通過user_id,resp_id,resp_appl_id來過濾的,所以在when-new-form-instance的時候,需要通過apps_initialize來進行初始化。
8: 設定窗體的位置
app_window.set_window_position('OPEN_CANVAS','CENTER','OPEN_WINDOW‘);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14766526/viewspace-1153566/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- EBS開發筆記-2筆記
- EBS DBA指南筆記1 2 3筆記
- Oracle EBS DBA指南筆記1-3Oracle筆記
- ebs二次開發1
- EBS DBA指南筆記筆記
- chatgpt介面開發筆記1:completions介面ChatGPT筆記
- iOS-Socket開發學習筆記-1iOS筆記
- springboot 開發學習筆記1Spring Boot筆記
- EBS R12.1.3 學習筆記 - EBS Product (模組)筆記
- Django之“學習筆記”網站開發1Django筆記網站
- Python全棧開發筆記—day1Python全棧筆記
- 開發筆記1|Java程式碼規約清單筆記Java
- 表白牆開發筆記2021-1-5筆記
- gd32筆記[1]-搭建PlatformIO開發環境筆記Platform開發環境
- fyne 開發筆記筆記
- Laravel 開發筆記Laravel筆記
- golang 開發筆記Golang筆記
- 【筆記】敏捷開發筆記敏捷
- EBS開發環境搭建開發環境
- 【EBS】主機併發程式開發
- tensorflow學習筆記1——mac開發環境配置筆記Mac開發環境
- android開發學習筆記系列(1)-android起航Android筆記
- 元件包開發筆記元件筆記
- 小程式開發筆記筆記
- Android開發筆記Android筆記
- IOS 開發筆記2iOS筆記
- Java 開發筆記16Java筆記
- EBS FORM PLL 開發入門ORM
- Application(EBS)開發整理(轉)APP
- ebs二次開發2
- ebs二次開發3
- ebs二次開發4
- ebs二次開發5
- ebs二次開發6
- ebs二次開發7
- 【EBS】Oracle EBS 之 OM 模組整理(1)Oracle
- 張紹文android開發高手課讀書筆記1Android筆記
- Hololens開發學習筆記設計篇(1)筆記