You are here

Siebel

How to limit the number of records when they are queried from a pick applet

The 'Prefetch Size' and 'Max Cursor Size' is used for DB2 database. But there are some cases where Max Cursor Size alone has been used for Oracle database. The possible workaround is to run a default PDQ. You may like to default to a *No Records* Query using a search specification on an indexed field but with a value that we know does not exist. This will speed up performance for the first click. The user will then be required to query based on their criteria. You could refer to the PDQ "* * Null Query" for Account business object in standard Siebel application. Another possible way is to use scripting E.g. the PreQuery event could be used to check the query string and exclude those columns that have no index assigned by the script. According to this posting  It should work for oracle as well. But in case of EAI Adapter it just ignores such settings at business component level. The Max Cursor Size & Pre Fetch Size properties at Business component level are ignored by the Siebel EAI Adaptor.Only if they are set at Data Source it will work.

Development Tools used in Open UI development

Using Siebel Tools or with standards based Web development tools (Jdeveloper/Eclipse/NetBeans)

Developing with the new JavaScript API provides a powerful tool to extend the platform.

CSS : tools like dream weaver for customizing the branding.

More info in “Configuring Open UI” document of Bookshelf. Still not out yet.

Siebel Open UI Features
  1. Enriched look and feel
  2. Not restricted to the capabilities of the Standard Interactivity framework
  3. Device Driven Layout to fit any device in optimal way
  4. Left Hand or Tab Navigation personalization option
  5. Fully accessible without configuration
  6. Native browser integration for: Browser history, Print/print preview, Call, email via hyperlink , Zoom, Find.
  7. Full WCAG2.0/Section 508 support across the application with WIA ARIA support for HTML5 components.
  8. Predictive and interactive use. Combination Auto-Fill, Input and Query all at once.
  9. Real-time data validation: data types, data constraints, and spell check.
  10. Productive: Fewer key strokes and clicks, same result. (Sales pitch alert)
  11. More audio and visual indications to avoid annoying pop-ups and interruptions.
  12. Receive quick data overviews of records at a glance on hover.
  13. Configure visibility of features in the user interface easily on the client side. (Validations, buttons, and so on.)
  14. Fully published JavaScript API.
  15. New API supports anything from simple validations to replacement of whole UI components
  16. Implementation of CSS allows extreme ease of branding. Any aspect of colors fonts, layout and styling can be changed.
  17. Partial refresh feature
  18. Push notifications that eliminate polling
Siebel Open UI Deployment Steps

Open UI views will be rendered by the SWE engine at runtime, converting the views in Siebel Tools repository into HTML views for displaying through any browser.Can be added in parallel to the regular upgrade so that it does not affect the existing environmentTask UI and Product Configurator work OOTB. Open UI for Mobile may need development.Deployment Steps:

  1. Create a new Object Manager (OM)
  2. Set the Open UI flag on the new OM
  3. Create a new URL to point to the new OM
  4. Login in and you're ready to rock...
Siebel Open UI browser support

Need for a new standards based client, a single framework to meet the demand for a variety of use cases (like browsers and devices).

Minimum Browser Requirements of Open UI?

HTML4, JavaScript 1.5 and CSS 2.1 (prefers CSS3.0)

Supported Browsers:

IE 9/10, Google Chrome, Firefox are fully supported via standards. Supported on Android, IOS platforms such as IPad, IPhone, Android phones and tablets, RIM, Windows Phone as well as other standards compliant client and mobile platforms.

License Fee:  Mobile client will have a license/fee attached, Standard clients does not have license fee.

How can the column header tooltip be forced to show "Not Sortable"?
There is a Field User Property available named "DisableSort". If set to TRUE, sorting on that field is disabled, which the tooltip should then reflect accordingly.
 
Real time Scenario Question:
 
A Multi-Value Field was configured based on a destination field that is a calculated field. For this reason, the MVField cannot be sorted; however, the tooltip on the column header displays "Sortable". How can this tooltip be changed to show "Not Sortable"?

To activate that user property:

1.Open Tools
2.Navigate to the affected business component
3.Select the Field sub-object
4.Select the affected field
5.Select the Field User Prop sub-object
6.Create a new Field User Prop record:
Name = DisableSort
Value = TRUE
7.Select the business component record and compile the changes.

Alternatively, a List Column User Property of the same name is available, in case the sorting needs to be disabled on a per-applet basis.
How to convert .FDR file to readable excel format or .CSV format

Siebel process generates an .fdr file also known as Flight data recorder file when ever there is a crash or a dump. FDR file is created in binary format with process information. SARMQuery utility can be used to convert the .fdr file to a readable .csv file.

