需求是这样的:
假设现在Change Coordinator = 'Test Group' 的需要根据条件Gender走不同level 1的审批,最后走相同Group的Level2流程
我们设想的解决办法是: 增加Approval Mappings里面 Gender这个条件来走不同的审批
做这个的时候,首先我们把Gender field加入了: CHG:Infrastructure Change, APR:Approver Lookup
那么,会出现下面两种问题:
1. Approval Mappings不能创建两条相同的记录.
2.要怎么修改才能使得workflow自动根据不同的Gender选择不同的Approver
解决第一个问题:
思路肯定要么就是form,要么就是active link,要么是filter有一些检查过不去.
最后找到了相关的filter:
APR:APL:CheckForDuplicate_110_Change
APR:APL:CheckForDuplicate_110_Release
APR:APL:CheckForDuplicate_110_Request
APR:APL:CheckForDuplicate_110_RequestDefinition
APR:APL:CheckForDuplicate_111
最后一个就是报错的而已,我们要改的是Change,所以需要修改的是:APR:APL:CheckForDuplicate_110_Change
然后一看,哇塞,这什么鬼,一大堆条件:
其实看完之后,就是各种比较和已经存在的Approval Mappings相不相同.
所以我们只需要加上: AND ((($Gender$ = ' Gender') AND ($ Gender$ != $NULL$)) OR (($ Gender$ = $NULL$) AND (' Gender' = $NULL$)))
解决第二个问题:
关键的form是: CHG:Change-ImpactedAreasCIAssociation_outer_ApproverLookup
但它是join form, 需要把之前的form一直从Change add add add 到这个form上.
相关的form全部需要从change加上value:
CHG:Change-ImpactedAreas_outer_CIAssociation_outerJoin
CHG:Change-ImpactedAreas_outerJoin
最后就是修改 CHG:Change-ImpactedAreasCIAssociation_outer_ApproverLookup Join条件, CHG:Infrastructure Change和APR:Approver Lookup中的Gender field进行比较.