You are here

Siebel

Siebel CRM Applications Support for Microsoft SQL Server 2008 Database

Oracle Corp Inc offers support of Siebel CRM version 7.8.2.5, 8.0.0.3, 8.1.1, and 8.2.2 releases running on Microsoft SQL Server 2008 Enterprise Server (32-bit and 64-bit) RTM (or) above.

Refer to the following table for exceptions and minimum maintenance release levels required to support this platform. 

Siebel Product Applicable Maintenance Release

Siebel CRM version 8.2.x 8.2.2 [22320] (or) above

Siebel CRM version.8.1.x 8.1.1  [21111] (or) above

Siebel CRM version 8.0.x 8.0.0.3 [20416] (or) above

Siebel CRM version 7.8.x 7.8.2.5 [19227] (or) above

Review the Siebel Business Applications Documentation library for related installation and upgrade guides. which details a complete list of supported and ancillary software versions.

Configure SQL Native Client (SNAC) connectivity software for connection to SQL Server 2008 

For your Siebel CRM application, you should connect to Microsoft SQL Server 2008 using a SNAC v9.x client.

Siebel Installer creates ODBC data sources e.g SBA_80_DSN that works with SQL Native Client (SNAC) 2005.90.xxxx client 

 

Check the version of ODBC driver installed:

From the Microsoft Windows Start menu, choose 'run', type “odbcad32”, hit enter.

On ODBC Data Source Administrator window, select Drivers tab. 

If you have SNAC v9.x installed, you will see the version number 2005.90…. next to the SQL Native Client. 

If you have SNAC v10.x installed, you will see the version number 2007.100… next to the SQL Server Native Client 10.0. 

If none of the SNAC entry is presented, you will need to install Microsoft SQL Server Native Client from your SQL Server installation media or download the Microsoft SQL Server Native Client from 

http://www.microsoft.com/Downloads/details.aspx?familyid=50B97994-8453-4998-8226-FA42EC403D17&displaylang=en

 

Configure Siebel DSN (SBA_80_DSN) entry to point to the SQL Server 2008 instance:

From the Microsoft Windows Start menu, choose 'run', type “odbcad32”, hit enter.

On ODBC Data Source Administrator window, select System DSN tab 

Add or modify Siebel DSN entry to use the correct SNAC version. 

Specify the SQL Server 2008 instance name or IP information on the Server field. 

Follow instructions on the wizard to test and complete the connection configuration.

Whilst configuring the RDBMS connectivity you should ensure to connect to SQL Server 2008 using the SNAC v9 client.

NOTE:  Siebel CRM version 8.1.1.10 now provides native support for Microsoft SQL Server 2008, using SQL Server Native Client 10.0.

 

OCCURRENCE

The information in this Alert is applicable to customers who are planning to run Siebel version 7.8.2.5 (or) above releases on MS SQL Server 2008 RDBMS.

 

SYMPTOMS

A new Siebel server configuration on Siebel CRM version 8.1.1 against MS SQL Server 2008 using SQL Native Client 10.x connectivity software cannot be completed successfully. During the Siebel server configuration an error of the following type is issued:

CreateServerConfiguration: failed to run program srvrcfg with cmdline -u %%Username%% -p %%Password%% -g %%SiebelGateway%% -e %%SiebelEnterprise%% -s %%SiebelServer%% -a server -i %%SiebelRoot%%%%OSDirSeparator%%admin%%OSDirSeparator%%srvrdefs.run -c ALL

GenericLog GenericError 1 000008394a310cb8:0 2009-06-12 02:40:13 Failed during Execution, err: 5500044

 

WORKAROUND

Earlier releases of the Siebel 8.1 Systems Requirements and Supported Platform stipulates that Native Client is supported with MS SQL Server 2008.  This implies SNAC 10.x release is supported connectivity software.  This SNAC version, does not work properly in conjunction with the Siebel CRM application, bug 10565543 has been logged to address this on the latest System Requirements and Supported Platform guides.

