Hi Guys,
Even after attaching jdbc rule i am not able to provision into csv file through sql loader. below rule i used . But i am only trying to provision few given in rule but still no luck may i know what should i do to do provisoning
these are the headers of csv
| racerId (1st part) | emploeeNumber | racerId (2nd part) | employeeNrOld | sn | givenName | foreName | surnamePrefix | surnameAppendix | title | birthName | birthDate | birthPlace | gender | preferredLanguage | costCenter | companyCode | l | subDepartment | subDepartmentLong | department | departmentLong | homePostalCode | homeCity | homeStreet | homeAddressAdd | homeCountry | homeCountryCode | snReal | givenNameReal | lReal | homeCityReal | homeStreetReal | homeAddressAdd | titleNational | retireDate | retireReason | hireDate | employeeType | employeeState | accountingArea | personnelArea | personnelSubArea | personnelStructKey | telephoneNumber | facsimileTelephoneNumber | roomNumber | EmployeeTypeInternal | Member Flag | HireReason | formerContractEmployeeNumber | formerContractCompanyCode | formerContractEmail | ReactivationDate | partnerDUNSnumber | LastValidationDate | mgmtLevel | VPNInternal | mobile | CompanyVehicleGroup | GID |
|---|
import sailpoint.object.*;
import java.sql.*;
import java.util.*;
Map result = new HashMap();
try {
if (plan != null && connection != null) {
List accountRequests = plan.getAccountRequests();
if (accountRequests != null && accountRequests.size() > 0) {
for (int i = 0; i < accountRequests.size(); i++) {
Object acctReqObj = accountRequests.get(i);
String operation = acctReqObj.getOperation().toString();
if ("Create".equals(operation)) {
String emploeeNumber = (String) acctReqObj.getAttributeValue("emploeeNumber");
String givenName = (String) acctReqObj.getAttributeValue("givenName");
String sn = (String) acctReqObj.getAttributeValue("sn");
String mgmtLevel = (String) acctReqObj.getAttributeValue("mgmtLevel");
String department = (String) acctReqObj.getAttributeValue("department");
log.debug("Creating account: " + emploeeNumber);
String sql = "INSERT INTO vcd (emploeeNumber, givenName, sn, mgmtLevel, department) VALUES (?, ?, ?, ?, ?)";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, emploeeNumber);
stmt.setString(2, givenName);
stmt.setString(3, sn);
stmt.setString(4, mgmtLevel);
stmt.setString(5, department);
int rowsAffected = stmt.executeUpdate();
log.debug("Rows affected: " + rowsAffected);
String packSQL = "pack table vcd";
Statement packStmt = connection.createStatement();
packStmt.execute(packSQL);
packStmt.close();
stmt.close();
log.info("Account created successfully: " + emploeeNumber);
result.put("result", "success");
result.put("accountId", emploeeNumber);
} else if ("Delete".equals(operation)) {
log.info("Delete operation received");
result.put("result", "Delete not supported");
} else {
log.debug("Unsupported operation: " + operation);
result.put("result", "Operation not supported");
}
}
}
}
} catch (Exception e) {
log.error("Failed to create account: " + e.getMessage(), e);
result.put("error", "Failed to create account: " + e.getMessage());
result.put("result", "failed");
}
return result;
