Showing posts with label Siebel Admin. Show all posts
Showing posts with label Siebel Admin. Show all posts

Monday, January 25, 2010

Issue navigating to Admin Server Management view??

I do like working on dedicated client most of the time, as it helps me getting the SQL spool and the log file, for the dedicated session I am using, very easily in the local drive.

Something strange I observed today when I got the User Id / Password error for the Siebel session while I was trying navigating to "Administration - Server Management" view.

So, here is the sequence of things I observed:

1. I tried navigating to Administration - Server Management View.

2. Recieved an error saying :

3. I clicked on Ok, and found that system is asking for the User Name and Password for connecting to the Gateway.

4. Thought of putting my login name/password, but didn't work.

5. And Siebel client was giving error saying :

An error has occurred creating business component 'Server Component' used by business object 'Server Admin'. Please ask your systems administrator to check your application configuration.(SBL-DAT-00222)

These were the complete set of events happened in my dedicated session and I was not able to navigate to Server Management views. I even tried navigating to the Server Configuration screen but that also didn't work.

Since system was trying accessing the gateway information and it received an error, there is something messed up with the dedicated client cfg file due to which I am not able to qualify for the gateway server information access. To confirm whether CFG is having the correct values or not, just open the CFG and look for : "[GatewayDataSrc]" section. Here below are the parameters for which we need to confirm the values :

[GatewayDataSrc]
ConnectString = <_siebelserver>:<_port>
PrimaryEnterprise = <_enterprise>
DLL = libsscda10.so

Now the question is, from where we need to confirm these values?

To give you the information, "siebns.dat" is the file located at "/siebel/gatewaysrvr/sys" directory which keep all the informatiom regarding the Gateway Server, Siebel Servers, Enterprise Server, Components running on each server with all the parameter details etc.

So, just get this file from the mentioned location and search for the below mentioned strings to check out the value for each parameter:

1. ConnectString :

a) In siebns.dat file search for "GatewayDataSrc/parameters/DSConnectString".

b) Under this section, look for the parameter : "Value" and this is the value for the "ConnectString" parameter in client cfg. (Please note this is the format : <_siebsrvrname>:<_port>)

2. PrimaryEnterprise :

a) In siebns.dat file search for string "GatewayDataSrc/parameters/DSPrimaryEnterprise".

b) Under this section, look for the parameter : "Value" and this is the value for the
"PrimaryEnterprise" parameter in client cfg.

3. DLL :

a) In siebns.dat file search for string "GatewayDataSrc/parameters/DSDLLName".

b) Under this section, look for the parameter : "Value" and this is the value for the "DLL" parameter in client cfg.



After setting all the correct values in the Client's cfg file, just restarted the dedicated session again, it worked fine. Today I know the importance of siebns.dat file, really very useful.

.

Wednesday, January 20, 2010

Creating Server Request from Dedicated Client !!

I was trying simulating a Business Service from Siebel Client thru "Administration - Business Service -> Simulator" view, and this is very basic thing that we do in our daily Siebel life ;)

But this is what I got, a pop message saying:

No server connect string for Siebel Component SRBroker in Siebel Enterprise <_enterprisename>, Siebel Server <_siebelservername>


hmm, this is something new I ever came across and it seems that my business service was trying to create a Request on Siebel Server (because error specifically mentioned for SR Broker) and due to the incorrect Connect String, system is not able to create a Server Request.

I researched for this issue and found something interesting that is worth sharing with you people here.

You will see this error when :

a) You are trying to create a Server Request, no matter it is Synchronous or Asynchronous, from dedicated client.
AND
b) RequestServerName is not correctly mentioned in the Client's cfg file.


SR Broker is the component which is responsible to interact with the various components running on the Siebel Server to assign the respective tasks. So we need to specify the Server Name (Logical) where SR Broker component is running.

So, here is what you need to do :

1. Find out the Logical name of Siebel Server.
a) Navigate to "Administration - Server Management -> Enterprises". And in the second applet check for the Server Name under which "Server Request Broker" component is running.
b) Copy the Siebel Server name.


2. Update the Server Name in Client cfg file.
a) Open Siebel.cfg file or whichever you are using.
b) Search for section : "[InfraObjMgr]"
c) Change the parameter : "RequestServerName" to the value for Siebel Server Name that we copied in Step 1.b above.

