首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复插入和更新职位和位置时,人力资源管理系统职位窗口上的EBS Custom.pll验证

重复插入和更新职位和位置时,人力资源管理系统职位窗口上的EBS Custom.pll验证
EN

Stack Overflow用户
提问于 2015-12-26 22:13:57
回答 1查看 488关注 0票数 0
代码语言:javascript
复制
  procedure event(event_name varchar2) is 

form_name        VARCHAR2 (30)   := NAME_IN ('system.current_form');
   block_name       VARCHAR2 (30)   := NAME_IN ('system.cursor_block');
   item_name        VARCHAR2 (100)  := NAME_IN ('system.current_item');

  BEGIN   

 If  (  (event_name='PRE-UPDATE') or (EVENT_NAME = 'WHEN-VALIDATE-RECORD'   ) ) and 
           form_name ='HRWSPSF'  and block_name ='POSITIONS' and item_name IN ('SEGMENT1','SEGMENT2','SEGMENT3','LOCATION_ID')
           and   NAME_IN('SYSTEM.RECORD_STATUS')IN ('CHANGED') 
           then     
         DECLARE
                L_SEGMENT    NUMBER;
            L_POS       NUMBER;
                P_SEGMENT1 VARCHAR2(255):=NAME_IN('POSITIONS.SEGMENT1');
                P_SEGMENT2 VARCHAR2(255):=NAME_IN('POSITIONS.SEGMENT2');
                P_SEGMENT3 VARCHAR2(255):=NAME_IN('POSITIONS.SEGMENT3');
                P_LOCATION_ID NUMBER:=NAME_IN('POSITIONS.LOCATION_ID');
         BEGIN

                  SELECT count(*) into L_SEGMENT
                FROM  hr_all_positions_f hapf,
                per_position_definitions ppd
                WHERE hapf.position_definition_id = ppd.position_definition_id
                AND PPD.SEGMENT1 = P_SEGMENT1
                AND PPD.SEGMENT2=P_SEGMENT2
                AND hapf.business_group_id = 111
                AND HAPF.LOCATION_ID = P_LOCATION_ID;

           IF (L_SEGMENT>=1) THEN
            FND_MESSAGE.SET_NAME('PER','IGFMIS_DUPLICATE_POSITION');
                  FND_MESSAGE.error;
              RAISE form_trigger_failure;
           END IF;

                SELECT count(*) into L_POS
                FROM per_position_definitions ppd
                WHERE PPD.SEGMENT3 = P_SEGMENT3;

         IF (L_POS>=1) THEN
           FND_MESSAGE.SET_NAME('PER','IGFMIS_DUPLICATE_POSITION_CODE');
                  FND_MESSAGE.error;
              RAISE form_trigger_failure;
         END IF;

         END;
         END IF;
end event;

这不是working.Validation应该在插入和更新位置和位置字段。我认为如果条件不工作.Need知道正确的IF条件。如何仅对某些特定字段进行验证。

EN

回答 1

Stack Overflow用户

发布于 2015-12-27 23:54:28

我不知道EBS,但您选中的事件名称与Oracle Forms触发器相同。

作为提交表单过程的一部分,PRE-UPDATE触发器在程序更新数据库中的记录之前触发。例如,它在用户通过按F10提交数据后触发。

WHEN-VALIDATE-RECORD触发器在用户“离开记录”后触发。它意味着当用户移动到其他记录或区块时。它也会在用户提交数据后触发。当用户在同一记录中的项(字段)之间移动时,它不会触发。

如果您需要在用户离开项目后对其进行验证,请使用WHEN-VALIDATE-ITEM。也许它也适用于EBS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34472138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档