April 29, 2016

7 Siebel Tools hacks every developer should know!

These are my favorite Siebel Tools tricks that I use day in day out. I thought of sharing this before good old Siebel tools is made completely obsolete by new "Siebel Composer". Would be good to compare this with composer features in future when it is fully developed and available.

Repository search

This is Siebel tools inbuilt search feature. It can be used to find all objects with specific keyword in entire repository. I use it to find the use of profile attributes in scripts or in calculated fields, search spec etc... Pretty neat.
To start search go to Tools> Search Repository
Enter keyword and click Search Now


It's not super fast but it's best way to be sure.

Alternative of genbscript.exe

I still meet few developers who run genbscript every time after compiling srf. There is much easier way to generate browser scripts available.

Scripting options

As shown above, one can configure tools to update browser scripts automatically after every compile.

Add multiple objects to one sif file. 

There is no need to create separate sif file for each object. After adding one object just leave the archive window aside and go to object explorer to pick another object and add to save archive.


Siebel sif files.

Create list of values from tools

Yes, One can create list of values from Siebel Tools. For this menu to appear your login needs to have Siebel administrator responsibility. I love this interface, it is so much better than Siebel client.


Compare objects 

Siebel Tools provide unique way of comparing objects, its not limited to comparing objects with a sif file. Once can compare two similar objects like two business components or applets in same repository or a different repository.

Compare objects in Siebel Tools

Copy items from one object to other

This is one of the neat hidden feature of Siebel tools. While comparing two objects one can use this feature to copy some objects from one object to other.

Button to copy items from one object to other
 As shown on press of button one can copy fields from one BC to other.

Bookmarks!

This is one of my favorite hack. I bookmark all the objects of projects that I am working on, it makes really easy to navigate back an forth without typing.

To bookmark any object list just open the bookmark pane and click the plus sign. And double click on the list to find the objects again, no typing required!

Siebel Tools Bookmark icons
Siebel Tools Bookmarks in Action
Shown above is my current bookmark list. I have bookmarked Order BCs(thin and thick :)), Quote BCs, and custom business services.

Some bonus keyboard shortcuts :


F7 to compile all objects
Cntrl + F7 compile single object
Alt + H + R about record
F5 starting Siebel dedicated client
Shift + F5 restarting Siebel dedicated client



March 27, 2016

Scenario based Interview Questions - Part 3

This is the third post in series of Scenario based Interview Questions . I would highly recommend you to read the first two parts of this series.

 Scenario based interview questions Config - Part 1
Scenario based interview questions Workflows - Part 2

If you like the questions and would like to see more like this, then please +1 this post on google.




Interview with Yvette Francino

Recently I came across a very talented IT Manager Yvette Francino, unlike any another project manager blogging is one of her passions. She has worked as manager for Siebel Projects and have been working in Agile from a quite a long time, she has spent time in coaching teams for Agile. I took opportunity for asking hers some questions regarding Agile and she kindly shared some very useful resources which can help new team members to get started with Agile.

Here is the interview.

Question : Please shed some light on your experience with Siebel. Were you a Siebel developer?

Yvette: I was a development manager at Sun Microsystems from 1999-2009. For a short time around 2000, I managed a team that was using Siebel. I took the training, but didn't have much more hands-on experience than that.

Question : As almost every Siebel project suffers from scope creeps and effort overruns due to un-planned tech issues. Do you feel Agile is not suited for Siebel Projects?

Yvette: Projects that typically suffer from scope creep are the ones that are best suited for Agile methodologies. The more you don't know up front (which is true of most software projects), the better suited an empirical model, such as Agile, is because it allows you to let your requirements evolve and become refined over time as you learn more.


Question: What are the most important things without which you will never run an Agile project?

Yvette: Agile training for everyone, including management, is important, so that everyone has a common understanding of the processes they are using. Retrospectives, in which the teams regularly assess what worked well, what could be better, and what they want to do differently in the next iteration are also important so the team continually improves.


Question: How to plan for project with relatively un-known area of development? Do you recommend any special technique?

Yvette: Again, the more unknowns there are, the better it is to use an Agile methodology so that learning more is part of the process. There are techniques called "spikes" that allow development teams to do "time-boxed stories" to allow them to learn more about the unknown area.  They could do a small proof of concept or prototype, for example, to discover more and reduce the level of uncertainty.

