Friday, 4 November 2016

Company Structure - Siebel

Company Structure

Company deploying the siebel applications use the following entities to structure the data access.



  • Divisions : Are used for purpose of mapping a company's physical structure. It represents the part of the company such as a line of business, a geographical location, business unit or department.
  • Positions : Represents the job title with in the company or the partner company. It is more stable structure than representing the individual person.
  • Employees : Represents a person working in the organization and it associated with at least one position in the organization i.e. the employee can be assign multiple position, if they do different type of work or need to see different data.
  • Organizations : Represents the root of company hierarchy. it is also represents the company implementation the siebel application, a partner organization, a separate major area of the business.
         Division can also be made organization by setting organization flag property of the particular division as true.



Siebel Architecture

Logical Representation Of Siebel Architecture 




  • Siebel Web Client : Siebel web client access the business data.
  • Web Server : A web server that handles interaction with the web client.
  • Gateway Server: Servers that manage the business data and provide batch and interactive services for clients.
  • Siebel Enterprise Server : Siebel Enterprise Server is a logical groping of siebel server that support users of accessing a single database server and single file server.
  • Database Server & File System : Database Server & File System store business data.

What Is CRM?




Customer : A Customer is someone who makes use of or receives the products or services of an       individual or organization.

Relationship : A Relationship is a way in which customers and organizations are connected to each other.

Management : Management is a process by which the relationship between customers and organizations is handled efficiently and effectively.

Saturday, 10 May 2014

How to call a Business Service

We can invoke a business Service through
1.       Runtime Events
2.       eScript
3.       User Property

·         Runtime Events
To call a business service through runtime events
Enter the following information in the Action Set that you are creating
Business Service: Business Service Name
Business Service Method: Method Name
Business Service Context: “Input Argument”, “Value”
And based on the Event that you choose this business service will be invoked
·         eScript
You can use the following Code to invoke a business service from escript
·         Applet browser to BS server script 

var outputPS;   
var bsReject = theApplication().GetService("WHV Reverse Payment Record");
var inputPS = theApplication().NewPropertySet();
inputPS.SetProperty("ACBSeq", nACBSeq);
inputPS.SetProperty("PromoId", sPromoId);
inputPS.SetProperty("BillingNumber", nBillingDoc);
outputPS = bsReject.InvokeMethod("RejectPayment", inputPS); */

·         Applet Server to BS server script 

bs = oAppObj.GetService("WHV Get Product Price BS");
Input.SetProperty("AccPromoPriDate", this.BusComp().ParentBusComp().ParentBusComp().GetFieldValue("WHV Account Promotion Pricing Date"));
Input.SetProperty("AccntCOT", this.BusComp().ParentBusComp().ParentBusComp().GetFieldValue("WHV Account COT"));
Input.SetProperty("UserOrganizationId", oAppObj.GetProfileAttr("UserOrganizationId"));
Input.SetProperty("ProductId", this.BusComp().GetFieldValue("Product Id"));
bs.InvokeMethod("WHVProductPrice", Input, Output); 

·         User Property
You can use named method property to invoke a business service from BC but this method is rarely used as it including complex conditions in the User property might not be possible. But it can come quite handy if you just want to invoke BS based on simple conditions
Name: Named Method 1
Value: “New Record”, “INVOKESVC”, “BS Name”, “BS Method”, “‘Input Agrument’”, “Value”, “‘Input Argument 2’”, “Value”

Unlock Repository objects - Siebel

VIEW:-

UPDATE siebel.s_view bc SET bc.obj_locked_flg = 'N', bc.obj_locked_date = NULL, bc.obj_locked_by = null, bc.obj_locked_lang = null

WHERE bc.row_id = '1-A4LQ-DX3R';

commit;

TABLE:-

UPDATE siebel.s_table tab SET tab.obj_locked_flg = 'N', tab.obj_locked_date = null, tab.obj_locked_by = null, tab.obj_locked_lang = null

WHERE tab.name = 'CX_RD_MATRIX' and tab.row_id = '1NQ-5HY';

commit;

BUSCOMP:-

UPDATE siebel.s_buscomp bc SET bc.obj_locked_flg = 'N', bc.obj_locked_date = NULL, bc.obj_locked_by = null, bc.obj_locked_lang = null

WHERE bc.row_id = '1-A4LQ-DX3R';

commit;

BUSSERVICE:-

