Showing posts with label CONFIGURATION. Show all posts
Showing posts with label CONFIGURATION. Show all posts

Friday, April 13

How to change the font,size,color of the field / control caption

Hi All,Sometimes we need to change the properties of siebel applet controls and below is the solution

Solution:

For the field for which we have to change the Font / Size / Color set the following HTML tags in the caption [string override] of the field properties.

1. "label style"
2. "span style"
3. "font face" & "color"
4. <b> & </b> to bold the text
5. font onmouseover & onmouseout
6. <br/> for line break in case of long captions

Examples:

<label style="background-color:red">fieldname</label>
<span style="background-color: red">fieldname</span>
<font face="fontname" size=26 color=yellow>fieldname</font>
<font onmouseover="style.color='green'" onmouseout="style.color='red'">fieldname or controlname</font>
field<br/>name<br/>is too long

Integrating Siebel with Fax server:

Hi Readers, here is an interesting topic which will be helpful to many of you at least in future :)

The objective of this post is to describe the steps involved in integrating Siebel Application with Fax Server to send the Fax messages to the customer when a Fax Campaign is launched in Siebel.

1.   Requirement overview :  In this scenario, we need to install the following

  1. Siebel eCommunications– Used by the internal employees to launch the campaigns.
  1. Microsoft Exchange Server – Used to receive the fax message in the form of the Email to a dedicated email address of the MS Exchange. The format of the Email Address is Fax Number + Domain.
  2. Faxination Server – Faxination Server connects to email box on MS exchange server and receives the email messages. It converts email message to Fax message and sends the fax to the customer through Fax server. 
  3. Fax Server – Used for delivering the Fax messages to the targeted recipient.

Roll up - Business Component User Property

 
The main functionality of the RollUp user property is to reflect the sum of the value under one control for a form applet against the values entered for a particular list column on the list applet. The value can be either integer or a decimal point number upto any decimal places. This property holds good for any of the Business Component Classes.

Thursday, August 11

How to debug browser script in Siebel ?

Generally we will debug browser script using alert() method,but recently I came to know that an interesting feature in IE8 - which is very useful in debugging browser script,I thought many of developers not aware of this useful feature from IE so writing this as a post.

 We can debug a browser script using IE8 (Internet Explorer 8) developer tool instead of alert() method,The Developer tool is available as free plug-in for IE and Firefox of other versions and its a in-built  feature for IE8

Follow the below steps to happily debug your browser script.

1) Compile your script and run genbscript utility for your script,if you are not aware of running genbscript see below example.  

Ex:  Go to commandpromopt and run below command by changing parameters as per your environment.

C:\Siebel\8.1\Client_1\BIN\genbscript.exe C:\Siebel\8.1\Client_1\BIN\esn\scommwireless_ESN.cfg C:\Siebel\8.1\Client_1\public\esn


2) Login to your local or dedicated client.

3) Navigate to the view where your browser script is written.

4) Select Tools --- > Developer Tools on your IE 8 explorer. (or press F12),Developer Tool window will open

Monday, July 11

Siebel Sequential Merge and Standard Merge

Sequential Merge and Standard Merge

Siebel provides options for matching and merging the duplicate records to maintain high quality data in the application. Matching (also called as DeDuplication) can be done using Data Quality functionality provided out of the box. After the potential duplicate records are identified using Data Quality functionality, they can be merged using Sequential Merge.
There can be instances where duplicates can be identified manually and required to be merged. This can be done using Standard Merge.

Take a note of following points:

·    Sequential Merge can be done only from Administration – Data Quality Screen where as Standard Merge can be performed against standard entities like Account/Contact from their respective screens.
·    Sequential Merge merges fields at the Parent level wherein Standard Merge Parent level fields are not merged. e.g. if Contact mobile number is populated on Losing record and not populated on Winning record, it will not be carried to the Winning record in Standard Merge.
·    Only exposed and force active fields are merged in Sequential Merge
·    If hidden fields are to be merged, set list column user property as ForceActive Y
·    In Sequential Merge, record with lowest sequence number is Winning record whereas last selected record is the Winning record in Standard Merge
·    If there are any business validations before Merge, those can be put on PreInvokeMethod of the applet
·    If there is any processing after Merge, it can be put on InvokeMethod of the applet
·    It is recommended to skip all code on respective entities in all events while Merge is happening. This can be achieved through setting profile attribute on PreInvokeMethod and resetting it in error handling and InvokeMethod

