Saturday, 2 September 2017

How to Import CSV data in Siebel

Import CSV data in Siebel as following:-
To add data from menu item
Popup applet should browse for csv file
Popup Applet will pass csv file path to business service. Which will call the workflow
to Create IO. Workflow will call read csv BS and then insert data using EAI siebel adapter business service

1.Create popup applet of class CSSWEFRImpExp.
Create Applet method menu item on applet where import option should be available
Command : Import
Menu Text:Import
Create new command with following properties :-
Name:Import
Method:GotoApplet
Method Argument:Name of popup applet
2.Use following applet user properties of popup applet :-
Property Name :Import business service; Value:Copy of Workflow Process Manager Business Service(ref step 3)
Property Name :Import Method ; Value: RunProcess
3.Make Copy of Workflow Process Manager Business Service
Add Business service user prop
ProcessName : Name of workflow which will make use of read csv BS
4.Create Integration Object and Integration Component Corresponding to entity being imported
5.Give appropriate user key
6.Create Workflow
7.Add start step
8.Add new step for Business service Name:Read CSV File Method:CsvToPropSet
Input Property :FileName
Output Property :SiebelMessage
Note that filepath will be transferred from popup applet to business service to workflow user property with name "FileName"
9.Add new step for Business service Name:EAI Siebel Adapter Method:Insert
Input Property:SiebelMessage
10.Add new step for end
11.Make suitable provision for error handling.

Note : CSV file should be in the following format
Line 1 : # Integration Object Name
Line 2 : # "Integration Component Name.Column Name1",Integration Component Name.Column Name2 and so on
Line 3 : data 1
Line n : data n

Now you are ready to import records in siebel from csv file that too without writing single line of script

Sunday, 23 July 2017

Automation Anywhere : How to send Auto Email

Automation Anywhere Application: The following configuration required to send Email.  The is only for knowledge purpose only.


1. Go to 
               Tools > Options


2. Go to
              File> New > Task Editor

Place the following code in Task Editor




for testing purpose we can hard code the values like:










Wednesday, 28 June 2017

Signature Capture in Siebel

Below are the steps

1.       Unzip the file iTools.cab present in the folder - e.g: C:\Siebel\15.0.0.0.0\Client\PUBLIC\enu\23048\APPLETS and extract cicink.ocx file.
2.       In the cmd prompt, run the command regsvr32 e.g: C:\Siebel\15.0.0.0.0\Client\PUBLIC\enu\23048\APPLETS\cicink.ocx
3.       We will get a message as file registered successfully
4.       Created the applets “Account Signature Capture Applet” and “Account Signature Render Applet” based on the specialized class.
5.       Created a field “Signature” of type DTYPE_CLOB in Account BC and same was mapped in the applets
6.       Modified the view “Account List View” to add the Account Signature Capture Applet and created new view “Account Signature Display View” with applet Account Signature Render Applet. This is for rendering purpose only.
7.       Add the new view to the Accounts screen. Add responsibilities to the new view in the application.
8.       Navigate to Appln-Admin - >Manifest Administration. Create new entries as below



9.      For each applet entry, the bottom applets should have below entries. (If the fields are read only, import the attached sifs for Manifest, where the Read Only properties are inactivated.)




10.   Clear browser cache and re-login. Navigate to Account List View and Signature applet is displayed.


Also Attached Objects for quick reference.   Link:



For Chrome browser : Open Chrome browser and type about://flags in place of URL. Set following value to Enabled instead of Default.
Enable display list 2D canvas  : Enabled instead of Default for chrome browser.
Restart Browser.

Friday, 30 December 2016

Create and Release Products through Siebel EAI

Siebel has provided some vanilla business services which can be used to either create or update existing products in Siebel.
  1. There is a "product Import" web service which can be readily used.This is based on the Business service "SWI Product Import".We can create a simple or complex product with this Business service.
  2. To create a simple product, we can use the business service "Siebel Simple Product".
  3. You can also use the Integration Object "Internal Simple Product Interface" with the "EAI Siebel Adapter" business service to insert products.
Apart from these 3 vanilla options, I have found creating a custom Integration Object to be very easy to create simple products in Siebel.

