Oracle 表单个性化

Posted

技术标签:

【中文标题】Oracle 表单个性化【英文标题】:Oracle Form Personalization 【发布时间】:2019-10-04 11:01:54 【问题描述】:

enter image description here

我在表单个性化方面遇到问题,我是 oracle 的初学者 当用户访问最终就业表格并试图终止用户时,EBS 和 Forms.i 需要在 HR 模块中进行验证。 当最终用户单击 TERMINATE 按钮时,它应该检查条件,如果条件为空,那么它应该通过错误消息。

我正在使用这些条件

select 'Y'
from dual
where exists (select 'Y'
              from pa_expenditure_items_all paei,
                   pa_expenditures_all pae
              where paei.expenditure_id = pae.expenditure_id and
                    pae.incurred_by_person_id  = : person_id and
                    cost_distributed_flag = 'N'
             )

【问题讨论】:

如果你有问题,那么你应该问它。 【参考方案1】:

我猜应该是这样的:

declare
   l_yes  varchar2 (1);
begin
   select max ('Y')
     into l_yes
     from dual
    where exists
             (select 'Y'
                from pa_expenditure_items_all paei, pa_expenditures_all pae
               where     paei.expenditure_id = pae.expenditure_id
                     and pae.incurred_by_person_id = :person_id
                     and cost_distributed_flag = 'N');

   if l_yes is null
   then
      message ('Condition is not met');
      raise form_trigger_failure;
   else
      -- Do something; probably terminate that user
      null;
   end if;
end;

【讨论】:

嗨 LittleFoot 能否请您提供完整的导航。我用你的查询仍然出错 不幸的是,我不能。我不知道 EBS 及其程序。我发布的代码在 Forms (Builder) 中工作,但这或多或少是我能为你做的所有事情。对不起。【参考方案2】:

在“条件”字段中,您不要输入完整的查询。您只需放入一个布尔表达式(例如您将放入查询的WHERE 子句)。

所以,不如试试这个:

exists (select 'Y'
        from pa_expenditure_items_all paei,
             pa_expenditures_all pae
        where paei.expenditure_id = pae.expenditure_id and
              pae.incurred_by_person_id  = :person_id and
              cost_distributed_flag = 'N'
       )

:person_id 假定 PERSON_ID 是您的表单触发器触发的块中的一个字段。最好使用:block.field 形式使其更加明确。

【讨论】:

嗨,马修,这些是字段 :PERIOD_OF_PLACEMENT.TERMINATE 和 :person_id 是参数 这也很好,所以:parameter.person.id。我希望您在这里有几个问题,而不仅仅是在条件字段中放错了东西。您应该用实际问题和问题更新您的帖子。

以上是关于Oracle 表单个性化的主要内容,如果未能解决你的问题,请参考以下文章

Oracle OAF个性化一例 -- 个性化查询条件

SAP Spartacus 表单个性化

SAP Spartacus 表单个性化

表单个性化存在后台数据表

纯CSS3个性化圆形按钮登录表单

专家见解:使用Oracle Maxymiser的新界面组织个性化且卓有成效的营销活动