3. Save the Client cfg file and restart the Siebel dedicated client and it should work fine.


Hope it helps.



.




Tuesday, January 5, 2010

Running a Workflow Process when "Workflow Process Manager" component shutdown?

Got surprised? I know, this is same reaction I had while brainstorming this with my friend that, "how is it possible?".

Okayy, lets play a question game today here on SiebelMantra and see how many Siebel Gurus visits this post to answer this question:

=========================================================
Is there any way you can run a Workflow Process when "Workflow Process Manager" component is not running on the Siebel Server?
=========================================================

Please provide your comments and I assure you that you will definitely going to learn few hidden truths in Siebel when I will provide my comments after few days with the complete summary for this post. Go ahead, write your views on the question asked.
.

Monday, December 7, 2009

Error in Inbound Integration !!

Generally whenever you create a new Inbound Integration in Siebel, its a recommended practice that you get a new Database login created for it and that you can share with the other system for which you have created this inbound integration. I did the same thing, requested for a new DB login from our DBA and got it created. Before handing over to other party for use, I tried testing this newly created Inbound Integration via SOAPUI (the best ever client I came across for testing integrations). Imported the wsdl and when hit Go, I received the message saying :

The user-context could not be established. Something is wrong with the assigned primary position or login related repository objects. See additional error messages for more information.(SBL-DAT-00546)

and yes my reaction was "Oops, I forget to create a record for the DB user, that I am using for this Inbound Integration, in Administration - User screen". Okayy, let me do that. I created the record under "Employees" view, assigned the necessary position and responsibilities.

Now, lets try again invoking the inbound integation again from SOAPUI, again hit Go, this time I received the different one:

The user ID or password that you entered is incorrect. Please check the spelling
and try again.(SBL-UIF-00272)


hmmm....... I don't think, the username and password I used in the SOAP header is incorrect, so just to confirm it, I went to Oracle client and tried logging into the Siebel Database and I was able to login successfully, no issues. That means the problem is somewhere else.

The best part while working with Siebel is, as soon as you receive any error, just verify the respective logs and you will get the clue. So, the next step towards resolving this issue is just to check the EAI Object Manager log. I went to log folder and found there was an error message in it saying:

SBL-DAT-00587: An error occurred setting the default locale for the session.

This is something to be notice here that the Login credentials I am using is getting problem with creating a new session with Siebel. I think, I know the resolution for this but before actually use that lets double check it. I opened the Siebel thin-client URL and tried login into application instead and again I received the same error that Username/password is not correct. Also in Object Manager log, I found the instance of the same error which I found in EAI Object Manager log.

So, this only happens when SSE_ROLE has not been assigned to the designated user. For creating a session, every Siebel user should have this role assigned otherwise it won't be able to login even. To check which all roles/priviledges are assigned to the user, just login into the database with that user's login credentials and run the following query :

select * from user_role_privs
It will list all the roles for you and keep in mind that SSE_ROLE is required if you want to create a user session on Siebel Server either via Object Manager or EAI Object Manager.

So, I just asked my DBA to do the needful and now I think I am good, and yes I was able to invoke Inbound integration sucessfully. Now its the time when I can share these login credentials along with the WSDL to other party.
.

Friday, August 21, 2009

Automating Siebel SRF Full Compile process!!!

One of most boring and mechanical task for Siebel Administrators is to do a Full Compile of SRF from Siebel Tools connected to Server Siebel Repository and put it onto the Siebel Server whenever Development team ask to do so.

Here is atleast we can make a process in which Admin guy doesn't require to open Siebel Tools with Server database and do a Full Compile. This can be automated, just follow the below steps :

1. Copy paste the below lines of command into a text file and save it in .bat file lets say : FullCompile.bat

D:\Siebel\8.1\Tools_1\BIN\siebdev.exe /c D:\Siebel\8.1\Tools_1\bin\enu\siebel.cfg /d ServerDataSrc /u <_username> /p <_password> /bc "Siebel Repository" D:\Siebel\8.1\Client_1\OBJECTS\ENU\DailyFullCompileSRF.srf

exit

2. You can change the location of Siebel Tools / Client directory in the above command, as per your requirement. Also the Username and Password.

3. Create a Windows Scheduled Task to run this .bat file on the daily basis. I have set the time for scheduled task as everyday 7AM morning, and I see the newly compiled SRF ready once I reach office :) . SRF name : DailyFullCompileSRF.srf.