Command to convert the .fdr file to .csv file:

Sarmquery –input T201206271617_P006840.fdr -output fdr=mycsvfile.csv

Note: Sarmquery.exe is available in bin directory on Siebel server.

Oracle's Siebel CRM is in the Leaders Quadrant and Oracle Fusion Sales in the Visionaries Quadrant of Gartner 2012 report

Industry respected Gartner research has released it CRM Report for 2012, Oracle Siebel CRM continues to be the leader in the complex on-Premise CRM deployments for the foreseeable future. As it points out Oracle Siebel CRM have the broadest set of functionality compared to any other CRM available in the market.

As Oracle continue to invest in Siebel CRM and offer Oracle Fusion modules as add-on’s to Siebel (e.g.: Oracle CRM Desktop).  Oracle statement of direction to customers is to merge Siebel and Oracle fusion CRM or have Siebel as standalone.

Siebel’s strong sales, order management, sales functionality makes Siebel to continue to be one of the few CRM’s with broadest set of functional foot prints for SFA. Siebel remains one of the few on-premise CRM options for large enterprise, and large scale deployments.

eScript Property Set Printing Tool

During script debugging, for example, when developing a Virtual Business Component, it is useful to be able to print out the contents of a property set. This Technical Note lists eScript code that can be added to a business service to print out the contents of a property set.

When debugging script code, it is useful to write out values to a file, or to examine them in the debugger watch window. The eScript code in this Technical Note will handle multiple level property sets. It is not limited to one or two layers of child property sets; rather, it is recursive and handles any depth of child property sets.
 
The listing also shows the child depth so you can see at a glance how deep in the hierarchy you are. The indent amount is configurable, so for property sets with several children you can choose a smaller indent.
 
The script provided in this Technical Note writes out to a text file, but all the printed output is written through the LogMe() routine so it is easy to redirect it if required.

To add the code to a Business Service, follow these steps:
 
1.Paste the code listed in the eScript Code section below  into the General Declarations section of the business service. Start with the functions and save after each one, so they become new functions below the General Declarations section.
 
2.After the new functions appear, there will be a few lines of script code remaining in the General Declarations Section. You can make the following optional changes:
 
a.Modify the output filename assigned to OutPutFileName if you wish to write to a different file. Remember that in eScript a backslash must be escaped, so a path name like C:\TEMP\LOGS\output.txt becomes C:\\TEMP\\LOGS\\output.txt.
 
b.Change the indent level. It is two spaces by default.
 
3.Now when you want to print out the values in a property set, simply call it like this:
 
DumpPropSet(MyPropertySet);


eScript Code
 

// Add to General Declarations section
 
// Change this to the file and pathname you want the report to appear in.
var OutPutFileName = 'C:\\PropertySet_Dump.txt';
 
var IndentAmount = 2; // Indent child prop sets listing this many spaces
                     // to the right for each level down.
var PSDepth = 0; // How deep in the property set tree, what level
 
 
// Add to General Declarations section
 
function LogMe(LogThis)
{
  // Writes a line out to a text file. All printed output is routed
  // through this routine, so add HTML or popup writes here to redirect
  // the printed output.
 
  var MyFile = Clib.fopen(OutPutFileName, 'at');
  var sTime = Clib.ctime(Clib.time());
  sTime = sTime.replace('\n',' '); // Remove trailing Newline.
  Clib.fputs(sTime + ': ' + LogThis + '\n', MyFile);
  Clib.fclose(MyFile);
}
 
