Do you want to Search Something?

Those who opened the gates

Monday, July 18, 2011

Data Validation Manager in Siebel

The Data Validation Manager business service can validate business component data based on a set of rules. In the case of a rule violation, a custom error message appears or a user-defined error code is returned.

The Data Validation Manager business service reduces the need for custom scripts, decreases implementation costs, and increases application performance.

To administer data validation rules, perform the following tasks:
  1. Defining Error Messages for Data Validation (Administration - Data Validation > Validation Messages. )
  2. Defining a Data Validation Rule Set (Administration - Data Validation > Rule Sets.)
  3. Defining Rule Set Arguments
  4. Defining Validation Rules
  5. Defining Validation Rule Actions
  6. Activating a Data Validation Rule Set
1.        Create Error Messages

2.       Create Rule sets and Rules and created desired expressions with the expression Builder

3.       Add the Error Message using the Return Code pick applet.


 Use Runtime Events or Workflow Process to triggerered from a runtime event to call the DVM bs.






Thursday, July 14, 2011

Siebel Assignment Manager Made Simple

A lot of times it is seen that peple struggle with the assignment manager setup in siebel. The truth is that you need to follow a sequence of steps and you are done.


The first thing you would do is to find your assignment object in tools. If it is there well and good elso you need to create one.


Next question to be answered is whom should the record created be assigned(associated to)


Position? Employee? Organization?


Once you have answers proceed like this


Log into siebel Tools and create


a. Workflow Policy Column
b. Assignment Object (If not present)
c. Workflow Policy Component
d. Workflow Policy Component Col
e. Assignment Attribute
f. Assignment Criteria

Note:-Compile the changes to srf; Assignment Objects modification does not need any compilation
Create Assignment Rule select comparison method and add skill and skill items to the Assignment Candidates.
Use the following truth table given in bookshelf 

Table 38. Server Administration Tasks After Configuring Assignment Manager
Configuration Process
Compile .srf File
Restart Assignment Manager
Regenerate Triggers
Restart Workflow Monitor Agent1
Add or inactivate assignment objects
Yes
Yes
Yes
Yes
Configure assignment objects
No
Yes
Yes
Yes
Add, configure, or inactivate assignment attributes
Yes
Yes
Yes
Yes
Configure assignment attribute columns
No
Yes
Yes
Yes
Add, configure, or inactivate assignment criteria
Yes
Yes
Yes
Yes
Add, configure, or inactivate assignment criteria attributes
Yes
Yes
Yes
Yes
Activate, inactivate, or modify assignment policies
No
No
Yes
Yes

Use the following BS (Business Service) to trigger Assignment
BS:             Synchronous Assignment Manager Requests
Method:       Assign
Arg1:          AsgnObjName
Arg2:          ObjRowId (Row Id of record to be assigned)

This the simplest outline for assignment manager.Ofcourse you can always deep dive into the intrices of each object. Stay happy stay tuned

Friday, July 8, 2011

Assignment Manager Error Messages.Valuable information from the bookshelf

