设为首页 收藏本站
查看: 1259|回复: 0

[经验分享] EBS FORM 入门

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-23 02:16:35 | 显示全部楼层 |阅读模式
1      一个基础的FORM
  1.  在文件中选择新建,表格,从而新增出一个FORM。
  2.  建立数据块
  a)       在导航器中点击该FORM,选择数据块向导
  b)       输入表名,点刷新,显示出字段名
  c)       使用                         ,把字段全部选择到数据库项中。
  d)       点下一步,注意使用默认的:“请先创建数据库,然后调用布局向导”。
  3.  建立布局
  a)       进入布局向导
  b)       选择默认的布局向导
  c)       选择显示项,把可用项全部变成显示项
  d)       选择框架风格为默认的表格
  e)       指定框架的名称及显示记录数
  f)       完成布局向导
  4.  运行FORM
  a)       运行FORM
  b)       点击查询中的执行,显示出所有数据
  c)       点增加,新建立一条记录,输入数据,点保存,完成一条记录的输入
  d)       在某条记录中,改变数据内容,点保存,完成一条记录的修改
  e)       点删除,则删除该记录
  f)       点退出,结束FORM运行
  
  
2      一个查询FORM
  1.  新建一个块
  2.  加入一个框架
  3.  加入数据项
  4.  加入按纽,输入如下代码:
  
  GO_BLOCK('LZHTEST001');     
  SET_BLOCK_PROPERTY('LZHTEST001',DEFAULT_WHERE,'NAME LIKE :block15.text_item21||''%''');  
  EXECUTE_QUERY;
  

3      多画布的操作方法
  1.  加入一个画布,再加入一个堆叠式画布。
  2.  加入两个块
  3.  设置块的关系
  
  4.  加入向子画布切换的按纽
  其对应的WHEN_BUTTON_PRESSED语句为
  go_block('lzhtest0011'); --lzhtest0011为子块名
  5.  加入子画布隐藏的按纽
  HIDE_VIEW('CANVAS39');-- CANVAS39为子块所在的画布名
  GO_BLOCK('LZHTEST001');-- LZHTEST001为主块名
  
  
  
  
4      LOV使用
  设置LOV的基本过程包括如下:
  b)       增加LOV,点击在导航器中的LOVS,点   后,进行LOV添加。
  c)       使用LOV向导
  d)       输入SQL语句
  e)       指定记录组列
  f)       指定列宽度
  g)       指定返回值
  h)       指定标题
  i)       指定显示行数等设置
  j)       指定分配项
  k)       完成向导设置
  调用该LOV 的过程包括:
  a)       点击CAT_C项
  b)       点击显示列表
  c)       选择某条列表后,确定后,选择的值输入到CAT_C项中。
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  点击入项CAT_C,点击显示列表,则显示如下对话框。
  选择一条记录后,则在CAT_C中显示出选择的CAT_C值,如下图。
  
  
  
5      LIST的使用
  
  1.  加入一个LIST
  2.  加入一个文本域,用于显示LIST改变后的值
  3.  加入一个按纽,用于初始化LIST的信息,其WHEN_BUTTON_PRESSED 语句为:
  DECLARE
  RG_ID RECORDGROUP;
  ERRCODE NUMBER;
  BEGIN   
  RG_ID := FIND_GROUP('REPORT_TYPE');
  IF ID_NULL(RG_ID) THEN
  RG_ID := CREATE_GROUP_FROM_QUERY('REPORT_TYPE','SELECT ''[''||MS1||'']''||MS2,ms1 FROM RB_SET WHERE ID=4000  ORDER BY va5');
  ERRCODE := POPULATE_GROUP('REPORT_TYPE');
  POPULATE_LIST('BLOCK2.LIST5','REPORT_TYPE');
  END IF;
  END;
  4.  为LIST加入事件,改变值
  :TEXT_ITEM7 := :BLOCK2.LIST5 ;
  