Question : After so much experience do you feel Agile is actually more expensive than SDLC methodologies?

Yvette:  It depends on a lot of things. It can be expensive to change all your tooling and processes, so if the organization is heavily invested in traditional methodologies, it can be quite expensive to change. On the other hand, studies show that Agile projects are more successful than traditional Waterfall projects, and, obviously, unsuccessful projects are very costly.

Question: Please share a conflicting situation you had on project and how did you gone about resolving it.

Well, in the Agile world, one common conflict might be disagreement about how long it might take to code something (or how many "story points" a user story is). One way to resolve this is to maybe have a "spike" story (as described above), or to make the story smaller so there are less unknowns.  (A "story" is a small unit of working code or what might thought of is a "requirement" that results in working code.)


Do you have any or recommend cheat sheet/mantra for Agile projects for newbies?

Yvette: There are so many Websites and classes available that it's hard to recommend one. Scrum is the most common methodology by far, and the Scrum Guide is available for free. I also think Mike Cohn is a great teacher and there are online courses available from his site, Front Row Agile. You might also check The Agile Alliance for resources. It would be good, though, if teams were learning from the same courses or resources, though, since there can be quite a bit of variation in opinions, terminology, and Agile methodologies.

I would recommend all Agile newbies to download the scrum guide and refer Agile Alliance to get your head around the buzz words of Agile.
Thanks Yvette for your time!!

March 24, 2016

How to shutdown Siebel server in < 5 seconds?

Getting late for lunch date with girlfriend and damn Siebel server won't stop. Ever been in such situation??

Well I have been. This is my actual story, don't worry I am not going tell stories about my partner, it's about our favorite Siebel server which sometimes won't come down for good 10 or more minutes, don't expect anything for starting up.

Before I tell you the trick how I made it to my date on time, let me warn you about the repercussions. It's highly dangerous way of shutting down the siebel server, don't try this in important environments, use it only if you have no regards for your employer. And be aware that this could corrupt your installation or cause data corruption.  But hey! do partners care? if you kept them waiting, you will have to face the music for entire year or more.

For the siebel people in love, this is what you have to do to get to your date on time:
  1. Open command prompt on Siebel server host(I have tried this windows host only).Get the process id (PID) of Siebel server by running this query:

    sc queryex siebelservicename
  2. And then run following queries in exact sequence by replacing PID found in output of above statement :
    taskkill /f /pid 10116
    taskkill /im siebmtshmw.exe /f
    taskkill /im siebmtsh.exe /f
    taskkill /im siebsess.exe /f
    taskkill /im siebprocmw.exe /f
    taskkill /im siebproc.exe /f
Voila ! Siebel server is down . If you are successful you will see memory getting free faster than ever, srf will  be available for update and you can start the Siebel server the way you like.
Siebel Server memory consumption
And will see output like:

Shutdown Siebel server by command line

If you like this post and would like to see more like this, then please plus one this blog.

March 22, 2016

How to use Siebel Product Configurator API in Workflow?

What is Product Configurator API? 
Siebel product configurator API is bunch of Siebel business services and methods which allows to add order item under a root customizable product which complies with rules and validations defined in product model.

It is much more cryptic and complex if one starts with the bookshelf.

@renjith shared this beautiful document on slack community.This example explains how we can invoke Siebel Configurator API in correct sequence to add line items in an order.
Product Configurator API in Workflow
In this example, workflow first creates new order and a order line item for root customizable product using Siebel Operation Step. And then it invokes Remote Complex Object Instance service(API) methods to add line item under the root customisable product.

Product Model used for demo :
Siebel Product Model
 Business Service executed in sequence are:

  1. ISS Copy Service :: Load EAI
  2. Remote Complex Object Instance :: LoadInstance
  3. Remote Complex Object Instance :: CreateSession
  4. Remote Complex Object Instance :: SyncInstance
  5. Remote Complex Object Instance :: UnloadInstance

Level of simplicity and details shown in the document is just awesome. Hats off to @renjith!!

Download the document from here. If document has been helpful, then please plus one this post to let @renjith know.

If you have similar articles and would like to share with all viewers then please let me now in comments below. I will be more than happy to share.