更新之前先触发

时间:2018-07-11 06:51:00

标签: triggers apex beforeupdate

我正在创建一个更新前触发器,当与该协议相关联的工作不在新日期的持续时间内时,该触发器将不允许更改协议的protocol_start_date和protocol_end_date。

背景:

  • 协议需要协议的开始日期和协议的结束日期。
  • 一个协议可以分配有多个任务,而每个任务只能分配一个服务协议。
  • 每个工作都有一个工作开始日期和一个工作结束日期,并且都在protocol_start_date和Agreement_end_date的持续时间内。
  • 从“工作”到“协议”之间有一个查找字段,但从“协议”到“工作”中没有。

Agreement_ABC:

  • agreement_start_date = 2018年6月1日
  • agreement_end_date = 2018年7月31日

    1. 职位01:
  • job_start_date = 2018年7月1日

  • job_end_date = 2018年7月15日

    1. 工作02:
  • job_start_date = 2018年6月2日

  • job_end_date = 2018年6月30日

Agreement_ABC新日期:

  • agreement_start_date = 2018年6月5日
  • agreement_end_date = 2018年7月30日

显示错误,不允许保存,因为新的开始日期与Job_02 job_start_date冲突

场景:

我想用新的日期值更新protocol_start_date和protocol_end_date,但是,如果与其关联的作业不在新的日期持续时间内,触发器将不允许他们保存新的日期。

如何最大限度地利用Set,List和Map开发触发器?大量的代码也很好。

0 个答案:

没有答案