Showing posts with label Infographic. Show all posts
Showing posts with label Infographic. Show all posts

October 24, 2015

Links Demystified

I feel no shame in admitting that it took me years to fully understand the extensibility of Siebel links. I hope after reading this post you will start appreciating the Siebel even more as I did.

Let's look at the simpler links first.

1:M links
These links creates simple parent child relationship. One parent can have many children. And children records have parent id (foreign key field).


Order Entry - Orders : Order Entry - Line Items link

Order Entry - Orders and Order Entry - Line Items is perfect example. Source Field is "Id" of "Order Entry - Orders" BC and destination field is "Order Id"  of Order Entry - Line Items. Whenever system creates a line item under an order record, Siebel populates order id on order item record with ROW_ID of Order to create relationship.



M:M links
These are also comparatively simple links. Two entities (table) are related to each other using an intersection table. Intersection table helps to associate one child to other parents as well.

Account Contact link using S_PARTY_PER


For example Account and Contact link. This link allows to associate one contact to multiple accounts. In addition to the inter table Siebel stores id of primary record ( primary id field) to improve performance.

Now let's look at the interesting bits.

M:M links with source id field specified.

In standard M:M links these fields are blank and inter table stores the ID of both parent and child records. When parent id field is also specified with inter table Siebel uses field value instead of ROW_ID of parent to create intersection record.These types of links are not very common but are possible.

For Example:
M:M link with Source Field specified





Lets consider Action/FINCORP Account link, this link has Source Field specified as Primary Contact Id which means when child records are created using this link Siebel will populate Contact Id into Inter Parent Column instead of Action Id.

M:M link with both inter table and source and destination field specified.
Things now gets more interesting when both source and destination fields are specified and inter table is also specified.This way Siebel uses fields specified on the links instead of Id to create association.

Link with both Source Field and Destination Field along with inter table.
The link shown above specifies Campain Id and Destiation Field as Contact Id, thus while creating record in inter table Siebel will use Campaign Id fields instead of Id and Same applies for destination field. Interesting isn’t it???



Finally links which are overridden by MVL's
If you are following it correctly then you might think all these complicated links should be able to satisfy all possible scenarios. Just then Siebel steps up the game with multi value links. On these MVL's definition Siebel allows to override the parent id being used on the link.

So with help of primary id field override, potentially in action to contact mvl instead listing all the contacts of selected activity, Siebel can show all the contacts of parent account selected on activity. :) This over riding is allowed both on 1:M link and M:M link.


Cheat sheet for your desk:





If you have understood all of the above then I would recommend you to explore how links are used for access control and visibility of detail bus comps.

Hope it helps.

September 19, 2015

Siebel PropertySet Demistyfied [Infogrpahic]

This is my first post in response to analysis of Google Analytics search reports. In this series I will look at search terms searched by Siebel developers on Google and try to answer them with infographics.

Recently someone landed on How to Siebel? by searching keywords on Google: "Difference between GetValue() and GetProperty()"

There is ample information available on property set methods in bookshelf. Here is my answer using infograph.
Siebel Property Set Methods


GetValue() method returns the value of the property set, in example above  output will be : "My Value"

GetProperty() method returns the value of the specific property, in above example GetProperty("Weight") will return "1500"

If you looking for advanced property set concepts and traversing methods, then I will recommend going through How to traverse property set @ SiebelUnleashed

To receive more articles like this please subscribe via email by submitting form below.

June 27, 2015

How to build Siebel Workflow Expression?

I remember my days when i started with Siebel, I just couldn't get the syntax of workflow expression correct. I still see newbies of siebel struggling to get it right the first time. In this post I would try to make the basic rules of workflow expressions as simple as possible.

Basic Rules of Siebel Workflow Expression are :

  1. Siebel Workflow takes String as input.
  2. + (plus) is the concatenation operator.
  3.  Process properties can be referred using & operator like this > [&Object Id] 
  4.  Don't worry about spaces in process property names, they are allowed.

Let's take an simple example where we want to build the expression to search for records with Contact Id specified in Object Id the search spec would be:



if Object id contains : 1-12345 then expression will be evaluated as :


Did I say its a H.U.G ?

See what is the difference between Expression Business Component and Filter Business Component


Hope it helps. If you know similar topic and want to share with Siebel community, please post it in comments below. I will post it as blog post.