3 of 3 people found this helpful
instead of dealing with errors, you could use (or define one if necessary) an "Auto Approve" process to be used instead of the one you're using when approval isn't needed.
One way to achieve that would be to reserve one of request's SR Type Field fields for approval process identifier (you could use numeric fields populated with numbers, or character fields populated with readable descriptions -- either way, you can define values as you wish), and another for semicolon separated list of approvers' login IDs. For example, use any combination of appropriate SRD actions to prepare values to be mapped to SR Type Field 42 (approval proces identifier) and SR Type Field 43 (list of approvers) using Service Request Field Mapping -- in this case, $SR Type Field 42$ might end up populated with "Single Approver Process" if approval is necessary, or "Auto Approval Process" if approval isn't needed.
The next step is changing your approval chain definitions, specifically <Selection Criteria*>. Instead of listing SRD IDs, you can simply define it as ''z1D_Approval_Keyword' = "SRM_CUSTOM" AND 'SR Type Field 42' = "Single Approver Process" in approval chain requiring approval, or ''z1D_Approval_Keyword' = "SRM_CUSTOM" AND 'SR Type Field 42' = "Auto Approval Process" in approval chain which doesn't require approval.
As well as working around your problem, this method should give you enough flexibility to be used over and over in multiple SRDs; if necessary, you could expand list of available approval processes to "One Must Approve Process", "All Must Approve Process" or any other process type you need as well.