!!!Approval Process and Approver Where clauses

A where clause may be defined in [IMWC] or [IMDAO].
  
Once a where clause is defined it may be used to control what gets approved and by whom when using it at two levels.  The first is by the approval process itself and the second is by each [approver|APPROVERS].   In both cases the where clause must be relative to the approval entity as the base table. 

It is highly recommended that properly built where clauses be used on both the approval process and approver levels.  If the refining of approval processes and approvers is not properly done performance will be an issue

It is important to note that approval/approver where clauses for Personnel Actions which make use of assignments must be defined differently than Personnel Actions that do not use assignments.  Personnel Actions that do not make use of assignments would have a where clause condition that starts from the [EEM_ID] column, where as Personnel Actions that use assignments would have a where clause condition that starts from the [EAS_ID] column. 

Example: \\
Personnel Action where clause for [PEEI]:

||Type||Pedefined||Column||Operator||Value
|Ad Hoc| |EEM_ID.EAS_ID_PRIME.ID.DPS_ID.POSITION_CODE|Equals |JPT_0015a 
 
This condition is attempting to restrict to a position code.   In order to do that the condition must start from a column on [P2K_SA_PERSONNEL_ACTIONS]. This example works its way from [P2K_SA_PERSONNEL_ACTIONS] using [EEM_ID] since the [PEEI] PA type does not use [P2K_HR_ASSIGNMENTS],  then to the prime assignment on [P2K_HR_ASSIGNMENTS] then to the effective details of that assignment [P2K_HR_ASSIGNMENT_DETAILS] then to the position [P2K_CM_POSITIONS] on that assignment as noted from the foreign key in the condition column.   The “value” is the restricted position code.  

Example: \\
Personnel Action where clause for [PEAS]:

||Type||Pedefined||Column||Operator||Value
|Ad Hoc| | EAS_ID.ID.DPS_ID.POSITION_CODE|Equals|JPT_0015a
 
The condition is the same in that it is attempting to restrict to a particular position code. However, the definition of the condition is slightly different. This example works its way from [P2K_SA_PERSONNEL_ACTIONS] using [EAS_ID] since the [PEAS] PA type does use [P2K_HR_ASSIGNMENTS] & [P2K_HR_ASSIGNMENT_DETAILS], then to the effective details of that assignment [P2K_HR_ASSIGNMENT_DETAILS] then to the position [P2K_CM_POSITIONS] on that assignment as noted from the foreign key in the condition column.   The “value” is the restricted position code.