UPDATE siebel.s_service serv SET serv.obj_locked_flg = 'N', serv.obj_locked_date = NULL, serv.obj_locked_by = null, serv.obj_locked_lang = null

WHERE serv.row_id = '8B-DVG';

commit;

APPLET:-

UPDATE siebel.s_applet appl SET appl.obj_locked_flg = 'N', appl.obj_locked_date = NULL, appl.obj_locked_by = null, appl.obj_locked_lang = null

WHERE appl.row_id = '1-O3D-C3';

commit;

PROJECT:-

UPDATE siebel.s_project  AS proj SET proj.locked_flg = 'N', proj.locked_date = NULL

WHERE proj.name = 'IOM Order Management';

COMMIT

Monday, 7 April 2014

Diffrence Between EBC & VBC

EBC VS VBC

Base Table:

·         EBC: EBC is based on external table and uses data source defined on BC and Table to retrieve data.
·         VBC: VBC has no base table and it is based on special class. It uses a Business Service to retrieve data.

Business Layer VS Database Layer:

·         EBC: While creating EBC you import external table definition into Siebel which results in a proxy table being created in Siebel which points to external table so we can say that EBC integrates Siebelto external applications at Database Layer.
·         VBC: No table is involved in creation of a VBC and we need to use either Vanilla BS such as XML Gateway service or custom BS that will retrieve data through Siebel Business Layer.

Purpose:

·         EBC: The purpose of an EBC is to view, update, insert and delete data available in external database. It is always used to integrate with external applications.
·         VBC: The purpose of VBC is usually to view external data that we don’t want to store in Siebel. It is not necessary to use VBC only for integration. For example If I want to view Product Configurator information in typical Siebel Applets and Views then I can use VBC to achive this.

Effort:

·         EBC: It is very easy to create and configure EBC. You just need to import external tabe definition and after that you can use usual Siebel Configuration techniques and create BC, Applets and Views based on EBC without any difficulty
·         VBC: You have to write script for handling each and every event that you want your VBC to support such as Query, Insert and Init etc. So, I would say effort required is greater in VBC
I have tried to list the difference between EBC and VBC in layman’s language. If anybody thinks that they have more relevant and better differences than listed above please feel free to voice your opinion. Your valuable comments are always welcomed.


Virtual Business Component

Virtual Business Component (VBC)

VBC Provides the ability to display and manipulate non-Siebel data from within Siebel applets without storing it in the Siebel database.

A virtual business component (VBC) provides a way to access 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 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.
You can take two approaches to use VBCs, as
§     Use the XML Gateway business service to pass data between the VBC and one of the Siebel transports, such as the EAI HTTP Transport or the EAI MSMQ Transport.
§     Write your own business service in Siebel eScript or in Siebel VB to implement the methods.

Advantage of using VBC:
·         Display and manipulate non-siebel data from within Siebel applets without storing it in the Siebel database.
·         New class of business component based on data stored outside of the Siebel database
·         Defined and behave like standard business components.


External Business Component

External Business Component (EBC)
External Business Component (EBC) is another way of integrating Siebel with External Applications. It is another tool available at your disposal to achieve integration.
EBC as really easy and robust way to integrate Siebel.
  • You get a DDL of a table located in external database.
  • Import that into Siebel tools and a table is created in Siebel pointing to external table.
  • You create a data source to connect to external database.
Then you do the usual configuration of creating a BC, BO, View and Applets based on that Table.
In EBC we create a pseudo table structure within the Siebel schema using the External Table Schema Import Wizard, create a BC based on this table and then create an ODBC connection to the external table to fetch the data from the other database and display it in the Siebel GUI
When you access that view Siebel in real-time using that data source connects to external table and displays you the data. You even have option to update, insert and delete records from Siebel.
Limitations:
  1. If you import a database view instead of DDL then you cannot update or inserts records.
  2.  Joins to base tables in EBC usually don’t work
  3. External database must be accessible directly to Siebel
  4. Performance can be an issue if database connectivity is not good
Advantages:
  1. You can integrate with external application with minimal of effort.
  2. Siebel BC can base joins on External table and display information
  3. You can import tables from different database such as DB2, MS SQL, Siebel Analytics.

Saturday, 26 October 2013

Installation and Configuration of open UI

Download 