Steps to:
  1. create an Integration Object on the Business Object -- "Admin ISS Product Definition" and select the parent Integration Component on Business component-- "Internal Product - ISS Admin". (This is the same BO and BC on which the Administration - Product Screen>Product Definitions view is based on).
  2. "Name" is the only required field to be populated and is the one available in the Integration Component Key also.
  3. Use the "EAI Siebel Adapter" Business service -- "Insert" method to insert the record.
  4. This will create the Product record in the S_PROD_INT table and also the related version records in S_VOD and S_VOD_VER. (Without records in the version Table, we cannot use the product (or) lock (or) release it.)
  5. To "Release" the product, we can use the "ISS Authoring Import Export Service" Business service and "ReleaseSingleObject" method.
Below is an Example workflow, which takes input as the <ProductName> and then creates and releases a simple product:

  1. Create an Integration Object based on Business Object -- "Admin ISS Product Definition" and select the parent Integration Component on Business component-- "Internal Product - ISS Admin".
  2. Inactivate the Integration Component Keys, except for the one which just has the "Name" Integration Component Key Field.
  3. Inactivate the Integration Component User Properties -- "NoDelete", "NoInsert" and "NoUpdate"
  4. Add a new Integration Object user Property "AdminMode" & value = "Y" and compile.
  5. Create a Workflow Process with 2 process properties. 
    1. vName -- to pass the Product name as input
    2. vSiebelMessage -- based on the Integration Object to create the hierarchy.
  6. Add 4 Business Service steps.
  7. Step 1 is to create empty hierarchy based on the Integration Object.
    1. Business Service: "PRM ANI Utility" and Method:"Create Empty Hierarchy"
    2. Inputs:
      1.  Hierarchy Name =  <Name of Integration Object>
    3. Outputs: save the SiebelMessage in the process property
  8. Step 2 is to set Property and populate the Product name.
    1. Business Service: "PRM ANI Utility" and Method:"Set Property"
    2. Inputs:
      1. Hierarchy Path: --- IO.IC path
      2. Property Name -- <Name of the field to set>
      3. Property Value --- <Value of the property to be set>
      4. SiebelMessage -- <input the siebel message where the changes are to be made>
    3. Outputs: Save the modified SiebelMessage into a process property
  9. Step 3 is to insert the Product record.
    1. Business Service: "EAI Siebel Adapter" and Method: "Insert"
    2. Inputs: Pass the Siebel message as input
    3. Outputs: Capture the ROW_ID of the created record.
  10. Step 4 is to release the Product.
    1. Business Service: "ISS Authoring Import Export Service" and Method: "ReleaseSingleObject". This method will not be visible in the dropdown and has to be typed in literally.
    2. Inputs:
      1. RootObjectType --- ISS_PROD_DEF
      2. RootObjectId --- <ROW_ID of the product to be released>

Importing Products using EIM

Importing Products using EIM:
· When the Products are imported using EIM they are imported into the S_PROD_INT table.
· These Products will be visible only on the “Administration – Products” screen and not in the “Products” screen.
· In order to make these products visible in the “Products” screen these Products records must have an association on the S_VOD and S_VOD_VER Table.
· Products imported through EIM are not directly associated to the S_VOD and S_VOD_VER tables since there is no EIM Counterpart defined.
Some theory (Oracle Support Web)
The below query is a modified spool generated after querying on the “Products” applet on ‘Internal Products List view’.
SELECT
T1.NAME as Product
,T1.CFG_MODEL_ID
,T2.ROW_ID as 'S_VOD ROW_ID'
,T2.OBJECT_NUM
,T3.VOD_ID as 'S_ISS_OBJ_DEF VOD_ID'
,T3.PAR_VOD_ID as 'S_ISS_OBJ_DEF PAR_VOD_ID'
,T13.VOD_ID as 'S_VOD_VER VOD_ID'
,T13.RELEASED_FLG
FROM
dbo.S_PROD_INT T1
LEFT OUTER JOIN dbo.S_VOD T2 ON T1.CFG_MODEL_ID = T2.OBJECT_NUM
LEFT OUTER JOIN dbo.S_ISS_OBJ_DEF T3 ON T2.ROW_ID = T3.VOD_ID AND T3.LAST_VERS is notnull
LEFT OUTER JOIN dbo.S_VOD T4 ON T3.PAR_VOD_ID = T4.OBJECT_NUM AND T4.VOD_TYPE_CD ='ISS_CLASS_DEF'
LEFT OUTER JOIN dbo.S_VOD_VER T13 ON T2.ROW_ID = T13.VOD_ID AND T13.RELEASED_FLG = 'Y'