Error Code
Error Text1
Resolution
ERR_ASG_ALREADY_ASSIGNED
Assigned this object %1 (more recently than requested %2).
This is just information.
ERR_ASG_ASSIGN_REPLY
Selected %3 rules, %5 organizations, and %4 people for %1 (%2).
This is just information.
ERR_ASG_BASSIGN_REPLY
Assigned %1 rows for %2.
This is just information.
ERR_ASG_LOADING_OBJECT
Unable to load assignment object %1.
The configuration of the assignment object is not correct. Use Siebel Tools to check the configuration of the assignment object.
ERR_ASG_BDENORM_REPLY
Denormalized %1 rows for %2.
This is just information.
ERR_ASG_CANNOT_ASSIGN_
LOCKED_ROW
Cannot assign this item because it is in a locked state. (Object Name = %1, Object Row Id = %2.)
If you want to assign this object, please uncheck the Lock Assignment field for the object being assigned. Otherwise, this is just information.
ERR_ASG_DENORM_REPLY
Denormalized %1 rows for %2.
This is just information.
ERR_ASG_DUP_CONFLICT
Unable to update row (%1) because updated values violate unique index with an existing row (%2).
Check the data on your team table on the object row_ID where it failed.
ERR_ASG_INVALID_BU_
DFLT_NAME
Default organization %1 for assignment object %2 is not found in the organizations table. Please check that Default Organization - %1 is a valid organization.
Use Siebel Tools to set the Default Organization parameter for the assignment object to a valid organization in the database.
ERR_ASG_INVALID_EMP_
DFLT_NAME
Default employee %1 for assignment object %2 is not found in the employees table.
Use Siebel Tools to set the Default Employee parameter for the assignment object to a valid employee in the database.
ERR_ASG_INVALID_POSTN_
DFLT_NAME
Default position %1 for assignment object %2 is not found in the positions table.
Use Siebel Tools to set the Default Position parameter for the assignment object to a valid position in the database.
ERR_ASG_INVALID_STORE_
COL_NUM
Assignment criteria attribute %1 has an invalid store column.
Check the Store Column value for your assignment criteria attribute and make sure it lies between 1 and 4.
ERR_ASG_INVALID_WF_
LINK_COL
Assignment attribute column (%1) references invalid workflow component column (%2).
Check the Workflow Policy Component Column property of the assignment attribute column, and make sure it points to a valid and active workflow policy component column.
ERR_ASG_ITEM_ATTR_HAS_
NO_ATTR
Assignment Criteria %1, Assignment Criteria Attribute %2 has no attribute defined. Verify in Siebel Tools that the Assignment Criteria %1 has an assignment criteria attribute defined and active. Recompile the server repository file to apply changes made on assignment criteria configuration if necessary.
Not applicable or no further explanation should be needed.
ERR_ASG_ITEM_ATTR_HAS_
NO_ITEM
Item(%2) not found for item attribute (%1). Please make sure that the item(%2) is active.
Make sure that the Parent Assignment Item Type of the Assignment Criteria Attribute(%1), points to a valid and active assignment criteria.
ERR_ASG_ITEM_NOT_
FOUND
Assignment Criteria %1 has an invalid assignment attribute. Please check the assignment criteria configuration on Siebel Tools using the Validate tool, and note that it is a requirement to recompile the server SRF after adding or deleting assignment criteria records.
Not applicable or no further explanation should be needed.
ERR_ASG_LOADING_GROUP
Unable to load assignment rule %1 from the database. Please check the assignment rule definitions to make sure that all the required information is correct and press the Release button to recreate the rule cache data file.
Not applicable or no further explanation should be needed.
ERR_ASG_LOADING_OBJECT
Unable to load assignment object %1."
Check the configuration of the assignment object.
ERR_ASG_LOV_VALUE_NOT_
FOUND
No LOV value found for Type [%1], Value [%2].
Make sure expertise values for skills are valid, belonging to LOV type EXPERTISE_CD (defined through Application Administration screens).
ERR_ASG_MATCHASSIGN_
REPLY
Qualified and selected %3 rules, %5 organizations, and %4 people for %1 (%2).
This is just information.
ERR_ASG_MATCH_REPLY
Qualified %3 rules, %5 organizations, and %4 people for %1 (%2).
This is just information.
ERR_ASG_NO_OBJ_COL_FOUND
Assignment object %1 has no columns.
Not applicable or no further explanation should be needed.
ERR_ASG_NOT_EMP_POSTN
Employee or Position not specified for assignment object %1.
If person-based assignment, make sure that at least one of the four properties (Position Table, Position Primary Column, Employee Table, Employee Primary Column) for assignment object %1 has a valid non-null value. If organization-based assignment, make sure that at least one of the two properties (Org Table, Org Primary Column) for assignment object %1 has a valid non-null value.
ERR_ASG_NO_WF_COLS_
IN_ATTR
Assignment attribute %1 has no workflow columns.
Not applicable or no further explanation should be needed.
ERR_ASG_NO_WF_OBJECT
No workflow object available for assign object = %1.
Make sure that the Parent Workflow Object property of the Assignment Object % points to a valid workflow object.
ERR_ASG_OBJECT_NOT_FOUND
Assignment object %1 is not registered in the Siebel repository. Please make sure that %1 is a valid assignment object name and the value you input is identical to what you see in the application. Please review the Assignment Manager documentation for details on the required parameters before running an Assignment Manager task.
Not applicable or no further explanation should be needed.
ERR_ASG_PERSON_OBJECT_
NUM_ATTR_MISMATCH
Number of attributes do not match with assignment object for person object %1.
Not applicable or no further explanation should be needed.
ERR_ASG_PR_TBL_ROW_
NOT_FOUND
RowId [%1] in table [%2] not found.
Make sure that request submitted is for a valid Row Id in table (%2).
ERR_ASG_UPDATE_FAILED
Unable to update row %1 (%2).
Check the log file for database related error, and correct the error.
ERR_ASG_PARSING_VALUE
Unable to parse criteria value %1.
Not applicable or no further explanation should be needed.
ERR_ASGN_KEY_NO_MATCH
Assignment Key %1 does not match the Request Key.
Make sure that the AsgnKey parameter is set to the Row Id of one of the assignment groups mapped to the server.

