Which IIQ version are you inquiring about?
Version 8.4
Please share any images or screenshots, if relevant.
Share all details related to your problem, including any error messages you may have received.
Hi and Hello,
I have problem with my workflow (one step). My workflow start livecycle event, change attribute. On one step it is deleting old roles. I would like to add possiblity for menager to choose data when it should be delete no always when is acceptance. To have this icon on form I need to add some date in code and this could be a problem. I have icon on form, I see a change( menager can change data). After workflow is end on identity I see only previos data from code not from form which choose manager.
Maybe somebody can help with that?
I put my step and screens.
Build Provisioning Plan
import sailpoint.object.ProvisioningPlan;
import sailpoint.object.ProvisioningProject;
import sailpoint.object.ProvisioningPlan.AccountRequest;
import sailpoint.object.Identity;
import sailpoint.object.Bundle;
import java.util.Date;
import java.sql.Timestamp;
import java.util.List;
import sailpoint.tools.GeneralException;
import org.apache.log4j.Logger;
Logger log = Logger.getLogger("iiq.development");
log.debug("--------------------Step Build Provisioning Plan Mover Start--------------------------------");
Identity identity = context.getObjectByName(Identity.class, identityName);
log.debug("Start building a quota plan for an identity: " + identityName);
ProvisioningPlan plan = new ProvisioningPlan();
plan.setIdentity(identity);
plan.setNativeIdentity(identity.getName());
log.debug("Plan----------> " + plan.toXml());
log.debug("Retrieving the list of roles to remove from the previous step");
List foundRoles = (List) workflow.get("foundRoles");
log.debug("Number of roles to remove: " + (foundRoles != null ? foundRoles.size() : "The role list is null."));
if (foundRoles != null && !foundRoles.isEmpty()) {
AccountRequest accRequest = new AccountRequest();
accRequest.setApplication("IIQ");
accRequest.setOperation(AccountRequest.Operation.Modify);
accRequest.setNativeIdentity(identity.getName());
Map attributes = accRequest.getArguments();
if(attributes == null) {
attributes = new HashMap();
}
accRequest.put("startDate",new Date(new Timestamp(1714428000000L).getTime()));
accRequest.put("endDate", new Date(new Timestamp(1750000000000L).getTime()));
for (String role : foundRoles) {
AttributeRequest attr= new AttributeRequest(“assignedRoles”,ProvisioningPlan.Operation.Remove, role);
attr.put(“addDate”, new Date(new Timestamp(1714428000000L).getTime()));
attr.put("removeDate", new Date(new Timestamp(1750000000000L).getTime()));
accRequest.add(attr);
log.debug("Add role to remove: " + role);
}
plan.add(accRequest);
} else {
log.debug("There are no roles to remove.");
}
log.debug("The assignment plan was built for " + identityName + ".");
log.debug("Plan----------> " + plan.toXml());
log.debug("--------------------Step Build Provisioning Plan Mover End--------------------------------");
return plan;
Regards,
Adam