1.Go to Oracle Delivery Cloud and sign in 
2.Select ‘Siebel CRM’ as the Product Pack and an appropriate platform. You’ll still, for some infuriating reason, find 8.1.1.x under 32-bit Windows and 8.2.2.x under 64-bit Windows. Very odd 
3.Download the 5 ZIP file components of the installation and unzip them all to a common folder 
4.Open up a command prompt, as administrator, and CD to the unzip folder 
5.Set the JAVA_HOME variable, if required. For example: set JAVA_HOME=”E:\Java\jre6? 
6.Run snic.bat 
7.Create a new image, patch set 
8.Go through the usual process of selecting desitnation, platform and components and pick one or more languages 
9.Though it looks like the JAVA process has frozen / crashed, it’s now unzipping the JAR files into appropriate installers 


Install 

1.Installation is the same as you would expect, if you have installed 8.1.1.8 or 8.2.2. Check out my earlier article for some gotchas on the new installation process 
2.You’ll still get the stupid “you’re about to install into a non-empty directory” message. For a patch? Really? 
3.The patch process also takes ages. This, I suspect, is because the installer recognises it’s own instability and does a ‘backup’ (i.e. OS level folder copy) of the entire SIA / SEA folder before it does anything. I still think Oracle have taken a huge step backwards with the clunky and unreliable installer 
4.Once you’ve installed Enterprise, Web Server, Web Client and Tools (very important!) you’re ready for the next step 


Enable Open UI 

1.First up, you won’t find the instructions for enabling OpenUI in the patch documentation. Instead, refer to MOS article 1499842.1 for a Deployment Guide for Open UI 
2.Unzip ‘OpenUI_Base_8119.zip’ from within the Siebel Tools REPPATCH folder. Here you’ll find instructions on what projects to lock and a .BAT file to import all the appropriate SIFs to enable OpenUI
3.Lock the projects, create the new Reports project then edit the preferences file appropriately – it’s all documented in the instructions 
4.Run the import batch file and check the result in the Notifactions\Log folder. I chose ‘Import All Packages’ to save time. This seemed to work perfectly first time though it took forever as each SIF is imported individually, using a new Siebel Tools process 
5.Perform a full compile of the SRF and deploy to your server environment 
6.Now you have two choices – clone an existing OM (recommended) or update an existing one to use OpenUI in place of HI. I went for cloning as, though it’s more involved, it allows me to access and compare my existing HI OM 
7.Personally, I used the server manager scripts that were generated from the mergecfg.exe tool to create the OM. I first created a new OM component then used the scripts to update the partameters to match those of the existing Sales (SSE) OM component 
8.In the parameters for the new OM, set the new ‘EnableOpenUI’ parameter to ‘True’ 
9.In IIS, create a new Virtual Directory for your new OM and create appropriate entries in eapps.cfg to point to it. I called my OM ‘SSEOUIObjMgr_enu’ and the Virtual Directory and eapps entry ‘sales_openui_enu’. You can use the editmetabase.exe tool in the SWE bin folder to do this (metabaseedit.exe sales_openui_enu E:\sba81\SWEApp\BIN\ENU\eapps.mtb) 
10.Restart everything, just to be sure 

The advised high-level roadmap for customers follows: 

1. Upgrades to a release compatible with Open UI. 
2. Implement Siebel 8.1.1.9 or 8.2.2.2 or above. 
3. Apply QF’s applicable to the release 
4. Migrate from SEA to SIA if on a SEA release. 
5. Import Open UI related SIF files. 
6. Read FAQs and other release documentation provided for the migration. 
7. Add an object manager for the UI, and set it to Open UI using the Open UI enablement settings. 
8. Test the upgraded deployment on HI and SI. 
9. Test the Open UI client rich internet application (RIA) deployment. This can be tested in parallel when running       the environment because it runs on a separate object manager). 
10. Perform user-acceptance testing for all the deployed client UI options. 

Configuration 

Overview: High level configuration steps 
To deploy Siebel Open UI, several steps must be followed. 
1.Download the Innovation pack 2012 release. 
2. Import your seed data using the provided batch files 
3. SIF files for import are provided to enable Open UI and Siebel Mobile features. These must be imported. 
4. Compile & deploy the new SRF 
5. Please bounce your server (or restart your mobile web client) after completion of the import 
6. Add or clone an object manager depending on use of Siebel Mobile or Open UI 
7. Add Virtual directories as needed. 
8. Set the image files based on deployment requirements 
9. Use EnableOpenUI= TRUE (or FALSE) to change between HI and Open UI mode. Set this parameter in the c       client CFG file or in the object manager parameter as needed. 
10. Tune Web Server performance for your environment and web server type. 

