on ‎2012 Nov 13 6:49 AM
I'm building 60 validation rules in SAP BODS. Each validation rule is in the form of the following data flow :
so in total I have 60 data flows.
My problem is that I have to do these 60 validation rules for 10 affiliates/companies using the same source tables but I want to store the failed records in separate tables for each company. The way I filter based on company is by changing a value for one field in the "where" clause in the Query transform. (e.g. Where company = 'xxxx') where 'xxxx' is different for each company. ==> total = 600 data flows and each one is a job ==> 600 jobs.
I want to create 60 jobs under a project and then copy/paste 10 times, but this feature isn't available in BODS. What is the easiest way to replicate the 60 jobs 10 times ?
Request clarification before answering.
Hi Abdullah,
if you are using BODS 3.x version, then you can use Emdedded data flow concept and you can select source and transfrom and right click you have option make embedded data flow and name it as EDF_SOURCE_OUTPUT or some thing, but naming should be EDF_XXXXX_OUTPUT as you need to recognise this in local object library->dataflow tab. click on new job in the same project, create new job, re-use this EDF_SOURCE_OUTPUT object and give 2 template tables, one for pass and other for fail.
or
if you are using BODS 4.0 then you can able to copy and paste the columns, as it automatically maps with columns where you copied.
Hope this helps.
Regards,
Anilkumar P.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you Anil, that was very helpful. I'm using BODS 4.0
Could you please elaborate on the BODS 4.0 solution ? I didn't get it.
Also, If I replicate jobs/data flows then I'm going to get target tables with the same name. One solution is to delete them and create new ones with new names for each one to make sure they get added in the Datastore with the new names. Is this the correct way to do it ?
Hi Abdullah,
from 4.0 version onward, you can directly copy the required objects into the required job and automatically it gets copied( i.e copy/paste should be working from 4.0 ). From the above job try and copy the entire flow and just change the template table names and change the where condition. try this with 2 companies and see whether it is working or not?. hope it should work.
Thanks
AnilKumar P.
Hi Abdullah,
Try this out and see.
Firstly, Instead of using 60 data flows for 60 rules. Implement all your validation rules in One data flow.(I am Assuming these rules are common for all the 10 companies).
Now you have 10 companies to execute.
1. You can now replicate this Data Flow with 60 validations, Go to Local Object Library,right click on your validations data flow and click on "Replicate". It will create a copy of your data flow just below the original Data Flow. Rename the copy Data Flow to one of your Company name. Repeat this for all the 10 companies data you want to execute.
2. Now you have 10 Data Flows, one for each company and each of those data flows will have 60 validations.
3. In each of these Data Flows change the out put table names. This is an important step. If not not done will create replications of same tables. You can give your out put table names as eg: Company1_Pass,Company1_Fail. Repeat this for all the 10 Data flows.
Now you can have all the your validations done for 10 companies with 10 DF's and you can capture failed records as well..
Try this out.
Regards,
Dhruva.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Abdullah
you can take advantage of concept of system configuration in your case.
No need to replicate the dataflow. Just run the same job for different configuration.
Refer the technical manual for details.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 13 | |
| 8 | |
| 6 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.