I am not sure whether this works in Unix env via creating a cron job, if somebody has tried that please share your experience.

.

Tuesday, July 21, 2009

"Invalid or Missing Encryption Key" error ??

This is the error you might see if you are working on Siebel 8.0 or higher and trying connecting to the Local Database via System DSN or DBISQLC.

After the launch of Siebel version 8.0 the local database is now encrypted, if you have not provided some specific parameters while Local Database Extract.

The point to be noted here you can successfully login into the Siebel Tools / Client using the same local database without any issues. But you cannot, if want to play with it via backend. Sounds strange but this is how it actually works.

The only solution that I found is to specify few extra parameters apart from what we generally specify during the Local Database Extract and after that it worked fine. So here is the complete list of Parameters that you can use while database extract to avoid this kind of error.

1. Navigate to "Administration-Server Management -> Jobs".
2. Create new record with "Component/Job" = "Database Extract".
3. Under Job Parameters, add the following :

a) Client Database encryption method = None
b) Client Name = "Your Login Name"
c) Database Init Method = Sql Anywhere
d) Database template file name = sse_utf8.dbf
e) Encrypt client Db password = False
f) Extract all Repository Tables = False

4. Click on Submit Job.
5. Once completed, rename the "sse_data.dbf" in "SiebelSrvr/Tools/Local" folder and connect to the Local database again to initialize the local database again.
6. Do a "Full-Get" to get all the necessary repository objects.
7. Try connecting to the Local Database via System DSN or DBISQLC, it should work fine. Make sure you use the Username and password in CAPS.

Hope it helps !!!!

Monday, June 22, 2009

SBL-DBX-00083: Unable to start due to incorrect system preference setting

No Parameter has been changed on the Siebel Server and no settings has been touched and suddenly this error started coming while running "Database Extract" component. So the way everybody's next step is to search for "SBL-DBX-00083" in Metalink, I also tried the same thing and very easily got to know that the solution for this problem can achieved by following the below steps :

a) Go to "Administration - Application -> System Preferences"
b) Query for : "Docking: Transaction Logging" parameter and change the value to "True"
c) Restart the Siebel Server
d) Restart the "Transaction Processor" component.

You must be thinking when the resolution is already available in Metalink, then why I am explaining that here..... :), because there is something new I observed.

Let me tell you what exactly happened and I think you might be interested in reading that. When I went to "Administration-Application -> System Preferences" view and queried for "Docking: Transaction Logging" parameter, I found none.
So I thought it might not be there (just a guess), finally I decided to create a new one with the value "TRUE". Hope I am going into the right direction as I was just following what is written in Metalink. After that restarted the Siebel Server and want to check if "Transaction Processor" component was running, but it wasn't. So I just restarted it, but I saw that the "Transaction Manager" has again got errored out with the error : "SBL-TXP-00011: Unable to Start the APIs". hmmmmm... I haven't got rid of one error and I found another one. This is what Siebel world is :)

Again went to the Support Web to check for the resolution and this is something strange now. The resolution for this error is also the same that I need to have "Docking: Transaction Logging" parameter to "TRUE". But I have already created that one, right?

I am not sure what is going on? Why Siebel is not accepting the parameter value that I have just mentioned under System Preferences view?

Idea came into my mind and here below is what it was :

a) Go to Adminitration-Application -> System Preferences view.
b) Do a "About View" to check for the Business Component Name. It was "System Preferences".
c) Go to Siebel Tools, check for the table name. It was "S_SYS_PREF".
d) Run the below query :
Select * from siebel.s_sys_pref
where sys_pref_cd like 'Dock%'
I got surprised, when I saw two records returned with the following names :

a) Docking:Transaction Logging with Value = "FALSE"
b) Docking: Transaction Logging with Value = "TRUE"

Can you observe the difference in the name of the parameters above two. Second one have a space after "Docking: ".

That means the parameter was already existing but not displayed on the UI and by mistake I have created a new one. So I deleted the one I created from UI and changed the value for the exiting one from backend like this :
update siebel.S_SYS_PREF
set val = 'TRUE'
where sys_pref_cd like 'Dock%'

restarted the Siebel Server and found that Transaction Processor is also running fine. Tried with a new Database Extract again and it went fine.

Be careful from now on, it may happen with you as well. If something is not available on the UI, that doesn't mean it is not available in the database. :)

