OracleERP界面开发form图文.docx

上传人:b****3 文档编号:5514802 上传时间:2022-12-18 格式:DOCX 页数:7 大小:18.74KB
下载 相关 举报
OracleERP界面开发form图文.docx_第1页
第1页 / 共7页
OracleERP界面开发form图文.docx_第2页
第2页 / 共7页
OracleERP界面开发form图文.docx_第3页
第3页 / 共7页
OracleERP界面开发form图文.docx_第4页
第4页 / 共7页
OracleERP界面开发form图文.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

OracleERP界面开发form图文.docx

《OracleERP界面开发form图文.docx》由会员分享,可在线阅读,更多相关《OracleERP界面开发form图文.docx(7页珍藏版)》请在冰豆网上搜索。

OracleERP界面开发form图文.docx

OracleERP界面开发form图文

OracleERP界面开发(form)-图文

安裝acleForm6i及補丁以後,你自己開發的Form與OracleEBIS其它的Form不一樣,如:

1.沒有工具欄;

2.不能用通用的快捷鍵F11、Ctrl+F11和F6等等

這種毛病在第一次開發人員的通病。

後來才知道,沒有做好Form前期準備工作,不多說了,開始做事吧

第一:

FTP到OracleEBIS服務器的devappl/au/11.5.0(也就是$AU_TOP)目錄下,下載二個文件夾:

Form和Reource,將它們保存在目錄D:

/Oralce/OracleForm目錄。

第二:

修改注冊表

2.1開始-->單擊”運行“-->輸入regedit--回車

2.2找到HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE數值名稱:

NLS_LANG,修改數值數據為AMERICAN_AMERICA.UTF8

2.3找到HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE數值名稱:

FORMS60_PATH,修改數值數據為D:

/Oracle/OracleForm/reource;D:

/Oracle/OracleForm/FORMS

呵呵。

準備工作做完成。

開發OracleEBISForm需要套用標準模板TEMPLATE.fmb即可,若自己開發類似的功能的Form,那真是NB人也!

此文件在D:

/Oracle/OracleForm/Form目錄中。

了解一下Form中的常用的對像:

1.DataBlock(數據塊):

相當於數據源,指定數據來源於哪個表、哪個視圖或過程等等。

2.Item(項目)是Form最小單元,也是DataBlock最小單元,相當也表或視圖也過程的遊標某一段。

3.Canvae(畫布)用於布局數據垮的界面。

畫布與數據塊沒有直接的對應關系,而是直接與Item對應,一個Canvae上的Item可以來源不同的DataBlock。

4.LOV(LOV):

相當於下拉列表也列表

5.Parameter(參數)相當於Form的全局變量,用於傳遞參數。

6.RecordGroup(記錄組):

是LOV的數據源。

7.Window(窗體):

一個Window隻能一個Canvae.8.Form:

一個Form可以多個Window下面手工創建一個簡單的Form

第一:

打開文件TEMPLANTE.fmb.另存為HHRALANTEST.fmb1.1選擇Open,然後彈出一個文件選擇對話框1.2打開TEMPLANTE.fmb

1.3另存文件為HHRALANTEST.fmb。

但是,Form的名稱還TEMPLANTE,選中TEMPLANTE-->右擊選擇PropertyPalette-->在Name欄位中輸入HHRALANTEST。

第二:

刪除樣版自帶的對像如下圖

2.1DataBlock:

BLOCKNAME、DETAILBLOCK2.2Canvee:

BLOCKNAME2.3Window:

BLOCKNAME

第三:

添加DataBlock3.1選擇DataBlock

3.2選擇Create,會彈出NewDataBlock對話框3.3選擇Buildanewdatablockmanually

3.4選擇剛才創建的DataBlock-->右擊選擇PropertyPalette

3.5修改Name為HHRALANTEST,並修改SubclaInformation為BLOCK3.6QueryDataSourceName輸入HHR_ALAN_TESTS(表名)

第四:

添加Canvae(畫布)

第五添加Window(窗口)

注意:

5.4中PrimaryCanva(主要畫布)為第四步添加的畫布HHRALANTEST第六修改Form之PropertyPalette(特征盤)的屬性,6.1ConoleWindow為FIRSTWIND

6.2FirtNavigationDataBlock為HHRALANTEST

第七修改畫布(HHRALANTEST)PropertyPalette的屬性7.1Window為FIRSTWIND

第八修改觸發器代碼和程序單位

8.1修改Form-->HHRALANTEST-->Trigger-->雙擊PER-FROMW如下圖

8.2修改Form-->HHRALANTEST-->ProgramUnit-->雙擊APP_CUSTOM(PackageBody)如下圖

注意:

若不修改以上二個程序單元,Form無在OracleEBIS中打開和關閉第九在HHRALANTEST的數據塊(DataBlock)中添加項目(Item)

9.1選擇Item

9.2創建Item

9.3選擇剛才創建的Item,右擊選擇PropertyPalette

9.4修改相關屬性如下圖

9.5修改Required為Ye,ColumnName欄位中輸入CODE如下圖

