Wednesday, September 30, 2009

Export Data using dbisql.exe

Recently I found that there is one more way apart from using #getuid.out
which I post in my previous blog 'Query Result to file using dbisqlc'

select name from SYSUSERAUTH
where name not in ('SYS','DBA','PUBLIC','SIEBEL','DBO','dbo','SSE_ROLE') >#getuid.out

The other way to export the date into other file format is using output command.

After you execute your query.
You need to execute command having syntax

output to filename

output format can be in excel.

Sharing is the power

Will Oracle discontinue Haleys Rules with Siebel?

I got a newsletter this morning...

This letter is to provide you with product news related to the acquisition of Haley by Oracle. After completing a thorough review of our combined product lines, Oracle has decided to discontinue Haley Expert Rules (also known as Siebel Business Rules Designer) and Haley Business Rules Engine. As a substitute, Oracle offers Oracle Policy Modeling and Oracle Policy Automation for licensing by its customers for a license fee. Oracle believes both Oracle products provide a more comprehensive solution for its customers. As a Siebel customer, you are being notified of this change because Haley Expert Rules and Haley Business Rules Engine are embedded in the Siebel CRM 8.x product.

Along with this news, we want to reiterate our commitment to customer satisfaction and our intention to communicate with you regularly during the integration of our companies. For many Siebel customers, there will be no impact to their applications and this notification will serve as an informational update on Oracle's product direction only.

If you are a current Oracle support customer, Premier Support of Oracle's Siebel Application Releases for CRM 8.0x and CRM 8.1.1 will continue for as long as January 2012 and December 2013 respectively.

If your upcoming plans in October include Oracle OpenWorld, below are two sessions dedicated to Oracle Policy Automation that you may be interested in:

* Natural Language Policy Automation: Empower Business Users to Manage Policy Complexity
Session: S311983
Thursday, October 15, 9:00-10:00, Westin Market Street Hotel, Metropolitan I
Speaker: Davin Fifield

* Integrate Oracle Policy Automation with Siebel in Less than 30 Minutes
Session: S310573
Thursday, October 15, 15:00-16:00, Westin Market Street Hotel, Metropolitan I
Speaker: Philip Whitwell

Sunday, September 27, 2009

Click and Move Optimization

This blog comes as result of the thought when I have to click several times on About View to see which Screen, which BO, which BCs and which Applets have been used so that i can customize my siebel application by modify in whatever object I need to do changes.

We read about optimizations process, CPU optimizations, memory optimization....etc,etc
I heard abt website optimizations, this can be a part of that.

The earlier scenario is like Menu bar->Help->About view
In siebel v7.8 application,there is a menu bar on top(File, View, Help....)
a toolbar having some icons like Site Map, Dashboard, Quick Print, Ihelp.....
As I mentioned above About View is needed very frequently to see the objects on the page.We have to go thru 4 steps....
1. Move the mouse to Help on Menu bar
2. Click on the Help
3. Move the mouse to About View Sub menu
4. Click on it to open a new window which shows the objects name.

What I did is I made a button on the toolbar(Icon can be used by specifying the image property in SWT, web template file).
What I have to do is to add a Toolbar in the Application Object.

See Application Object is having a hidden Object Application Toolbar in Object Explorer Window, if you want to see this then you have to change the Clientviewmode from web to All in tools.cfg file.

Go into view menu of tools and select all under application.
Before that you also need to create your own toolbar, which is also a hidden object, create a new toolbar and toolbar item with command About View(SWE), type will be link.

Compile the Application, Toolbar objects.
You also need to modify CCFrameViewBar.swt file which is in webtemplate folder.
not remembering the exact tags...you can make similar as given in the file already
just change the Toolbar item name
(PS: you add these these tags at right place not inside any SWE:IF condition which i carelessly did)

Just Reopen ur application, You will find a new button on toolbar :-)

Now the scenario becomes...
1.Move the mouse on About View Button
2.Click the button to open about view window.

50% optimization....

The whole purpose of writing this blog is how we can save small small time from these like these and make a better application for all.

Wednesday, September 23, 2009

Business Service Context

Input Argument to Action Set of Runtime Event

I thought to write an article how to use the input argument while we invoke Runtime Event Action Set. We invoke Runtime Event to generally call a Business Service/Workflow.

When you specify the Business Service and its method there at Event. There is one more field called Business Service Context. This Business Service Context can be used to set the input Argument of the Business Service Method.

Let's say I want to invoke a workflow from that business service so my:

Business Service ## "Workflow Process Manager"

Method ## "Run Process"

Business Service Context ## "ProcessName", "WorkflowNameHere", "OtherProperty", "Value"

Sharing is the Power

Siebel Certification Exam Questions

Sample Questions
View answers below

Sample questions are provided solely to familiarize candidates with the multiple-choice format and writing style of questions that will be found on the exam. Sample questions may not cover the full spectrum of difficulty that is covered by the exam questions. Success on the sample questions does not predict success on the exam.