6      FORM的参数调用
  1.  建立主FORM
  建立布局,加入一个文本项,一个按纽,为按纽加入语句:
  declare List_id ParamList;
  begin
  List_id:=Get_Parameter_List('input_params');
  IF NOT Id_null(list_id) THEN
  Destroy_Parameter_List(List_id);
  end if;
  List_id:=Create_Parameter_List('input_params');
  Add_Parameter(List_id,'P_GIVEPARAVALUE',TEXT_PARAMETER,:BLOCK3.TEXT_ITEM5);
  call_form('STEP006B',no_hide,no_replace,no_query_only,List_id);
  end;
  2.  建立从FORM
  建立布局,加入一个文本项,一个按纽,为按纽加入语句:
  :BLOCK3.TEXT_ITEM4 := :parameter.P_GIVEPARAVALUE;
  3.  运行主FORM
  
  输入值:HELLO!
  
  点击按纽PUTPARA,弹出新的FORM
  
  点击按纽GETPARA,得到传递来的数据。
  
  此外,也可以使用全局变量的方式实现数据的传递,例如在主FORM中的WHEN-NEW-FORM-INSTANCE 中加入如下的语句。
  :global.name :='GLOBAL hello';
  而在从FORM中加入一个按纽,其WHEN-BUTTON-PRESSED中加入如下的语句:
  :BLOCK3.TEXT_ITEM4 := :global.name;
  
  则启动主FORM后,再执行到从FORM,按GETGLOBAL 得到如下的结果:
  
  4.报表参数传递,报表的参数传递方式与FORM一致,其范例如下:
  --无参数报表调用
  Run_Product(REPORTS, 'LZHTEST.REP', SYNCHRONOUS, RUNTIME, FILESYSTEM, '', NULL);
  --有参数报表调用
  DECLARE
  pl_id ParamList;
  BEGIN
  pl_id := Get_Parameter_List('REPORTPARALIST');
  IF NOT Id_Null(pl_id) THEN
  Destroy_Parameter_List( pl_id );
  END IF;
  pl_id := Create_Parameter_List('REPORTPARALIST');
  --Add_Parameter(pl_id,'REPORTPARALIST',DATA_PARAMETER,'':FORMÏîÃû1'');
  Add_Parameter(pl_id,'P_PARA',TEXT_PARAMETER, 'ABC');
  Run_Product(REPORTS, 'LZHTEST.REP', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);
  END;
  报表中的参数定义:P_PARA 即可获得FORM传递过来的参数。
  
  
7      包含主从表的FORM
  建立主从表的核心是两个数据块之间的数据关联,当主表中的数据项发生改变时,子表中的数据也相应变化。其基本步骤为:
  1.  建立一个数据块
  2.  建立第二个数据块
  3.  设置数据块之间的数据关联条件
  
  
  
  
  
  
  
8      加入自定义菜单
  1.  菜单的定义
  
  2.  菜单的命令语句
  在菜单条目中加入需要的菜单语句,如:
  EXIT_FORM;
  3.  菜单的编译
  执行文件中的管理中的编译文件,把菜单文件编译成MMX文件
  4.  菜单的使用
  在FORM的属性中指定菜单文件以及使用的初始菜单。
  
  5.  执行FORM
  
  点击EXIT则表单退出。
  
  
  
9      加入图像的方法
  
  1.  加入一个图像
  2.  加入一个按纽
  3.  在按纽中加入如下语句
  read_image_file('D:\A1.BMP','BMP','IMAGE5');
  参数说明:
  1.  图象文件名称
  2.  图象文件类型
  3.  FORM中的图象名称
  
  
