Loading Siebel Data & LOV using COM objects :: Building COM Objects For Automation

We can also load Siebel Data & LOV using COM objects. It works like a charm. The obvious advantages are

1. LOVs can be directly exported out of Siebel into csv and copied into an excel. This excel houses a macro with COM object.
2. Once you build a COM excel, you can use it in different environments by changing the datasource.
3. It only takes few minutes to load LOVs in this process, and it can load up to 65k+ data at a time.
Siebel bookshelf has some documents on how to build COM objects. That will get you started.



There're two ways to approach COM. One way is to use an existing Siebel connection/Siebel database object instance to access the LOVs in BC layer. This is light-weight, but it requires an open session in Siebel, and I am not sure what happens if you keep two Siebel sessions (one Production and one Sandbox for ex.) open.


The other way is to create Siebel data connection via COM itself. This is bit resource-intensive and you need to use Siebel dlls in the macro. In other words, the local computer needs to have a Siebel installed. However, this is safer and very easy to do. Bookshelf discusses in details on how to create this.


To effectively use this macro, you can build separate functions to create siebel connection, read data from excel, and then disconnect from Siebel. In some of the macros I use, I actually keep an extra module to keep a count of inserts, updates and failures. The obvious advantage is that you can simply copy the stats from macro, and mail the client. Remember, no data is complete without stats!!


 1. 1st tab contains the stats, and the button to start macro


 2. 2nd tab contains the data



 3. Notice how various modules are created to organize the code, and how connection credentials are parameterized


 4. This is the function to make Siebel connection



 5. Make sure you add Siebel dll under Tools > References






Siebel provides Application Deployment Manager (ADM) to load LOVs and similar items.

Application Deployment Manager (ADM) functionality available in Siebel is often used to reduce manual effort of moving various entities between environments.

ADM provided by Siebel can move them automatically as ease off from manual job of moving and tracking, ADM navigation Site Map > Application Deployment Manager



4 comments on “Loading Siebel Data & LOV using COM objects :: Building COM Objects For Automation”

  1. Khurram Reply

    Very nice.  We have been using this method to load data (not just LOVs) for years now.  Disadvantage of using this method is, it is very slow, specially when you get into the high thousands.

    • Arnab Chanda Reply

      Thanks. Yes I have noticed this behavior as well. I personally believe the performance degrades due to certain limitations in MS DLLs, for high volume of data. However, if you spend some more time around this, and its a one-time deal, you can create an identical function/executable in java, write the LOV list into a delimited file, and load it much faster. I have been in projects where the developer could not EIM data in, and we ended up writing java files and loading millions of records in a day!!

  2. Anitha Reply

    We are using Siebel 8.0 and Handheld. We want to apply filters on the data that flow in to handheld. We have state models which is vanilla and we donot use it in our application. This has huge data flowing into PDA.
    Can any one tell, can we apply filter on State Models and whether it affects any functionality?

  3. Arnab Chanda Reply

    Although this does not fall under category of LOVs, but if you're certain that the state model is causing large data to flow into the handheld, then you can de-activate state model in the BC level, with user property. It will not change anything functionally except that end users might see bit difference in behavior of the particular fields. But honestly, if you think there is too much data flowing into the handheld, then take a good look at your application and what is available/visible in the local/handheld level. May be you have some navigation requiring huge data inflow.

Leave A Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!