function DumpPropSet(Inputs)
{
// Print out the contents of a property set.
 
PSDepth++; // We have just dived down a level
 
var InpValue;
var InpType;
var InpChildCount;
var inprop;
var inpropval;
var inpropcnt;
var BlankLine = ' ';
 
// Build a string to indent the Listing.
 
var IndentSpaces = ''; // Number of spaces to indent to
for (var SpaceCount = 0; SpaceCount < IndentAmount * PSDepth; SpaceCount++)
  {
  IndentSpaces = IndentSpaces + ' ';
  }
var IndentLevel = ToString(PSDepth);
if (PSDepth < 10)
  {IndentLevel = '0' + IndentLevel;}
 
// Indent by a number of indents, then level number as nn, then two spaces
var Indent = IndentSpaces + IndentLevel + '  ';
 
 
LogMe(BlankLine);
LogMe(BlankLine);
LogMe(Indent + '---- Starting a new property set ----');
LogMe(BlankLine);
 
 
// Now do main value and type
 
InpValue = Inputs.GetValue();
InpType  = Inputs.GetType();
 
InpChildCount = Inputs.GetChildCount();
LogMe(Indent + 'Value is ........ : "' + InpValue + '"');
LogMe(Indent + 'Type is  ........ : "' + InpType + '"');
LogMe(Indent + 'Child count ..... : ' + ToString(InpChildCount));
 
// Dump the properties of this property set
 
var PropCounter = 0;
inprop = Inputs.GetFirstProperty();
while (inprop != "")
  {
  PropCounter++;
  inpropval = Inputs.GetProperty(inprop);
 
  LogMe(BlankLine);
  var PropCountStr = ToString(PropCounter);
  if (PropCounter < 10)
    { PropCountStr = '0' + PropCountStr; }
    
  LogMe(Indent + 'Property ' + PropCountStr + '  name : "' + inprop + '"');
  LogMe(Indent + 'Property ' + PropCountStr + ' value : "' + inpropval + '"');
 
  inprop = Inputs.GetNextProperty();
  }
 
// Dump the children of this PropertySet
 
if (InpChildCount == 0)
  {
  LogMe(BlankLine);
  LogMe(Indent + '(No children exist below this property set.)');
  }
else  
  {
  for (var ChildNumber = 0; ChildNumber < InpChildCount; ChildNumber++)
    {
    LogMe(BlankLine);
    LogMe(Indent + 'Child Property Set ' + ToNumber(ChildNumber + 1) + ' of ' + ToNumber(InpChildCount) + ' follows below.');
    LogMe(Indent + 'This child is on level ' + ToNumber(PSDepth));
 
    // Recursive call for children, grandchildren, etc.
    DumpPropSet(Inputs.GetChild(ChildNumber));
    }
  }
 
PSDepth--; // We are about to pop up a level
}
 
Sample Output
 

Here is sample output from the property set printing tool.
 
