Tuesday, 31 January 2017

Aspect User Property

We came across the requirement where we have to default field value depend on the view.

Basically we have to default Service Request Type to Internal if service request is raised from employee service request view and if service request is raised from Account Service request view then default service type to External.

We observed that in both the views same applet is being used. Here we came up with approach to use aspect user property instead of scripting/BC cloning.

Approach is as below:

1) Add applet user property as below:



Applet User Property:
Name: View Apsect:Account Service Request List View(eService)
Value: SRType_E

Here depending on view name we have specified the value.

2) Search for Service Request Type field and add Field user property as below:


Field User Property
Name: Aspect Default Value:SRType_E
Value: Lookup(“SR_AREA”,”External”)
Here we are referring SRType_E from Applet user property.

In BC user property depending upon the value whether SRType_E or SRType_I field will get default value either External or Internal respectively.

By using aspect user property we can control BC functionality, instead of going for scripting or cloning the BC.


Friday, 13 January 2017

After upgrade Binocular search drilldown is not visible

After upgrade we found that, drilldown links are not visible for binocular search results.

Binocular search is major functionality in our project, for each binocular search result more than one result fields are having drilldown link but after upgrade to open ui drill down links were disable.

After further analysis we found that this is due to change in behaviour of OPEN UI.

From version 8.1.1.11, drill down from any other field is not supported except the field that was queried in Open UI. Also Open UI only provides drilldowns for the lowest sequence number result.

In our case for Asset search, you have to provide Phone number as input and in result you will find information like Account number, Activation date, Status and so on.

In above scenario drilldown is on Account Number.

Configuration is as below:

Find field
Sequence
Display in Result
Display in Entry
Drilldown View
Phone Number
1
N
Y

Account Number
2
Y
N
Test View

In above case, we have not done query on Account Number as well as Account Number is not lowest sequence.

Hence Drill down were not visible on Account Number.

To make drill down visible we just made few changes in configuration as below in Open UI:

Find field
Sequence
Display in Result
Display in Entry
Drilldown View
Phone Number
2
N
Y

Account Number
1
Y
Y
Test View

Make the sequence number of field on which you want drill down to lowest number, in above scenario made Account Number sequence to 1.

Also Add field on which you want drill down in query field i.e. in above made Display in Entry for Account Number to Y.

By just doing above two small changes your drill down for search field will be back J


Please refer Oracle Doc ID 1610626.1 for more information.

Product Names appended with Row Id


With respect to Products in Siebel, sometimes, you might have encountered with a situation where product name will be appended with ROW_ID of the product.

Here we will discuss on Issue, Reason, and Possible Solution for this Problem


One basic thing everyone has to remember about products is, they come in to exists only once the products are released, which means only when a versioned object reference of that product are created.


Scenarios of Observation:

 You might have observed this issue in different situations like
  • During Products addition in Workspace
  • When products are imported in Target System


Possible reasons:

1. This happens generally when OBJECT_NUM reference of VOD table doesn't match with that of ROW_ID of S_PROD_INT

Initially OBJECT_NUM value will be set to that of ROW_ID of S_PROD_INT.
These values are preserved and referenced/used in many other tables.
Now, lets see why the values are changed with following Example

Consider following are the details of a Product in two different environments


Product Name
ROW_ID
CFG_MODEL_ID
OBJECT_NUM
VOD_NAME
Env1
Test
1-1A
1-1A
1-1A
Test
Env2
Test
1-1B
1-1B
1-1B
Test


Now, when you import the product Export from Env1 to Env2, This might either fail or if it gets success a new record will be created in New Environment. And final structure looks like this


Product Name
ROW_ID
CFG_MODEL_ID
OBJECT_NUM
VOD_NAME
Env1
Test
1-1A
1-1A
1-1A
Test
Env2
Test
1-1B
1-1B
1-1B
Test
Env2
Test {1-1A}
1-1A
1-1A
1-1A
Test {1-1A}


Where an Extra record is created in Target Environment Env2.

Remember, CFG_MODEL_ID stores the versioned object Identifier

Scenarios you might encounter when Duplicate products Exists

  • During Customization, we might get an error saying object Identifier not found
  • Product Name appended with RowId
  • Duplicate Class and attribute records in Target Environment

Possible Solutions

Following solutions are not tested by me but might work
  • Use Name based Import using ISS Authoring Import Export business service as suggested by Oracle
  • Rename older product NAME  in S_PROD_INT and VOD_NAME in  S_VOD and try to import

Best Practices

  • Never Create products with same name in two different Environments
  • Never Create Attributes, Classes and any other information in other environments
  • Maintain single product  master environment for configuring the products from Scratch


Wednesday, 11 January 2017

Exporting Products using ADM

Products can be Migrated from One Environment to Other using Either Workspace or through ADM

Here we will discuss on how to export products using ADM which includes little bit of usage of Workspace also.

