Tuesday, September 28, 2010

Generating unique numbers in DataMap

Sometimes data coming in inbound integration from external system cannot be uniquely identified.Similar scenario struck me and was forced to generate unique number at siebel side. One of the option was to parse incoming XML and add unique identifier using Scripting or XSL. Another option was to use "SIS OM PC Service" business service in datamaps and the generated output row_id could be used as user key during the insertion. In the field map following expression is used:
InvokeServiceMethod("SIS OM PC Service", "Get Next RowId","Test='123'" ,"RowId")

However the enigma was not ended here. Further twist was error "Access denied to invoke business service 'SIS OM PC Service' for search specification 'InvokeServiceMethod("SIS OM PC Service", "Get Next RowId","Test='123'" ,"RowId")'" . After some hunting on the support web i realised this security issue. In order to use any business service with InvokeMethod we need to define that business service at following places:

1 - Mobile Web client/Dedicated client: In CFG we need to define following parameter
[Siebel]
BusinessServiceQueryAccessList = SIS OM PC Service

2 - Web Client: We need to define this in Parameter "Business Service Query Access" at enterprise or component level where it is being used.
Name:Business Service Query Access
Value:SIS OM PC Service

Help in need is help indeed thus any help on generation of unique numbers in siebel during inbound are really welcome.

2 comments:

Anonymous said...

One more business service which could be used for unique number generation is:

BS: FINS Teller Converter Extensions
Method:GenerateID

The input argument "IDType" should have value of "GUID" in order to generate unique number.

shobhit jain said...

This security issue also comes when we try to call the BS from the DVM rule expression. As pointed by 'Siebelish' we need to make an entry in CFG file for developer client and Parameter level for thin client otherwise than also it reports security issue

Happy blogging & learning!

Cheers!

regards,
shobhit
----------------------------------------------------------------------------------
"For the lust of comfort, don't murder your brilliance"