FORMSUM.docx
- 文档编号:27199193
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:21
- 大小:123.89KB
FORMSUM.docx
《FORMSUM.docx》由会员分享,可在线阅读,更多相关《FORMSUM.docx(21页珍藏版)》请在冰豆网上搜索。
FORMSUM
FORM讲义(基础篇)
创建者:
创建日期:
2008/05/13
更新日期:
版本:
0.9
目录
一、FORM安装
以FORM6I为例.
1.FORM的安装
1.1Forms6I的安装:
\\192.168.1.123\Software\Forms6i
1.2forms6ipatch的安装:
\\192.168.1.123\Software\forms6ipatch
1.2.1.p4261542_600_GENERIC
1.2.2.p4768418_600_WINNT
1.2.3.p4948577_600_WINNT
2.form和resource的取得(Application11i)
2.1从SERVER中取得au下的form和resource资源(一般可以把所有的库copy到本地机器).
2.2至少需要下列的库和Forms
-APPCORE.pll,FNDSQF.pll,APPDAYPK.pll,CUSTOM.pll,VERT.pll,GLOBE.pll,JA.pll,JE.pll,JL.pll,GHR.pll,PSAC.pll,PQH_GEN.pll,OPM.pll
-很多Forms需要APPFLDR.pll
-其它任何CustomForms关联的库
-至少还需要APPSTAND.fmb
3.注册表的设置
3.1FORMS60_PATH的设置
3.2NLS_LANG的设置
二、FORM的编译
1.本地编译
File->Administration->CompileFile(Ctrl+T)
2.服务器上编译(EBS开发)
2.1编译form使用APP用户。
Fmb文件存放路径:
一般放在…/oca/ggmuappl/au/11.5.0/forms/US和特定的目录下。
如:
一些标准的FORM文件放在…/oca/ggmuappl/au/11.5.0/forms/US下;
开发的FORM文件放在…/oca/ggmuappl/ggc/1.0.0/forms/US下.
2.2编译form前运行环境设定
->cd/usr3/ggm2/oca/ggm2appl
->.APPSORA.env
2.3编译命令:
f60gen
例:
f60genmodule=GGMD5008_12userid=APPS/APPSCOMPILE_ALL=YES
(module_type=LIBRARYoutput_file=GGMD5008)
三、05.FORM的介绍
1.01.FormsBuilder(Introduction).ppt
•Introduction
•FormsObjects
–Forms,Windows,andCanvas
–DataBlocks
–Items
–LOVsandRecordGroups
–ProgramUnits
–PL/SQLLibraries
–Triggers
–Parameters
–Alerts
–PropertyClasses
–VisualAtttributes
–EditorsandPopupMenus
–ObjectGroups
-GlobalVariablesandSystemVariables
-FormsBuild-ins
•Menu
•ObjectLibraries
•Built-inPackages
•FormBuilderHelp
•Template說明與使用
•如何利用Template寫一支完整的Form
•Form測試
•ErrorMessage
•OracleDatabaseErrorMessage
•自訂ErrorMessage
•練習與測驗
2.02.FormsBuilder(Forms,Windows,Canvas).ppt
•Form常用的屬性(Property)
•Canvas常用的屬性
•StackedCanvas
•只可疊放在ContentCanvas上,不可單獨存在。
•Size可大於ContentCanvas,利用StackedCanvas本身的ScrollBar來拉動可見的範圍。
•可多個相疊在ContentCanvas上,但本身不可再放入其他Canvas。
•由程式碼控制顯示的StackedCanvas,達到切換的效果。
•StackedCanvas特殊的屬性
•TabCanvas
•可單獨存在,亦可疊放在ContentCanvas上。
•本身不可再放入其他Canvas。
•以TabPage作畫面的顯示與切換,顯示的順序即為排列的順序。
•TabPage可多個。
•TabCanvas特殊的屬性
•Window常用的屬性
3.03.FormsBuilder(Blocks).ppt
•Block分二種:
-DatabaseBlock。
-Non-DatabaseBlock。
•常用的Block屬性:
•Master-DetailRelations
•Master-DetailRelations屬性說明如下:
4.04.FormsBuilder(Items).ppt
•一般常用的Item種類
•常用一般的Item屬性:
•ListItem重要的屬性:
•RadioGroup重要的屬性:
•CheckBox重要的屬性:
5.05.FormsBuilder(LovsandRecordGroups).ppt
•LOV:
ListOfValues
•LOV重要的屬性:
•RecordGroup重要的屬性:
6.06.FormsBuilder(ProgramUnitsandLibraries).ppt
•ProgramUnit
•PL/SQLLibraries
AttachedLibraries:
7.07.FormsBuilder(Triggers).ppt
KEYTrigger:
TriggerName
說明
DefaultAction
KEY-NEXT-ITEM
NextItem(一般為Tab)
NEXT_ITEM;
KEY-PREV-ITEM
PreviousItem(一般為Shift-Tab)
PREVIOUS_ITEM;
KEY-NXTREC
Gotothefirstenabledandnavigableiteminthenextrecord
NEXT_RECORD;
KEY-PRVREC
Gotothefirstenabledandnavigableiteminthepreviousrecord
PREVIOUS_RECORD;
KEY-DOWN
Navigatestotheinstanceofthecurrentiteminthenextrecord.
DOWN;
KEY-UP
Navigatestotheinstanceofthecurrentiteminthepreviousrecord.
UP;
KEY-SCRDOWN
Scrolldownonepageofthescreen
SCROLL_DOWN
KEY-SCRUP
Scrolluponepageofthescreen
SCROLL_UP
KEY-NXTBLK
NextBlock
NEXT_BLOCK;
KEY-PRVBLK
PreviousBlock
PREVIOUS_BLOCK;
KEY-CLRREC
ClearRecord
CLEAR_RECORD;
KEY-CLRBLK
ClearBlock
CLEAR_BLOCK;
KEY-CLRFRM
ClearFormandRollbackallTransactions
CLEAR_FORM;
orROLLBACK;
KEY-COMMIT
SaveandCommitTransactions
COMMIT_FORM;
orCOMMIT;
KEY-DELREC
DeleteRecord
DELETE_RECORD;
KEY-CREREC
CreateRecord
CREATE_RECORD;
KEY-ENTQRY
EnterQueryMode
ENTER_QUERY;
KEY-EXEQRY
ExecuteQuery
EXECUTE_QUERY;
KEY-DUP-ITEM
Assignsthecurrentitemthesamevalueasthethepreviousrecord.
DUPLICATE_ITEM;
KEY-DUPREC
DuplicatethePreviousRecord
DUPLICATE_RECORD;
KEY-LISTVAL
顯示LOV
LIST_VALUES;
KEY-EXIT
NORMALMode:
Exitform
EXIT_FORM;
ENTER-QUERYMode:
ExitENTER-QUERYMode
MouseTrigger:
TriggerName
說明
WHEN-MOUSE-CLICK
滑鼠單擊
WHEN-MOUSE-DOUBLECLICK
滑鼠雙擊
WHEN-MOUSE-DOWN
按下滑鼠左鍵
WHEN-MOUSE-UP
放開滑鼠左鍵
WHEN-MOUSE-ENTER
鼠標進入TriggerDefinitionObject範圍之內
(Onlyvalidforclient/serverapplications)
WHEN-MOUSE-LEAVE
鼠標離開TriggerDefinitionObject範圍
(Onlyvalidforclient/serverapplications)
WHEN-MOUSE-MOVE
鼠標在TriggerDefinitionObject範圍之內移動
(Onlyvalidforclient/serverapplications)
WHEN-BUTTON-PRESSED
單擊ButtonItem
NavigationalTrigger:
TriggerName
說明
OnFailure
PRE-FORM
每次游標進入Form之前
無法進入此Form
WHEN-NEW-FORM-INSTANCE
每次游標成功進入Form之後
Noeffect
POST-FORM
每次離開Form之前
無法離開此Form,退回原欄位
PRE-BLOCK
每次游標進入Block之前
無法進入此Block,退回原欄位
WHEN-NEW-BLOCK-INSTANCE
每次游標成功進入Block之後
Noeffect
POST-BLOCK
每次游標離開Block之前
無法離開此Block,退回原欄位
PRE-RECORD
每次游標進入一筆資料之前
無法進入這筆資料任何Item,退回原欄位
WHEN-CREATE-RECORD
每次一筆新空白資料被Block產生出來的時候
無法產生該筆空白資料
WHEN-NEW-RECORD-INSTANCE
每次游標成功進入一筆資料之後
Noeffect
POST-RECORD
每次游標離開Record之前
無法離開這筆資料
PRE-TEXT-ITEM
每次游標進入欄位之前
無法進入此欄位,退回原欄位
WHEN-NEW-ITEM-INSTANCE
每次游標成功進入欄位之後
Noeffect
POST-TEXT-ITEM
每次游標離開欄位之前
無法離開此欄位
ValidationTrigger:
TriggerName
說明
OnFailure
WHEN-VALIDATE-ITEM
該欄位值被更動,離開此欄位之前。
一般用於檢核單一欄位值。
無法離開此欄位
WHEN-VALIDATE-RECORD
該筆資料任一欄位值被更動,離開該筆資料之前。
一般用於檢核二個以上的欄位值。
無法離開該筆資料
QueryTrigger:
TriggerName
說明
OnFailure
PRE-QUERY
Block執行SQLSelectstatement之前。
一般用於處理或設定查詢條件。
中斷查詢
POST-QUERY
Block從資料庫Fetch到資料之後。
一筆資料觸動一次。
Clear該筆資料,並Fetch下一筆資料
TransactionalTrigger:
TriggerName
說明
DefaultAction
PRE-DELETE
Block執行DeleteSQLStatement之前。
刪除一筆資料觸動一次。
ON-DELETE
Block執行DeleteSQLStatement。
刪除一筆資料觸動一次。
DELETE_RECORD;
POST-DELETE
Block執行DeleteSQLStatement之後。
刪除一筆資料觸動一次。
PRE-COMMIT
Form每次開始DatabseTransaction動作之前。
每次存檔觸動一次
ON-COMMIT
Form執行DatabaseCommitStatement。
每次存檔觸動一次。
ON-LOCK
每筆資料被修改/刪除,Form作RowLock動作時
LOCK_RECORD
四、テンプレート説明
1.TEMPLATE的说明
•Template每个版本都会变化,新的功能会被添加到Template中。
•Template从APPSTAND中引用了很多的对象
•Template中包含Exampleblock和Window.
1.ObjectGroup
•STANDARD_TOOLBAR
–ContainsToolbaritems.
•STANDARD_PC_AND_VA
–VisualAttributes
–PropertyClasses
•STANDARD_CALENDAR
–ContainsCalendaritems.
2.Propertyclass
•应用PropertyClasses(ApplyPropertyClasses)
–几乎所有的Form中的对象都有相应的PropertyClass对应..
–在创建对象后,要将他的PropertyClass设置为相应的PropertyClass,以便继承标准的属性。
•DoNotOverridePropertyClassAttributes
–不要修改继承下来的属性,除非编译需要。
–在大多情况下,不要修改继承下来的属性,否则可能会使对象出现不规则的外观和动作,迷惑用户。
–被继承的属性不会相应将来OracleApplication对相应PropertyClass的修改。
–OracleApplicationCodingStandard指出那些属性可以修改。
3.ColorsandVisualAttributes
•AutomaticColors
–画面对象在FormsBuilder的LayoutEditor中可能不会呈现出正确的颜色,但在程序运行时会自动设置颜色。
–在运行时颜色会根据环境自动改变。
–Oracle极力反对修改他们的配色。
•VisualAttributes
–VisualAttribute应用与OracleForms对象的设置标准字体和颜色的字体和颜色的组合。
–设置对象的PropertyClass会把正确的VisualAttribute相应的赋予对象。
4.Calendar
•从APPSTAND.fmb中引用的STANDARD_CALENDAR包含CalendarItems.
•可以在所有输入日期的项目中调用Calendar。
•可以在Calendar中控制只能选择有效的日期。
5.library
APPCORE.pll,FNDSQF.pll,APPDAYPK.pll,CUSTOM.pll,VERT.pll,GLOBE.pll,JA.pll,JE.pll,JL.pll,GHR.pll,很多Forms需要APPFLDR.pll
6.Triggers
对于以下Trigger中的文本必须保留,然而在通常的开发中需要在这些文本的
前面或后面加上所需的编码,不要删除原Tirgger中对APP_STANDARD.EVENT
的调用.
KEY-CLRFRM
在原有的代码后面添加代码
KEY-COMMIT
KEY-DUPREC
KEY-EDIT
KEY-EXIT
KEY-HELP
KEY-LISTVAL
在需要用Calendar输入日期的项目中需要添加该Trigger来显示Calendar.
KEY-MENU
ON-ERROR
在BlockLevel和ItemLevel重写此Trigger来处理特定的错误。
如果碰到不能处理的错误Raise这个错误,让FormLevel的Trigger来处理
需要注意的是并不是所有的错误都会交给ON-ERROR来处理,一部分是ON-MESSAGE处理。
POST-FORM
在原有代码前添加代码
PRE-FORM
WHEN-FORM-NAVIGATE(reference)
WHEN-NEW-FORM-INSTANCE
WHEN-NEW-BLOCK-INSTANCE
WHEN-NEW-ITEM-INSTANCE
WHEN-NEW-RECORD-INSTANCE
WHEN-WINDOW-CLOSED
WHEN-WINDOW-RESIZED
User-NamedTrigger
ACCEPT
缺省的动作时Save并且将光标移动到第一个NavigationDataBlock的下一条Record.
CLOSE_THIS_WINDOW(reference)
CLOSE_WINDOW
EXPORT(reference)
FOLDER_ACTION
FOLDER_RETURN_ACTION
LASTRECORD(reference)
MENU_TO_APPCORE(reference)
QUERY_FIND
STANDARD_ATTACHMENTS(reference)
ZOOM(reference)
红色:
OracleApplication极力不支持修改的一些Trigger
水色:
通常需要一些修改的Trigger
•可以添加到Block或Itemlevel的Triggers
–WHEN-NEW-RECORD-INSTANCE
–WHEN-NEW-BLOCK-INSTANCE
–WHEN-NEW-ITEM-INSTANCE
–KEY-DUPREC
–KEY-MENU
–KEY-LISTVAL
–QUERY_FIND
–ACCEPT
–ON-ERROR
2.GGテンプレート説明書1.doc的说明
1.构成:
テンプレートFORM:
GGTEMPLATE1.FMB
デモ用のTABLEスクリプト:
cr_GGTEMPLATE1.sql
デモ用のVIEWスクリプト:
cr_GGTEMPLATE1_V.sql
今回のプロジェクト用の共通ライブラリ:
GGSTAND.PLL
2.画面IMAGE
检索画面->一览画面->详细画面
启动时的画面:
检索和一览画面
3.FORM基本上是基于试图做成
4.FOLDER功能(做成方法在提高篇介绍):
参照OracleFormDev3.ppt
5.FORM做成步骤略:
参照即可(自己练习)
五、EBS的FORM开发(EBS开发基本步骤)
1.ControllingWindowBehavior
1.OpenWindow
STEP1:
ADD/MODITrigger(例:
HEADER->LINES)
TriggerPRE-FORM(最初のWINDOW位置を指定します。
):
app_window.set_window_position('HEADER','FIRST_WINDOW');
TriggerWHEN-BUTTON-PRESSED:
APP_CUSTOM.OPEN_WINDOW('LINES');
STEP2:
MODIapp_custom.open_window
if(wnd='LINES')then
APP_WINDOW.SET_WINDOW_POSITION('LINES','CASCADE','HEADER');
GO_ITEM('LINES.ITEM1_CODE');
2.CloseWindow(例:
HEADER->LINES->SHIPMENTS)
if(wnd='HEADER)then
app_window.close_first_window;
elsif(wnd='LINES')then
App_costom.close_window(‘SHIPMENTS’)
if(wnd=get_view_property(get_item_property(:
SYSTEM.CURSOR_ITEM,
ITEM_CANVAS),WINDOW_NAME))then
GO_BLOCK(‘HEADER’);
endif;
elsif(wnd='SHIPMENTS')then
if(wnd=get_view_property(get_item_property(:
SYSTEM.CURSOR_ITEM,
ITEM_CANVAS),WINDOW_NAME))then
GO_BLOCK(‘LINES’);
endif;
endif;
if(wnd=get_view_property(get_item_property(:
SYSTEM.CURSOR_ITEM,
ITEM_CANVAS),WINDOW_NAME))then
do_key('PREVIOUS_BLOCK');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FORMSUM