Encounter with the Read CSV File Business Service
By @lex on Oct 18, 2008
still going strong
Sometimes you stumble across a promising Business Service in Siebel Tools, such as Read CSV File. Of course you do a bookshelf search...a Google search...but did you search in Siebel Tools?
What about using the Flat tab and querying the WF Step object type?
Currently there are two standard workflow processes that use the Read CSV File business service
- Import Marketing Contact
- Import KPIs
Let's take a look at the Import Marketing Contact workflow.
This workflow is invoked when marketing campaigns are loaded. For more information on this functionality, please refer to the Siebel Marketing guides in bookshelf.
Obviously the data for the marketing members comes as a csv file, which is btw generated by the Oracle BI Presentation Server using a Marketing List Format.
Inspecting the Campaign Load Formats in the default presentation catalog delivered with Oracle BI Applications and/or studying the documentation on Campaign Load Formats reveals, that the csv files have very specific content in the first two rows.
a hash sign followed by a space (!) and the name of an integration object
Example: # Internal Account Interface
a hash sign followed by a comma separated list of integration component field names, using double quotes and dot notation.
Example: #"Account.Name","Account.Location","Account.Primary Organization"
Everything from the third row onward is interpreted as data.
So a simple test file could look like this:
We are invoking the CsvToPropSet method with the following inputs
CsvFileName = path to test file
DeleteFile = false (default is true, so we set it to false in order not to lose our test file ;-)
The output property set contains a SiebelMessage and a SiebelMessageError child property set, the latter being filled with "bad records" (if any). The SiebelMessage is generated according to the integration object, which acts as a template. This even works with denormalized data, that is you could have the same account name 5 times in the csv file and have a different address each time.
When you write the output property set to an XML file it looks like this:
In a final test step, we move the output to the input and delete the SiebelMessageError child property set from the test case. Then we run EAI Siebel Adapter using its Insert method and voilá, 3 new accounts appear.
Hopefully, this gives you a basic idea how the Read CSV File business service works. As it is used in vanilla workflows, it should be safe to use but due to several reasons I have to put a word of caution here:
Please verify with Oracle Sales if you are licensed to use the Read CSV File business service in production.
Please pay special attention when using non-documented business services as you might not get support from Oracle.
have a nice day