Recently, one of my friend asked me a very interesting question, which he has faced in one of the technical interview. Actually that question has two parts :
a) What is the difference between Apply & Activate?
b) What exactly happens in the background when you click on Activate button?
So, here the answer goes :
a) Once you have made changes in the database logical schema i.e. added column/index under Siebel Tools -> Table Object, you need to apply those changes in the physical schema as well. So when we click on "Apply" button, system actually connects to the database and synchronize the logical schema with the physical database for that particular table.
b) Once you click on "Activate" button, system actually goes and update the Application Version table of Siebel i.e. S_APP_VER, and let the Siebel Server know that some modification has been done in DB Schema that needs to be taken care for any future EIM activity or any future DBXtract task. So what happens is whenever such task run on the Siebel Server, since DB schema version has been changed by "Activate" button, system updates the diccache.dat file. In my opinion, this doesn't make any sense if we do "Activate" against local database (Please correct me if I am wrong)
To verify this, follow the steps :
So, here the answer goes :
a) Once you have made changes in the database logical schema i.e. added column/index under Siebel Tools -> Table Object, you need to apply those changes in the physical schema as well. So when we click on "Apply" button, system actually connects to the database and synchronize the logical schema with the physical database for that particular table.
b) Once you click on "Activate" button, system actually goes and update the Application Version table of Siebel i.e. S_APP_VER, and let the Siebel Server know that some modification has been done in DB Schema that needs to be taken care for any future EIM activity or any future DBXtract task. So what happens is whenever such task run on the Siebel Server, since DB schema version has been changed by "Activate" button, system updates the diccache.dat file. In my opinion, this doesn't make any sense if we do "Activate" against local database (Please correct me if I am wrong)
To verify this, follow the steps :
1. Run the below SQL in DBISQLC.exe against Local Database.
select last_upd, CUSTOM_SCHEMA_VER, from siebel.S_APP_VER
2. Go to Siebel Tools and click on "Activate" button for any table.
3. Run the above mentioned SQL query again and see the difference in the values.
Hope this helps.
.
Hai Gaurav
ReplyDeletei want to know that tables have columns in that what is the purpose of alias property of the field.please tell me
Good Question !!
ReplyDeleteI don't think I have ever used this, but I found that Siebel doesn't use this property anymore. I can think of a scenario when we create Join in Bus Comp, then whatever the alias has been provided, that we use while creating join fields. But this is not the case with Column's alias.
If you can think of some better reason, your comments are welcome !!
No gaurav. Interviewers could nt give much time for answers but exact answers at the same time i told like this he said to me so you are not aware of it, how the interviewers ruling the devolopers. i have some more questions regarding this please tell me if you have better answers . thank you for ur updation....
ReplyDeletethank you gaurav, I recently attending for several interviews but they need very efficent persons who are well in siebel escript and workflows so iam waiting for better solutions and few more posts for regarding workflow and siebel escript thank you very much gaurav
ReplyDelete