9.6選擇Item顯示哪張畫布上

9.7創建Item的標簽說明:

其它Item用重復按照上述方法創建。

注意:

Required為Ye表示在新增或修改時此欄此不能為空第十布署各個Item在畫布上的位置。

開發完成後要編譯,按Ctrl+Shift+K編譯通過。

接著上章節OracleForm開發

(2)--Form開發入門講

第一FTP上傳到$HHR_TOP/form/US(英文版本目錄)和$HHR_TOP/form/ZHS(簡體中文版本目錄)。

第二Telnet到OracleForm服務上,一定要用在$AU_TOP/form/US或$AU_TOP/form/ZHS目錄下編譯Form輸入如下命令:

f60gen$HHR_TOP/form/US/HHRALANTEST.fmbapp/apppaoutput_file=$HHR_TOP/form/US/HHRALANTEST.fm某f60gen:

命令頭固定的

$HHR_TOP/form/US/HHRALANTEST.fmb:

為第一步文件FTP上傳的目錄

app/apppa:

編譯form文件一定要用app用戶,因此也是固定的。

apppa是app用戶的密碼。

output_file=$HHR_TOP/form/US/HHRALANTEST.fm某:

編譯form文件到指定的目錄和名稱(HHRALANTEST.fm某)

第三在OracleEBIS系注冊表單

1.添加Form(SytemAdminitrator-->Application-->Form)

1.1輸入Form(表單名稱)注意一定要與Form文件名一樣:

HHRALANTEST

1.2選擇此Form中哪個系統中用的,本例選擇在HHRPOCutomization1.3輸入UerFormName(用戶表單名稱)

1.4輸入說明文件字

2.說明Form功能(SytemAdminitrator-->Application-->Function)

2.1輸入Function(功能名稱)

2.2輸入UerFunctionName(用戶功能名稱)

2.3定到位Propertie.

2.4選擇Type(功能類型)為Form

2.5定到位Form

2.6輸入或選擇HHRALANTEST(剛才添加的表單)其它項跟需要也可以一一填寫上去

3.將上步創建的功能添加到菜單(Menu)中去3.1查找到指定的菜單

3.2輸入Prompt(提示說明)

3.3輸入或選擇功能HHRALANTEST

上節學習開第一個Form,這個節在添加一個彈出下拉框

第一步:

添加記錄組

1.1選中RecordGroup1.2單擊Create1.3輸入查詢SQL1.4單擊OK

1.5修改剛才創建的RecordGroup為VENDORRG

第二步:

添加LOV

2.1選中LOV2.2單擊Create

2.3選擇BuildanewLOVmanually,單擊OK2.4改修LOV為VENDOR_LOV

2.5打開VENDOR_LOV的特征盤(Palette),Title輸入供應商,選擇RecordGroup為VENDORRG

2.6單擊ColumnMappingPropertie,顯示LOVColumnMapping窗口,在

ColumnName下拉框中輸入列名VENDOR_CODE(此列名與上面RecordGroup為VENDORRG中的SQLSelect語句字段一樣),ReturnItem選擇返回給數據塊HHRALANTEST中項目VENDOR_CODE,DiplayWidth是顯示列寬,ColumnTitle是顯示列名。

如果不需返回給某項目,ReturnItem為空。

但是,DiplayWindow和Column

Title是一定要輸入。

1.FND_MESSAGE.SET_STRING(‘’)。

此消息一定要結合FND_MESSAGE.SHOW或FND_MESSAGE.ERROR或FND_MESSAGE.HINT或FND_MESSAGE.WARN或

FND_MESSAGE.QUESTION使用才能彈出對話窗口或顯示消息。

例如:

FND_MESSAGE.SET_STRING(‘陳顯平測試OracleForm的消息,’||Chr(10)||

‘大家看一下是否成功?

’);FND_MESSAGE.SHOW;

2.FND_MESSAGE.SET_NAME(‘’,’’)

此消息也要結合FND_MESSAGE.SHOW或FND_MESSAGE.ERROR或FND_MESSAGE.HINT或FND_MESSAGE.WARN或

FND_MESSAGE.QUESTION使用才能彈出對話窗口或顯示消息。

參數說明:

:

用應產品簡稱.如下圖紅色圓框:

:

消息代碼。

若在系統表中找不對應消息說明,則消息說明自動默認為。

還有,消息代碼使用前自動轉換大寫。

為何OracleForm要內置此函數?

它是為了系統定義多語言版本。

例如:

FND_MESSAGE.SET_NAME(‘FPT’,’ORACLE_001’);FND_MESSAGE.ERROR;

3.FND_MESSAGE.DUBEG(‘’);

它是用於調試的,效果等同於FND_MESSAGE.SET_NAME或FND_MESSAGE.SET_STRING結合FND_MESSAGE.SHOW使用。

例如:

FND_MESSAGE.DEBUG(‘陳顯平測試OracleForm的消息,’||Chr(10)||

‘大家看一下是否成功?

’);

