Hello everyone, I currently update the UserName and Email fields of Success after filling them out in iiq (version 8.4) using a rule. However, I need to update a custom field within success. Below is the rule I use. Can you tell me which method I use to update the custom field?
import sailpoint.object.ProvisioningPlan.AccountRequest;
import sailpoint.object.ProvisioningPlan.AttributeRequest;
import sailpoint.object.ProvisioningPlan.ObjectOperation;
import sailpoint.object.ProvisioningPlan.AccountRequest.Operation;
import sailpoint.connector.successfactors.SuccessFactorsConnectorImpl;
import sailpoint.tools.Util;
import sailpoint.connector.successfactors.SuccessFactorsConstants;
import sailpoint.object.ProvisioningResult;
import sailpoint.tools.Util;
/**
* ecEmailType for Business Email.
*/
String BUSINESS_EMAIL_TYPE = "59894";
ProvisioningResult result = new ProvisioningResult();
result.setStatus(ProvisioningResult.STATUS_COMMITTED);
boolean isPrimary = true;
Map map = new HashMap();
/**
* This method would provision a given business phone, business email and username.
*/
public void doProvision() throws Exception {
String accNativeIdentity = request.getNativeIdentity();
//Get handle of the implementation object.
SuccessFactorsConnectorImpl sfObj = connector.getImplObject();
if (Util.isEmpty(provisionMap)) {
throw new Exception("Empty provisionMap detected");
}
try {
updating username
if (null != provisionMap.get(SuccessFactorsConstants.ATTR_USERNAME)) {
sfObj.provisionUsername(accNativeIdentity, provisionMap.get(SuccessFactorsConstants.ATTR_USERNAME), provisionMap);
log.warn("Updating the ATTR_USERNAME SapSuccess: " + accNativeIdentity + " MAP: " + provisionMap);
}
// Here, what is the method?
//if (null != provisionMap.get("custom-string4")) {
// sfObj.provisionCustomField(accNativeIdentity, provisionMap.get("custom-string4"), provisionMap);
//log.warn("Updating the custom-string4 SapSuccess: " + accNativeIdentity + " MAP: " + provisionMap);
//}
//updating business email
if (null != provisionMap.get(SuccessFactorsConstants.ATTR_PRIMARY_EMAIL_ADDRESS)) {
sfObj.provisionEmail(accNativeIdentity, isPrimary, provisionMap.get(SuccessFactorsConstants.ATTR_PRIMARY_EMAIL_ADDRESS), BUSINESS_EMAIL_TYPE, provisionMap);
log.warn("Updating the ATTR_PRIMARY_EMAIL_ADDRESS SapSuccess: " + accNativeIdentity + " MAP: " + provisionMap);
}
} catch (Exception e) {
log.error("Exception during provisioning ", e);
throw e;
}
}
doProvision();
return result;