1. In order to change the fonts used by your Siebel application, what file(s) should you modify? Select one answer.
A.Siebel.exe file
B.Siebel template files
C.Cascading style sheets
D.SQL scripts to change the data model

2. Which Link property must be populated for a MVG with a M:M relationship, but is not populated for a MVG with a 1:M relationship?
A.Inter Table
B.Destination Field
C.Child Business Component
D.Parent Business Component

3. You have enabled the Workflow Management component group on the server through the Siebel user interface, but you are unable to run workflows using Workflow policies. Which step might have you forgotten to execute? (Choose two.)
A.restarting the Siebel Server service
B.running a Generate Triggers batch job
C.enabling the Generate Triggers component
D.setting the Workflow Policy properties in Tools
E.specifying the triggering event in the detail applet for the workflow step branch following the Start Step

4. Which three are true about a task in Siebel task UI? (Choose three.)
A.It implements process automation.
B.It must be invoked by a run-time event.
C.It consists of a sequenced set of views.
D.It does not support conditional processing.
E.It does not support transactional processing.
F.It is designed for novice users performing complex tasks.

5. Business rules consist, in part, of concepts. Which two are examples of concepts? (Choose two.)
A.Field
B.Entity
C.Value
D.Object

6. Which describes the role of Assignment Objects for Assignment Manager?
A.to identify the people that will be assigned to records
B.to describe when a record should be assigned to candidates
C.to identify the types of data to assign using Assignment Manager
D.to evaluate all people for a matching skill in order to assign records

7. Which statement is true regarding making changes to assignment rules?
A.To make changes you must first deactivate the rule.
B.If you make changes to a released assignment rule, you must release the rule again.
C.Changes to a released assignment rule take affect automatically when the record is saved.
D.Once an assignment rule is released it cannot be changed, it must be revised before it can be edited.

8. Which two statements concerning interface tables are true? (Choose two.)
A.An interface table can populate only one base table.
B.An interface table may populate more than one base table.
C.A base table may be populated by more than one interface table.
D.A base table is always populated by one and only one interface table.

9. When should you use implicit primaries through Enterprise Integration Manager?
A.any time you have more than one child record in the dataset
B.when you need to have multiple primaries associated with a record
C.when the external system defines which child record should be the primary
D.when the external system does not define which child record should be the primary

10. Your Accounts.ifb file appears as follows:
[Siebel Interface Manager]
USER NAME = "SADMIN"
PASSWORD = "SADMIN"
PROCESS = Import Accounts
[Import Accounts]
TYPE = Import
BATCH = 100
TABLE = EIM_ACCOUNT

After running the import, you find that the IF_ROW_STAT for all of your accounts is PARTIALLY IMPORTED, yet you can see the accounts in the Accounts Administration view.
What is the most likely cause of this?

A.Not all of the required flags were set.
B.The EIM job generated an internal error.
C.Some of the required flags were set incorrectly.
D.Not all of the base tables that EIM_ACCOUNT maps to were populated.
E.EIM_ACCOUNT did not contain required information for the S_ACCOUNT base table.

Answers

1. C
2. A
3. AB
4. ACF
5. BC
6. C
7. B
8. BC
9. D
10.D

These question are also available on Oracle website.

Tuesday, September 22, 2009

Spelling Check in Siebel

Hello friends,
We can have spelling check in Siebel as well.

We need to have a field for which we need spelling check and a button which will invoke spelling check for the same field. It can also be customized as menu item button.

We need to create “Check Spelling Field” user property for the applet where the Check Spelling button and the field to be checked are located.

The process of configuring spelling check is following.

1. Create a button control on the applet with Method Invoked property as ShowPopup. If the spelling check is for non required field, you need to specify the field name.
2. Define control user properties for the button created at step 1.
Mode Edit
Popup Spell Checker Popup Applet
Popup Dimensions 560 X 350

3. Add the button to the Web Layout of the applet.
4. Add the Spell Check business component ‘Spell Checker Applet VBC’ to a business object applet’s view is based on.
5. If the field to be spell checked is required you need to create a Applet User Property ‘Check Spelling Field’ with value as ‘FieldName’ (name of the field to be spell checked)

Apart from a button on the applet as created in step 1, you can also create a menu item button with Command as Command ‘Check Spelling’

Sharing is the Power

UserID/Password Invalid Siebel 8.0

An issue was reported with logging to dedicated client on Siebel 8.0. The reported behavior is error we had to face while connecting to Dedicated Client in Siebel 8.0version
User cannot access database using dedicated web client with following message
"User ID or Password is invalid".
Although we can connect to the database through dbisqlc.exe

Using the same userID or password you can connect to database.

To fix this issues, try the following things
1. Navigate to Siebel 8.0\webclient\bin and rename the diccache.dat file if file exists.
2. Delete all the files *.spf.
3. Try changing the SRf who are using to connect to dedicated client.

Query Result to file using dbisqlc

Hello Friends,

Most of us know that the Siebel has given us utility to query in the local database using dbisqlc.exe exist in Client/BIN folder or Tools/Bin folder.

To connect to Server, we generally use Toad or SQL Developer which provides us option to save the output in excel file.

