转]EBS中客户化表结构的设计原则

 

常用item 事件包括:
when_validate_item : 调用一个item的验证并且设置动态的item 属性。
when_new_record_unstance :重置item属性到默认状态给一个新的纪录。
init:测试当前条件,必要时重置默认属性和动态属性。
-----------------------------------------------------------------------
EBS中客户化表结构的设计原则:
1)必须包括一个主键,并建立相应的序列;
2)建立5个WHO字段,也就是
         CREATED_BY            NUMBER
         CREATION_DATE         DATE
         LAST_UPDATED_BY       NUMBER
         LAST_UPDATE_DATE      DATE
         LAST_UPDATE_LOGIN     NUMBER
在FORM中使用属性类:CREATION_OR_LAST_UPDATE_DATE,WHO字段并不会自动地被赋值,必须自己在FORM中编写代码来完成这项工作。
EBS中提供了一个函数FND_STANDARD.SET_WHO,大家只要在FORM的BLOCK级触发器PRE-INSERT/PRE-UPDATE中进行调用即可。
对于记录的PRE-INSERT,PRE-UPDATE Trigger中加入了fnd_standard.set_who后,
程序自动会对CREATE _BY,CREATION_DATE,LAST_UPDATE_BY,LSAT_UPDATE_DATE,LAST_UPDATE_LOGIN这5个栏位赋新的值
-----------------------------------------------------------------------
form 编程规则:
   *引用字段时,使用 :BlockName.ItemName的形式;
   *使用亚元直接用dual,不要用sys.dual和system.dual;
   *使用object IDs获得更好的性能;
    declare
    x_id item;
    begin
    x_id := find_item(’block.item’);
    
    end;
   *总是使用显式游标;
   *使用FND_MESSAGE程序显示信息
   *使用FND_MESSAGE.DEBUG拉显示debugging信息,
      典型用法:
       ELSE
         fnd_message.debug(’Invalid event passed to 
                             control.orders_lines: ’ || EVENT);
       END IF;
   *使用RAISE FORM_TIGGER_FAILURE来终止应用层的运行
   *使用APP_EXCEPTION.RAISE_EXCEPTION 来终止数据库层的运行
   *用fnd_fuction.execute代替open_form
   *不要使用CALL_FORM
   *用do_key(‘exit_form’)代替exit_form
    To exit the Oracle Applications suite:
       copy (’Y’, ’GLOBAL.APPCORE_EXIT_FLAG’);
       do_key(’exit_form’);
   *用do_key(‘clear_form’)代替clear_form
   *用do_key('COMMIT_form')代替commit
   *用do_key(‘edit_field’)代替EDIT_FIELD/EDIT_TEXTITEM
-----------------------------------------------------------------------
触发器编程规则
   *Post-Query trigger说明:
   用带有LOVS的items使用lov来验证是否正确,当他们在无意识的情况下被要求保存changes会使用户感到混淆,这种情况下,在你的post-query 触发器里面重置记录状态 :
set_record_property(:system.trigger_record,:system.trigger_block, STATUS,QUERY_STATUS);

   *必须设置为Before的trigger有WHEN-NEW-RECORD-INSTANCE, WHEN-NEW-BLOCK-INSTANCE,WHEN-NEW-ITEM-INSTANCE;
    可以设置为Override的trigger有KEY-DUPREC,KEY-MENU,KEY-LISTVAL,QUERY_FIND, ACCEPT。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值