As a workaround, you will require to install MS SQL Server Native Connectivity Client 9.0 (for SQL Server 2005) and set the compatibility to 90 for the Siebel database (siebeldb) using SQL Studio in SQL Server 2008.

How Can You Use SWE Commands with Bookmark URLs

SWE API Commands can be used to perform operations such as login, GoToView and query in the Siebel application. (Replace "callcenter_enu" by the name of the Siebel application that you use.)

  • Start the Siebel application.

http://<machine_name>/callcenter_enu/start.swe?SWECmd=Start

  • Login to the Siebel application.

http://<machine_name>/callcenter_enu/start.swe?SWECmd=ExecuteLogin&SWEUserName=<username>&SWEPassword=<password>

NOTE: ExecuteLogin is required from 8.0.0.12 onwards in order to obtain a valid Secure Random Number (SRN) for this SWE session. The SRN feature has been added to improve session security. SWE API solutions that attempt to hook into an existing Siebel session will not work with SRN-secured sessions. 

  • Navigate to a specific screen in the Siebel application.

http://<machine_name>/callcenter_enu/start.swe?SWECmd=GotoPageTab&SWEScreen=Service+Request+Screen&SWERF=1

NOTE: The SWERF SWE Argument for ReloadFrames is required for the GotoPageTab command to work. Using this command will display the default view specified for the screen.

  • Navigate to a specific view in the Siebel application.

http://<machine_name>/callcenter_enu/start.swe?SWECmd=GotoView&SWEView=Contact+List+View&SWEApplet=Contact+List+Applet

NOTE: If you want the user to explicitly login before navigating to the view then use the SWE Argument SWEBU=1 . This will make the user explicitly login before accessing the view. If SWEBU parameter is not specified then anonymous users will also be able to access the view using the above URL provided this view is part of the anonymous user's responsibility.

  • Log in to the Siebel application and navigate to a specific view.

http://<machine_name>/callcenter_enu/start.swe?SWECmd=ExecuteLogin&SWEUserName=<username>&SWEPassword=<password>&SWEAC=SWECmd=GotoView&SWEView=Contact+List+View&SWEApplet=Contact+List+Applet

NOTE:  The SWEAC command allows users to string two SWE commands in a single request. For example, the above URL does a SWECmd=ExecuteLogin, and then a SWEAC=GotoView. You cannot reference more than two SWE Commands using SWEAC.

  • Navigate to a specific record in the applet. The following URL command will navigate to a contact record whose row id is 12-2DPY4N:

http://<machine_name>/callcenter_enu/start.swe?SWECmd=GotoView&SWEView=Contact+List+View&SWERF=1&SWEBU=1&SWEApplet0=Contact+List+Applet&SWERowId0=12-2DPY4N

  • Drilldown on a specific field in an applet. In the following URL, SWEField indicates the drilldown field. If you want to drill down into a specific record, then specify the SWERowId parameter of the row you want to drill down to. When the SWERowId parameter is not supplied in a drill down, then SWE returns the first record in the list:

http://<machine_name>/callcenter_enu/start.swe?SWECmd=InvokeMethod&SWEApplet=Contact+List+Applet&SWEView=Contact+List+View&SWERowId=12-2DPY4N&SWENeedContext=true&SWEReqRowId=1&SWEMethod=Drilldown&SWEField=Last+Name&SWERF=1

  • To invoke a business service. In the following URL, SWEService is the name of the business service, SWEMethod is the name of the business service method and Viewname, BusObject is an input argument to the business service.

http://<machine_name>/callcenter_enu/start.swe?SWECmd=InvokeMethod&SWEMethod=Test&SWEService=MyBusinessService&ViewName=Contact+List+View&BusObject=Contact&BusComp=Contact&Id=1-24AKL&SWERF=1

NOTE: SWEMethods such as NewQuery and ExecuteQuery mentioned in the Portal Framework Guide are not supported through the SWE API when specified as a URL. They are reserved for use in the sXML interface. The alternate approach to accomplish this requirement would be to write a business service to perform the necessary query operation and call this business service using bookmark url

