lizh 发表于 2019-2-3 12:02:49

EBS form开发常用的技巧

EBS form开发常用的技巧  1.锁住当前行
  Set_Item_Instance_Property('main.import_flag',
  CURRENT_RECORD,
  UPDATE_ALLOWED,
  PROPERTY_OFF);
  用在WHEN-NEW-RECORD-INSTANCE 或者POST-QUERY中。
  同:app_item_property.set_property('MAIN.REF_COST',ALTERABLE,PROPERTY_ON)
  2.设置记录的颜色
  app_record.highlight('RED_REC');
  3.窗口居中
  app_window.set_window_position('WINDOW_NAME','CENTER');
  4.最大化窗口时自动扩展文件夹数据块
  在WHEN-WINDOW-RESIZED中添加以下代码即可。
  if :system.event_window in ('MAIN')then
  app_folder.event('WHEN-WINDOW-RESIZED');
  end if;
  5.Form中调用forms基本参数方式
  FND_FUNCTION.EXECUTE(FUNCTION_NAME=>'CUXSOSETUP',
  OPEN_FLAG=>'Y',
  SESSION_FLAG=>'Y',
  OTHER_PARAMS=>NULL);
  其它参数传入OTHER_PARAMS即可。
  6.动态设置当前行指定列的必输属性
  Set_Item_Instance_Property(item_name, CURRENT_RECORD, REQUIRED,PROPERTY_TRUE);
  如:
  if :CUX_WORKHOUR_EMP.ATTRIBUTE2:CUX_WORKHOUR_EMP.ATTRIBUTE1 then
  Set_Item_Instance_Property('CUX_WORKHOUR_EMP.MODIFY_REASON',
  CURRENT_RECORD,
  REQUIRED,PROPERTY_TRUE);
  if :CUX_WORKHOUR_EMP.MODIFY_REASON is null then
  :CUX_WORKHOUR_EMP.MODIFY_REASON := '123';
  :CUX_WORKHOUR_EMP.MODIFY_REASON := null
  fnd_message.set_string('请输入调整原因.');
  fnd_message.show;
  end if;
  else
  if :CUX_WORKHOUR_EMP.ATTRIBUTE4 = :CUX_WORKHOUR_EMP.ATTRIBUTE3 then
  Set_Item_Instance_Property('CUX_WORKHOUR_EMP.MODIFY_REASON',
  CURRENT_RECORD,
  REQUIRED,
  PROPERTY_FALSE);
  end if;
  end if;
  7.增加菜单 在 FORM级的when-new-form-instance
  APP_SPECIAL.INSTANTIATE('SPECIAL1','取消需求行', '', TRUE, 'LINE');
  8.LOV指定初始值后需在WHEN-NEW-RRECORD-INSTANCE用以下语句模拟验证, 否则会弹出验证框.代码如下:
  app_item_property.set_property('DETAIL_D.DEMAND_STATUS_DESC',
  ITEM_IS_VALID,
  property_on);


页: [1]
查看完整版本: EBS form开发常用的技巧