Siebel Tools contains the following zip files in the REPPATCH folder. 

1. OpenUI_Base_8119.zip or OpenUI_Base_8222.zip 
2. OpenUI_Mobile_8119.zip or OpenUI_Mobile_8222.zip 

Note: If you have run previous versions of Seed or SIF data import run the steps below to update the information. 

Note: Siebel Tools requires use with Internet explorer 8. 
To import the Sif file, compile and deploy the SRF with the components in the applicable SIF file (named openUI_*.zip) based on the instructions in the readme.txt file contained within it. 

1. Back up your target database. 
2. Create an ODBC entry for the database where you plan to import the seed data into. 
3. Open your tools.cfg file and change SymStrPrefix=X to SymStrPrefix=SBL. 
4. Create new projects as specified in the beginning of projects_and_objects.txt. 
5. Check out or lock the projects specified in the "Projects to Lock/Check Out" section in                                  projects_and_objects.txt. 
6. Ensure language.txt contains the language codes of the languages you need with each code in a separate line. 
7. This step is optional, but recommended. Specify environment information in preference.txt. 
8. You will be prompted for the information for entries that are left blank. 
  - REPOTOOLSBIN=<path, where to find siebdev.exe, e.g. C:\siebel\tools\bin> 
  - REPODATASOURCE=<DataSrc entry from tools.cfg, where to import the objects into> 
  - REPOUSERNAME=<User Name> 
  - REPOPASSWORD=<Password> 
  - DBTYPE=<ORACLE|MSSQL|DB2UDB> (i.e. the data base vendor) 
  - DDLPATH=<path that contains ddldict.exe and ddlimp.exe, usually <Siebsrvr>\bin> 
  - SIEBUSER=<Siebel Username> 
  - SIEBPW=<Siebel Password> 
  - ODBCDATASOURCE=<ODBC DataSource Name> (i.e. the name of the ODBC data source reated in step 2) 
  - TBLO=<Table Owner> 
  - TBLOUSER=<Table Owner User> (only needed for MSSQL) 
  - TBLOPW=<Table Owner Password> 
  - Run import.bat. 
9. Verify the import logs in <package>\Log for all imported packages. 
10. Compile the repository to create a new srf with the new and modified objects, which are listed in projects_and_objects.txt. 
11. Open your tools.cfg file and change SymStrPrefix=SBL_ back to SymStrPrefix=X. 
12. Verify the import logs for the seed data in <package>\Seed\<DBTYPE>. 
13. Please bounce your server (or restart your mobile web client) after completion of deployment of the new SRF file. 
14. Perform configurations according to the “Additional Instructions” documents in the subfolders, if such documents exist. 

Adding Siebel Open UI Object Managers To set configuration for Siebel Web Client via server object managers, set the parameters in Application Server Configuration> Component Parameters as follows: 

To render as High Interactivity client: 

1. EnableOpenUI=FALSE
2. HighInteractivity=TRUE 

To render as Open UI client: 

1. EnableOpenUI=TRUE 
2. HighInteractivity=TRUE 

Enabling and Disabling Open UI on clients To set configuration for Siebel Dedicated and Mobile Web Clients via client configuration, set the client parameter, in uagent.cfg in the [InfraUIFramework] section as follows: 

To render as High Interactivity client:

1. EnableOpenUI=FALSE
2.HighInteractivity=TRUE 

To render as Open UI client:
1. EnableOpenUI=TRUE
2. HighInteractivity=TRUE 

Backing up configuration and setting Environment variables

1. Stop Siebel Server. 
2. Stop Gateway Server and make backup of siebns.dat file. 
3. Restart Gateway Server. 
4. Set SIEBEL_HOME environment variable to SES_HOME/siebsrvr directory. 
5. Start Siebel Server and make sure that components are online (assumption: Srf used by Siebel Server is the resulting SRF after SIF import) 

Comparison between Open UI Application and Siebel

1. Custom applications have the advantage over Siebel in user friendliness, because there are things that you could do with current web technologies that are never"possible" in Siebel.