Result

· As you ca see in the above picture the Product ‘RG Product’ has RELEASED_FLG as NULL, this Product was created from the UI “Administration – Products” screen.
· Any Product created from the screen has to be released by that owner of the product, this can be done by clicking the “Release” button on the “Administration – Products” screen.(Usually Products information is added only by company administrators)
· Currently I am logged in as ‘SADMIN’ .You can see that the Release button is not active.



· When logged in with ‘GRYAN’ only then will the Release button be enabled.(as below)

      

· Once the Lock has been released an association is created on the S_VOD_VER table and the RELEASE_FLG is updated to ‘Y’.
Queries to check associations on the Siebel Data base:
1) Query to get all Products that are associated/ not associated to the S_VOD table.

select T1.NAME , T1.CFG_MODEL_ID, T2.OBJECT_NUM from S_PROD_INT T1
LEFT OUTER JOIN dbo.S_VOD T2 ON T1.CFG_MODEL_ID = T2.OBJECT_NUM
Result
For records that are not associated to the S_VOD table will have CFG_MODEL_ID and OBJECT_NUM asNULL
1) Query to get only those Products that are associated to the S_VOD table.

select T1.NAME , T1.CFG_MODEL_ID, T2.OBJECT_NUM from S_PROD_INT T1
LEFT OUTER JOIN dbo.S_VOD T2 ON T1.CFG_MODEL_ID = T2.OBJECT_NUM
where OBJECT_NUM is not null

After Importing Products using EIM:
· After Products are successfully imported using EIM the next step is to execute the Business Service
ISS Authoring Import Export Service”, “Post_EIM_Upgrade” Method.
· You can execute the Business service using the Administration – Business Serviceà Simulator in the Site Map.
· Enter the following Input Arguments.
· Click the Run button.
· All the Products that had a broken association or no association with the S_VOD or S_VOD_VER table will not be associated.
· You can now see that all the Imported Products will be available on the “ProductsàInternal Products” screen.
· You can execute the above SQL’s to check the association made on the S_VOD and S_VOD_VER tables


Thursday, 29 December 2016

Assignment Manager – An Overview

source from siebeloracle.com


Introduction of Assignment Manager :  Siebel Assignment Manager routes business entities and work items to the most appropriate candidates by enforcing business rules set by sales, service, and marketing organizations. Assignment Manager does this by matching candidates (that is, employees, positions, and organizations) to predefined and user-configurable assignment objects. To assign the most qualified candidate to each object, Assignment Manager applies assignment rules that you define to each candidate.
 Three major terms used in Assignment manager

  1. Assignment Objects
  2. Candidates
  3. Criteria
Assignment Objects—the data that need to be assigned. Identify the types of data being assigned, such as accounts, opportunities, and service requests. An assignment rule may be used to assign one or more assignment objects
Candidates—the people, positions or organizations that will be assigned to that data. Assignment Manager assigns data to: Employee candidates, Position candidates, Organization candidates. An assignment rule may

  • Contain a list of candidates who are assigned if the rule passes
  • Match data to candidates based on their skills
Criteria—define which data will be assigned to which candidates. There can be multiple criteria per rule. Examples of criteria:
  • Does the Position Type = Sales Person?
  • Does the candidate have a skill with the product associated with this service request?
Below figure shows the entities in Siebel that are used in Assignment Rules




To define assignment rules, we need the following:
  1. Objects to which each assignment rule applies
  2. Rule groups to which each assignment rule belongs
  3. Candidates.person (employee or position), organization, or both.for each assignment rule
  4. Criteria for each assignment rule
  5. (Optional) Values for assignment criteria 