Siebel Server is not coming up...What should we check?

1. Validate that the .srf file is not corrupt by testing the srf on a dedicated environment.
if the dedicated client is facing issues possibly 2 reasons must be there
a.srf file is corrupt
b.db itself is down
Take the necessary action

2. Stop siebel servers after executing ./siebenv.sh and command stop_server all

3. Check that no Siebel processes for the enterprise are still running.
Windows: Check Task Manager for any Siebel process for the enterprise still running.
Solaris: Execute ps -ef | grep [directory path] (eg. ps -ef | grep /app/siebel/siebsrvr).
ps -ef|grep sieb also finds all active siebel process
Ensure that all processes for that enterprise are killed.
use kill -9 pid to achieve the same

4. Delete any file that exists in directory %SIEBEL_ROOT%\sys with name like:
osdf.[SiebelEnterprise].[SiebelServer]
Where
[SiebelEnterprise] = The Siebel Enterprise name
[SiebelServer] = The Siebel Server name.

5. Delete any file that exists in directory %SIEBEL_ROOT%\admin with name like:
*.shm
dhm files are shared memory files. This file should be automatically deleted when the Siebel server is shut down, if it still exists when the Siebel server is down then it has been corrupted and not correctly removed.

6.Delete fdr and core files as these file eat up large amounts of memory.

7.Cleanup unwanted logarchive and log files so that fresh logs can be monitered and space can be freed up.

8.Try to restart server after executing ./siebenv.sh and command start_server all
Note- At this point if the server still does not restart, you need to check the enterprise log for the reason. The enterprise log is located in:
%SIEBEL_ROOT%\enterprises\[SiebelEnterprise]\[SiebelServer]\log
The enterprise log has name with format:
[SiebelEnterprise].[SiebelServer].log

9. If no enterprise logs are getting creted there are connectivity issues with the database:
i.e change of db password for SADMIN user
db server is down
(Come to this conclusion ony if you skipped the first step)
run odbcsql from siebsrvr/bin to check connectivity issues
odbcsql /u SADMIN /p SADMIN /s DSN Name

10. Any changes which lead to the corruption of siebns.dat will also result in the servers not coming up.
usually NameSrvr logs tell us connectivity related information and errors like key not found.Try reverting to an old working siebns.dat file.

11.If the environment is LDAP authenticated any changes in the LDAP trees can also affect the environment.please verify the same.