Full Compilation of Vanilla Respository Errors out

Sound strange, isn't it !!!

If I would say that I have just done the new Local Database Extract from fresh Vanilla Repository being setup for the new Env, and its full compilation is erroring out, nobody will agree to this. I am using Siebel 8.1 version.

To replicate it, follow the steps :

1. Create a job for "Database Extract" with the following parameters :
Client Name = LoginName
Extract all Repository Tables = TRUE

2. Re-initialize the Local Database.
a) Rename "sse_data.dbf" file in <_toolsdir>/Local folder to some another name.
b) Connect to Siebel Tools and click "Yes", when asked for initializing new database.

3. Do a Full Compile.

The error I got was :
Script compilation failed at line 25 in procedure 'Execute':
Syntax error at Line 25 position 1:Expected '}'
(SBL-SCR-00128)
Let me tell you the possible reason for this. If you have observed the parameter name : "Extract all Repository Tables " has been set to TRUE while database extract, what it does is, loads the local respository file (sse_data.dbf) with all the repository contents and saves the developer time as he doesn't require to do a "Full Get" once database get initialized. I used to use this parameter often but seems like due to this parameter some junk script is getting extracted into the local database due to which Full Compilation is failing.

So, I just changed its value to "False", extracted the database and then initialized the new database and done a Full Get. After that I tried Full Compilation again. Everthing worked fine now.

Thursday, June 18, 2009

Error while Siebel Local Database Initialization

Today, I tried intializing the Siebel local database for my Siebel Tools, but everytime getting the error :

Cannot open connection to <_siebelserverhostname>::5047. The Synch Manager component on the server is most likely unavailable.
The connection was refused by server . No component is listening on port 5047.


It seems to happen due to the following reason :

a) Either "Synchronization Manager" component is not running.
b) Siebel Tool's CFG file doesn't contain the correct Sync Port Number.

Alright, lets check it out where the problem lies.

Go to "Administration - Server Management -> Enterprises" and select the Siebel Server on which "Synchronization Manager" component is enabled. And I found that the component was running fine.

Now the next step is to check for the Sync Port Number. As it is already mentioned in the error that there is no listener on port 5047, that means Siebel Tool's CFG is requesting on port 5047 for synchronization. To confirm whether it is correct or not, follow the below steps :

a) Go to "Administration - Server Configuration -> Enterprises -> Component Definitions" view and query for "Synchronization Manager" component.

b) Under the Component Parameters applet, query for "Static Port Number" and check for the value.

To my surprise, I found that the port number was 5048. I think I got the resolution of the problem.

To correct the sync port number in Siebel Tool's CFG, go to "[Local]" section in the CFG and change the value for "DockConnString" parameter with the updated sync port number.

Old Parameter
DockConnString = <_siebelserverhostname>::5047

New Parameter
DockConnString = <_siebelserverhostname>::5048

Again tried initializing the local database and everything worked fine.

Hope this helps !!


Friday, May 29, 2009

Component/Job not visible in Server Administration applet

Today we got the new Siebel 8.1 Env to work on, being set-up by our Admin team. Everything is new because the fresh implementation has just kicked-off and the new team of developers required to get their Database Extract.

So, as per the normal process, I went to "Administration - Server Management -> Jobs" view to start a job for "Generate New Database". I clicked on "New" and tried opening the "Pick Applet" which is available on "Component/Job" field on the Jobs applet and got suprise to see that no "Component" was available in the pick applet.

hmmm.... first thing came into my mind was : "Any component is running on this Siebel Server?". Well to check it, I went to "Administration - Server Configuration -> Enterprises -> Component Groups", queried for "Siebel Remote" and found that all the components was enable on the Siebel Server. So no issues from components side.

After some of the discussion I came to know about the issue and let me know how I resolved it. I went to "Component Definitions" view and clicked on "Synchronize" button. It sometime for the hour-glass to go-off and then I again tried created a job for "Generate New Database" and all the components are now displaying in the pick applet.

Advice for "Admin People", please click on synchronize button after setting up the new Siebel Env :)

Saturday, May 9, 2009

Debugging Email Issue : Mail Profile Parameter

One of my friend called me up this morning and said somehow emails stop working in Production Env. And when I asked about the issue in detail, he told me that any of the email via Workflow Policy is not going, he tried lot many times but none of the user has received any of the email but if use F9 functionality, email was firing properly.