For the Assignment rules we can also mention the below
Scores for each assignment rule, criteria, and value and a personal score for each individual candidate For example: In a sales organization, you can create an assignment rule that scores positions (candidates) based on territory definitions (criteria) for an opportunity (object).
We can also customize the way Assignment Manager makes assignments by:
1. Defining how attributes are matched by:

  • Using different comparison methods
  • Making criteria required (compulsory) or optional
  • Using inclusion and exclusion methods
  • Using workload distribution rules 
2. Defining how assignment rules are matched by using:
  • Assignment rule groups
  • Assignment rule sequencing 
3. Defining how candidates are assigned based on person and organization relationships using multitiered assignment.
4. Creating and configuring your own entities, including:

  • Assignment objects
  • Assignment criteria
  • Assignment attributes
  • Dynamic candidates and candidate teams that are assigned dynamically            depending on the object row assigned
5. Running Assignment Manager in different operating modes to process assignments:
  • Interactively in real time
  • Dynamically when object rows are created or attributes on object rows are changed by connected or mobile users for example as soon as a Service Request is created it gets assigned to a resource depending on the skills or workload etc.
  • Periodically assigning objects in batches(Manually running the batch assignment to assign objects for example Accounts )
6. Checking availability before assigning employees to objects

EIM Load Sequence

The following is the sequence while loading data through EIM in Siebel CRM

1) Administrative data – LOV’s
 2) Responsibilities
3) Views
4) Organization
5) Position
6) Employee
 7) Address
 8) Account
9) Contacts
10) And now other related entities depending on the dependency of the entity but here also we load all the parent entities or reference entities for any child or referring entity.

Create Simple Products

The following steps covers Simple product creation:

Creating a Product Record 
You enter products into the Siebel system by creating product records. The product record contains the product name and important information about the product, such as its product line name or part number.
Once a product record is created, it cannot be deleted. To prevent a product record from being displayed in pick lists and dialog boxes, edit the product record to deselect the Orderable, Sales Product, and Service Product check boxes. You can also control display of the product by setting Effective Start and Effective End dates.
You add a new product record by clicking the new button. This creates the new product without releasing it, and locks the workspace.
 To create a product record 

  • Navigate to the Administration – Product screen, then the Products view.
  • In the Products list, add a new record and complete the necessary fields.

 Associating a Product with Price Lists

 Products are not visible to customers unless they are associated with price lists that are assigned to the customers.
To associate a product with a price list

  • Navigate to the Administration – Product screen, then the Products view.
  • In the Products list, select the desired product.
  • Click the Pricing view tab.
  • In the Price Lists list, add a new record and select the desired price list.
  • Complete the remaining fields as needed.  

Setting Up User Access To a Product 

You must set up user access to allow the user to select a product for a quote or to see the product in a catalog.
The catalog administrator creates product catalogs, which contain product categories. The catalog administrator sets up access controls by assigning access groups to the catalog and to the categories.
The product administrator assigns products to catalogs and categories. You can assign a product to more than one category, and thus more than one catalog.
Until you assign a product to at least one category, the product does not display in the following places:

  • On eSales Web pages. When customers buy your products through the Web, they cannot see the product.
  • While browsing catalogs. When salespeople click the Browse Catalog button to view products in catalogs, they cannot see the product.
NOTE For products with components, you must give users access to the product with components and all its components. To accomplish this, first assign the product with components and its components to the same product category or to categories that have the same access groups. Then assign users who will configure the product to these access groups. If the users in the access groups differ across components, these users will not be able to configure the product with components correctly.
The recommended method for assigning users to access groups is to assign the users to organizations and then assign the organizations to the access groups.
To set up user access

  • Navigate to the Administration – Product screen, then the Products view.
  • In the Products list, select the desired product.
  • Click the Category view tab.
  • Add a new record to the Category list.
A dialog box appears that lists all the currently defined categories.
  • Select a category from the dialog box.
  • Add all the categories needed to give users visibility to this product.  

Releasing a Simple Product 

Though simple products do not have a Versions list, they are versioned objects. A new version was created when you created the product, and you must release this version to make the product visible to users.
To release a simple product

  • Navigate to the Administration – Product screen, then the Products view.
  • In the Products list, select the simple product.
  • Click Release.