首页 > 其他 > 详细

form学习笔记---form创建

时间:2019-09-17 21:00:32      阅读:113      评论:0      收藏:0      [点我收藏+]

一、form创建过程

1.框架属性:FRAME_RECT

 

3.定义form级别程序包CUXPOTEST

PACKAGE BODY CUXPOTEST IS
  PROCEDURE handle_event(event IN VARCHAR2) IS
  BEGIN
  	IF event = ‘PRE-FORM‘ THEN
			fnd_standard.form_info(‘$Revision: 120.1 $‘,
                             ‘CUXPOTEST‘,
                             ‘CUX‘,
                             ‘$Date: 2018/05/24 11:02  $‘,
                             ‘$Author: hand $‘);
			app_window.set_window_position(‘MAIN‘,‘FIRST_WINDOW‘);
			
			--设置窗口弹出位置
			app_window.set_window_position(‘MAIN‘,‘CENTER‘);
			
			/*--选择库存组织
	    fnd_org.choose_org;
	    
	    --设置窗口名称
	    app_window.set_title(‘MAIN‘,
                         	 :parameter.org_code);*/
  
    ELSIF event = ‘WHEN-NEW-FORM-INSTANCE‘ THEN
  		null;
	    
	    --add list
	    /*control.add_list(item   		=> ‘QUERY_FIND.STATUS‘,
  									 	 item_group => ‘STATUS_QF‘);*/

    ELSE
      app_exception.invalid_argument(‘cuxpotest.handle_event‘,‘EVENT‘,event);
    END IF;
  END handle_event;
END;

 

2.修改触发器:在触发器调用程序包

          (1)PRE-FORM

FND_STANDARD.FORM_INFO(‘$Revision: 120.12                                                                                                                                             $‘,
                       ‘Template Form‘, ‘CUX‘,
                       ‘$Date: 2018/12/19 11:02  $‘, ‘$Author: appldev $‘);
app_standard.event(‘PRE-FORM‘);
app_window.set_window_position(‘MAIN‘, ‘FIRST_WINDOW‘);
CUXPOTEST.handle_event(‘PRE-FORM‘);

       (2)WHEN-NEW-FORM-INSTANCE

FDRCSID(‘$Header: TEMPLATE.fmb 120.12 level:4 2013/10/14 19:16:28 pkm ship                                                                                                                                                                                                                                                             $‘);
APP_STANDARD.EVENT(‘WHEN-NEW-FORM-INSTANCE‘);

--template_folder.handle_event(‘WHEN-NEW-FORM-INSTANCE‘);

CUXPOTEST.handle_event(‘WHEN-NEW-FORM-INSTANCE‘);

3.定义表单

(1)应用开发员

(2)表单

(3)功能

(4)菜单

4.加载数据块

5.行表加光标提示字段

       加字段,字段属性选择CURRENT_RECORD_INDICATOR ;下拉列条: 滚动选择是

6.编译 cux_plsql_autocreate 生成增删改的包,创建数据块增删改程序单元

添加增删改触发器:

ON-LOCK:  PO_HEADERS_PRIVATE.lock_row;

ON-UPDATE:  PO_HEADERS_PRIVATE.update_row;

ON-INSERT:  PO_HEADERS_PRIVATE.insert_row;

ON-DELETE:  PO_HEADERS_PRIVATE.delete_row;

:p_block_name, 块名称
:p_table_name,  表名称
:p_owner, 用户
:p_primary_key  主键

7.关联=》创建关联关系,修改delete触发器

8.日期:

修改日期字段的属性选项板,修改Lov值列表为ENABLE_LIST_LAMP,从列表中验证为否,增加触发器:KEY-LISTVAL

触发器内容:
CALENDAR.SHOW;

9.验证 =》 增加块级触发器:WHEN-VALIDATE-ITEM

触发器内容:
IF :PO_HEADERS.CURRENCY_CODE<>‘CNY‘ THEN fnd_message.debug(‘币种必须输入CNY‘); raise form_trigger_failure; end if;

10.光标离开不允许插入更新 =》增加块级触发器:WHEN-NEW-RECORD-INSTANCE

触发器内容:
set_item_property(‘PO_HEADERS.COMMENTS‘,INSERT_ALLOWED,PROPERTY_FALSE); set_item_property(‘PO_HEADERS.COMMENTS‘,UPDATE_ALLOWED,PROPERTY_FALSE);

11.下拉列表  使用SQL语句创建记录组LIST_TEST,在数据块将字段属性改为LIST,列表中的元素一一对应。添加下拉列表的程序包 Control

包体:
PACKAGE BODY CONTROL IS PROCEDURE add_list(item IN VARCHAR2, item_group IN VARCHAR2) IS l_errcode NUMBER; BEGIN l_errcode := populate_group(item_group); IF l_errcode=0 THEN clear_list(item); populate_list(item,item_group); ELSE app_exception.invalid_argument(‘control.add_list‘,‘EVENT‘,item); END IF; END add_list; END;

在form级别程序单元添加调用 WHEN-NEW-FORM-INSTANCE

 CONTROL.ADD_LIST(ITEM => ‘PO_HEADERS.PO_NUMBER‘,
	        ITEM_GROUP => ‘LIST_TEST‘);

 

 

form学习笔记---form创建

原文:https://www.cnblogs.com/haoxiaozi/p/11536952.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!