IdentityIQ, 8.2
For a one application, which is JDBC, I want to call a stored procedure and pass 3 parameters, which are global mappings. The store procedure will then insert or update in a specific table.
I tried this :
import sailpoint.object.ProvisioningPlan.AccountRequest;
import sailpoint.object.ProvisioningPlan.AttributeRequest;
import sailpoint.object.ProvisioningResult;
import org.apache.log4j.Logger;
import org.apache.log4j.Level;
Logger logger = Logger.getLogger(“rule. Provisioning Rule”);
logger.setLevel(Level.DEBUG);
logger.debug(“Provisioning Rule Starting>”);
ProvisioningResult provisioningResult = new ProvisioningResult();
if ((plan != null) && (connection != null) )
{
List accountRequests = plan.getAccountRequests(application.getName());
for (AccountRequest accountRequest : accountRequests)
{
if(accountRequest.getOperation().equals(AccountRequest.Operation.Create))
{
logger.debug("In accountRequest creation operation for Id : "+accountRequest.getNativeIdentity());
logger.debug("Plan to xml is >>"+plan.toXml());
String stringspcall="call dbo.sp_name("+accountRequest.getAttributeRequest("employeeID")+","+accountRequest.getAttributeRequest("networkID")+","+accountRequest.getAttributeRequest("email")+")";
logger.debug("The sp Query query is :"+insertQuery);
int countRow=connection.prepareStatement(stringspcall).executeUpdate();
if(countRow>0)
{
provisioningResult.setStatus(ProvisioningResult.STATUS_COMMITTED);
logger.debug("The insert Query query executed successfully in target DB for Id: "+accountRequest.getNativeIdentity() );
}
else
{
provisioningResult.setStatus(ProvisioningResult.STATUS_FAILED);
logger.error("Error in performing insert Query operation for Id : "+accountRequest.getNativeIdentity() );
}
}
}
}
logger.debug(“End Provisioning Rule”);
return provisioningResult;
I am getting this error:
An unexpected error occurred: java.lang.Exception: sailpoint.tools.GeneralException: BeanShell script error: bsh.EvalError: Sourced file: inline evaluation of: import sailpoint.object.ProvisioningPlan.AccountRequest; import sailpoint.objec . . . '' : Typed variable declaration : Attempt to resolve method: getName() on undefined variable or class name: application : at Line: 14 : in file: inline evaluation of:
import sailpoint.object.ProvisioningPlan.AccountRequest; import sailpoint.objec . . . ‘’ : application .getName ( ) BSF info: TWkfc_AD_Mail_Xref at line: 0 column: columnNo