Siebel Loyalty : Changing Transaction Status

Loyalty : Changing Transaction Status

If the transactions are created in the batch mode by the Loyalty engine, the status of the transactions will be in "Queued" status. When you click on the process button manually, this will not be processed. This OOTB behavior can be modified by changing the user property OrderToTxn:Transaction Status as below.

Business Service Name: LOY Customer Action Business Service

Business Service User Property:
   
    Old Value: LOY_TXN_STATUS_CD|Queued
   
    New Value: LOY_TXN_STATUS_CD|Acceptable

Use:
This allows us to manually process the Loyalty Transactions which are created by the batch mode.

Tuesday, June 28

Problem: Applying Siebel tables erroring out on DB2 Database


Problem: Applying Siebel Tables failing erroring out on a DB2 Database

Analysis:

We had created more than 200 new custom columns in  S_EVT_ACT table and were trying to apply schema changes to Database. However every time we tried to apply the schema changes it failed with below error.


54010 (-670): [IBM][CLI Driver][DB2/NT] SQL0670N The row length of the table exceeded a limit of "16293" bytes. (Table space "SIEBEL_16K".) SQLSTATE=54010

On Investigation it was found that the table concerned was a part of Table space SIEBEL_16K. There is a restriction on DB2 wherein while introducing new columns DB2 checks if the total length of all the columns added together doesn't exceed the maximum row length limit defined by the tablespace. In our case the total length was exceeding this limit of 16293 for SIEBEL_16K tablespace and hence it was erroring out.

Once the length of various new columns was reduced to a value such that existing as well as the new columns added upto a figure less than  16293, the new columns were created successfully on the DB.

The other possible option also would be to move the table to a larger tablespace, wherein the current table needs to be renamed and a new table with same name needs to be created on a larger tablespace alongwith indexes.

Hope this helps for some one

Friday, June 24

How to Delete selected records in a List applet ?

In List applet,as per vanilla it is not possible to delete the selected records at a time.To achieve this add the below code in applet level then it will allow to delete the selected records.

var oBusComp = this.BusComp();

     with(oBusComp)
       {
            var iRecord = FirstSelected();    
                
                while (iRecord)
                        {
                             this.InvokeMethod("DeleteRecord");
                              iRecord = NextSelected();
                    }
    }

Wednesday, June 22

Drilldown: Setting focus on parent applet

How to set focus on Applets:

As per Siebel vanilla if we click on any hyper link (Drill down) field then it will navigates to another view but after navigates to that view the focus always on child applets instead of “Parent Applet”.

Set the following properties :

Tools Level Changes:

1)    View Level we have “Default Applet Focus” property. Set “Applet name” for this property.

2)    View User Property (Child object of View):
Name :DefaultAppletFocus
Value : “Applet Name” 

After setting above properties also if focus still remains on child applet then we have to verify the following parameters.

Verify cfg file Parameter

3)    In cfg file we have “EnableSIFocusTracking” property; this property should have value as “TRUE”.

Application Side Changes:
 
4)    Application – Server Configuration – Enterprises:
  
·    Query with your “Enterprise Server” name and Query with “ObjMgrName” in “Component Definitions”
·    We have “Component Parameters” under “Component Definitions”, Query with “Enable SIFocusTracking” parameter.
·    Set “Enable SIFocusTracking” parameter to “True”.

Friday, June 17

Invoking Task from button when no records in the applet

We may get a requirement to invoke TBUI from button click. However, if there are no records on the applet and you click button, error message is shown as below

“An error has occurred while initializing task '<Task Name>'.(SBL-BPR-00535)
A context business component record is required for task 'SWC Create Customer Account'(SBL-BPR-00542)”


there is a SR in metalink but its clueless to resolve this error

You can do following to get this working.

1.    Create one dummy record and store it’s row Id at Application Level.
       E.g. in System Preference or LOV.
       This will have to be done and deployed on all environments as part of migration activities.

2.    Invoke custom method on button click
3.    In that method, Retrieve record using the row id stored in system preference or LOV.
4.    Invoke Task using method LaunchTaskFromScript of the business service Task UI Service (SWE)

Hope this helps :)

Friday, May 27

SQL query for unlocking BC in local database

