FORMSUM.docx

上传人:b****1 文档编号:14864673 上传时间:2023-06-28 格式:DOCX 页数:21 大小:123.89KB
下载 相关 举报
FORMSUM.docx_第1页
第1页 / 共21页
FORMSUM.docx_第2页
第2页 / 共21页
FORMSUM.docx_第3页
第3页 / 共21页
FORMSUM.docx_第4页
第4页 / 共21页
FORMSUM.docx_第5页
第5页 / 共21页
FORMSUM.docx_第6页
第6页 / 共21页
FORMSUM.docx_第7页
第7页 / 共21页
FORMSUM.docx_第8页
第8页 / 共21页
FORMSUM.docx_第9页
第9页 / 共21页
FORMSUM.docx_第10页
第10页 / 共21页
FORMSUM.docx_第11页
第11页 / 共21页
FORMSUM.docx_第12页
第12页 / 共21页
FORMSUM.docx_第13页
第13页 / 共21页
FORMSUM.docx_第14页
第14页 / 共21页
FORMSUM.docx_第15页
第15页 / 共21页
FORMSUM.docx_第16页
第16页 / 共21页
FORMSUM.docx_第17页
第17页 / 共21页
FORMSUM.docx_第18页
第18页 / 共21页
FORMSUM.docx_第19页
第19页 / 共21页
FORMSUM.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

FORMSUM.docx

《FORMSUM.docx》由会员分享,可在线阅读,更多相关《FORMSUM.docx(21页珍藏版)》请在冰点文库上搜索。

FORMSUM.docx

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');

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2