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.