hmmmmm !!! Okayy... not a problem, lets start the debugging and lets see where exactly the issue exist.

1. Since F9 functionality is working that means Siebel Server is successfully creating an SMTP request using the Communication Profile (that we generally used in Production Env).

2. Do some operation, so that Workflow Policy gets trigger.

3. Checked whether policy gets trigger or not, using the below SQL statement :

select * from s_escl_req
where rule_id = "Policy Row Id"

record was existing in the table and checked the BT_ROW_ID column has the rowid of the record for which policy triggered.

4. Lets wait for 1 min, (generally 1 min is the sleeping time of all monitor agents) and lets see whether it is getting processed by monitor agent or not.

5. Yes, after around 1 min, the record gets deleted from S_ESCL_REQ and a new record gets created in S_APSRVR_REQ table for sending an email to the user with status "Queued".

6. Uptill now everything seems working fine and now Email Manager should pick this request from S_APSRVR_REQ table and should send an email. Lets wait for 1 min more.

7. Ooops... record is still existing in S_APSRVR_REQ table with the status "Queued". That means Email Manager has some issue and it is not picking the request from this table. Okayy.. now lets see what Mr. Email Manager is doing right now [may be on vacation :) ]

8. Navigate to "Administration -> Server Management -> Enterprises". Query for "Email Manager" and found that it was there and the status was online. It seems working, drilldown on it and navigated to "Tasks" view and no error log was being generated for it. But since it is running then it should process the record in S_APSRVR_REQ table. And one more point is we are successfully sending emails via F9 functionality.

9. Okayy, now lets check which email communication profile this "Email Manager" is using.

10. Navigate to "Administration - Server Configuration -> Enterprises -> Component Definitions". Query for "Email Manager". Query for "Mail Profile" under Parameters list.

11. And yes, we found something strange. "Profile Name" was somehow blank. Don't know the reason but since it is not having Communication Profile mentioned to process the request, it is not doing its job perfectly.

12. Put the same communication profile name which we were using for F9 functionality. Restart the Siebel Server and found all emails which got stuck in "Queued" status in S_APSRVR_REQ table, has successfully processed and has the status "Success" now.

So finally, issue get resolved.

Saturday, May 2, 2009

Siebel CFG Parameter : AutoStopDB

Everytime I close the Siebel Tools, I wonder that the Siebel Anywhere database engine (dbeng.exe) keep running in the Task Manager and sometimes it happens that it keeps consuming lot much of system memory, so I use to go to Task Manager and kill the process.

But again the question is, when I don't want to keep the Siebel Tools running anymore, why Database Engine keeps running?

So, here is the answer :
Siebel provides a CFG parameter (both in Client's and Tools's CFG file) under [Local] / [Sample] Section, name is "AutoStopDB" with the default value as "FALSE".
The "False" value of the parameter signifies that the Siebel Anywhere DB engine keeps running if you close the Client / Tools instance. As per the recommendation it should be "FALSE", in case you mostly connect to the same Database via Client and Tools, so that next you open the new instance of Client or Tools, system should not take time to connect to the database again.

So, depending upon the requirement, you can make it TRUE or FALSE. I change it to TRUE, coz I always use to connect to Local DB via Siebel Tools and to Server via Client.

Sunday, April 26, 2009

Scheduling Automatic Export in Siebel

List applets provide the OOB export functionality which is very useful sometimes when Managers want to do some analysis depending on various combinations and permutations on the live data very quickly. But if you need to do the same task on the daily basis, you will think, can't I get the export automatically from Siebel via email instead of I go to the list applet and take the export. The same happened with my client too. He want to automate this export process that he generally does on the daily basis from All Service Requests List Applet.

Lets see how this is achievable :

On the very high level, the solution is to :
  1. Create a Workflow which can take the Export and send it in an email to the user.
  2. Create a RCR (Repeating Component Request) which will get executed on the daily basis and run a workflow.

Workflow Creation:


