Tuesday, October 27, 2009

SRF Compare

SRF Compare


A new feature in 8.1.1 is comparing 2 SRF's. Open Siebel Tools, navigate to Tools - Utilities - Compare SRF.

Enter the 2 SRF's you want to compare for changes and click on the 'Compare' button.
As per the Siebel Bookshelf, The Compare SRF utility:

1. Validates each SRF for file parameters, such as file existence, version, and language

2. Creates one or two output files as follows:
- For new or changed objects or both, SRFDiff creates an output file that contains differences between the two SRFs. It also contains new objects present in one SRF file but not in the other file. (diff_srf1_srf2.xml)
- For deleted objects, SRFDiff creates an output file that contains deleted objects that are present in one SRF file but not in the other file. (deleted_records_diff_srf1_srf2.xml)


Invoking SRF Compare by command line:
siebdev /srfdiff "srf1" "srf2" "outputfile"


This is a cool feature, similar to the SIF compare as it gives you the minor difference between the incremental and full compiled SRF's.

Tuesday, October 20, 2009

Virtual Business Components - Introduction

A virtual business component (VBC) provides a way to access the data that resides in an external data source using a Siebel business component. The VBC does not map to an underlying table in the Siebel Database. You can create a new VBC in Siebel Tools and compile it into the siebel.srf file.


The VBC calls a Siebel business service to provide a transport mechanism.
Business services determine the behavior of the VBC and define how the VBC manipulates data. You can base VBCs on predefined business services provided by Siebel Systems, such as the XML Gateway, or you can create your own business service. You create both virtual business components and business services in Siebel Tools.


Architecture




As it is evident from the architecture diagram that there are two possible mechanisms to bind VBC to an external data source in real time, namely


1. Use the XML Gateway business service, a default service provided by the Siebel, to pass data between the virtual business component and one of the Siebel transports, such as the EAI HTTP Transport, the EAI MQSeries AMI Transport, or the EAI MSMQ Transport.


2. Write your own business service in Siebel eScript or in Siebel VB to implement the mandatory methods.

Next in Series - Using XML Gateway for VBC

Saturday, October 17, 2009

DBISQLC.exe

What is DBISQLC.exe ?
DBISQLC.exe is an Interactive SQL Anywhere program, located in the Siebel Tools or Siebel Web Client folder, helpful in analyzing the SQL statements. The statistics pane provides the analysis information for the SQL's.

How Do I Login to DBISQLC ?
For Siebel Application Versions 7.0.x and 7.5.x
1. Launch dbisqlc.exe from the %SIEBEL_CLIENT_ROOT%\bin directory to bring up the Connect to SQL Anywhere dialog window. On the Login tab fill out the following fields. NOTE: The values for the User ID and Password have to be in upper case
User ID        -    DBA
Password     -    SQL
Database     -    C:\%Siebel_Client%\local\sse_data.dbf

2. After clicking on the OK button, the user will connect to the local database. A message "Connected to database" should appear in the Statistics sub-window.

For Siebel Application Versions 7.7.x or 8.0 or higher
NOTE: The values for the User ID and Password have to be in upper case
User ID       -    DBA
Password    -    ENTERPRISE_NAME
Database    -    C:\%Siebel_Client%\local\sse_data.dbf
If the ENTERPRISE_NAME is less than 8 characters, then the password is appended with 1234.


How Do I run a query against SQL Anywhere ?

1. In the Command sub-window, type the query you want to perform. Ensure that you put the table owner name in front of the Siebel table names. Here is an example:

SELECT NAME, LOC
FROM SIEBEL.S_ORG_EXT
2. Click on the Execute button (shortcut - F9)to run the query.

 How do I log the results of the SQL:
1. Use the following syntax to spool out the query results:
SELECT NAME, LOC
FROM SIEBEL.S_ORG_EXT;
OUTPUT TO C:\OUTPUT.TXT
FORMAT ASCII

Tuesday, October 13, 2009

siebmtshmw.exe

We ran into a problem running out of memory and the siebel server was not responding. Taking a closer look at the logs and the processes running, there were lot siebmtshmw.exe's running in the task manager.

This was because after the installation, we had not disabled any of the components which were active by default.

Note from Metalink was helpful in resolving the issues

All the components which are enabled are by default started when the server is started. Users will need to identify the components to enable and disable the components which are not needed, so that they are not started when the server is started. Each siebmtshmw.exe shell consumes about 30-40 MB without catering to any tasks/requests. To disable components log into srvrmgr
Srvrmgr : siebsrvrname > disable comp

To identify which component is related to which OS process, the Siebel administrator can refer to the enterprise log (..log) file under /log directory on windows and /enterprises//log directory on Unix

An example of the enterprise log file content which shows the OS pid:

ServerLog ProcessCreate ...... Created multithreaded server process (OS pid = 2052) for Call Center Object Manager with task id 21508

After disabling the unnecessary active object managers and processes like ADM, Assignment Manager, the server started responding.

Monday, October 12, 2009

Siebel and SSO

Siebel and Single Sign On Architecture


Siebel eBusiness Applications includes security adapters that are based on the LDAP and ADSI standards, allowing customers to use LDAP directories or Microsoft Active Directory (ADSI) for user authentication.


In an implementation using Siebel LDAP or ADSI security adapter authentication, a Siebel security adapter or a Siebel-compliant adapter authenticates a user’s credentials against the directory and retrieves login credentials from the directory. The security adapter functions as the authentication service in this architecture. Security adapter authentication provides a user with access to a single Siebel application only.



The steps in the security adapter authentication process are:

1. The user enters credentials to a Siebel application login form. These user credentials (a username and password) can vary depending on the way you configure the security adapter. For example, the username could be the Siebel user ID or an identifier such as an account or telephone number. The user credentials pass to the Siebel Web Server Extension (SWSE) and then to the authentication manager, a component of the Siebel Object Manager.


2. The authentication manager determines how to process the user credentials and calls the security adapter to provide authentication against the directory.


3. The security adapter returns the Siebel user ID and a database account to the authentication manager. (If roles are used, they are also returned to the authentication manager.)
4. The object manager uses the returned credentials to connect the user to the database and to identify the user.



To be continued in further posts...


SBL-DAT-00607


We had recently upgraded our Siebel system from 7.5.3 to 8.1.1 and post the upgrade, the following error gave us a real tough time.

Error Description:- Join 'Organization Reporting Relationship Table Join Alias' in business component 'Recipients' has the multi-valued field 'Organization Id' as the source field. (SBL-DAT-00607)




Issue Resolution:-


I had searched the whole repository for the phrase 'Organization Reporting Relationship Table Join Alias' , but the results were zero. Then I decided to check the configuration of the Recipients BC, step by step.

In the 'Field' level, 'Organization Id' was created as a MV field with a link pointing to 'ABC Orgnaization'.

In the 'BusComp View Mode' of the Recipients BC, the Visibility was definied using the Organization Id field, but it was in the 'Visibility Field' column. I had to modify this view mode, by adding the 'Visibility MVL' to 'ABC Organization' and 'Visibility MVF' to 'Organization Id'.

After an incremental compile, it started working !!!