Wed Jun 16 16:36:47 2004 :   01  ---- Starting a new property set ----
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :   01  Value is ........ : ""
Wed Jun 16 16:36:47 2004 :   01  Type is  ........ : ""
Wed Jun 16 16:36:47 2004 :   01  Child count ..... : 2
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :   01  Property 01  name : "search-string"
Wed Jun 16 16:36:47 2004 :   01  Property 01 value : "([Date] = "06/18/2004" AND [Description] ~LIKE "A test description*" AND [House_ID] ~LIKE "779*")"
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :   01  Property 02  name : "Business Component Name"
Wed Jun 16 16:36:47 2004 :   01  Property 02 value : "Alvin VBC Business Component"
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :   01  Property 03  name : "Business Component Id"
Wed Jun 16 16:36:47 2004 :   01  Property 03 value : "4"
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :   01  Property 04  name : "Parameters"
Wed Jun 16 16:36:47 2004 :   01  Property 04 value : "C:\temp\nrec.cfg"
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :   01  Child Property Set 1 of 2 follows below.
Wed Jun 16 16:36:47 2004 :   01  This child is on level 1
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :     02  ---- Starting a new property set ----
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :     02  Value is ........ : ""
Wed Jun 16 16:36:47 2004 :     02  Type is  ........ : ""
Wed Jun 16 16:36:47 2004 :     02  Child count ..... : 0
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :     02  (No children exist below this property set.)
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :   01  Child Property Set 2 of 2 follows below.
Wed Jun 16 16:36:47 2004 :   01  This child is on level 1
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :     02  ---- Starting a new property set ----
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :     02  Value is ........ : ""
Wed Jun 16 16:36:47 2004 :     02  Type is  ........ : "search-spec"
Wed Jun 16 16:36:47 2004 :     02  Child count ..... : 1
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :     02  Child Property Set 1 of 1 follows below.
Wed Jun 16 16:36:47 2004 :     02  This child is on level 2
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :       03  ---- Starting a new property set ----
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :       03  Value is ........ : "AND"
Wed Jun 16 16:36:47 2004 :       03  Type is  ........ : "node"
Wed Jun 16 16:36:47 2004 :       03  Child count ..... : 2
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :       03  Property 01  name : "node-type"
Wed Jun 16 16:36:47 2004 :       03  Property 01 value : "Binary Operator"
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:47 2004 :       03  Child Property Set 1 of 2 follows below.
Wed Jun 16 16:36:47 2004 :       03  This child is on level 3
Wed Jun 16 16:36:47 2004 :  
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :         04  ---- Starting a new property set ----
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :         04  Value is ........ : "AND"
Wed Jun 16 16:36:48 2004 :         04  Type is  ........ : "node"
Wed Jun 16 16:36:48 2004 :         04  Child count ..... : 2
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :         04  Property 01  name : "node-type"
Wed Jun 16 16:36:48 2004 :         04  Property 01 value : "Binary Operator"
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :         04  Child Property Set 1 of 2 follows below.
Wed Jun 16 16:36:48 2004 :         04  This child is on level 4
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :   
Wed Jun 16 16:36:48 2004 :           05  ---- Starting a new property set ----
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :           05  Value is ........ : "="
Wed Jun 16 16:36:48 2004 :           05  Type is  ........ : "node"
Wed Jun 16 16:36:48 2004 :           05  Child count ..... : 2
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :           05  Property 01  name : "node-type"
Wed Jun 16 16:36:48 2004 :           05  Property 01 value : "Binary Operator"
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :           05  Child Property Set 1 of 2 follows below.
Wed Jun 16 16:36:48 2004 :           05  This child is on level 5
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :             06  ---- Starting a new property set ----
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :             06  Value is ........ : "Date"
Wed Jun 16 16:36:48 2004 :             06  Type is  ........ : "node"
Wed Jun 16 16:36:48 2004 :             06  Child count ..... : 0
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :             06  Property 01  name : "node-type"
Wed Jun 16 16:36:48 2004 :             06  Property 01 value : "Identifier"
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :             06  (No children exist below this property set.)
Wed Jun 16 16:36:48 2004 :  
Wed Jun 16 16:36:48 2004 :           05  Child Property Set 2 of 2 follows below.
Wed Jun 16 16:36:48 2004 :           05  This child is on level 5
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  ---- Starting a new property set ----
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  Value is ........ : "06/18/2004"
Wed Jun 16 16:36:49 2004 :             06  Type is  ........ : "node"
Wed Jun 16 16:36:49 2004 :             06  Child count ..... : 0
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  Property 01  name : "node-type"
Wed Jun 16 16:36:49 2004 :             06  Property 01 value : "Constant"
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  Property 02  name : "value-type"
Wed Jun 16 16:36:49 2004 :             06  Property 02 value : "DATE"
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  (No children exist below this property set.)
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :         04  Child Property Set 2 of 2 follows below.
Wed Jun 16 16:36:49 2004 :         04  This child is on level 4
Wed Jun 16 16:36:49 2004 :   
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :           05  ---- Starting a new property set ----
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :           05  Value is ........ : "LIKE"
Wed Jun 16 16:36:49 2004 :           05  Type is  ........ : "node"
Wed Jun 16 16:36:49 2004 :           05  Child count ..... : 2
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :           05  Property 01  name : "node-type"
Wed Jun 16 16:36:49 2004 :           05  Property 01 value : "Binary Operator"
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :           05  Child Property Set 1 of 2 follows below.
Wed Jun 16 16:36:49 2004 :           05  This child is on level 5
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  ---- Starting a new property set ----
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  Value is ........ : "Description"
Wed Jun 16 16:36:49 2004 :             06  Type is  ........ : "node"
Wed Jun 16 16:36:49 2004 :             06  Child count ..... : 0
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  Property 01  name : "node-type"
Wed Jun 16 16:36:49 2004 :             06  Property 01 value : "Identifier"
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  (No children exist below this property set.)
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :           05  Child Property Set 2 of 2 follows below.
Wed Jun 16 16:36:49 2004 :           05  This child is on level 5
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  ---- Starting a new property set ----
Wed Jun 16 16:36:49 2004 :  
Wed Jun 16 16:36:49 2004 :             06  Value is ........ : "A test description*"
Wed Jun 16 16:36:50 2004 :             06  Type is  ........ : "node"
Wed Jun 16 16:36:50 2004 :             06  Child count ..... : 0
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :             06  Property 01  name : "node-type"
Wed Jun 16 16:36:50 2004 :             06  Property 01 value : "Constant"
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :             06  Property 02  name : "value-type"
Wed Jun 16 16:36:50 2004 :             06  Property 02 value : "TEXT"
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :             06  (No children exist below this property set.)
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :       03  Child Property Set 2 of 2 follows below.
Wed Jun 16 16:36:50 2004 :       03  This child is on level 3
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :         04  ---- Starting a new property set ----
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :         04  Value is ........ : "LIKE"
Wed Jun 16 16:36:50 2004 :         04  Type is  ........ : "node"
Wed Jun 16 16:36:50 2004 :         04  Child count ..... : 2
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :         04  Property 01  name : "node-type"
Wed Jun 16 16:36:50 2004 :         04  Property 01 value : "Binary Operator"
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :         04  Child Property Set 1 of 2 follows below.
Wed Jun 16 16:36:50 2004 :         04  This child is on level 4
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :           05  ---- Starting a new property set ----
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :           05  Value is ........ : "House_ID"
Wed Jun 16 16:36:50 2004 :           05  Type is  ........ : "node"
Wed Jun 16 16:36:50 2004 :           05  Child count ..... : 0
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :           05  Property 01  name : "node-type"
Wed Jun 16 16:36:50 2004 :           05  Property 01 value : "Identifier"
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :           05  (No children exist below this property set.)
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :         04  Child Property Set 2 of 2 follows below.
Wed Jun 16 16:36:50 2004 :         04  This child is on level 4
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :           05  ---- Starting a new property set ----
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :           05  Value is ........ : "779*"
Wed Jun 16 16:36:50 2004 :           05  Type is  ........ : "node"
Wed Jun 16 16:36:50 2004 :           05  Child count ..... : 0
Wed Jun 16 16:36:50 2004 :  
Wed Jun 16 16:36:50 2004 :           05  Property 01  name : "node-type"
Wed Jun 16 16:36:51 2004 :           05  Property 01 value : "Constant"
Wed Jun 16 16:36:51 2004 :  
Wed Jun 16 16:36:51 2004 :           05  Property 02  name : "value-type"
Wed Jun 16 16:36:51 2004 :           05  Property 02 value : "TEXT"
Wed Jun 16 16:36:51 2004 :  
Wed Jun 16 16:36:51 2004 :           05  (No children exist below this property set.)