Here below are major steps that used in Workflow to acheive the solution.

  • Query Service Request
    Business Service Name = Import/Export
    Business Service Method = Export
    Input arguments for this step are as follows :

    ==> FileName : "<_filename.xls>" (for eg: /temp/export.xls). Please make sure you should provide the extension as .xls

    ==> FileType: XML

    ==> IntObjectName : Service Request (this is the IO that I have created which has only one Integration Component i.e. Service Request). You can also use the OOB available IO for this purpose, if fits into the requirement.


  • Send Email
    Business Service Name : Outbound Communications Manager
    Business Service Method Name : SendMessage
    Input arguments for this step are as follows :

    ==> MsgToList : "<_youremailaddress>"

    ==> CommProfile : "<_communicationprofilename>". if you want to know, how to setup a Communication Profile, please refer to :
    http://siebelmantra.blogspot.com/2009/04/how-to-setup-communication-profile-for.html

    ==> MsgSubject : Export from Siebel

    ==> MsgBody : This is the test export from Siebel

    ==> AttachFileList : <_filename.xls>. (for eg: /temp/export.xls).

Workflow is ready, Publish and Activate it and simulate it on the Server to check if running fine.

RCR (Repeating Component Request) Creation :

Here below are the steps for creating the RCR job and let the Workflow run on the daily basis.

  • Navigate to "Administration-Management -> Jobs" view.
  • Click on "New" and select "Component/Job" = "Workflow Process Manager".
  • Under Repeating Info section, select the following :
  • Under Job Parameters applet, create a new select with the following info :
    Workflow Process Name : <_name>
  • Click on "Submit Job"

And you are done with the complete process. Siebel will automatically take the export and send you the file on the daily basis.

Enjoy !!!!


Friday, April 24, 2009

How to setup a Communication Profile for sending email from Siebel ?

I was working on our Sandbox Env, that we have newly setup for some R&D purpose, and got the requirement to send an email from Siebel via F9 functionality. Since it is a new env, nothing has been setup on that from administration standpoint, so I need to start from the scratch to setup a communication profile. So let me tell you today what all you to do for this :

  1. Navigate to "Administration - Communications -> Communication Profiles & Drivers" view.
  2. Query for "Internet SMTP/POP3 Server" under Communications Drivers applet.
  3. Create a new Profile. Lets say "Test Email Profile".
  4. Under Profile Parameter Overrides applet, add the following parameters :
    ==> From Address : Any Email Address (Generally it should be Siebel Email box Id )
    ==> SMTP Server : Name of the SMTP Server which will send the email.
    ==> SMTP Server Port : 25
  5. Click on "Menu" button on "Profiles" applet and click on "Submit Profile Changes".
  6. Uptill this point you are ready to use this communication profile but before this need to check whether Server Component, responsible for executing the email request are running properly or not. So continue with the next step.
  7. Navigate to "Administration-Configuration -> Enterprises -> Component Groups" and query for "Communications Management" under component groups applet and then query for "Communications Outbound Manager" component under "Components" applet. This is the component which is responsible for sending outgoing emails from Siebel.
  8. Check if "Enabled on Server" flag is checked under "Component Group Assignments" applet. If not click on "Enable" button.
  9. Navigate to "Administration-Configuration -> Enterprises -> Component Definitions" and query for "Communications Outbound Manager".
  10. Set the following two parameters to "Test Email Profile" (Communication profile created in Step# 3)
    ==> Comm Profile Override
    ==> Communication Profile
  11. Click on "Synchronize" button.
  12. Now restart the Siebel server.
  13. Navigate to Tools -> User Preferences -> Outbound Communications view and select "Siebel Email Client" in Email Client. Click on Save.


And you are done with the profile creation and hopefully it should work fine. Lets test it out.

Navigate to Service Request Screen -> My Service Requests view, Click F9 and system will give you the Popup form to send an email. Put your email address in "To" section and fill in the subject and body as per your wish and send it.

Check your Inbox, you will see the email in few minutes. Also drilldown on SR# field and navigate to "Activities" view, you will an activity of type "Email - Outbound" and the contents of the email in Comments field. This is Siebel OOB functionality of creating activity under Service Request whenever you send an email from Service Request record.

Troubleshooting :

Let me tell you about the error which is most likely to occur while sending emails from Siebel once you have setup a new Communication Profile. What happens is you followed above steps and still not received any email. Go to "Administration-Management" Drilldown on Component "Communications Oubound Manager" and check the log. You may see the error : "Client does not have permission to submit mail to this server".
This error most likely occur when there exist a firewall between your Siebel server and SMTP server, so what happens is Siebel Server is not able to create any email request on the SMTP server. Just talk to your network administrator and get the name of SMTP server without any firewall. It will work.

Hope this helps !!!!!


Friday, March 13, 2009

How to get an Siebel Object Manager Log for Dedicated Client or Tools?

Keeping a track of what we are doing help us in debugging in any kind of issue, if we get one.

Every action we do in Siebel can be tracked via log file that gets generated by the system and contains details of each step that we have performed on the UI. Also sometimes when we open any SR with Siebel support web for some issue, it always asked to provide the Siebel object manager log, so that Siebel Expert Services can look into the log file and figure out what was happening in the background.

Here are simple steps to get the Siebel Object Manager Log generated in the local machine, when we are connected to dedicated client.

1. Right Click on "My Computer" and select Properties.
2. Select the Advanced tab and open the Environmental Variables window.
3. Under User Variables section, create two Environmental Variables as per following :
a) Variable = SIEBEL_LOG_DIR, Value = C:\LOG
b) Variable = SIEBEL_LOG_EVENTS, Value = ALL
4. Click on Ok
5. Create a Folder with name "LOG" in "C" drive. This is the folder, where all the logs gets generated.
6. Done.