10            一个选择的范例
  1.  加入一个数据块
  2.  加入一个复选框按纽
  3.  设置该复选框选择时的值为YES,不选时为NO,默认为不选择的。设置其数据库项为否。
  
  4.  另建一个数据块,加入ALL,UNALL,GETVALUE按纽,分别表示全选,全不选,获取值,分别为按纽加入语句:
  a)         GETVALUE
  DECLARE
  
  STRMESSAGE VARCHAR(255);
  
  BEGIN
  STRMESSAGE :='';      
  GO_BLOCK('SCORG');
  First_record;
  LOOP
  IF          :SCORG.CHECK_BOX12 = 'YES' THEN
  STRMESSAGE :=STRMESSAGE || :SCORG.NAME||'YES';            
  END IF;  
  
  NEXT_RECORD;
  EXIT WHEN :SCORG.name IS NULL;
  END LOOP;   
  first_record;
  MESSAGE(STRMESSAGE);
  
  END;
  b)        ALL
  GO_BLOCK('SCORG');
  First_record;
  LOOP
  :SCORG.CHECK_BOX12 := 'YES';
  NEXT_RECORD;
  EXIT WHEN :SCORG.NAME IS NULL;
  END LOOP;   
  first_record;
  c)         UNALL
  GO_BLOCK('SCORG');
  First_record;
  LOOP
  :SCORG.CHECK_BOX12 := 'NO';
  NEXT_RECORD;
  EXIT WHEN :SCORG.NAME IS NULL;
  END LOOP;   
  first_record;
  5.  为该FORM加入执行查询的语句:
  GO_BLOCK('SCORG');
  EXECUTE_QUERY;
  形成的页面如下:
  
  执行的结果页面如下:
  
  
  
11            常用系统热键
  ABORT_QUERY   Key-EXIT [退出/取消]
BLOCK_MENU   Key-MENU [块菜单]          F5
CLEAR_BLOCK   Key-CLRBLK [清空块]        Shift+F5
CLEAR_FORM   Key-CLRFRM [清空FORM]       Shift+F7
CLEAR_RECORD  Key-CLRREC [清空记录]       Shift+F4
COMMIT_FORM   Key-COMMIT [提交/存盘]       F10
COUNT_QUERY   Key-CQUERY [计算查询记录总数]   Shift+F2
CREATE_RECORD  Key-CREREC [插入新记录]      F6
DELETE_RECORD  Key-DELREC [删除记录]       Shift+F6
DOWN      Key-DOWN [下滚记录]         Ctrl+l、下箭头
DUPLICATE_ITEM Key-DUP-ITEM [复制域/项]      F3
DUPLICATE_RECORDKey-DUPREC [复制记录]       F4
EDIT_TEXTITEM  Key-EDIT [打开编辑器]        Ctrl+E
ENTER      Key-ENTER [Enter]
ENTER_QUERY   Key-ENTQRY [输入查询条件]     F7
EXECUTE_QUERY  Key-EXEQRY [执行查询]       F8
EXIT_FORM    Key-EXIT [退出/取消查询]       Ctrl+Q
HELP      Key-HELP [帮助]           F1
LIST_VALUES   Key-LISTVAL [显示值列表LOV]     F9
LOCK_RECORD   Key-UPDREC [Lock Record]
NEXT_BLOCK   Key-NXTBLK [下一块]        Ctrl+Page Down
NEXT_ITEM    Key-NEXT-ITEM [下一域/项]     Ctrl+Tab、Tab、Enter
NEXT_KEY    Key-NXTKEY [定位到下一个主键项]  Shift+F3
NEXT_RECORD   Key-NXTREC [下一条记录]      Shift+Down
NEXT_SET    Key-NXTSET [下一个记录集]     Ctrl+>
PREVIOUS_BLOCK Key-PRVBLK [前一块]        Ctrl+Page Up
PREVIOUS_ITEM  Key-PREV-ITEM [前一域/项]      Shift+Tab、Shift+Ctrl+Tab
PREVIOUS_RECORD Key-PRVREC [前一条记录]        Shift+Up
PRINT      Key-PRINT [打印当前屏幕]      Shift+F8
SCROLL_DOWN   Key-SCRDOWN [下翻屏]        Page Down
SCROLL_UP    Key-SCRUP [上翻屏]         Page Up
UP       Key-UP [上滚记录]             Ctrl+p、上箭头
Esc       取消
Backspace    向后删除
Ctrl+U     清除域/项
Ctrl+F1     显示有效的功能键列表
Shift+F1    发生错误时,显示错误窗口

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-117346-1-1.html 上篇帖子: ebs form 触发器顺序 下篇帖子: EBS System Profile 常用清单
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表