How Do Trackable URLs 'Click on URL' in Siebel 8.1.x Work and How are They Structured?

It works in the following way: within the Siebel workflow, there is a step (Marketing Campaign Load Workflow>Get List Format System Data) that takes the body of the HTML and finds all the tags Trackable URL.The business service replaces that tag with a long URL that includes the target page concatenated with a bunch of internal IDs (see example below)

NOTE: In the 8.1.1.2 Fix pack we have a new feature that automatically scans the email body and does the URL formatting when the Email Treatment is saved. Currently the user has to manually add the URLs to the Advanced tab > Trackable URL list and then insert in the email editor.

ALSO NOTE that in 8.1.1.1 Fixpack we tried to include this new feature but there is a critical defect with it, so any customers on 8.1.1.1 FP build are going to need a patch for the 8.1.1.2 code.

How exactly are they structured?

Below is an example URL for google.com as the trackable URL. RID is the S_CAMP_CON row id, CON is contact, PRO is prospect, OID is offer, CID is campaign:

"http://ctdhostname:portnumber/ctd/lu?RID=1-XYZ&CON=1-XYZ&PRO=&AID=&OID=1..."

Which Web Server host redirects the receiver's Web Browser to the correct destination?

The HTTP traffic from the internet goes through the corporate web server, which would then route directly to the CTD host. The HTTP traffic for click throughs does not go through Siebel stack.

When a Clickable and Trackable URL is received by a recipient of an Email Offer, what exactly takes place? What information is sent to which server?

User clicks on the email. This sends the full HTTP string (see above example) from the browser to the company's web server (which is in the DMZ). The web server routes the traffic to the CTD (or through a proxy in front of the CTD machine if the company has set one up). The CTD parses the HTTP, logs a click through response in Siebel by calling the object manager, then strips the internal IDs off the URL and redirects the browser to the target page (e.g. www.google.com).

If the recipient receives an error message: Siebel eMarketing - Microsoft Internet Explorer Website not found! The site that you are trying to access cannot be found and the URL on the address line of the recipient's Web Browser is :
"http://s-abcdef-s01.besq.dsq.gbes/emarketing_enu/start.swe?SWECmd=Login&..."
Is this the CTD and its software not being able to find the Website?
Which Web Server is reporting the error message?

It depends on what kind of URL did the user originally click on to get this? The URL in the error is a SWE URL, which would not be a Trackable URL. Perhaps the link the user clicked on is one of the other response types (such as Request Unsubscribe....)

Has the URL being used been constructed correctly?

The domain does not look like a valid internet domain 's-abcdef-s01.besq.dsq.gbes'. The value that gets substituted in the URL string comes from the email server profile setup on Site Map > Administration - Marketing > Servers on the email marketing server parameters.

When the outgoing message is sent, the system uses the value for the parameter 'Web Server' as the domain name to substitute into the URL string for all the links (except Trackable URLs). Trackable URLs use the parameter value for 'Click through daemon (CTD)' therefore in the example above those values are setup incorrectly.

Pages

Subscribe to Siebel