If you have read last few posts of Siebel Unleashed then you must have read the post about Incremental compile and SRF File and if you have gone through the comments for that post then you must know that there is a debate going on about how SRF file internally stores object definition.
I was not satisfied by the explanation given by Vertex and also Siebel heavy weights (You know who I am talking about right??) had not expressed any thoughts on the topic I decided to dig deeper into this matter by myself. (You guessed it right, I am talking about Alex and Jason)
After a lot of searching on web I came across a posting on ITToolbox which opened a new area for me to explore. After reading a post by Hui Ye, I came to know that SRF is actually not a binary file, it is an OLE Structured Storage File and it is possible to see what is inside that file using a Structured storage viewer. I wasted no time in downloading the viewer and see what inside the SRF file and here is what I found out.
I opened a vanilla SRF file that comes with call center module
and below what I saw
It listed all the entities that are suppose to be part of a SRF file and after expanding each entity I could see a lot of child entities
And each entity had some binary information associated it.
Count of each child entity was similar to the count in Siebel Tools. For example viewer showed me count as 27 for Application Object Entity
and when I verified in Siebel Tools the count was 28.
In tools we had created a new Application record hence this was not present in vanilla SRF file.
I then did an incremental compile test to see what exactly is happening.
Initial size of vanilla SRF file was 29 MB and Count for Business Component entity was 4368
I did an incremental compile of Account BC on this SRF and size of SRF increased to 31 MB But the Business Component entity count in view still was same at 4638.
After repeating this exercise and observing closely I noticed when I did an Incremental compile total object count of SRF file increased. Initially it was 39372 but after incremental compile it increased to 39374.
It means two objects were added to SRF file but not to Business Component entity but somewhere else and still more tests revealed that a new object Last Incr. Compile
was being added and the end of SRF file but I was not able to find the other object.
Each incremental compile of a new object increased the count by one. For example after compile Account business component and Action business component the count increased to 39375
but if you compiled the Account object again the count didn’t increase. I am still trying to find out where these object definitions are being added and what else we can do with this information, will update once I find more.
Please do share if you find something more using information provided above.


(13 votes, average: 4.77 out of 5)













Good one!
Hui Ye has done a good job in showing the path, but the level of detail here is unmatched anywhere I guess. Nice work!
Nitin Jain
Cool info, thanx!
Thanks for the hint, I admit that I’ve not been to responsive in way of comments (various reasons, workload among them) but I would like to congratulate on your findings.
Please keep on researching, it helps the community understand the intricate patterns of the Siebel garment.
Content-wise I can confirm the behaviour of the incremental compile and it makes a full compile even more necessary before you migrate the configurations to test/prod environments.
have a nice day
@lex
Hi Neel,
There is a dark side about incremental compiles, that can affect us all.
In 7.8 and possibly other versions, when you disable a field user property, this does not take effect until you do a full compile. Imagine working on a defect, and you’ve disabled a property, but after doing an incremental compile, the issue appears to persist, you could be chasing your tail for days looking for other solutions and work arounds.
This may only be an issue when de-activating an object, but its important to ask.
What are the objects that dont get incrementally compiled? Hopefully we can see more light in this area in your forums.
Thanks for the interesting article.
Hi Alex,
Thanks…. I can understand your position and reason why you are not active. I am in a similar position
and hardly ever comment.
but I follow two blogs regularly Siebel Essentials and Impossible Siebel. I must congratulate you guys despite your busy schedule you guy’s take time to write and share things that you feel important and can help others.
I know a person need passion for such things otherwise you cannot sustain it for long time so kudos to your passion for sharing things and making siebel easier.
Cheers to Siebel community and let’s keep this going
Really nice article. Very informative.
@ Jason,
Didn’t know that about the incremental compile. Thanks for that info.
This is a very good post…. i was not aware of this. Neel i have tried with the suggestion and explaination u have given. And i also observed the same. After incremental SRF the total objects increased the value of 2. but what i found is 1 object addes as u mentioned as Last Incr. Compile. And another 1 object added in the Business Component(as i tried to inactivate the on BC field and done incremental compile) so these two places new objects are added.
And tried the same with another BC and experienced the same.
My observations are…
1. when u do incremental compile first time(i.e. irrespective of objects) it will add one object “Last Incr. Compile”
2. When we compile any changes to the objects and do the incremental compile first time..it will add the count to that object of that type.(i.e. if we compile changes to BC first time..it will increase the BC count by 1). But when do the changes to the same objects again and again and do the incremental compile of same objects..it will not increase the object count..just modify/change the defination of the object, which created while we did first time compile.
I hope i am not going out of track..
Cheers,
Jimit
Nice one neel.
Hey cool info. Can this tool also be used to identify custom objects. Do you know of a tool whic reads the siebel repository and identifies the custom objects created.
Any help is greatly appretiated!
thanks,
Ryo
I’M GONNA KILL MY TRAINER….
At first look I thought this is a SPAM comment but there was no URL attached with the comment so I assumed that somebody has been misinformed in the training
Care to elaborate more what happened in your training ???