12.Check the SCBroker and SRBroker logs;you would get a hint.

13.Use netstat -an|grep 2320 for verifying that the gateway service port is listening.

14.Use netstat -an|grep 2321 for verifing that the SRBroker/SCBroker port is listening
So that is a long list.Thought there can be other reasons too; I have only mentioned those encountered by me.I will keep on updating when I find newer reasons.Till then stay tuned.

Thursday, July 7, 2011

About the rulecache.dat file in Assignment Manager setup

The rule cache file contains the most recent copy of assignment rule, criteria, candidates, skills, and skill items information from the last time assignment rules were released. A cache file is recreated every time assignment rules are released or when skills have expired.
Depending on the mode in which you run Assignment Manager, the following cache files are used:
  • rulecache.dat
    This file contains information about all active rules in the database. When Assignment Manager runs in default mode, this file is used by each of the three assignment operation modes (interactive, batch, and dynamic assignment).
  • rulecache_SERVERNAME.dat
    This file (where SERVERNAME is the name of the Siebel Server) contains information about the rules in the rule groups assigned to a particular Siebel Server and is used when server key mappings are defined.
  • batchrulecache_RULEGROUPID.dat
    When batch assignment runs in rule group mode, you can specify whether it uses the default mode cache file (rulecache.dat) or a separate cache file by way of the Independent Rule Group Cache parameter.
    • If you set this parameter to FALSE, it uses the default mode cache file (see rulecache.dat previously described in this topic).
    • If you set this parameter to TRUE, it creates a separate cache file, batchrulecache_RULEGROUPID.dat (where RULEGROUPID is the Assignment Key parameter you passed along with the request).
      There can be multiple cache files of this type, because you can use batch assignment in rule group mode for different rule groups. This rule group cache file is a smaller file, therefore providing better performance than the default mode cache file. Performance is better because the batchrulecache_RULEGROUPID.dat file only has information about some rules for some rule groups, while the rulecache.dat file has information about all active rules for all rule groups.
Hope this information was helpful.stay tuned

Tuesday, July 5, 2011

Generate Triggers using Siebel Client

To generate triggers using the GUI
1.             In the Siebel client, from the application-level menu, choose Navigate > Site Map > Administration - Server Management > Jobs.
2.             In the Jobs list, click New.
3.             From the Component/Job drop-down list, select Generate Triggers. This creates a new line entry but does not start the task.
4.             In the Job Parameters list, click New to modify parameter settings.
5.             Enter your Privileged User name and Privileged User password.
6.             In the Job Detail form applet, from the applet-level menu, select Start Job.
7.             To view changes to the state, refresh the screen by clicking Run Query(Alt+Enter) from the applet menu.
8.             Upon completion, the Status field contains either Success or Error. It is recommended that you view the log details.

Tuesday, June 28, 2011

Modifying Applet Colors for High Interactivity Applets

