tags:

views:

108

answers:

5

I'm trying to update the values of a BC fields using a Business Service. while executing it I get the error as follows ORA-01407: cannot update ("SIEBEL".""."MODIFICATION_NUM") to NULL.

Since the Modification NUm is a system field there is no chance that I would even touch that particulr column. Not able to unnderstand wht this error is coming. Pls HElp

A: 

If you look at the MODIFICATION_NUM it will always increase by one each time the record is saved. I believe this is how Siebel detects if another user has modified the record. You can try this: Start updating a record, but don't save it yet. Log in as a different user from a different computer or just a separate browser window and update the exact same record, and save it. Now go back to the first user and try to save the record. You'll get an error message.

Anyways, if you create a new record, set MODIFICATION_NUM to 0. If you update a record, increase MODIFICATION_NUM by 1.

In general it would be advisable, though, to either use EIM or other officially supported means (Java Data Bean for instance) to update Siebel records.

Thomas Müller
A: 

Please check the user id that you are using ..usually if the write access isn't given for at the DB that id ..it might update modification_num with null

Tushar
A: 

Chances are that either you have a mistake in your code (you must post a sample here to get any help with it!), there is something messed up in the configuration of the relevant Siebel Objects (check the underlying BC to see if someone has added config or code that causes the error), or this is a known bug in Siebel (search on Siebel SupportWeb).

A: 

The first step is to find the buscomp that's attempting to blank out your mod number. To do that you'll have to find the SQL that's updating the mod number (it'll be the one immediately before your error appears) and then find the buscomp running that SQL (from a ObjMgrSqlObjLog log entry immediately before the SQL). Turn both ObjMgrSqlLog and ObjMgrSqlObjLog events to 4 and reproduce your error, and that should give you what you're looking for.

Next, find the field (or fields) on the buscomp that's mapped to the MODIFICATION_NUM column.

Last, figure out what's clearing that field and fix it. Could be a script, integration point, workflow process, buscomp user prop, etc...

Good luck.

Mike M. Lin