There are times where siebel BC will be locked in the local database and you are not able to work on it,the reason for this is you have done a get of that object when the object is checkedout by some other user.

So now your requirement is to unlock the object,for this open your dbisqlc connecting to local database and run the below query

Ex:I am unlocking 'Account' BC in my local DB

QUERY: UPDATE SIEBEL.S_BUSCOMP SET OBJ_LOCKED_FLG='N' WHERE NAME = 'Account'
QUERY: COMMIT

Note: Don't forget to commit changes after you run the sql quey

Hope this helps someone

Tuesday, May 17

Invoking Task from Applet Button

Hi Readers,

There are requirements where you need to call the task from a button other than the regular method of invoking task from task pane.I have invoked using New button of an applet and thought of sharing this.

Go to applet >> Controls >> NewRecord control and select the HTML Type to 'MiniButton' and change the 'MethodInvoked' property to 'LaunchTask'.
 
Now go to Control user property for this button and create new record as follows

Name: Task Name
Value: Address Creation Task (Give the task name which you want to call from the button)

compile the changes and you are done :)

Why Applet fields Read Only in the TBUI

I was searching alot on the web to find "why all task applet fields are read only,even though applet is in edit mode and No Insert and read only properties are set to false",But unable to find some post that can resolve the issue.So I am posting this as this could help some one facing similar issue.

ISSUE: Applet fields Read Only in the TBUI

I was developing a Task which will insert an address record into S_ADDR_PER with the details provided by the user in task applets.these task applets are based on TBC.If you are not aware of TBC read the below definition.


A transient business component (TBC) is a type of business component whose records exist only during the lifetime of a task instance,Records are cleared when the task UI finishes or is canceled. If the task is paused, then the records remain in temporary storage.

There are four views in my task following by siebel operation step with 'Insert' method,so when user clicks the finish button on the final applet with summary of data, an address record will be created in S_ADDR_PER table.

This is all about what I have to do...I have created Task,Task Apples,Task Views,Task Group and TBC and everything looks fine...Also published and activated the task and added the task to my responsibility.


But I am not able to enter any data in the applet fields as all the fields are READ ONLY...There is no problem with applet template modes and read only properties.

After some research I found that the TBC I have created  as multi record TBC and the class mapped to this TBC is CSSBCTaskTransientBase.This is the problem all my applet fields are read only as the base class can not provide functionality to edit fields in tasks.

The TBC should be mapped to CSSBCTaskTransient only,I have changed the class now and my issue is solved :)


 Hope this helps :)

Monday, May 16

CancelQuery Dialog Box Disappeared after Siebel 8 upgrade

Issue:

In Siebel 7.8 while doing query on records like Contact/Account/service request, there is Cancel Query Dialogue appears if query is taking time to retrieve. Advisor can click on cancel button and refine the query.

After Upgrade to Siebel 8 this Cancel Query Dialogue Box was not appearing and Customer wants to retrieve this feature.

Solution:

In Siebel 7.8:

This Parameter was the part of Application cfg SWE section where we can set the value for it

In Siebel 8:

This is Part of Object Manager component Advance Parameter

The cancel query feature is enabled through the CancelQueryTimeOut parameter.

To enable the cancel query feature

1. Navigate to Administration - Server Configuration > Enterprises > Component Definitions.
2. Query for Corresponding Object Manager 
3. In Component Parameters,
Change the CancelQueryTimeOut parameter value :

where timeout is any integer of zero or greater.
For example, if CancelQueryTimeOut = 3, the cancel query dialog box appears if records are not
returned within 3 seconds.
NOTE: A timeout value of less than zero, for example, -1, disables the feature.
4. Restart the Siebel Server.

Wednesday, April 20

How to disable Print and Print Preview options in Applet / Application level menu across the application?

I got this requirement to work and found that its quiet simple so I want to share it with you guys,you can post comments on this and provide other ways of achieving this task if any.


The Printing functions are controlled by the vanilla “PrintListService” Business Service .
With the following script in PreCanInvokeMethod event of “PrintListService” Business Service and could disable Print / Print Preview options from Application Menu and Applet Menus across the application:


function Service_PreCanInvokeMethod (MethodName, &CanInvoke)
{
if ((MethodName == 'QuickPrintApplicationMenu') || (MethodName =='QuickPrintCustomAppletMenu') || (MethodName == 'QuickPrintCustomApplicationMenu') || (MethodName == 'QuickPrintPreviewApplicationMenu') || (MethodName == 'QuickPrintPreviewCustomAppletMenu'))
{
CanInvoke = false;
return (CancelOperation);
}
return (ContinueOperation);
}


