Usage of Id='' in EAI Siebel Adapter Query

2.7k views Asked by At

Requirement: I am suppose to use an existing Integration Object for my requirement. As this IO consists of ICs that I do not need in my requirement, I would like to avoid them in my IO query output.

I observe that passing Id = '' returns no result in Siebel 8.0. Can I use it as a feature and pass SearchSpec => [Integration Component.Id]='' to EAI Siebel Adapter query to suppress ICs that I don't want in output?

How good is this query Id=''? Will Siebel ignore this query completely? or will it attempt and return no output?

As per my understanding Siebel ignores the query where row_id is passed as '' (Not true for siebel 6.0)
Please share your opinion.

3

There are 3 answers

0
Rookie Programmer Aravind On BEST ANSWER

Answering it myself with my opinion..

As per my understanding, querying with Id='' still queries the database for row_id = ''. Including this in IO query reduces the query scope to the parent's context.. Though this won't improve any performance, IO query output looks cleaner.

Update: I'm using a Indexed column based field Id (ROW_ID) with search spec as "[Id] IS NULL". It's a next to impossible case in database having ROW_ID = NULL, unless it's intentionally and manually updated. Again no one would do it unless really wants to messup that data .. because without ROW_ID record is literally invalid..

1
Ranjith R On

Not sure of using Id = '', when you club the condition with other conditions, Siebel might try to find actual matching records. Also , not sure if future upgrading will keep the same system.

If yours is the only code using the IO, you could straightaway inactivate the ICs you dont want.

If you are unsure of IC inactivation, best way should be to a DatMapper. Set up an EAI Datamapper, source and target IOs of same name. In this datamapper, map only the ICs you need. After querying from EAI Siebel Adapter, send your output to this DataMapper.

Siebel will keep only the ICs mapped and remove all the rest. Since this is a non-repository change, you can modify the DataMapper in future too.

Hope this helps !

0
user3385584 On

Adding a null query to the IC will inherently result in an empty property set for the IC in question. But if you don't need the IC, and the ICs in the IO are not hierarchically connected (no hierarchy key )(eg- independant BCs with same base table in the same BO), you just have to remove the IC mapping in the datamap editor and the IC wont show in the IO propset