2. Siebel is a vast product with a lot of technologies that allows us to build a descent and usable interface, If the technology is out there, and its supportable, we use it and give the client what they want, of course it has to be supported by good architecture.

3. Instead of switching to another application in order to meet client requirements. Siebel CRM come up with solution which meet the  users requirement.

4. Siebel Open UI has been designed with the same purpose.




Open Ui Frame Work


   Presentation Model
       A presentation model is a JavaScript file that specifies how to handle the metadata and data that Siebel Open UI gets from the Siebel Server
1.Works with proxy data
   Run Time Data
    —Metadata
2.Determines what logic should be applied
    Client side scripting without requiring the need of siebel server
3.Capture behaviors
—   Did the user leave a control
4.Exposes properties
—   Collect field values
  — Set properties


Physical Renderer

A physical renderer is a java script file that siebel open UI uses to build the user interface.

1.Simply builds the UI

2.—Implementation to plug in a third party UI control

3.—The same list of records can be shown as
—A list apple
—A carousel


Siebel Open UI

Open UI is by far the most awaited feature of Siebel 8.1.1.9. Open UI is all about providing a New Standards Based Open Client supporting a multitude of clients and devices. I describe the available features in brief.



Siebel Open UI : (Browser Independent)
       Transforms Siebel deployments into a truly “Open” Platform supporting all browsers not  just IE . It can display data in Web browsers that support Web standards on various  operating systems, such as Windows, Mac OS, or Linux. For example: Internet Explorer,  Google Chrome, Mozilla Firefox, Apple Safari
Siebel Open UI : (Platform/Device Independent)
     Smart, efficient, with a modern look and feel for Desktop Browsers on any hardware platform
         Mobile Browsers on any tablet or smart phone

Siebel Reporting Architecture with BI Publisher

There are two modes in which Siebel application access BI Publisher engine to generate reports – Connected Mode and Disconnected Mode
This is a only diffrence in terms of the way BI Publiser is integrated technically and how the reports are generated inside the siebel application. so from the end user point of view there is no difference when they  request to run the report.

1. Connected Mode
  • Used by Siebel Web Client to communicate with standalone BI Publisher server.
  • XMLP Report Server component is configured on the Siebel server.
    • It retrieves the report data from Siebel database through Integration Objects.
    • It invokes the Reporting Service/Engine at BI Publisher server through Web Services and also transfers the data to be displayed in reports. Reporting engine prepares the final report and sends it back to the XMLP Report Server component.
    • It saves the received report in Siebel File System and also passes it back to the user.

2. Disconnected Mode
  • Used by Siebel Mobile/Dedicated Web Client.
  • BIP Reporting Engine is implemented in Siebel.exe file itself via embedded libraries.
    • This leads to limited functionality. For example, scheduling of reports is not supported.
    • This also leads slightly less performance.
    • It retrieves the data and generate/display the final report.

Siebel - BIP Reports

BI Publisher is a template-based publishing engine developed by Oracle. It allows customers to rapidly develop or modify reports templates. Siebel application uses Oracle BI Publisher report engine to generate Siebel reports.
It is based on industry standard technologies such as XML and Web Services. It utilizes familiar software (Microsoft Word) as a development tool. It supports various report viewer applications such as Adobe Reader, MS Word and MS Excel.
Oracle earlier had XML Publisher (acronym – XMLP) tool to work with reports. BI Publisher is an extension to this tool. This is the reason why you may see ‘XMLP’ at various places – files, folders, web-services etc.

Certain properties of Siebel/BIP report are as follow:
  • Reports are assigned to specific views. Users, with access to these views only, would be able to use mapped reports.
  • Reports are not available globally.
  • Reports can be generated in two modes – Real Time and Scheduled.
  • Reports are saved on Siebel File System. Thus, once generated  reports can be accessed later on.

Advantage of BIP over Actuate

Actuate (Developer)                                                       BI Publisher (End User)
1. Uses COM to talk to siebel. This                                  1. Uses web services. This mean
    means report object in a tool,                                          Integration objects, SOAP
   .ROL files and siebel.bas                                                       messages and XML

2.Generate report object library                                    2. Generate XML data

3. Create report in actuate                                                3. Create report layout template
                                                                                                           in a word
4. Compile report                                                                  4. Don't need to compile report

5. Deploy report executable                                             5. upload template

6. Associate report with view                                           6. Associate with view, no restart
     and deploy SRF                                                                      of server