Printing option was disabled for the following:
- File > Print... (Method - 'QuickPrintCustomApplicationMenu')
- File > Print Preview... (Method - 'QuickPrintPreviewApplicationMenu')
- Menu > Print... (Method - 'QuickPrintCustomAppletMenu')
- Menu > Print Preview... (Method - 'QuickPrintPreviewCustomAppletMenu')
- QuickPrint button (Method - 'QuickPrintApplicationMenu')

Its pretty simple to achieve,try it and see

Friday, February 18

Enabling and Disabling Siebel Message Broadcasting



By default, message broadcasting is enabled. As an administrator, you can enable or disable message broadcasting. You can set message broadcasting to operate in any of the following modes:
  • Always enabled
  • Always disabled
  • User enabled (default)
You can also enable or disable message broadcasting in Siebel Mobile and Developer Web Clients.
The message bar is also supported for standard interactivity application clients, and you can display the message bar in standard interactivity client applications.

To enable or disable message broadcasting for an application

Creating a Message Broadcast in Siebel


When you create a message broadcast, all connected users that you specify receive the message immediately upon the date and time you have specified that the message be activated. Mobile users, such as field representatives, receive the activated messages when they synchronize.

NOTE:  To send a message broadcast, you must have responsibilities that include access to the Message Broadcasts view.
Typically, the appearance of a message broadcast is designated by a single severity level, as specified in the Severity field. Each severity level is associated with a different color. The severity level that you choose determines the color of the message broadcast and how it is delivered.
In addition to using the Severity field to determine the appearance of a message, you can also combine multiple severity levels to create a message broadcast with unique formatting. By adding special tags to the text of a message broadcast, you can change the color of different sections of the message. The following tags are used to combine severity levels in a message:
  • [N] for Normal
  • [H] for High
  • [U] for Urgent

Siebel Application in 64bit WIN Server


Requirement: There was one situation in which I have been provided with one 64x Enterprise WIN 2003 R2 Server.

As known Siebel application does not support 64bit server, it supports 32bit.
So when I installed the Web Server Extension in this 64bit server it was not working everything was ok and there were no logs generating as well.
After some efforts I found out a way by which siebel application can run in 64bit WIN server, Please find the steps below which will help to run the siebel applications in 64bit Enterprise WIN Servers -

2003 R2 64x Enterprise.




ASP.NET 2.0, 32-bit version
To run the 32-bit version of ASP.NET 2.0, follow these steps:
1.
Click Start, click Run, type cmd, and then click OK.
2.
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
Type the following command to enable the 32-bit mode:
3.
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
Type the following command to install the version of ASP.NET 2.0 (32-bit) and to install the script maps at the IIS root and under:
4.
Make sure that the status of ASP.NET version 2.0.50727 (32-bit) is set to Allowed in the Web service extension list in Internet Information Services Manager.
After all the 4 steps execution, please restart the machine and observe the Siebel application working in the server.

For 64bit Siebel Application does not load and hence the normal installations will not work even the logs will not be generated properly.
So the solution is to downgrade the ASP.NET to 32bit the process is below :

Tuesday, February 15

Configuring a Spell Check Button on an Applet

Configuring a Spell Check Button on an Applet


A user can call Siebel Spell Check from an applet menu item. To configure this applet menu item, you create a Check Spelling Field user property for the applet that contains the following objects:
  • Check Spelling button
  • Field on which Siebel CRM performs the spell check
To configure a spell check button
  1. In Siebel Tools, display the following object types:
  2. Create a check spelling button in the applet that contains the field on which Siebel CRM must perform the spell check:
    1. In Siebel Tools, in the Object Explorer, click Applet.
    2. In the Applets list, locate the applet you must modify.
    3. In the Object Explorer, expand the Applet tree, and then click Control.
    4. In the Controls list, add a new record using values from the following table.

Monday, February 14

Activating a customized button without using script

Precede the Method Invoked name with “EventMethod” in the control.

For example a button with Method Invoked = “Click” should actually have Method Invoked = “EventMethodClick” to get itself activated on the applet without using any script in the “WebApplet_PreCanInvokeMethod”.
Blogger Widgets