The database siebel uses for Local is into Sybase. In the utility dbisqlc.exe , we dont have any option to save the result in any file. In Sybase, we have an operator '>' which can be used to direct output to a file.

For example the below query,

select name from SYSUSERAUTH
where name not in ('SYS','DBA','PUBLIC','SIEBEL','DBO','dbo','SSE_ROLE') >#getuid.out.

The output of this query will store login id in getuid file at the any of the following paths:
..\Tools\LOCAL\getuid
..\Client\LOCAL\getuid

Open the file & you can see your login id.

Sharing is the Power

I-Help Export Crash Issue

The Issue reported was Export Ihelp Item is failing after addition of 25th Question.
25th and 26th are having large text, I made them short, it allowed me to add one more question and again it failed.

It seems a Product Defect; Export Ihelp is failing if the XML file size exceeds 50 KB.

Alternatives:
1. We need to find some more leverage by shorting the caption size and removing the Questions from Ihelp which are self explanatory so that we can use Export Ihelp functionality to migrate.
2. Side by Side, we can work with Siebel, if they could tell us some possible way to migrate a more than 50 KB ihelp xml file from one environment to another.
3. We can create an Ihelp Item up to a level where Export Ihelp will work. Then Import that into other Environment and then manually adding questions to that environment.


I found a workaround to take export of Ihelp Item.

1. Actually the problem is only with the Export Method used in Applet Menu Item.
2. Siebel is able to generate the xml file and stored in it temp folder of local (on server also it will save the xml file in temp folder).The name of the file created we can get using the Siebel log files.It will have extension as .temp.
3. When it is trying to use export method at step 1. This export method is failing which causes the Object Manage to crash.

I have taken the xml from the temp folder for the Ihelp Item which has got list of the all questions although the size is more than 50 KB.
And I am also able to import this xml and the questions are coming properly.

Sharing is the Power

Capture Drilldown based on Field

Recently, I come across arequirement where We need to set perform some operation before a user drilldown on field in a List Applet.

Vanilla provides a method Drilldown at applet level which can be captured.
There is no way specified in bookshelf whcih can determine that on which field drilldown has occured.

The problem here is if there are more than one drilldown list column in applet, click on any of them will triger the operatio we need to do.
We have thought to use Application Pre Navigate event but the Drilldown view could also be accessible from normal navigation. The operation ill get performed that tiem also. There will be an overhead code at Application level.

The WOrkaround to the problem is to use the SWEField property passed to the Applet PreInvoke propertyset gives the Id specific to the drilldown field . This value has a specific format which changes from list column to list column and record to record.

For example, in “INS Claims List Applet”:

Claim Number field’s first record on applet will have SWEField value “s_1_2_33_0” while the second will have “s_1_2_33_1” and so on
Assign To field’s first record on applet will have SWEField value “s_1_2_93_0” while the second will have “s_1_2_93_1”.

We can find Control Id for a list column and use the same for condition check as below.

function Applet_PreInvokeMethod (name, inputPropSet)
{
if(name == "Drilldown")
{
//Get SWEField property value
var SWEFieldParts = inputPropSet.GetProperty("SWEField");

// Find last occurrence of “_”
var sLastIndex = SWEFieldParts.lastIndexOf("_");

// Get the Control Id of a list column
var sControlId = SWEFieldParts.substring("0", sLastIndex);

if (sControlId == "s_1_2_33")
{
// Business logic

return ("CancelOperation");
}
}
return ("ContinueOperation");
}

Sharing is the Power

Monday, September 21, 2009

Unified Messaging Service

Unified Messaging Service is a way to provide the messages to the user as per their interaction with the Application.
This Business service provides an alternative to Browser Script confirm message with more than two buttons on the pop up applet.
Based on the responses,clicking of the button, user can choose to divert the flow of the execution to Business service or cancel the operation.

Go to Admin Order Management Screen -> Message Type
You can easily create a Message type, specifying the Text messages you want to show in the pop up messages. The Active mode is used for Pop up applets. Passive mode is for a applet on the view where the message will all the time.

There is a Detailed View called Responses where you can create the Responses Name(which will be caption on the pop up Applet). The Type of the response and the Business Service and applet you want to invoke after the user click on that response.
Log and Suppress flag are used in case you want to suppress the duplicate messages.

Payload View is used if you want to add any field value in the Message Text. Vanilla only provides some order management related field such as Party Id, Order Id etc.

If you want to specify Bitmap, then you can use the Admin-Document Literature view to add the bitmap image. That will be shown as a record in the Admin Order Managemenet Message Type Bitmap Pick Applet.

On Siebel metalink metalink3.oracle.com, they have provided one wrapper BS which can be used to invoke the Message Type. You only need to pass the Message Type, Business Component and a unique ID which will be the Message Id (it can be Process Instance Id in case of Workflows).
Wrapper BS also provide a way to add any field value to the Payload Property Set.

For more details refer Order Management pdf of Siebel Bookshelf.
Feel free to ask any question on the same.

Sharing is the Power :)