To modify applet colors for high interactivity applets (tested for 8.1)

  1. In the main.css file, locate the following code:
    .Selected TR.AppletButtons {background-color:#658AC3; color:#ffffff;}
    .Selected TR.AppletButtons TD.AppletTitle,
    .Selected TR.AppletButtons TD.AppletTitle A,
    .Selected TR.AppletButtons TD.AppletTitle A:link,
    .Selected TR.AppletButtons TD.AppletTitle A:visited,
  2. Change the value in the background-color attribute to the custom color.
  3. Save the file, and then test your changes.

Starting and Shutting Down a Siebel Deployment

To start a Siebel Deployment

1.             Start the Siebel Database.
2.             Start the Siebel Gateway Name Server System Service.
3.             Start the third-party load balancing software, if applicable.
4.             Start any other third-party software, if applicable.
5.             Start the Siebel Server System Service(daemon process in UNIX). (The Siebel Server must connect to the Siebel Gateway Name Server and Siebel Database on startup)
6.             Start the Siebel Management Agent Service. (The Siebel Management Agent must connect to the Siebel Gateway Name Server)
7.             Start the Siebel Management Server Service.(The Siebel Management Server must connect to the Siebel Gateway Name Server)

To stop a Siebel Deployment
           
                1.   Shut down the Siebel Server System Service.
When the Siebel Server System Service is shut down, it shuts down server components and tasks   before shutting down itself. NOTE:  To make sure server components shut down properly, shut down Siebel Servers before shutting down the Siebel Server System Service.
2.    Shut down the Siebel Management Agent Service.
3.       Shut down the Siebel Management Server Service.
4.    Shut down the third-party load balancing software and any other third-party software, if applicable.
5.       Shut down the Siebel Gateway Name Server service.
NOTE:  Make sure all Siebel Servers are shut down before shutting down the Siebel Gateway Name Server service.
6.       Shut down the Siebel Database.
Source: Siebel Bookshelf

In next post I will talk about daemon process and windows service.stay tuned



Friday, June 24, 2011

About D&B Data


D&B is a leading provider of business information. D&B's information and technology solutions help businesses find profitable customers, reduce credit risk, manage receivables, and manage vendors. D&B's database of commercial information consists of over 75 million records world wide.
For connected users, you can use your Siebel application to integrate with D&B data and reports. As a mobile client, you can access D&B data for accounts and contacts that have been promoted from D&B marketing data.
This allows you to:
  • Use D&B marketing data within your Siebel application.
  • Access D&B business and credit reports from within your Siebel application.
You can use this D&B data to support the following:
  • New Business or Customer Acquisition. By querying on company size, line of business, and other criteria provided by D&B, you can generate lists of prospects to add to the sales pipeline or to support outbound marketing programs. By using the D&B corporate family linkage information, you can identify new prospects and opportunities within a company's extended family.
  • Customer Segmentation and Penetration. You can profile specific market segments such as geography, industry, size, and other criteria to identify untapped opportunities or better align sales territories.
  • Customer Qualification. Use your access to D&B business and credit reports to obtain detailed background and risk information on a company in order to focus sales efforts on higher-probability accounts and shorten the sales cycle.
The D-U-N-S (Data Universal Numbering System) number is a crucial component of D&B data. A D&B D-U-N-S number is a nonindicative, nine-digit number assigned to each business location in the D&B database. Each D-U-N-S number has a unique, separate, and distinct operation and is maintained solely by D&B. Industries and organizations around the world use the D&B D-U-N-S number as a global standard for business identification and tracking.
Each company has a unique D&B D-U-N-S number associated with it. It acts as a unique identifier for a company in the D&B database.
To uniquely identify the association between different companies in the D&B database, each company also has associated D&B D-U-N-S numbers.
Several categories of D&B D-U-N-S numbers exist:
  • D&B D-U-N-S Number—each unique business location listed in the D&B database is assigned a D&B D-U-N-S number. This column is called simply DUNS Number in your Siebel application.
  • Global Ultimate D-U-N-S—the D&B D-U-N-S number belonging to a business's worldwide ultimate parent company.
  • Domestic Ultimate D-U-N-S—the D&B D-U-N-S number belonging to the highest-level family member within a specific country.
  • Parent/HQ D-U-N-S—the D&B D-U-N-S number belonging to a business's immediate headquarters or parent.
These numbers allow D&B to establish the relationships between different companies.

For more information on D&B please refer to Wiki or the official website.

Thursday, June 23, 2011

Common Error messages occured during server installation and their expansions



Facility

Description

ADM

Server Administration

GEN

Siebel Generic

NET

Siebel networking layer (common/sisnapi)

OMS

Object Manager Server Subsystem

OSD

Operating system dependent layer (common/osd)

SCC

Server Common Configuration

SCM

Server Configuration Manager

SMI

Server management infrastructure (server/smi)

SRB

Server Request Broker

SRM

Server Request Manager

SSM

SISNAPI Session Manager

SVR

Server common layers (server/common)

Wednesday, May 11, 2011

Synthetic Events in Siebel

A synthetic event is a specialized run-time event that is dedicated to controlling workflow navigation.
You will stumble upon these concepts if you get a chance to work with interactive workflows.
To control the way a user navigates through the Siebel application, you can create buttons on applets within views and then associate synthetic events with the buttons.
A sample case is when you get a Warning Pop up Applet while you try to modify a product in the SIS OM Edit Complex Asset Workflow.




To create synthetic event buttons
  1. In Siebel Tools, select a view to which a User Interact step navigates the user.
  2. Configure a  button  for eg "OK". button
  3. Specify the MethodInvoked property of the button control as the name of the associated event, for example, FrameEventMethodWFOK for proceeding further.
  4. In the Palette Designer, associate the applet type run-time event, for example, FrameEventMethodWFOK, to the outgoing branches of the User Interact step in the workflow process that will receive the event. Assign the event the following properties:
    • Event Type = Applet
    • Event Obj = AppletName
    • Event = InvokeMethod
    • Sub Event = [method name, for example, FrameEventMethodWFOK]

Hope this post was useful; stay tuned




Friday, May 6, 2011

Scripting event flow in Siebel

Above figure shows the flow of events when a usual UI action (Click of New Record Button) takes place. The dotted lines shows the boundary between browser side scripting and server side scripting.
The sequence of events starts from Applet_PreInvokeMethod at Browser Script followed by pre runtime and pre Bus_Comp events. Soon after the pre events are fired the class level C++ code is executed where the Business Component User Property(Named Method n) is fired.As seen in the figure all the Post events lie on the right hand side.The last event to fire is the Applet_Invoke method.

Hope this post was informative.Stay tuned

Wednesday, May 4, 2011

About the SIS OM PMT Service and other BS in C/OM

OM can be broadly classified into two categories

1. Normal Ordering Flow. (Orders play the key role)

2. Asset Based Ordering Flow (Asset centric flow)

Asset Based Ordering is often nicknamed or abbreviated as ABO flow.

In Siebel 8.0 log in to Tools and in the Object explorer select Business Service and query for the SIS OM PMT Service. PMT stands for "Product Manipulation Toolkit". Now this business service is one of the most important object with regards to Customer order Management. It has got 45 methods and each one of them is interestingly the key driver for many OM actions.

There are many User Properties of this BS which would be used while you configure during customization part of COM.

Another important BS is the "FINS Data Transfer Utilities" often abbreviated as the DTU.

This BS allows you to transfer data between a source BC and destination BC.

One should be familiar with "Data Object Maps" to utilize the power of this BS.DTU was provided as a sustitute to ISS Copy Service.

This post surely would confuse a newbie but believe me all these objects are going to be true companions for any C/OM developer.

Stay tuned






Saturday, April 23, 2011

Siebel Customer Order Management

COM(Customer Order Management) in Siebel is a very interesting and challenging module. The main reason behind this is that most of the business requrements can be transformed to application functionalities by declarative configuration techniques rather than going for commonly used escript techniques.

Before working in an OM module in siebel; one should be well aware of the following configuration techniques.

1.Configuration ( Good hands on experience in Workflows and Object hierarches;i.e familiar with most of the objects in object explorer)

2.Working Priciple of a Business Service.

3.Knowledge of EAI will be very helpful; if not be aware of Integration Objects; Integration components and Data Maps and Data Object Maps.

4.Signal Mechnism.

5.Variable Maps

6.Product Configuration and Pricing(will need seperate expertise without which COM is incomplete)

7.Knowledge of Runtime Events and Data Validation Manager.


Well you might feel that this results in a long list of raw materials for COM but believe me getting familiar with all these things will hardly take more than two weeks.

I will get into the details in the next post.Till then stay tuned.