Drill down to a specific product in product catalog. This requirement can be achieved by using the following commands:

  • SWEPostnApplet=<The applet of the destinated view>
  • SWEPostnRowId=<The row Id to position>
  • SWEView=<The view to navigate to>
  • SWECmd=GotoView

http://machine/esales/start.swe?SWECmd=GotoView&amp;SWEPostnApplet=Product+Form+Applet+(eSales)&amp;SWEView=Product+Detail+-+Features+View+(eSales)&amp;SWEPostnRowId=1-CRB

How to Display Photo Image for a Contact?

In order to display photo image / picture for a contact, the same configuration as in Immigaration Contacts screen should be done.

In Contacts screen, drilldown on a contact and navigate to "Photographs" view tab. In this view, you can add number of photo images to the contact and set one as primary, which needs to be displayed. This photo set as primary can be viewed in "Immigration Info" view tab.

The applet "PUB Immigration Contact Photograph Form Applet" is used to display the image. You could use this applet in the view, where you want to display the photo of the contact.

However, it is not possible to display the photo in Contact Form applet, because the applet needs a special class (CSSFrameFile) to read the file and display the image.

How to implement File Browse Functionality?

How can one achieve the requirement to provide a button named "Upload File", and when user clicks it, a file browse window should open, allowing user to select a file and perform an upload of this file in its original format to Siebel File System?

There are 2 options to show the File Open dialog box. The first one is to create a HTML page containing the "HTML File Control" and invoke this HTML page from within Siebel application using "theApplication().ShowModalDialog" browser method. 

Here are the suggested steps:
(1) Create a HTML page named "FileImport.htm" with the following code for example:

<!--

<HTML> 
<HEAD> 
<script language=JavaScript> 
function returnFileValue() 

var filectrl = document.getElementById("myfile"); 
window.returnValue = filectrl.value; 

</Script> 
</HEAD> 
<BODY onunload=returnFileValue();> 
<Input type=file id=myfile> 
</BODY> 
</HTML>

--!>

This HTML page will contain a file control and user can use it to select the file. Note that "returnValue" property will return the value of the selected file to the caller.

(2) Name the file to "FileImport.htm" and place the HTML page in \Client\PUBLIC\ and \siebsrvr\WEBMASTER\ folders.

(3) In the applet, add a button that invokes "FilePopup" method and enable the button in server "WebApplet_PreCanInvokeMethod" event.

(4) Add in the following code in browser "Applet_PreInvokeMethod" event of the applet to invoke the HTML page:
 

switch(name)
{
case "FilePopup":
var ShowModalOptions= "dialogHeight:150px;dialogLeft:100px;dialogWidth:350px;scrollbars:no";
var intRet = theApplication().ShowModalDialog ("FileImport.htm", "", ShowModalOptions);
alert(intRet);

return ("CancelOperation");
break;

default:
return ("ContinueOperation");
break;
}

 



Option 2 is to use "SAFRCFileDlg.FileOpen" or "UserAccounts.CommonDialog" COM objects to show the File Open dialog box. This can be performed directly in Siebel browser script event. As this is provided by a third party, it is not within the scope of our support, please do a search on Google to find out more details on them.

As for uploading the file to Siebel File System in the original format, an external server script (such as ASP, etc) is needed to do so.

Conditional View based on a field value

The user should have access to Opportunity Quote View depending of the Opportunity Sales Stage : if Sales Stage is A then the view is not available, if the Sales Stage is B, the view is available. 

On the parent BC (Opportunity) used the ChangeRecord event to set the profile attribute as below:

function BusComp_ChangeRecord ()
{
this.ActivateField("Sales Stage");
TheApplication().SetProfileAttr("MySalesStage",this.GetFieldValue("Sales Stage"));
}

In the Client, navigated to the Personalization administration screen and entered a conditional expression GetProfileAttr('MySalesStage') = "01 - Prospecting" for the 'Opportunity Quote View'. This means that when the condition evaluates to TRUE the view will display.

If it is not acceptable to have any views in SI mode, then you could configure a dynamic drilldown on Sales Stage that accesses the Opportunity Quote View for some Sales Stage values and a different view for other values.