Before exporting products from One Environment to Other Environment in either of the ways, make sure the Row_Ids and names of the products match in both the Environments. If you want to export complete structure of the products, make sure all child products, product classes and attributes have same name and row Id. Else products will be exported, but will not be imported correctly.

In order to avoid this, make sure we have one Product Master Environment.

Steps to Export products using ADM
  • Navigate to Administration Product à Workspace Projects
  • Click on New and Give any meaningful name for the project
  • Navigate to Contents view under the project and add the products which are supposed to be migrated
  • Navigate to Application Deployment Manager à Deployment Projects
  • Create a new project and check Export to File Option
  • Under Project Items, add a new record with following details
Column Name
Value
Data Type Name
Workspace Projects
Name
Any meaningful Name
Deployment Mode
Custom
Deployment Filter
[Name]='<Workspace Name>'[Full]='Y'


Note: Full=’Y’, exports full structure of the Product


  • Save the record, Validate the Filter for validating the condition
  • Click on Enable button to make the status of the project as Enabled
  • Navigate to Application Deployment Manager à Deployment Sessions
  • Create a new record and Select the Project which is created under Project Name LOV
  • Save the record
  • Once the record is saved, status code in the Session Transactions get changed to Filter Validated
  • Click on Deploy,
  • When system prompts for Export path where the file has to be exported, provide the path (it is the server path and not the local desktop path). It takes some time for the process to get completed
  • Final Status of Export is displayed in Status field of Deployment Session.

If the Status of Deployment Session is Export Completed. It means file has been successfully generated.

The file will be generated with something like following name SessionID_ProjectName

Proposal Template Fields Not Populating

After upgrade we found that proposal templates fields are not populating, which was populating before properly.

All document templates are present in server still when we generate quote agreements, documents are getting generated but without any values.

After further analysis we found that there were missing folders on doc server.

To resolve the issue, please ensure the following folder exists. If they do not, please add the folders below

On a 32-bit server, create the following folder:
C:\Windows\System32\config\systemprofile\Desktop

On a 64-bit server, create the following folder:
C:\Windows\SysWOW64\config\systemprofile\Desktop

Please find Oracle DOC ID 1500228.1 for the same




Error Opening Specified file (SBL-GEN-10103) (SBL-BPR-00131)(SBL-EXL-00151)

We are having one outbound integration to retrieve data from other system. While retrieving data through outbound web service we encounter below error.




Initially we thought we are not using any write to xml in our workflow as well as we are not trying to access filesystem still we were facing this error.

After further analysis we found that all most all EAI business services use temp folder to store business service input/output arguments (property set) as well as xml into  a *.tmp file to allow reduce process memory consumption.

The "TEMP" folder must be always present (exist) under Siebel Application Server /siebservr directory. If it is missing the C++ code of the standard Business Service will fail to create a .tmp file

In our case folder was present but there is no free space in folder. Issue was resolved just by cleaning the temp folder.

If you encounter above error please do below check:

1)   Whether folder present under siebservr directory. If not create the "TEMP" sub-folder under the the Siebel Application Server ("siebsrvr") directory.

2)   Check whether TEMP directory is not full.

3)   Siebel server service user has appropriate and correct permission to the directory

NOTE: The same error will come for Siebel Dedicated / Remote Web Client as well.

Sunday, 8 January 2017

Siebel Product Administration --> Products with Components

Siebel Products with components are the products holding sub products. You can say it as a product holding a group of similar products.

E.g., A Telecom Service/Broadband Service provider can group all bandwidths of a Broadband Connection together.


 Product structure may look like this 
Here the parent product is “Fibre to Home” and child products are “Fibre to Home -256kbps”, “Fibre to Home -512kbps”, etc. The orange colour line which is relating to parent and child products is termed as “Relation”or “Port” in Siebel. 

To Configure the products with parent and Child relationship we should follow the  below steps

1. Configure the Child Products (this can be products with attributes or products without attributes)
2. While Configuring Parent Product, first create a relation under Structure and then add the child products.

When User tries to customize the parent Products, then these child products are visible if they are added in UI.

Details of how to create all type of products and their configuration will be published in next posts


Saturday, 7 January 2017

Clib function not supported after Siebel upgrade

After Siebel upgrade to 8.1.1.11 we found that Clib function is not working in our existing script. We were getting an error “Cannot access file system file”.

From Siebel Version 8.1.1.11, below Clib functions are by default disabled to make application more secured.

Clib.fopen()
Clib.rename()
Clib.remove()
Clib.mkdir()
Clib.rmdir()
Clib.system()

As a result we cannot read files from filesystem using above function.

You might end up with below error:
Access Denied: Cannot access file system file or shell

To avoid above error add/modify below system preference in Application.

Navigate to Administration - Application screen > System Preferences view

System Preference Name: Allow File System Access
Value: True


NOTE: Even with the System Preference these methods cannot be enabled in run-time Business Services (Client side Business Service) but will only function for Siebel Server Side Business Service, compiled in Siebel Tools.