Workday Exclusion Subtype from Aggregation

Which IIQ version are you inquiring about?

Version 8.4

Share all details related to your problem, including any error messages you may have received.

Hello Experts,

is there any way to exclude few subtypes during workday aggregation. any rule?

for eg. if i want to exclude program user during Workday aggregation. how to fix this issue. Please help on this.

Thanks

Check if you can add the filter in Application β†’ Configuration β†’ Settings.
if no option to add filter then only would be adding the Customization Rule to skip objects .

I don’t see any specific filter for exclusion. do you have sample example for exclusion using customization rule

here is one sample rule

  import org.apache.log4j.Logger;
  import java.util.regex.Pattern;
        

  public boolean isNumeric(String employeeId) {
     Pattern pattern = Pattern.compile("-?\\d+(\\.\\d+)?");
     if (employeeId == null) {
        return false; 
     }
     return pattern.matcher(employeeId).matches();
  }

  String email = object.getAttribute("email");
  String empId = object.getAttribute("empId");
  
  if(empId == null || !isNumeric(empId)){
      return object;
  }else if(email != null @and email.toLowerCase().endsWith("@vishal.com")){
      return object;
  }else{
      log.debug("Ignoring account " + email + " and empId " + empId + " for Application " + application.getName() + ", because email is not a valid vishal email");
      return null;
  }
1 Like

Hi and Hello,

Like @vishal_kejriwal1 you need to use Customization Rule to skip objects.

Example " exclude`rule for Bundle, certification". You can do something like that, but you need to use other Arguments

if (entity instanceof Identity) {

Identity identity = (Identity) entity;
Iterator it = items.iterator();
while (it.hasNext()) {
    Object item = it.next();
    Certifiable certifiable = (Certifiable) item;
    if (certifiable instanceof Bundle) {
        Bundle bundle = (Bundle) certifiable;
        if ("YOUR BUNDLE".equals(bundle.getName())) {
            itemsToExclude.add(bundle);
            it.remove();
            explanation.append("Exclude \"")
                       .append(bundle.getName())
                       .append("\" from certification. Role name is \"YOUR BUNDLE\".\n");
        }
    }
}

}
log.debug("Explanation: " + explanation.toString());</Source>

Regards,
Adam

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.