Scripting VS Vanilla business service

 I was surfing net trying to find out new things that I can share with you when I came across this post in geeksbloggingat.com (another good Siebel blog).

 I found the idea nice but I saw a flaw in implementation of that idea.I was not sure what I felt was right or wrong so as usual decided to put in front of you guys, so that you can verify whether my observation was correct or not.

This post talks about using SIA BC Utility Service BS (only available for SIA applications) to loop through multiple records in a workflow , which is quite valuable information and worth sharing but I didn’t find the example as useful as the idea of using this business service.

The workflow in the example is designed as shown below

SIABSWorkflow

  • In the first step it uses SIA BC Utility Service BS to query a BC and as an output gets total number of records returned and also it gets the Row Id of record as an output.
  • In second step it check a process property to see if any record is returned or not and if a record is returned then it moves to third step.
  • Third step calls a Custom Business Service and passes the row id as input argument to perform some validation and set line item status.

This particular step (Set Line Item Status) caused my alarm bells to ring because, it means that Custom Business Service will take Row Id as input argument and pretty obviously it will query again on the BC using that Row Id and then do whatever it is suppose to do.

I think if there is no way to avoid custom business service then I don’t see a need to have two additional steps in workflow and increase unnecessary overhead. According to me a better solution will be to call the Custom Business Service directly and perform the initial query also in custom business service and save an extra query on BC (performed by vanilla SIA BC Utility Service).

Using SIA BC Utility Service BS would make sense if we could some how avoid this custom BS call and do our validation and set field value in workflow only. If we cannot avoid custom script then I don’t think there is any need to complicate things.

But I would like to get your input from you guys also, so I am putting this question out there to experts:

Do you concur with me that putting extra 4-5 lines of script (Querying and looping) will not have that much of an impact and might actually have less overhead.
or
Do you think otherwise and believe that approach mentioned in example is the right way to go?

What do you think ?

    It makes sense to remove additional steps and do everything in Custom Script. (63%, 30 Votes)
    The example is perfect and this is the way it should. (27%, 13 Votes)
    I don't know what you are talking about. (10%, 5 Votes)

Total Voters: 48

Loading ... Loading ...

Waiting for your responses and replies.

19 Responses to Scripting VS Vanilla business service

  1. I am a minimalist and I would not like to make things more complex than they already are. So, I would certainly go with what you are suggesting.

  2. I am a minimalist and I would not like to make things more complex than they already are. So, I would certainly go with what you are suggesting.

  3. Hi,

    In siebel 8.0 and above , Using Siebel Opeation step, we can Query Parent and then we need to Query the child record based on the search specification, and by Using Siebel Operation step, We can loop through child records and perform the required operation.

    I think this is the best approach, Let me know your view also.

    Thanks
    Piyush

  4. Hi,

    In siebel 8.0 and above , Using Siebel Opeation step, we can Query Parent and then we need to Query the child record based on the search specification, and by Using Siebel Operation step, We can loop through child records and perform the required operation.

    I think this is the best approach, Let me know your view also.

    Thanks
    Piyush

  5. Hi,

    This example is perfect as its output provides an important things which is my assumption i have not checked it though:-

    1) Row Id :- that means it’s query will be like select row_id from table_name which would be totally different from the query which will generate when query from script in custom Business Service i.e select column_name…n times from table_name. Also this query will run number of times the loop iterates….so now you can decide which one is better.

    Please correct me if i am wrong.

    Thanks
    Rahul

  6. Hi,

    This example is perfect as its output provides an important things which is my assumption i have not checked it though:-

    1) Row Id :- that means it’s query will be like select row_id from table_name which would be totally different from the query which will generate when query from script in custom Business Service i.e select column_name…n times from table_name. Also this query will run number of times the loop iterates….so now you can decide which one is better.

    Please correct me if i am wrong.

    Thanks
    Rahul

  7. Hi,

    Thanks for the critique’.
    We agree that the example that the author had chosen could be improved, to bring about better essence of the topic he was discussing.

    We have now updated the article, with a better example. Nevertheless, since it is a very important undocumented Siebel Functionality, the article still retains its essence.

    We appreciate your comments. “When we talk, things happen!!” 🙂

    Team GeeksBlogging@dotCOM

  8. Hi,

    Thanks for the critique’.
    We agree that the example that the author had chosen could be improved, to bring about better essence of the topic he was discussing.

    We have now updated the article, with a better example. Nevertheless, since it is a very important undocumented Siebel Functionality, the article still retains its essence.

    We appreciate your comments. “When we talk, things happen!!” 🙂

    Team GeeksBlogging@dotCOM

  9. This is not a critique… this is a discussion.

    If this would have been critisism then I would have given my verdict.. not asked for everbody’s opinion…

    The example is good… but it can be better and that’s is just I want to confirm from everybody

  10. This is not a critique… this is a discussion.

    If this would have been critisism then I would have given my verdict.. not asked for everbody’s opinion…

    The example is good… but it can be better and that’s is just I want to confirm from everybody

  11. Critique’ does not equal “Criticism”.. 🙂

    It is about balanced analysis, and pointing out flaws!!
    I hope all of us now concur. In any case, it brought out the best in us, I guess!

    Nitin

  12. Critique’ does not equal “Criticism”.. 🙂

    It is about balanced analysis, and pointing out flaws!!
    I hope all of us now concur. In any case, it brought out the best in us, I guess!

    Nitin

  13. Hi,

    What i feel is example might be improper, but it explains the usage of undocumented BS functionality. This would be helpful if you don’t need to set any field value, only browse through records or validate data. We found this BS use full as we need to loop the service request own by particular person and get the require data. After the query this BS you will get the Row_id and using following Echo step you will get the rest of the require fields and you can validate according to your business requirement.

    But i still suggest not use this, as recommended by siebel, this functionality can be withdrawn any time in next higher version, that is what we got to know when we have raised the Service Request with Oracle to know more about this BS.

    Cheers,
    Jimit
    Nothing is impossible in Siebel.

  14. Hi,

    What i feel is example might be improper, but it explains the usage of undocumented BS functionality. This would be helpful if you don’t need to set any field value, only browse through records or validate data. We found this BS use full as we need to loop the service request own by particular person and get the require data. After the query this BS you will get the Row_id and using following Echo step you will get the rest of the require fields and you can validate according to your business requirement.

    But i still suggest not use this, as recommended by siebel, this functionality can be withdrawn any time in next higher version, that is what we got to know when we have raised the Service Request with Oracle to know more about this BS.

    Cheers,
    Jimit
    Nothing is impossible in Siebel.

  15. Hi Parag,

    I think Jimit has very clearly explained the answer to your question.
    I hope now you are clear what the result of the discussion.

  16. Hi Parag,

    I think Jimit has very clearly explained the answer to your question.
    I hope now you are clear what the result of the discussion.

  17. Can this BS act on any BC,i mean Primary or Child BC?

    I tried for a scenario where i am searching a Field on this BC with value = ‘a’,which is returning 10 records..and i want to get the row Id’s of each of it in a string.

    I want to avoid scripting,and want to know if this BS can help in achieving this requirement.

    Whatever example till now i have seen works on CHild BC,so would like to know on the same.

    THanks
    Learner

Leave a Reply

Contribute