May 25, 2016

Guide to resolve Generic SSA NOTOK error message. SBL-DAT-00472

SBL-DAT-00472: Generic SSA NOTOK error message.

SSA NOTOK Error in Siebel

This error occurs in Siebel when there is some fundamental configuration mistake, like syntax errors or missing workflows or incorrect joins are configured. This error can be very difficult to fix, as it leaves very thin trace behind and there is no indication to start with. When I faced this error I narrowed it down by going through the most common reasons of this error and started to rule them out one by one.

Following is the list which I followed from various support web articles.


1. Deleted Workflows

Runtime events that are created automatically by workflow deployment have row id of workflow specified on them, and if that workflow does not exist in system then run time event can throw this error. To debug this turn on the personalisation logs and narrow down which runtime event is causing the trouble.

2. Explicit Joins on 1:1 tables

Someone has created explicit join based on 1:1 extention table and name of the join is same as the table name. For example table S_SRV_REQ1_FNX is extension table of S_SRV_REQ, so one should not create join in Service request BC with table S_SRV_REQ1_FNX to avoid getting this error.

3. Calculated Fields

This is the most common cause of this error. Any syntax mistake in calculation or calculation which compares a two different data types can result into SSA NOTOK Error.
For example following calculation will cause this error :
IIf ([Status] = 1, 10, 0)
This because the status field is DTYPE_TEXT and it is compared to integer value.

In my case I had a field in BC with syntactically incorrect calculation. Which was easy to find as it popped up as first thing in BC validation.


4. BC field Validations

This is another place where calculated fields can be referred and could cause this error. This might not error out every time as calculation might not be evaluated in all conditions. So do check field level validations as well when trying to fix this issue.

5. Run-time events or DVMs

Another place I would look for would be RTE and DVMs as they also use Siebel query language to identify records and validate things and any syntax goof up can cause this error to popup.

Another place you might get this error is while generating sample XML for BIP reports, this happens because application is not able to find the folder location specified in component parameter for XMLPReportDataDir .



Please feel free to share and discuss your experiences with this error in comments below.

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.