• Form_Form Builder开发基于视图页面和自动代码生成包(案例)


     2014-01-06 Created By BaoXinjian

    一、摘要


    Oracle EBS二次开发中,由于功能要求复杂的缘故和数据库设计的要求,基于表的Form开发并不多见,为了能够更好的利用Form的特性,

    需要开发基于视图的表单,开发基于视图的表单和基于表的表单实质并没有区别,

    只是基于视图的表单中需要开发人员来明确编写增、删、改、锁的程序逻辑,而基于表的表单自动帮助完成这些功能。

    1. Oracle Form开发的两种模式

    (1). 基于Database Table开发

    (2). 基于Database View开发

    2. 基于视图的Form需要引入4个块级别的触发器:

    (1).ON-INSERT 编写插入数据的SQL语句或程序逻辑

    (2).ON-UPDATE 编写更新数据的SQL语句或程序逻辑

    (3).ON-DELETE 编写删除数据的SQL语句或程序逻辑

    (4).ON-LOCK 编写锁定记录的程序逻辑

    针对上面的增删改的常用功能,可以引用Hand技术的大侠们提供的PLSQL包生产代码 HAND_PLSQL_AUTOCREATE

     

    二、HAND_PLSQL_AUTOCREATE


    1. procedure - regist_table

    2. procedure - form_view_iud

    3. procedure - table_handle_pkg

     

    三、案例


    1. 打开包hand_plsql_autocreate

    2. 视图:form_view_iud

    3. 输入4个参数:

    数据块的名称

    数据库对应数据库视图对应的基表

    据库表的所有者

    数据库表的主键

    4. 执行,查看运行结果:

    到form中建包:包名:数据块名称+_PRIVATE

    5. 添加块触发器:

    on-insert : 数据块名称+_PRIVATE.insert_row

    on-update : 数据块名称+_PRIVATE.update_row

    on-lock : 数据块名称+_PRIVATE.lock_row

    on-delete : 数据块名称+_PRIVATE.delete_row --若数据块不允许删除数据,则可以省略此触发器

    6. 调用方式

    7. 复制代码至Package中,建立增删改锁程序

    CREATE OR REPLACE PACKAGE cux_order_headers_pkg AS
    
      ** PROCEDURE:   insert_row()
      PROCEDURE insert_row();
    
      ** PROCEDURE:   lock_row()
      PROCEDURE lock_row();
    
      ** PROCEDURE:   update_row()
      PROCEDURE update_row();
    
      ** PROCEDURE:   delete_row()
      PROCEDURE delete_row();
    
    END;

    8. 添加Form Trigger中调用insert/update/lock/delete procedurer

     

    Thanks and Regards

    转载:张礼军/黄建华大侠 - http://oracleseeker.com/2009/09/28/view_based_form_development_for_oracle_ebs/

    转载:百度文库 - http://wenku.baidu.com/

  • 相关阅读:
    iOS testFlight的使用
    Java读书笔记
    Vim编辑器
    seleniumRC测试用例——登录
    自动化测试工具——selenium
    《Oracle从入门到精通》
    WEB服务器相关知识摘录
    oracle表空间与分区表
    Linux 常用命令
    Linux 常见问题
  • 原文地址:https://www.cnblogs.com/eastsea/p/4194697.html
Copyright © 2020-2023  润新知