Understanding Rule Assembly Language (RAL)

Those who have worked on Product Configurator know what I am talking about and this post is addressed to those. Still I will give just an overview of RAL so that others just don’t grope in dark.

While working on Product Configurator you have bound to work on constraints and those who have no idea what a constraint is. I would ask them to go through a two part series in which I had posted basics of Product Configurator

Getting back to constraints. They can be created by choosing the pre defined templates in rule designer or by Rule Assembly Language (RAL).

RAL offers you great flexibility to create constratints that are not possible with the help of templates. But the drawback is that there isn’t much description or help available to understand RAL. This tip will help you understand RAL in better way.

  • Go to Siebel Tools
  • Query for ISS Product Rule Manager Applet
  • Right Click the Applet and Select Edit Web Layout
  • Select Edit List from the “Mode” Drop Down
  • Now Select a Column name “Rule Spec” from Control Window as shown in picture below
  • Drag and Drop it at the place where you want it on applet.
  • Compile the Applet

You are done now. Go to Administration – Product > Product Definition > Constraints Tab and you should be able to see RAL for every constraint that you have created.

You can copy RAL for those constarints and manually modify them to create new rules.

There are lots of things that are not possible by templates that you can achieve this way. Hope this will make your life easier. I would like to thank Abhishek informing me about this. 

6 Responses to Understanding Rule Assembly Language (RAL)

  1. Hi Neel,

    This sounds interesting.Kindly explain with an example regarding the constraint that can’t be achieved using the rule desginer template and can was achieved using RAL it would be great as we would get a more clear picture..

  2. Hi Neel,

    This sounds interesting.Kindly explain with an example regarding the constraint that can’t be achieved using the rule desginer template and can was achieved using RAL it would be great as we would get a more clear picture..

  3. Just wanted to understand , isnt it easier and recommendable to create constraints on the Siebel UI.
    Correct me if this is not correct and we shoudl do this with Siebel Tools only as defined in posts

    • RAL is sometimes easier to use when you have a large number of similar rules to build.
      You typically create the RAL in Excel, copy it, say 30 times, and change each rule individually, for instance a domain value. I then import the 30 rules in Siebel. This is much faster than constructing the rule 30 times with the assistant.
      But you still use the Assistant (Advanced rule) to key the rule.side note: you don’t need to expose the field to see the RAL. If you export the rule to excel you will also see the RAL (set “columns ot export to “All”)The only case (that I’m aware of) where RAL is the only option to use is because RAL takes a lot less characters than the Assistant. Database columns size limitation sometimes forces you to use RAL. I also found that RAL could be user easier to manipulate because the assistant can look unreadable when too many arguments.I like to use Excel to build RAL, I can create small rules and concatenate them.RAL also allows you to easily change a rule. the Assistant sometimes forces you to undo a sequence of arguments before you can change the rule.But RAL is not easy to read, I never liked to see row ids instead of object names. this is another reason to use excel for me. I use explicit name and then I subsitute them with Row Ids when I concatenate the final RAL.

  4. Just wanted to understand , isnt it easier and recommendable to create constraints on the Siebel UI.
    Correct me if this is not correct and we shoudl do this with Siebel Tools only as defined in posts

  5. Hello. Nice intro to RAL. Right now we are working in some requirements where we need to work with product constraints. One of this requirement is related to avoid the user to select a product on a service order but giving the opportunity to sell it on sales order. The problem is when the product has been selled and later the client need a postsale service. The product is instantiated on the asset structure and once we load the product in the product cfg we face the rule that avoid to have the product selected on service order. With this scenario, RAL is a good option to implement the rules avoiding the behavior depicted before? Thank you.

Leave a Reply

Contribute