Thursday, February 4, 2010

Siebel Landing Page !!

Any Siebel application, which you might have worked on OR currently working on, come with its own landing page. This is something where user will land once logs into the application, in other words the Home Page of the application. This is completely OOB and already configured in Siebel Tools. I just did a query in Siebel tools and found there are around 56 applications which comes with their own landing page, big number isn't it? But the best part is Siebel allows you to change this and as per your business requirement you can configure the name of the landing page (Home Page) at the application level and system will automatically launches that page once you logged in.

Do you want to configure it? It is very easy, here below are the steps:

1. Open .cfg file and query for the parameter : "ApplicationName".
2. Take the value of this parameter and query in Siebel Tools -> Object Explorer -> Application.
3. Scroll right to see the value for "Acknowledgement Web View" property.
4. This is the view which get launched once you open the application. Just change it as per your need, compile the SRF and see the difference.

But the above change holds good if all the users of your application require to have the same landing page, what if out of all 10 users says, "I don't like the Home Page screen to start with, and since my work always starts with My Service Request view, why should I always do two extra clicks to first reach to Service Request screen and then to My Service Request view. I want to get rid of these two extra clicks". Hmmm, sometimes users provide a genuine reason before asking you to build something and then you find tough time to say No to the user. Well, not to worry, Siebel has the solution for this as well.

No matter if every user want to have his different landing page of his own choice, OOB solution is available for it.

1. Just navigate to "Siebel Client Application -> Tools Menu -> User Preferences -> Behaviour view".
2. Select the View, as per the your need. And the best part is, it displays the user-friendly name in the format : <_screenname> - <_viewname> which makes it very easy for the user to select.


3. Click on Save and you are done. Just re-launch the application again.

Please note here this need to happen for each user separately from the UI only and all these preferences get stored in the .spf file that gets created, in Client/Bin folder on the Siebel Server, separately for each user. And the naming convention for the .spf file is : <_loginname>&<_applicationname>.spf.

.

Saturday, January 30, 2010

Latest Siebel Interview Question in Market !!

Some of my friends are in the mood of switching their job these days and in of the discussion I was having with one of my friend asked me this question which he faced in technical round recently. And the question was :

"Can we create a join in a business component without the join specification?"

I think most of you heard this question for the very first time, same is the case with me, provided you are not preparing for any Siebel interview these days :)

If you start running your horses towards technical feasibility regarding this question, you might think of variuos options :

a) When you create a join in Siebel Tools, it is not mandatory to provide the Join Specification, so that means you can create a join without join specification.

b) But what kind of data you will see on the UI? Well, one might say it will do the Cartesian Product of the two tables and you will see one record multiple times on the UI.

c) Since Siebel will consider the row_id of the table in the where clause (in spool query) if you don't specify any join specification (like if you don't mention the destination field or source field while creating Link, Siebel treat it as ROW_ID), and you will not see even a single record if outer join flag is unchecked.


May be you are thinking or some other logical result apart from above 3, but to keep it simple and clear I tried doing it and here is the answer for this:

Siebel will add a where clause as :

a) <_buscomp.rowid> = <_table.row_id> (+)
if Outer Join Flag = TRUE

b) <_buscomp.rowid> = <_table.row_id>
if Outer Join Flag = FALSE

So, you will not see even a single record if you Outer Join Flag = FALSE, because no two row_ids are same.

Logical speaking I don't see any reason for creating a Join under a BusComp and not specifying the join specification, but remember interviewers can ask anything to check your technical skills and may be this will help you in future if will face this question. Good Luck !!

.

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.

.