版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FormDevelopment第1页AgendaIntroducetoOracleFormDevelopmentCreateaFormandsetrelatedPropertyPropertyOverviewCommonUsedItemsVisualAttributes/AlertFormTriggerAdditionalDevelopment第2页IntroducetoOracleDevelopmentDesignerFormsBuilderReportBuilderDiscovererJdeveloperOracleDesigntools开发Oracle表单应用及UI界面,实现与
数据库交互开发Oracle报表,用与展现业务数据OracleBI工具,实现OLAP功能开发OracleJAVA表单,OAF应用第3页IntroducetoOracleFormDevelopment第4页IntroducetoOracleFormDevelopmentColumnCanvasTriggerTriggerItemItemItemFrameWindowTableDatabaseModuleDatabaseTableBlock(s)BlocksColumnItemItemItemFrameCanvasWindowTriggerTriggerProgramUnitsProgramunitsTriggerTrigger第5页IntroducetoOracleFormDevelopment数据块、画布、视窗可输入块对象:
文本项
复选框
单选框
非输入对象:
按钮
显示项
列表项值列表、警告、统计组对象组、属性类、程序单元、参数、各层触发器第6页FormBuilder–CreateaForm首先建立一种新FormModule
用鼠标选中FormModule一层,再选择添加菜单即可
然后添加DataBlock到FormModule之中
第7页FormBuilder–CreateaFormOracleFormBuilder使用DataBlock去和后台数据库中某个表(Table)或视图(View)有关联,因此,假如是手工创建DataBlock,必须自己指定此DataBlock数据源,即它对应Table或View,打开Block属性窗口之后,修改BlockDataSource:第8页FormBuilder–CreateaForm创建好DataBlock之后,在刚创建DataBlock之中,添加Item第9页FormBuilder–CreateaFormBlock对应于数据库中表或视图,填入item则将对应于该表或视图中某个字段。这时,我们需要修改item属性
第10页FormBuilder–CreateaForm创建好Block之后,添加一种新画布,先选中画布,再按添加按钮
修改item属性,将它对应画布名称添上
打开画布,调整有关项目标布局简单一种Form第11页FormBuilder–CreateaForm假如是选择向导自动创建DataBlock选择表或视图,及表中字段:
第12页FormBuilder–CreateaForm创建布局
第13页FormBuilder–CreateaForm选择要在画布上显示Item
第14页PropertyOverview-Window视窗是一种Form中显示控件基础。通过在视窗上多种控件,顾客才能够交互式操作后台数据库中数据视窗可分为两大类,一类是模式窗口,一类是非模窗口。非模窗口能够允许顾客在目前窗口和它背面窗口中自由切换。而模式窗口则不能切换目前窗口和它背面窗口。只有目前窗口被关闭后来,顾客才能操作其他窗口界面
第15页PropertyOverview-Canvas画布有多种类型,包括内容式画布、折叠式画布、滚动条画布等。内容式画布是最基本画布。它总是被显示在视窗上,不会被其他画布所切换。因此我们能够用它来显示某些永远要显示在屏幕上控件第16页PropertyOverview–DataBlock可指定Block中统计导航方式己多种Block之间导航次序可指定Block中统计在画布上显示统计方式等可指定此Block是否是基于数据库,以及是否允许删除,修改,插入操作等主要属性第17页PropertyOverview–DataBlock
Relationoftheblock第18页PropertyOverview–DataBlock
Relationoftheblock第19页PropertyOverview–Item文本项是系统缺省项类型,当您创建一种新项时,系统默认它是一种文本项。文本项可用来查询,修改,增加,删除一种数据库中表或视图里一种字段在功能属性组里,能够指定文本项诸如是否启用等某些功能在导航组里,能够指定此文本项是否允许键盘导航(不然只能用鼠标导航),以及在DataBlock里,它前一种导航项及后一种导航项在数据组里,可指定此文本项对应数据库后台里字段数据类型,长度,显示及修改格式,最大最小值限制,以及是否必须要求输入数值等在计算组里,能够指定此文本项不是针对一行数据,而是一种计算出来值,如它能够被指定为是某个DataBlock中某个字段统计在统计组里,能够指定本行数据在DataBlock中属性,例如上下两行数据间间隔距离等第20页PropertyOverview–Item在物理属性里,能够指定此文本项是否可视,所在画布,坐标位置,长宽高,边框类型等。第21页PropertyOverview–RecordGroup创建统计组添加一种新统计组,在统计组查询文本中,写入查询SQL语句第22页PropertyOverview–RecordGroup我们能够通过统计组属性去修改统计组查询。
第23页PropertyOverview–LOV我们能够通过向导,应用刚才创建统计组,创建一种lov。
第24页PropertyOverview–LOV选择LOV列第25页PropertyOverview–LOV设置有关返回值及显示信息第26页PropertyOverview–LOV设置分派项,LOV创建完成后,能够通过属性窗口进行修改有关属性第27页PropertyOverview–LOV高级应用TextItemLOV_OrderRecordGroupSQLRestrictionCustomerNameOrderType.
.
.第28页PropertyOverview–LOV高级应用基于统计组创建一种LOV,并设置有关属性如何调用LOV如何设置LOV所引用统计组第29页PropertyOverview–LOV高级应用设置LOV属性,包括显示项、返回项、并调整LOV项显示宽度以适应窗口大小调用LOV脚本
获取LOV_ID,Find_lov(lovname)
Show_lov(lov_id),该函数分别返回Boolean值,根据该返回值能够再深入控制操作动态设置LOV统计组
Set_lov_property(lov_id,GROUP_NAME,rg_id)办法第30页ComonusedItems–TextAssociatingTextwithanItemPrompt第31页ComonusedItems–TextSynchronize12第32页ComonusedItems–TextCopyvalueORDERSSalesDept1RegionIdNameId LastName FirstName Title DeptId3 Nagayama Midori VP,Sales 3111 Magee Colin SalesRep 31Employee31Id第33页ComonusedItems–CheckBox项类型改为检查框。选中时值为‘Y’未选中时值为‘N’不允许其他值系统初始值(不对它进行操作时)为‘N’
第34页ComonusedItems–RadioBox项类型改为单选组。输入初始值在该单选组下增加2个单选按钮分别给两个单选按钮赋值第35页ComonusedItems–ListBox项类型改为列表框。在“列表中元素”中输入需要弹出值列表在“其他值映射”中输入一种值。第36页ComonusedItems–ListBox高级应用ListItem三种数据起源
1、静态起源
2、程序中动态增加ListItem
3、程序中动态删除ListItem
4、从一种统计组中获取ListItem5、取得'LISTITEM'值
第37页ComonusedItems–ListBox高级应用静态起源,能够直接在属性ElementInList中进行设置就能够了,常见显示格调是Combobox和Tlist。程序中能够通过代码来动态增加列表:
ADD_LIST_ELEMENT(list_id,list_index,list_label,list_value),
注意index是从1开始,能够在new-block-instance触发器里面向ListItem进行初始化,这种动态增加方式多数情况下用于ListItem列表是基于一种查询时候。第38页ComonusedItems–ListBox高级应用程序中能够通过代码动态删除列表:
DELETE_LIST_ELEMENT(list_id,list_index)
这种情况一般是在遍历一种ListItem时候,找到特定List,然后将其从列表中删除基于一种查询或者统计组:
Populate_list(list_iditem,record_group_idrecordgroup)
注意:group必须最少有2列,并且前2列必须是字符型,第一列是标签,第二列是值,在populate_list之前要先populate_group。取得‘LISTITEM’值
GET_LIST_ELEMENT_VALUE(list_id,list_index);第39页ComonusedItems–ListBox高级应用ListItemRecordGroupPropertyAddList
DeleteList可动态控制第40页ComonusedItems–CalculatedItemsTheyacceptitemvaluesthatarebasedoncalculations.Theyareread-only.Theycanbeexpressedas:FormulaSummary第41页CalculatedItems-CalculationModesFormulaAcalculateditemvalueistheresultofahorizontalcalculation.Itinvolvesbindvariables.SummaryAcalculateditemvalueisaverticalcalculation.Asummaryisperformedonvaluesofasingleitemoverallrowsinablock.第42页ComonusedItems–CalculatedItemsORDERSOrderItemidProductidPriceQtyShippedItemTotal1243200120502554931,00048045075NVL((:s_item.price*:s_item.quantity_shipped),0)ItemFormulaitem第43页ORDERSOrderItemidProductidPriceQtyShippedItemTotal1243200120502554931,00048045075Item2,005OrderTotalSummarizeditemSummaryitemComonusedItems–CalculatedItems第44页ComonusedItems–Editors第45页ComonusedItems–DisplayItem第46页ComonusedItems–ImageInterfacecontrolUsetodisplaybitmappedimages:Fromfilesystem—supportedfiletypeFromdatabase—LONGRAWcolumnoraBLOBcolumn第47页ComonusedItems–Image第48页ComonusedItems–ImageZoomPanRotateSelect第49页ComonusedItems–Sound第50页ComonusedItems–SoundPlayRecordRewindFastForwardVolumeTimeIndicatorSlider第51页ComonusedItems–buttonInterfacecontrolCannotdisplay/representdataUsetoinitiateanactionDisplayas:TextbuttonIconic第52页ComonusedItems–buttonUsebuttonsto:MoveinputfocusDisplayanLOVInvokeaneditorInvokeanotherwindowCommitdataIssueaqueryPerformcalculations第53页ComonusedItems–buttonInterfacecontrolCannotdisplay/representdataUsetoinitiateanactionDisplayas:TextbuttonIconic第54页ComonusedItems–buttonInterfacecontrolCannotdisplay/representdataUsetoinitiateanactionDisplayas:TextbuttonIconic第55页VisualAttributesVisualattributes:Arefont,color,andpatternpropertiesCanbesetforformandmenuobjectsAvisualattributeisaformobjectwithfont,color,andpatternproperties.SettheVisualAttributeGrouppropertytothevisualattributeobject.第56页VisualAttributesVisualattributes:Arefont,color,andpatternpropertiesCanbesetforformandmenuobjectsAvisualattributeisaformobjectwithfont,color,andpatternproperties.SettheVisualAttributeGrouppropertytothevisualattributeobject.第57页AlertYes/No
questionsYes/No/Cancel
questionsCaution
messagesInformative
messages第58页AlertIFSHOW_ALERT(’del_Check’)=ALERT_BUTTON1THEN
...Alert_Button1Alert_Button2第59页FormTriggerForm有一种必不可少功能,即如何响应顾客在界面上操作当顾客完成一种操作时(一种事件),Form响应这个操作对应功能(对应触发子),这个完整过程称为事件驱动(EventDriven)
触发子是一种功能(Function),能够根据对应事件,写上对应代码(Script)来在Form中实现对应功能
一般情况下,触发子是用来捕捉顾客在界面上操作事件。除了系统提供标准触发子之外,也能够顾客自定义某些触发子来完成特定功能
第60页FormTrigger–ThreeLevelFormLevelBlockLevelItemLevel第61页FormTrigger–QueryTriggerPRE-QUERY
1.1一般用于初始化值
1.2设置块查询条件
1.3进行判断,可根据条件终止查询POST-QUERY
2.1给非数据块项赋值
2.2设置控制属性
2.3查询其他表有关信息第62页FormTrigger–TransactionTrigger第63页FormTrigger–TransactionTriggerPRE-DELETE/UPDATE/INSERT
在删除统计/修改/添加之前,系统触发此事件。
ON-DELETE/UPDATE/INSERT
系统产生正常删除/修改/增加行统计事件
POST-DELETE/UPDATE/INSERT
系统删除/修改/增加统计之后,系统触发此事件
第64页FormTrigger–TransactionTriggerPRE-FORMS-COMMIT:
在Form提交事务处理之前被触发
POST-FORMS-COMMIT:
在Form提交事务处理之后被触发
PRE-DATABASE-COMMIT:
在数据库提交事务处理之前被触发POST-DATABASE-COMMIT:
在数据库提交事务处理后被触发
第65页FormTrigger–NewInstanceTriggerWHEN-NEW-FORM-INSTANCE:
当导航到一种新Form上时触发
WHEN-NEW-BLOCK-INSTANCE:
当导航到一种新数据块上时触发
WHEN-NEW-RECORD-INSTANCE:
当数据块中,导航到一条新数据统计上时触发
WHEN-NEW-ITEM-INSTANCE:
当数据块中,导航到一种新数据项上时触发
第66页FormTrigger–ValidationTriggerWHEN-VALIDATE-ITEM:
当项目标值发生变化时,该事件触发WHEN-VALIDATE-RECORD:
当该行统计值发生变化时,该事件触发第67页FormTrigger–FocusPre/BackTriggerPRE/POST-TEXT-ITEM:
当导航焦点进入或离开一种项时触发
PRE/POST-RECORD:
当导航焦点进入或离开数据块中一行统计时触发
PRE/POST-BLOCK:
当导航焦点进入或离开一种数据块时触发
PRE/POST-FORM:
当导航焦点进入或离开一种Form时触发
第68页FormTrigger–ItemTriggerWHEN-BUTTON-PRESSED:
针对按钮,当按下按钮时被触发
WHEN-CHECKBOX-CHANGED:
针对检查框鼠标点击事件。当检查框被选中或被取消时触发
WHEN-RADIO-CHANGED:
针对多项选择一按钮组。当多项选择一按钮组中值被变化时触发
WHEN-LIST-CHANGED:
针对列表框。当列表框中数据变化时触发
WHEN-LIST-PRESSED:
针对列表框。当列表框中数值被选中时触发
第69页FormTrigger–Built-inGO_BLOCK/GO_ITEMGET_ITEM_PROPERTY/SET_ITEM_PROPERTYENTER_QUERY/EXECUTE_QUERY
SHOW_ALERT /SHOW_EDITOR/SHOW_LOVEXIT_FORMSHOW_VIEW/HIDE_VIEW第70页三种类型画布综合应用在同一界面将不一样组或不一样类型数据单独分页显示
在页画布中,又有堆叠画布,将如何进行正常显示和切换页第71页三种类型画布综合应用MainInvoiceTaxContentCanvasTabCanvasStackedCanvas第72页三种类型画布综合应用创建三个画布,分别是内容画布、TAB画布和STACKED画布,要先创建内容画布,然后在其上增加TAB画布,STACKED画布能够单独创建,所有画布都在同一种窗口里面,由于都要在同一界面显示。设置页画布属性,调整好堆叠画布坐标(X,Y),使之在页画布显示区内创建一种数据库块,将需要在堆叠画布中显示Item设置到堆叠画布中,剩下Item放在TAB画布中,当Item画布是页画布话,在画布选择中不但要选择画布名称,同步还要选择所在页名称。下列案例将介绍三种画布综合应用第73页三种类型画布综合应用在FORM级触发器WHEN-TAB-CHANGED中完成切换页代码和STACKED画布显示控制代码,该触发器是切换页时候触发,思绪如下:获取目前页名称
GET_CANVAS_PROPERTY(TabCanvasName,TOPMOST_TAB_PAGE);对不一样页面进行导航控制
例如:Go_item(该页上ITEM),假如导航到堆叠画布所在页面中,还需要用show_view(StackedCanvasName),显示该页面,假如导航到是非堆叠画布,需要hide_view(StackedCanvasName),由于不hide_view,该堆叠画布将始终出现。第74页FORM中调用报表FORM中提供Run_product方式调用报表,
(product,
filename,
commode,
exemode,
location,
paramlist_id,
display)
其中product值为reports,filename是包括途径报表文献名,commode有2个值,分别是SYNCHRONOUS,ASYNCHRONOUS,exemode在调用时只能用RUNTIME,location值为FILESYSTEM,display值为空,只有graphic时候才不为空第75页FORM中调用报表FORM传递参数到REPORT:
定义一种paramlist对象,
pl_idparamlist;
pl_id:=Get_Parameter_List('plReport');IFNOTId_Null(pl_id)THENDestroy_Parameter_List(pl_id);ENDIF;pl_id:=Create_Parameter_List('plReport');
向参数列表里面增加值Add_Parameter
(pl_id,report_parameter,Type,value);
其中Type:TEXT_PARAMETER,DATA_PARAMETER第76页FORM中调用报表FormReportRun第77页层次树应用理解层次树用途和意义能够搭建一种树,并操作树中节点能够基于树,对数据库进行操作第78页层次树应用将某些数据以层次树方式进行展现,如ERP里面组织机构图如何创建一种树如何在层次树中进行节点操作(增加、删除、修改等)做层次树时候有注意哪些约束条件第79页层次树应用产成品部件零件二级部件...部件零件二级部件第80页层次树应用层次SQL编写
Oracle提供一种计算层次SQL编写规则,SQL中基表必须存在自连接关系字段,这种自连接关系一般是一种父子上下级关系,通过这种自连接关系产生层次关系,SQL中需要指定一种起点,这个起点是一级,从这个起点开始自连接,找出它下级。层次SQL语法构造如下:
SELECTlevel,column1,column2,…
FROMtablename/subquery
STARTWITH起点条件
CONNECTBYPRIOR自连接关系等式第81页层次树应用层次SQL例子:
select1,level,ename,null,empno
fromemp
startwithemp.mgrisnull
connectbypriorempno=mgr;第82页层次树应用Tree主要属性
AllowEmptyBranches
控制是否允许有空值叶子节点
Multi-Selection
是否能同步选择几个节点
Show-lines
是否显示树中节点之间连接线
show_symbols
是否显示符号
record-group
基于统计组,多数情况下是在程序中控制
Canvas
所在物理画布注意Tree是在单独块下建立,该块下不能有其他数据项了。第83页层次树应用如何基于层次SQL生成树,两种方式
1、基于现有统计组
Populate_Group(rg_id);
ftree.populate_tree(htree);
2、动态设置统计组属性
Populate_Group(rg_id);
Ftree.Set_Tree_Property(Tree,Ftree.RECORD_GROUP,Recordgroup);第84页层次树应用获取目前节点
cnt:=Ftree.get_tree_property(TreeName,Ftree.selection_count);
该函数返回目前节点序列号
nod:=ftree.get_tree_selection(TreeName,cnt)
该函数返回目前节点,nod类型是获取目前节点标题和值
ftree.node;ftree.get_tree_node_property(itree,node,ftree.node_v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年马鞍山市住房公积金管理中心编外聘用人员招聘建设考试备考题库及答案解析
- 2026江苏航运职业技术学院招聘14人建设笔试备考题库及答案解析
- 2026安徽安庆市望江县赴高等院校引进急需紧缺学科教师20人建设考试参考试题及答案解析
- 2026内蒙古赤峰市敖汉旗教育系统“绿色通道”引进高校毕业生26人建设笔试备考试题及答案解析
- 2026浙江中医药大学及直属附属医院招聘16人(2026年第二批)建设笔试备考题库及答案解析
- 2026广东龙门产业投资集团有限公司下属企业招聘4人建设笔试参考题库及答案解析
- 华域视觉科技2026届校园招聘建设笔试模拟试题及答案解析
- 2026湖南邵阳市邵阳县事业单位人才引进17人建设考试参考试题及答案解析
- 2026黑龙江牡丹江市海林市乡镇卫生院招聘医学毕业生4人建设考试参考试题及答案解析
- 2026年某国企电力外包项目招聘(2人)建设考试参考题库及答案解析
- (2025年)医师定期考核题库附答案
- 2026年建安杯信息通信建设行业安全竞赛重点题库(新版)
- 12《古诗三首》课件-2025-2026学年统编版语文三年级下册
- 短剧网络播出要求与规范手册
- 江苏苏锡常镇四市2026届高三下学期教学情况调研(一)数学试题(含答案)
- 高顿教育内部考核制度
- 2026年扎兰屯职业学院单招职业技能考试题库及答案解析
- 2026年山西工程职业学院单招职业技能考试题库及答案解析
- 慈善总会考核制度
- 北京2025年北京市科学技术研究院及所属事业单位第二批招聘12人笔试历年参考题库附带答案详解
- 高二物理下学期期中考试试卷含答案
评论
0/150
提交评论