ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 全球薪资 第 30 章 触发器

全球薪资 第 30 章 触发器

原创 Linux操作系统 作者:yanliang_1 时间:2013-06-24 15:36:39 0 删除 编辑

在"全球薪资"中,用于检测可导致重复、追溯或分段处理的在线数据更改的机制称为"触发器"。要设置触发器,请选择对数据更改(例如加薪、职务地点更改和离职)做出响应的数据库记录和字段;然后,在发生更改时,系统会将数据行写入称为"触发器表"的表中,指示系统如何处理这些更改。

触发器的类型有三种:
"重复"触发器会告知系统处理(或重新处理)当前展现的日历中的受款人,引发此操作的原因可能是由于受款人数据已更改或在批处理过程中将受款人置于暂停模式。系统仅为一个展现的日历组中的一个受款人生成一个重复触发器,不管日历组中的日历数量是多少。当受款人的数据发生更改时,系统将(通过在线代码)生成重复触发器,该触发器允许批量处理来重新计算受款人、将受款人添加到日历运行,或从日历运行移除受款人。
"追溯"触发器会告知系统重新处理以前计算过(已关闭)的日历。例如,在受款人的薪资发生更改并且更改涉及以前的日历时将进行追溯处理。
分段触发器会告知系统对支付运行中的所有薪资元素或薪资元素子集进行分段,以响应对受款人数据的更改。

可用以下两种方式生成触发器:
手工:不需要设置触发器定义。可手工为给定的受款人创建触发器。只能为追溯触发器和分段触发器手工生成触发器。
自动:需要设置触发器定义。这些触发器定义会告知系统在数据库发生更改时,以何种方式在什么时间生成"自动"触发器。
生成触发器(手工或自动)后,批量处理将使用触发器执行适当的操作。

触发器表数据
当记录或记录和字段的组合更改生成触发器后,系统会将处理更改所需的数据写入触发器表。每种类型的触发器都有单独的表,用于存储此类数据。
重复触发器生成的信息存储在重复触发器表 (GP_ITER_TRGR) 中,每次处理完,会清空
追溯触发器生成的信息存储在追溯触发器表 (GP_RTO_TRGR)中,每次处理完,会清空
分段触发器生成的信息存储在分段触发器表 (GP_SEG_TRGR) 中

触发器生成
生效日期和生效日期类型
除重复触发器外,所有触发器都存储在触发器表中,并具有触发器生效日期 (TRGR_EFFDT)。这些日期基于导致生成触发器的数据库更改的日期(但不必与其相同)。在 PeopleSoft 系统中,在以下字段中记录这些数据库更改日期:"生效日期"、"开始和结束日期"以及"固定日期"字段。由于这些字段起到非常重要的作用,追溯和分段触发器"只能"从"注明日期的"记录生成:只能为具有"生效日期"或"开始和结束日期"字段的记录或具有"固定日期"字段的记录定义追溯触发器,只能为具有"生效日期"的记录定义分段触发器,但有一个例外情况:系统也会从注明开始和结束日期的收入/扣减指定记录 GP_PYE_OVRD 生成分段触发器。
触发器级别
在 PeopleSoft 全球薪资中设置触发器时,必须指定系统响应数据库更改的级别:可以将系统设置为针对记录中任何字段的生效日期或开始和结束日期更改生成触发器(触发器级别 ="记录"),针对记录中特定字段的所有更改生成触发器(触发器级别 ="字段,不取决于值"),或仅在字段中输入特定值时生成触发器(触发器级别 ="字段,取决于值")。触发器级别可以确定系统在什么时候以及在什么条件下生成触发器。

设置 HRMS,产品相关设置,全球薪资和缺勤管理,触发器,触发器定义
PeopleSoft 建议,定义追溯触发器或分段触发器时,还应定义重复触发器。如果已计算了一次日历组并且随后进行了数据更改,除非定义了重复触发器,否则,只有在下一个"标识"阶段之后,才能处理从数据更改生成的追溯触发器或分段触发器。

设置重复触发器
可为具有生效日期的记录、具有开始及结束日期的记录和非日期记录定义重复触发器。
在"触发器定义"页面中,选择"记录"或"字段"作为"触发器级别"。
如果选择"记录",可针对记录中的任何字段更改生成触发器;
如果选择"字段",系统仅针对记录中特定字段或字段组的更改生成触发器。如果选择"字段",必须在"列出使用触发器的字段"组框中列出要对数据更改做出响应的字段。通过选中特定字段的"取决于字段值操作"复选框并指定触发重复处理的值,可进一步限制生成触发器的数据更改。

设置追溯触发器
可为具有生效日期的记录、具有开始及结束日期的记录和固定日期记录定义追溯触发器。
在"触发器定义"页面中,选择触发器事件 ID(如果触发器级别是"字段",则选择主要事件 ID)。触发器事件 ID 会告知系统处理追溯数据的方式。

为具有生效日期的记录设置分段触发器
在"全球薪资"中,您可以为具有生效日期的记录和具有单个开始和结束日期的记录(收入和扣减指定记录 GP_PYE_OVRD)设置分段触发器

为具有开始日期和结束日期的收入和扣减指定记录 (GP_PYE_OVRD) 设置分段触发器
如果要根据指定开始和结束日期对指定的元素进行分段和分段计算,可为收入和扣减指定记录(GP_PYE_OVRD) 设置分段触发器

触发器相关PeopleCode
大多数记录中已经添加了触发器相关的Code。如果确实需要对记录添加代码可仿照
触发器记录 = GP_PYE_SOVR
示例 PeopleCode:
PeopleCode on GP_PYE_SOVR.EMPLID.SavePostChange
Declare Function Generate_Triggers PeopleCode
FUNCLIB_GP.TRGR_FUNCTIONS FieldFormula;
Local date &L_DT;
/*-----Function to generate Triggers for Global Payroll---*/
Generate_Triggers(EMPLID, &L_DT);
在本例中,没有对 &L_DT 指派值,因为"受款人支持元素覆盖"表 (GP_PYE_SOVR) 的触发器生效日期类型不是"固定日期"。

触发器记录 = GP_PI_MNL_DATA(手工实际输入)
此记录的触发器生效日期类型为"固定日期"。
示例 PeopleCode:
PeopleCode on GP_PI_MNL_DATA.LASTUPDDTTM.SavePostChange
Declare Function Generate_Triggers PeopleCode FUNCLIB_GP.TRGR_FUNCTIONS FieldFormula;
Local date &L_DT;
Local Rowset &L_RS0;
Component datetime &C_CAL_IDNT_TS;
/*-----Function to generate Triggers for Global Payroll---*/
&L_RS0 = GetLevel0();
&L_DT = &L_RS0(1).GP_PI_MNL_D.PRD_END_DT.Value;
If All(&C_CAL_IDNT_TS) Then
Generate_Triggers(EMPLID, &L_DT);
End-If;

查看、添加或取消触发器
全球薪资和缺勤管理,缺勤和薪资处理,准备薪资,检查触发器

按日历组 ID 查看重复触发器
全球薪资和缺勤管理,缺勤和薪资处理,准备薪资,检查重复触发器



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10342083/viewspace-764684/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-07-21

  • 博文量
    2
  • 访问量
    2737