Build-op

A forum for discussing DataStage<sup>®</sup> basics. If you're not sure where your question goes, start here.

Moderators: chulett, rschirm, roy

Post Reply
nsm
Premium Member
Premium Member
Posts: 139
Joined: Mon Feb 09, 2004 8:58 am

Build-op

Post by nsm »

Hi All,

I rcently started working on PX and wanted to learn when should I go for creating Build-ops..Where can I find the help on Build-ops.

Tried finding in the helh pdf docs but no luck.

Thanks
nsm.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

It's a bit hard to write a help manual for a stage in which you write the code!

What have you gleaned from the Parallel Job Advanced Developer's Guide?
Try asking for specific advice - the answer to this particular question can only be "any time you like" - but try not to "re-invent the wheel" by re-creating the functionality of some existing stage.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
bcarlson
Premium Member
Premium Member
Posts: 772
Joined: Fri Oct 01, 2004 3:06 pm
Location: Minnesota

Post by bcarlson »

Here's my 2 cents - and I apologize now for being long winded. I have my opinions, but I'll try to be fair to both sides...

I, personally, prefer buildops. But then again, I come from a background in C/C++ - not a big fan of Basic languages. Besides, my shop made the transition into DataStage PX from Torrent, not from DataStage server. Torrent is the predecessor to PX and only had buildops, no Transformer stage. We had 100's of jobs that used buildops, so we kept using them when we switched to PX and continue to use them exclusively today. And initially, buildops performed significantly better than the Transformer. That is no longer the case - transformers should perform just as well as a buildop. Lately, we have chosen to stick with buildops for the sake of consistency.

Another thing to keep in mind is that transformers are compiled by DataStage into buildops. So anything a transformer can do, a buildop can do. However, there are things a buildop can do that a transformer cannot do - simply because the buildop has the wealth of C/C++ programming at its fingertips. The next logical question should be - how often do you create a buildop that does things a transformer can't do? Good question - not sure if we have really run into that here.

One of the downsides to using buildops is that the metadata of the transformations themselves are hidden from DataStage. If you use MetaStage for your metadata, you may not like that. We do not use MetaStage, so this has not been an issue for us. Our transformation documentation is completely independent of DataStage.

Another downside is that the vast majority of DataStage developers seem to be coming from the DataStage server arena and may not have had any exposure to buildops. However, anyone that has been introduced to C/C++ at any time (even just the ability to read it) should have no problem learning how to do it. For that matter, we have COBOL programmers that picked it up almost instantly.

From what I hear in interviews and read in postings, the most common approach seems to be to use Transformer for everything except the most complex transformatons - then use the buildop. If you are coming from a server background, this will probably be the easiest approach, since you already have familiarity with the transformer stage. Also think about your metadata and whether you use DataStage to gather your metadata info - easy to track with a transformer, not so easy with a buildop.

So, there is 2 cents. Hope this helps! Anyone else, feel free to pipe in here!

Brad.
vmcburney
Participant
Posts: 3593
Joined: Thu Jan 23, 2003 5:25 pm
Location: Australia, Melbourne
Contact:

Post by vmcburney »

Not coming from a C++ background I try to do things in the Transformer first or via the use of lookups for more dynamic business rules. I can see the value of buildops for modular and reusable complex functions but haven't had that need yet. If you want a step through of creating buildops have a look at my post on The Top 7 Online DataStage Tutorials for the link to the buildop tutorial.
Post Reply