BusinessObjects Board

setting bulk loader dynamically

Hi,

Is there any way we can set the bulk loader for all the target tables in a job dynamically using the .bat file generated for execution command. This .bat file is generated using using management console.

I am working on Teradata as target database. I can select FastLoad, multiload, TPT or simple loader. I want to know that if I can somehow assign these loader dynamically at the start of the job for the all the tables in the job. There are alot of tables that is why i am considering this option.

Regards,
Irfan


irfan.alee :sweden: (BOB member since 2011-12-06)

I do not know of any way to make this type of change at runtime. It should be possible to export all the Dataflows and do a search/replace on the settings that define this property. Then import the Dataflows back in. But that isn’t something you would do at runtime.


eganjp :us: (BOB member since 2007-09-12)

Hey

This can be an option but I am looking for something that requires insertion in the batch file or the associated text file generated by the export command in admin console.

I did some research on it and found out that the loader information is represented in XML format when we select Show ATL from the Validation Menu. Can we somehow make that part of XML a re use-able code and make a link to it in command line. This will solve the problem for me.

Regards,
Irfan


irfan.alee :sweden: (BOB member since 2011-12-06)

I think you’re headed down a path that involves a lot of complicated manipulations that are way beyond the norm. In this case I recommend you follow the KISS principle.


eganjp :us: (BOB member since 2007-09-12)

Hi Jim,

I am working on a similar problem … can you guide me what would that complex path?

And also, are there any plans with SAP DI to introduce option of setting loader options on a job level maybe … following a same generic rule of KISS? :slight_smile:

Regards, Adeel


Adeel.Chaudhry (BOB member since 2011-12-19)

Setting something like this “dynamically” would require manipulation of the source code. So you would export the object to ATL or XML, modify the source and then import the object back into the repository. So what happens if two jobs running in parallel want to use the same Dataflow but in different ways?

If you can’t pick a load method at design time then create two Dataflows with each one using a different load method. Then at run time decide which one to run in a conditional.


eganjp :us: (BOB member since 2007-09-12)

Egan,

That would make things really complicated.
My sceneario is like anyother DWH where we have to develop in Dev and it is tested in testing env. Now if i use hardcoded values for error tables in bulk loader properties to hardcoded database then it will be a hectic task to change each and every dataflow for hundreds of tables in testing , UAT and production. Is there any way i can change that field dynamically ?

Regards,
Irfan


irfan.alee :sweden: (BOB member since 2011-12-06)

But don’t you load a different database in prod than in dev? Or a different table owner at least? So why do the table names be different then?

https://wiki.sdn.sap.com/wiki/display/BOBJ/Installation+and+Architecture


Werner Daehn :de: (BOB member since 2004-12-17)

Hey Werner,

I am using a diferent databases in each area e.g.
DEV_STG.err_table -> development staging
TEST_STG.err_table -> test staging
UAT_STG.err_table -> UAT stagging
and so

What I want to do is that
if somehow I can set ($env)_stg.err_table. so If i am executing this in any env it will replace $env for that environment.
Is there any way i can setup this property in bulkloader properties for error tables and log tables cuz variables parameters doesnt work for me here !

Irfan

To err is human


irfan.alee :sweden: (BOB member since 2011-12-06)

You cannot change the table name dynamically. Instead, why don’t you change the owner name dynamically using the ALIAS feature in the Datastore. I use that extensively and it works great.


eganjp :us: (BOB member since 2007-09-12)

Egan,

Can you direct me to some tutorial on this ?

Regards,
Irfan


irfan.alee :sweden: (BOB member since 2011-12-06)

Egan,

Thats was awesome way to do it :slight_smile: . One more thing can we change the table owner property for our source and target tables in the same manner using alias or anything ?

Regards,
Irfan Ali


irfan.alee :sweden: (BOB member since 2011-12-06)

Using the alias you can change the “owner” of any object in the Datastore at runtime. However, “at runtime” is limited to what you have configured in your Datastore and the System Configuration.

My company worked with a client that had 40 source systems. So at runtime they had to specify one of 40 different “owners”.


eganjp :us: (BOB member since 2007-09-12)

Egan,

I just applied it in BODS and it worked :slight_smile: , Thanks alot for your help :slight_smile:

Regards,
Irfan Ali


irfan.alee :sweden: (BOB member since 2011-12-06)