




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——OracleEBSForm開發(fā)小技巧匯總content
OracleEBSForm開發(fā)小技巧匯總2Form中Block的重新查詢9客戶化Form中實(shí)現(xiàn)行號(hào)功能12使用Custom.pll修改標(biāo)準(zhǔn)Form的LOV16實(shí)現(xiàn)主從關(guān)系Form中匯總行金額/數(shù)量21OracleEBS客戶化程序中格式化金額25Form中動(dòng)態(tài)創(chuàng)立PopList28OracleEBS環(huán)境下查找數(shù)據(jù)源(Form篇)30解決EBS中混淆經(jīng)營(yíng)單位和庫(kù)存組織問(wèn)題39多組織訪問(wèn)控制(MOAC)43序號(hào)API46[FORM]一步步教你如何在form中使用pl/sql將數(shù)據(jù)文件上傳到客戶表中56
OracleEBSForm開發(fā)小技巧匯總
09月20,2023分類:OracleEBS二次開發(fā):alther1986本文記錄了一些在Form開發(fā)過(guò)程中積累下來(lái)的技巧:1.Form中提交并發(fā)請(qǐng)求2.非數(shù)據(jù)庫(kù)字段查詢處理3.控制Form為只查詢4.控制Item的屬性5.Trigger的執(zhí)行層次6.按鈕處理規(guī)律7.日歷相關(guān)
1,F(xiàn)orm中提交并發(fā)請(qǐng)求
在提交請(qǐng)求之前,首先需要驗(yàn)證塊,假使某些必填項(xiàng)沒(méi)有填的話當(dāng)然不能提交請(qǐng)求。
?
[Copytoclipboard]ViewCodePLSQL
1APP_STANDARD.APP_VALIDATE(BLOCK_SCOPE);2IF(notFORM_SUCCESS)THEN
3Raiseform_trigger_failure;
4ENDIF;
5IF:SYSTEM.FORM_STATUS='CHANGED'THEN6DO_KEY('COMMIT_FORM');7ENDIF;
其次個(gè)IF語(yǔ)句判斷系統(tǒng)狀態(tài),假使用戶更新了一行記錄,之后沒(méi)有保存提交請(qǐng)求,那么需要在提交之前進(jìn)行保存,由于可能使用的請(qǐng)求中使用到了該item所對(duì)應(yīng)的后臺(tái)字段,那么保存這一步就很重要了。調(diào)用請(qǐng)求的例子:
?
[Copytoclipboard]ViewCodePLSQL
l_request_id:=fnd_request.submit_request
('XXPO','XXPO_JIT_BATCHES_RPT_SECOND','','',FALSE,:SUBJOBS.SUB_JOB_BATCH,CHR(0)--CHR(0)表示參數(shù)終止NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
1
2
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3
4
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,5
6
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,7
8
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,9
10
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,11
12
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,13
14
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,15
16
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);17
--假使請(qǐng)求提交出錯(cuò)將會(huì)返回018
ifl_request_id0then19
ifNOTapp_form.quietcommitthen20
fnd_message.debug('concrequestsubmitedfailed');21
raiseFORM_TRIGGER_FAILURE;22
endif;23
fnd_message.set_name('FND','CONC-SUBMITTEDREQUEST');24
fnd_message.set_token('REQUEST_ID',to_char(l_request_id));fnd_message.show;
endif;
請(qǐng)求運(yùn)行終止以后,可能還需要對(duì)Block進(jìn)行重新查詢,這個(gè)由具體狀況而定。
并發(fā)請(qǐng)求中有一個(gè)Start_Time的參數(shù),可以設(shè)置成何時(shí)提交該請(qǐng)求。具體請(qǐng)參考Userguide里面對(duì)fnd_request.submit_request的描述。
2,對(duì)于非數(shù)據(jù)庫(kù)字段的查詢
在Form中在查詢的記錄不希望某些記錄顯示出來(lái),例如不需要供應(yīng)商A被顯示出來(lái),假設(shè)供應(yīng)商A是數(shù)據(jù)庫(kù)項(xiàng),可以使用set_block_property(’block_name’,
DEFAULT_WHERE,
‘VENDOR_NAME’||‘A’)
但是建議不要使用上述方法,因?yàn)锽lock的Defaultwhere一旦被設(shè)置了以后,并不是只有本次生效,而是一直生效,也就是當(dāng)下一次使用Ctrl+F11來(lái)進(jìn)行查詢的時(shí)候,實(shí)際上,查詢語(yǔ)句的where條件就一直加入了我們手動(dòng)加進(jìn)去的查詢語(yǔ)句。所以建議使用app_query.append來(lái)添加復(fù)雜的查詢語(yǔ)句。
我們的重點(diǎn)是對(duì)非數(shù)據(jù)字段的查詢,也就是如果供應(yīng)商為非數(shù)據(jù)庫(kù)項(xiàng),那么如果在查詢窗口中剛好對(duì)供應(yīng)商有這個(gè)查詢條件,該如何去做?
由于供應(yīng)商字段為非數(shù)據(jù)庫(kù)項(xiàng),那么只能在post-query中去判斷,例如在post-query中寫道:
IfVendor_name=‘A’then
Raiseform_trigger_failure;Endif;
那么供應(yīng)商A將不會(huì)被顯示出來(lái)。由于Post-query是在查詢出每條記錄時(shí)都執(zhí)行的,所以raiseform_trigger_failure并不影響只是阻止了本觸發(fā)器,但是并不是阻止了所有的。
最后要說(shuō)明的一點(diǎn)是建議還是不要采用這樣的方式,因?yàn)檫@是效率最低的判斷,如果可以使用數(shù)據(jù)庫(kù)項(xiàng)進(jìn)行查詢,就盡量不要使用這個(gè)方法。
3,控制Form只查詢
在定義Function的時(shí)候,如果在參數(shù)中加入QUERY_ONLY=YES,那么Form就只能查詢,在Form中調(diào)用
FND_FUNCTION.EXECUTE(FUNCTION_NAME=>‘XXPOFJCT’,
OTHER_PARAMS=>‘QUERY_ONLY=YES’);
那么新加出來(lái)的form就是只查詢狀態(tài)。這個(gè)QUERY_ONLY參數(shù)是系統(tǒng)自帶的一個(gè)參數(shù),但是實(shí)際上,它也是在Form的查詢中,進(jìn)行了對(duì)QUERY_ONLY參數(shù)的判斷。所以需要特別注意的就是,當(dāng)使用了這個(gè)參數(shù)后,客戶化的Form在控制塊查詢時(shí),是需要進(jìn)行QUERY_ONLY參數(shù)判斷的。
?
[Copytoclipboard]ViewCodePLSQL
ifname_in('parameter.query_only')'Y'and:block.item='TTTT'then
12set_block_property('block',update_allowed,property_true);3else4
5set_block_property('block',update_allowed,property_false);
endif;
對(duì)于上例中對(duì)塊進(jìn)行控制的語(yǔ)句,假使沒(méi)有參與對(duì)QUERY_ONLY的判斷,那么對(duì)具有只查詢功能的Function來(lái)說(shuō),QUERY_ONLY這個(gè)就等于沒(méi)有作用了,由于在這里,其他條件可能使得這個(gè)Form也是可以進(jìn)行修改的。
4,控制Item的屬性
凡是需要改變item屬性,都使用app_item_property.set_property()代替set_item_property。
假設(shè)通過(guò)某個(gè)item的值來(lái)決定另外一個(gè)item的屬性,例如名為status的item值決定了名為quantity的item是否可以更改,首先,第一個(gè)觸發(fā)器是POST-QUERY,當(dāng)查詢出記錄出,根據(jù)status的值來(lái)決定quantity,當(dāng)對(duì)某條記錄進(jìn)行更改的時(shí)候,需要對(duì)該記錄進(jìn)行重新判斷(假使修改的status就可能需要做出改變),所以
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租屋承包合同協(xié)議書
- 技術(shù)服務(wù)合同安全
- 商店運(yùn)營(yíng)承包合同協(xié)議書
- 手房獨(dú)家代理合同
- 土方工程墊資合同
- 轉(zhuǎn)讓店鋪合同
- 單位物業(yè)服務(wù)合同
- 全新考場(chǎng)租賃合同
- 車位雙方協(xié)議合同
- 足療店合同協(xié)議書模板
- 2023七年級(jí)數(shù)學(xué)下冊(cè) 第六章 概率初步 3 等可能事件的概率第2課時(shí) 游戲的公平性說(shuō)課稿 (新版)北師大版
- 各種注射技術(shù)常見并發(fā)癥的預(yù)防及處理
- 工程竣工驗(yàn)收流程匯報(bào)
- 夫妻房產(chǎn)贈(zèng)與一半?yún)f(xié)議書范本
- 《智能網(wǎng)聯(lián)汽車云控系統(tǒng) 第1部分 系統(tǒng)組成及基礎(chǔ)平臺(tái)架構(gòu)》
- 輸變電工程監(jiān)督檢查標(biāo)準(zhǔn)化清單-質(zhì)監(jiān)站檢查
- 首發(fā)經(jīng)濟(jì)專題講座課件
- 二年級(jí)小學(xué)生安全教育課件(有配套教學(xué)設(shè)計(jì))
- 人工智能賦能教師數(shù)字素養(yǎng)提升
- 壓力管道設(shè)計(jì)與審批人員考試題電子版真題1
- 小學(xué)三年規(guī)劃
評(píng)論
0/150
提交評(píng)論