How to default a Picklist in a new record of a child business component

A user may wish to default the picklist value of a child business component with the value from a field in the parent business component. Setting the "Predefault value" does not work to default the picklist in the child business component because the picklist is independent of the parent BC. Picklists are independent because they can be used across multiple business components.

Option #1:

Use Business Component User Property "Picklist Pre Default Field n". 

Example:

Name: Picklist Pre Default Field 1
Value: "Period Name", "'CPG Plan Account Promotion.Period Name'"


Option #2:

If other fields are dependent on the picklist, scripting can be used to simulate the picklist behavior. For example, for Promotions, the Period Start Date and Period End Date fields are populated based on the Period selected in the picklist. If the Business Component User Property"Picklist Pre Default Field n" is used, the Period Start Date and Period End Date fields are not populated with default values on the New Record.

Scripting Steps:

1) In the “Parent” BusComp_ChangeRecord event you set the required field value as a global variable using the application SetSharedGlobal method.
2) In Pick Business Component BusComp_NewRecord event you write a script that retrieves the global variable (from step 1) using the application GetSharedGlobal method.
3) Set the correct field value using the appropriate method (SetFieldValue for standard fields or using the Pick functionality for Join fields).

Sample Script for New Record:
 

var oPromoBO = TheApplication().ActiveBusObject();
var oPromoBC = oPromoBO.GetBusComp("CPG Plan Account");
var period = oPromoBC.GetFieldValue("Period Id");
var pickBusComp = this.GetPicklistBusComp("Period Name");
with (pickBusComp)
{
ClearToQuery();
SetSearchSpec("Id", period);
ExecuteQuery(ForwardOnly);
if (FirstRecord())
pickBusComp.Pick();
}
pickBusComp = null;
How to make Abstract Field Editable using Always Enable Field N User Property and make child records read only

Solution a)Use a dynamic toggle applet based on the value of certain fields to show the read only applet. These applets are documented in Bookshelf > Siebel Tools Reference > Special-Purpose Applets and Controls > Dynamic Toggle Applets.

Solution b) create new field based on the same column as abstract and make it editable using the property and keep the abstract read only to make child records read only.

Case Insensitive and Accent Insensitive Queries

When the case insensitive and accent insensitive (CIAI) query feature is implemented, database queries you perform in the Siebel application ignore both case and the use of accents to return records that otherwise match the query criteria. This capability is important when searching for records such as contact or customer names. For example, an exact-match query produces different a query results than a case insensitive and accent insensitive (CIAI) query if the query results contain capitalization inconsistencies (such as MacArthur and Macarthur) or accent usage inconsistencies. CIAI queries apply to the entire query string.

siebel openUi screen elements
How to reduce the size of Pick Applet in Mobile Open UI Application ?

The size of the pick applet is controlled in theme-black.css in the below style class:

.ui-simpledialog-container
{
 overflow:scroll !important;
 border-radius:10px;
 max-height: 85% !important;
 max-width: 95% !important;
}


The font size can be changed from theme-black.css in the following css:

.ui-li-heading {
 font-family: Helvetica Neue ;
 font-size: 19px; /*15pt;*/ /*100%; */
 font-weight: bold;
 display: block;
 margin: .5em 0 0 .4em;
 text-overflow: ellipsis;
 overflow: hidden;
 white-space: nowrap;
}

.ui-li-desc {
 font-family: Helvetica Neue ;
 font-size: 17px;
 font-weight: normal;
 display: block;
 margin: .6em;
 text-overflow: ellipsis;
 overflow: hidden;
 white-space: nowrap;
 max-width: 90%;
}

.scrollviewcontainer {
 min-height: 55px;
 max-height: 310px;
}

.ui-simpledialog-container
{
 overflow:scroll !important;
 border-radius:10px;
 max-height: 65% !important;
 max-width: 45% !important;
}

 

The above tags controls the look of Pick Applet and its controls. Changing the parameters will give the desired results.

Pages

Subscribe to Siebel