4.FND_MESSAGE.SHOW、FND_MESSAGE.ERROR、FND_MESSAGE.HINT和FND_MESSAGE.WARN的區別FND_MESSAGE.SHOW提示的是注意消息,如下圖

FND_MESSAGE.ERROR提示的是誤錯消息,如下圖

FND_MESSAGE.HINT是顯示在表單中的狀態欄,如下圖

FND_MESSAGE.WARN提示有“確認”和“取消”二個按鈕,選擇進下一步操作,它與FND_MESSAGE.QUESTION類似。

5.FND_MESSAGE.QUESTION(BUTTON1INVARCHAR2,BUTTON2INVARCHAR2,BUTTON3INVARCHAR2,DEFAULT_BTNINNUMBER,CANCEL_BTNINNUMBER,ICONINVARCHAR2)

用於自定義對話按鈕,比FND_MESSAGE.WARN要靈活多了。

例如:

FND_MESSAGE.SET_STRING(‘陳顯平測試OracleForm的消息,’||Chr(10)||‘大家看一下是否成功?

’);

Int_Chooe:

=FND_MESSAGE.QUESTION(‘確定’,null,’取消’,1,2,’NOTE’);IfInt_Chooe=2ThenNull;

EleIfInt_Chooe=1ThenNull;EndIf;

按照OracleForm開發

(2)—Form入門的第一到第二步步驟創建一個HHRJEWELS表單。

使用數據塊向導導入三表表分別:

HHR_JEWEL_ITEMS、HHR_JEWEL_STONE和HHR_JEWEL_GOLDS,基中導入的數據塊名與表名相同,但是可以重命名(如

HHR_JEWEL_ITEMSW重命名為HHRJEWEL,HHR_JEWEL_STONE重命名為HHRSTONE),數據塊向導導入的好處就是數據塊和項目屬性默認與表結構相同,如數據類型、字段長度和是否允許為空等等,減少手工設置。

HHR_JEWEL_STONE和HHR_JEWEL_GOLDS是表HHR_JEWEL_ITEMS二個屬性描述表,類似於PO明細與PO主題關系。

因此,需要創建它們之間關系:

1.選取數據塊HHRJEWEL下的Relation2.單擊創建按鈕

3.選擇細明數據塊HHRSTONE

4.選擇Non-Iolated,若明細表存在記錄,則主題表不能刪除;若選擇iolated並明細表存

在記錄,則主題表也能刪除。

5.入輸ITEM_ID,主題表與明細表之間相關聯的字段。

以同樣方法創建HHRJEWEL與HHR_JEWEL_GOLDS的關系。

在創建二個關系同時,數據塊HHRJEWEL觸發器自動創建二個事件:

ON-POPULATE-DETAILS和ON-CHECK-DELETE-MASTER,程序單元(ProgramUnit)也自動創建三個過程:

Check_Package_Failure、Clear_All_Mater_Detail和Query_Mater_Detail。

注意:

要查看二個明細表中的項目ITEM_ID屬性CopyValuefromItem是否為HHRJEWEL.ITEM_ID

創建HHRJEWEL畫布,它為HHRJEWEL窗體的首要畫布。

在此畫布上添加一個框架(Frame),並設置此框架屬性如:

LayoutDataBlock為HHRJEWEL

UpdateLayout為Automatically表示自動布局,若要改為手工布局,則此項為Manually。

當添加項目到畫布時,項目會自動布局。

使用框的好處是方便版面布局和界面簡潔。

但是,我們看到界面中沒有ITEM_ID項目,這個項目是不需要顯示在界面上的,它新增時自動產生的。

因此,在表單新增記錄時,需要在HHRJEWEL數據塊觸發器上添加事件:

ON-INSERT,事件代碼如下:

Declare

Ma某ItemIDnumber;begin

electMa某(ITEM_ID)IntoMa某ItemIDFromHHR_JEWEL_ITEMS;IfMa某ItemIDiNullThenMa某ItemID:

=1;Ele

Ma某ItemID:

=Ma某ItemID+1;Endif;

:

HHRJEWEL.ITEM_ID:

=Ma某ItemID;

InertIntoHHR_JEWEL_ITEMS(ITEM_ID,BAR,JEWEL_NAME,DESCR)Value(

:

HHRJEWEL.ITEM_ID,:

HHRJEWEL.BAR,

:

HHRJEWEL.JEWEL_NAME,:

HHRJEWEL.DESCR);End;

創建Tab畫布,與HHRJEWEL畫布是不一樣的,首先需要在工具欄中選擇TabCanva,然後在HHRJEWEL畫布上繪畫Tab畫布區域大小,這樣就創建了一個Tab畫布。

它默認是一個TabPage。

設置Tab畫布的類型為:

Tab_CANVAS.

分別設置TabPage的標簽名為HHRSTONE和HHRGOLD

但是,我們要在這個TabPage頁上實現表格有水平和垂直滾動條,是不可能的事,因為TabCanva上不能再放StackedCanva。

而二個滾條同時出現,就必須要有StackedCanva。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1