Showing posts with label INTERVIEW. Show all posts
Showing posts with label INTERVIEW. Show all posts

Friday, July 21

How to Clear the Integration Data Map cache in Siebel ?

Is it needed to clear the integration Data Map cache after making changes to it?

Yes, when we inactivate an Integration field mapping on integration data map (or any changes to data map) the changes will not reflect immediately and results in error when the interface is invoked.


To solve this we have to Clear the data map cache but there is no easy way of doing it like clicking the 'Clear Cache' button that we usually do clearing LOV values cache or Application data map cache.


Oracle did not provide 'Clear Cache' button so far at Administration > Integration > Data Maps however we can Clear the integration Data Map cache invoking EAI Vanilla business service as shown below

-  Create a workflow with 3 steps 1) Start 2) Business Service 3) End


Business Service: EAI Data Transformation Engine
Method:                 Purge
Input Argument:     MapName (Data Map name)

After developing and validating the workflow, simulate the workflow from Administration Business Service screen which would Clear the Data Map cache.

Hope this is useful for someone :)


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.

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

Monday, June 27

How to create multiple users on siebel local database

To create multiple Users on a local database:

Login to dbisqlc, which is located in the <Siebel Client>\bin directory.
This will bring up a query screen. Type a SQL statement and then click on the EXECUTE button. 

Grant permissions for users to use the Siebel application:

 grant connect to SSE_ROLE

grant connect to <USER_ID> identified by <PASSWORD>

grant group to SSE_ROLE

grant membership in group SSE_ROLE to <USER_ID>


NOTES:


<USER_ID> should be same as Login Id in S_USER table. 
<group name> must be SSE_ROLE.
The <USER_ID> and <PASSWORD> in the grant command must be in UPPERCASE.

Limitations:


The data in the local database is restricted to the user for which it was extracted.
The local database cannot be synchronized against the server as the local database is accessed using different logins.
If data is subsequently changed on the server, it will be necessary to do another database extract and local database initialization with re-executing the steps to create multiple users.
If the newly created users receive a message that they do not have rights to access Home-Page view, reconnect to the Local Database using the original extracted user and recreate them in the User Administration screen. This is necessary because some records might be missing related to these users in the intersection tables and recreating the users would populate them. 

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();
                    }
    }

Monday, June 20

How to retrieve the List of Profile Attributes available in a Session ?

Sometimes we have a requirement of retrieving the value of Profile Attributes set in a Siebel User's session. However we are not sure of the exact name of that Attribute. To retrieve a list of available Profile Attribute in a user's session, follow the below process:

Navigate to Administration - Personalization - Test. Enter your login and password (both Case Sensitive) and click on the load button. This will give you a list of all system profile attributes that get set upon logging in to the Siebel Application. These profile attributes are available throughout the application. In addition, you can also set your own profile attributes, depending on the business requirements.
As always, use the following syntax to get and set a Profile Attribute:

Setting:
TheApplication().SetProfileAttr("XXXX","Y");  // Where XXXX is the name of Profile Attribute

Getting:
var attr = TheApplication().GetProfileAttr("XXXX");  // Where XXXX is the name of Profile Attribute

Friday, June 17

Audit trail functionality limitation with Assignment manager

As per Siebel bookshelf,Audit Trail functionality have one constraint that "The record updates that are performed through Assignment manager cannot be audited".

You can achieve this with some scripting and the example is given below

Example: In case of Service Request assignment, where it is interactive assignment.

>> On Interactive Assignment Pick Applet (Assignment Results (Employee) List Applet), we can have a code on PreInvokeMethod of Assign method as below which will hold Old and New values of Owner:

function WebApplet_PreInvokeMethod (MethodName)
{
    try
     {
        if(MethodName=="Assign")//if Assign is clicked
        {
        TheApplication().SetProfileAttr("SROldOwner", TheApplication().ActiveBusObject().GetBusComp("Service Request").GetFieldValue("Owner"));
        TheApplication().SetProfileAttr("SRNewOwner", this.BusComp().GetFieldValue("Login"));       
          }
         
    }//end of try
    catch(e)
    {
    //Error Handling Code
    }//end of catch
    finally
    {
    //Destroy Variables
    }//end of finally
    return (ContinueOperation);
}

On InvokeMethod of Assign Method, we can have following code which will create Audit Trail record after assignment is done:

boSR = TheApplication().GetBusObject("Service Request");
bcAudit = boSR.GetBusComp("Audit Trail Item - Data");

Tuesday, February 22

Making a field required using script at the applet level

Making a field required using script at the applet level 


Requirement : Making 'Contact Method' field required in an applet which is not 'required' field in the buscomp

Solution: I used the below script at applet level to make the 'Contact Method' required.The code is pretty simple as shown here.

if ( MethodName == "WriteRecord" )
    {  
    if(this.BusComp().GetFieldValue("Contact Method") == "")
    {
    TheApplication().RaiseErrorText("Contact Method is a required field please enter a value");
     return( CancelOperation );
    }

Readers,please let me know the other possibilities of making field required at applet level with out using script
Blogger Widgets