Just restart the Siebel Dedicated client and you will see a "Siebel.log" gets created under C:\LOG folder, which will give you all the details what is happening in the background.

So Siebel is smart enough to keep an eye what you are doing and we can just refer the log file in case anything goes wrong.

.

Saturday, February 7, 2009

EnableObjectCOCI : Siebel Tools CFG Parameter

One of my colleague wants to check out an Siebel Object in tools but he was not getting the "Check Out Object" option when do a right-click on that particular object. While he was able to check-out any Project successfully via "Menu -> Tools -> Check Out". But the same thing was not happening with my Siebel Tools, I was able to do the both cases : a) able to check-out a separate object and b) able to check-out a complete project as well.

While working in Development team, a developer not always check out a complete project, if requires only a single object. Checking-out a specific/required object is the right approach to work in a Development team, so that multiple developers can check-out the various objects from a single project as well.

Now the question was why the "Check Out Object" option was not coming when right clicked on any of the Object in Siebel Tools?

And here is the resolution for this kind of behaviour :

Actually what happens is, we have a CFG parameter in Siebel Tool's CFG file with name : "EnableObjectCOCI" which should be TRUE if developer is allowed to Check-out an object in Siebel Tools. otherwise this option will not appear at all.

So, we added this parameter with TRUE value under [Siebel] section of Tool's CFG file and restart the Siebel Tools and "Check Out Object" option start visible now when right clicked on any Object (Provided "Enable Object Locking" flag was checked for that particular project).


Update:

Following registry also needs to be updated to get this resolved.

For 64 Bit -
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ORACLE_CONNECTION_NAME]
For 32 Bit -
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ORACLE_CONNECTION_NAME]
  • PacketSize = 0
  • EnableScrollableCursors = 0
  • ColumnsAsChar = 1
  • ColumnSizeAsCharacter = 1

.

Thursday, January 22, 2009

How to do "Generate Triggers" for new WF Policy to work?

"Generate Triggers", this is one of the step that one needs to perform whenever he created a new WF Policy and wants it to work as per the conditions specified for the policy.

Here is the process to do that :

1. Navigate to "Administration - Server Management -> Jobs" view and click on New.

2. Put the Component/Job = "Generate Triggers"


3. Now, in the Job Parameters applet, you need to provide the following four parameters :

a) EXEC : TRUE
b) Remove : FALSE
c) Privileged User : "Database Table Owner Name"
d) Privileged User Password : "Table Owner Password"



4. Click on Start.

5. After few seconds, refresh the view (by clicking on "Execute Query" button), you will see Execution Server will get assigned to the request and Status changes to "Active".

6. After few minutes, again refresh the record and once the trigger gets generated, Status changes to "Success".

Wednesday, January 21, 2009

Default Task of Monitor Agent

I was running into the issues when somehow emails were not going via Workflow Policy. So as per the general debugging process I started finding the culprit. Here are the steps I followed :

1. Query for S_ESCL_REQ table, whether if the policy get trigger, at all, and I found the record was there with the specific rule_id. The query for this purpose is :

select * from s_escl_req
where rule_id = "WF Policy RowId"


2. Since the "Duration" was set to "0" (Zero), then there is no question of record getting created in S_ESCL_STATE. So I skipped that step to check whether the record exist in S_ESCL_STATE.

