Skip to Content

Now a days no organization keeps their user data set local to specific application. There will be always be Active directory keeping all user information and individual application sync with Active Directory and get the update user data set from there and keep updating application repository on nightly jobs as to run off hours to avoid any business impact.

We all know the process to configure BUSINESS OBJECTS for use with LDAP Active Directory, if not, please refer @ https://wiki.scn.sap.com/wiki/display/BOBJ/Setting+up+the+LDAP+connector

The question comes here? What if the process gets failed after successful configuration? How can Administrator monitor the process status? Because we normally runs the jobs at offshore hours to avoid application performance and the process take more than 2 to 3 hours depending on the user strength on real business scenario. Is it feasible for Administrator to check every time to log on into CMC and check the status? No, right!!  SO, we have to have some alert system which can notify Administrator if there is only issue occurred while updating the users from Active Directory to BUSINESS OBJECTS repository.

So, if we summarize, here we have the following problem, solutions:

Problem statement:

How can we monitor the process which updates users from Active directory user groups to BUSINESS OBJECTS user groups?  Do we have any alert available to enable? How can the Administrator take quick action to start trouble shooting and to have minimal impact to business?

Solution:

We can have an automated process running which monitors the final status of the job run. We can have a java process using business objects SDK API’s connecting to CMS and retrieving the user counts from the user group where the process updates users from LDAP directory. So, the LDAP update process takes hours to complete the update and if there is any issue to connect, it does not update users. The process gets interrupted if there is any connection issue and as a result there won’t be any user present into the BUSINESS OBJETCS user groups.

We created a process to check the user# present into the users groups. If there are no users or any huge fall in counts, the process sends email to Administrator’s business email, personal email and sends SMS to the mobile. On notification, administrator starts quick trouble shooting to have minimal impact.

How to Implement:

Enterprise session :

Get business object Enterprise session to by providing admin credentials , once we have the session, we need to have IInfoStore object to run the query

// sample

IInfoStore infoStore = (IInfoStore) enterpriseSession.getService(“”, “InfoStore”);

User Group Iteration:

Have a predefined set of user groups( with user group ID) to iterate to check the users count and the query formation on run time with user group ids

// sample

for(int j=0; j <UserGrpId.size(); j++){

query = “select * from ci_systemobjects where si_id=”+UserGrpId.get(j)+” and SI_KIND=’UserGroup'”;

}

Execution:

Once we have the query ready, we runt to get the User Object

//sample

IInfoObjects oInfoObjects = oInfoStore.query(query);

if (oInfoObjects.size()> 0){

oUserGroup=(IUserGroup)oInfoObjects.get(0);

String userCnt=oUserGroup.getUsers().size(); // gives the user count

}

Notification:

  Once we have user count, we put a check on the count, if count > 0, we are good else there is issue with the LDAP server update. We send notify administrator using sms, emails.

There is common utility available in java to send emails.

This early notification helps a lot to avoid starting last minute trouble shooting until go to CMC and check the process status or you receive emails from business end users stating there is issue to work on.

Please let me know if you need anything in details.

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply