I am developing a custom adapter which supports add/modify/delete user operation.
For ADD user operation, I need to set the ISIM request status to WARNING in case few attributes are failed to add on user profile.
In the custom connector I am setting a new attribute called failedAttribute to identify failed entries.
And in the assembly line After Add hook I have written following script
var failed = conn.getAttribute("failedAttribute");
if(failed != null){
work.removeAllAttributes();
work.setAttribute("details",failed);
work.getAttribute("details").setOper(Packages.com.ibm.di.entry.AttributeValue.AV_UNCHANGED);
for(attrIdx=0;attrIdx<failed.getValues().length;attrIdx++) {
work.getAttribute("details").setValueOper(attrIdx,Packages.com.ibm.di.entry.AttributeValue.AV_UNCHANGED);
}
var v1 = new Packages.java.util.Vector();
v1.add(conn.getProperty(REQST_OP_STATUS_REASON));
work.setProperty(Packages.com.ibm.di.dispatcher.Defs.REASON_MESSAGE_ARGS, v1);
work.setProperty(Packages.com.ibm.di.dispatcher.Defs.STATUSCODE, new Packages.java.lang.Integer(Packages.com.ibm.itim.remoteservices.provider.Status.SUCCESSFUL_WARNING));
work.setProperty(Packages.com.ibm.di.dispatcher.Defs.REASONCODE, Packages.com.ibm.itim.remoteservices.provider.Reason.PROCESSING_ERROR );
work.setProperty(Packages.com.ibm.di.dispatcher.Defs.REASON_MESSAGE, Packages.com.ibm.di.dispatcher.DispatcherReasonMessage.ADAPTER_ADD_WARNING );
}else{
work.setProperty(Packages.com.ibm.di.dispatcher.Defs.STATUSCODE, new Packages.java.lang.Integer(Packages.com.ibm.itim.remoteservices.provider.Status.SUCCESSFUL));
}
#Support#SupportMigration#Verify