3. Now, uptill this point, I can make out that WF Policy is doing its job absolutely fine as it is getting triggered and record gets created in S_ESCL_REQ table, but it is "WF Policy Monitor Agent" which is not processing it, and could be the culprit.

4. Then I extend my search to find out what is the that monitor agent who is responsible to process these record. For that I checked the "WF Policy Group Name" which is associated with the WF Policy. Then I went to "Administration - Server Configuration -> Enterprises -> Component Definitions" view and in Components applet query for :
Component Type : Workflow Monitor Agent
to find out the monitor agent name associated with Policy Group

5. Now in Component Parameter Applet, query for Parameter = "Group Name". Scroll down the component list unless you find the desired WF Policy Group Name in the bottom applet.

6. I found the expected Monitor Agent name and now the next step is to check whether this monitor agent is running or not.

7. I naviagated to "Administration - Server Management -> Enterprises" and Query for the Server Name on which all the monitor agents run. In the Component applet, I was surprised to see that Monitor agent was in running state. This was really strange for anyone, if everything is running fine then why the email was not going.

8. To dig it more, I drilldown on Monitor Agent name to check for its task in running state and there I found something strange that "No Task was there". And most of the time it happens that if Monitor Agent is not processing anyting it generally shows the task status as "Sleeping for 30 seconds" or something like that.

9. So, here is the point when I got to know what the exactly issue is. If no task is showing in the Task applet that means the "Default Task" parameter of that WF Policy Monitor Agent is set to 0 (Zero), which is required to change to 1 (One).

10. So I just navigated back to "Administration - Server Configuration -> Enterprises -> Component Definitions" view , query for the Monitor Agent and in the bottom Parameters applet, just change the "Default Task" from 0 (Zero) to 1 (One).

11. Restarted the Monitor Agent once and it started processing the request.

hoooooooooo
, what a great relief, everything seems working fine now.

Wednesday, January 14, 2009

SBL-DCK-00163: Error loading dictionary

Sometimes it happens that you try connecting to Siebel dedicated client and system pops up the error message that "User Id or Password is not correct.".
There could be many reasons behind this error, but the root cause you will only get to know if open object manager log file. Today, when I was trying opening the dedicated client, got the same error and when I checked into the Siebel Object Manager log, found an error statement which says : "SBL-DCK-00163: Error loading dictionary".

This error comes when there is something wrong with the diccache.dat file, which stored in "Bin" directory. Actually this the dictionary file which contains information about tables, columns, indexes etc and internally used by the server programs for performance enhancements.

So, coming back to the resolution of the error, to get rid of this error you just need to delete the "diccache.dat" from "Bin" folder and try open the dedicated client again.

System will generate the fresh file again with the latest information from the server and it will work fine.

Sunday, January 4, 2009

Dedicated client's spool file

Spool file generated by dedicated client is one of the unique feature which Siebel provides and help Siebel Developers while debugging many Performance issues in the application.
For every action we perform in Siebel, like navigate to view, create a new record, query for some data etc, Siebel generates a SQL query which runs at the database and data is being displayed on the UI.

Siebel spool file is a text file that contains each query executed at the database. So whenever you see any performance issue (like navigation on some view is taking time, query on some applet taking time), you can use this file to check for the query which is culprit and responsible for the delay.

We just need to perform the below mentioned steps to make the spool enable in the system :
a) Right click on the icon, which is being used to open the dedicated client.
b) Click on Properties, system will popup the icon's properties window.
c) Append the below mentioned line in "Target" section :
/s c:\spool.log
d) Click on Ok.
e) Open a new Siebel dedicated client session.

Now you will see a file gets generated with a name "spool.log" which contains all the query which is being executed at the database.

How I can use it for performance Issue

As soon as you see any performance issue in the application, take the same SRF that is being used in thin-client and open a Siebel dedicated client session with the same SRF after enabling the Spool.
Perform the same action resulting performance issue, in dedicated client. Once you see the data on the UI (lets say after 10-15 mins), open the spool file and check for the query which is taking such big amount of time. This way you will get to know which the culprit query is and run that query on the database directly to check if there is something wrong with the query.
If yes, you need to check for the configuration done last which is making query to perform slow. If No, then your DBAs might help you in improving the performance by creating any new index or regenerating the table/index statistics, if required.