Hello all.
I'm trying to create a dynamic custom buildop which will require that make changes to the describeOperator method and constructor method of my buildop code. I can see the code I need to change in the buildop C++ implementation file. However, I'm not sure how I'm supposed to build it manually. Has anyone ever done this?
Note, I don't think I'm supposed to use the opd file for that. The C++ file I want to change has all the pre-loop, per-record code, etc. that a user would normally be responsible when editing in the build tab of the buildop in DataStage.
Compiling a C++ Buildop Manually
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
Don't attempt it. Compile within DataStage.
When you compile a BuildOp with DataStage a number of other entries are created, including records in a Repository table recording the call sequence and various other stuff. This needs to happen.
When you compile a BuildOp with DataStage a number of other entries are created, including records in a Repository table recording the call sequence and various other stuff. This needs to happen.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Unacceptable answer. All kinds of C++ API information is provided to allow us to extend DataStage right?ray.wurlod wrote:Don't attempt it. Compile within DataStage.
When you compile a BuildOp with DataStage a number of other entries are created, including records in a Repository table recording the call sequence and various other stuff. This needs to happen.
Why give us heavy tools and then advise us against using them?
Unless something like this is possible to do within DataStage as is:
I want to create a buildop to apply a string function to any field in the schema that is of type APT_String. It would be able to use the schema information available through the viewAdaptedSchema method to extract that information and then traverse the fields of each dataset's interface.
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
The API is there so you can CODE lots of extra stuff.
You still need to compile within the DataStage tool, so it can record the information it needs about what you've done.
And, if you find my answers unacceptable, please don't let me delay your search for someone who cares about that particular fact.
You still need to compile within the DataStage tool, so it can record the information it needs about what you've done.
And, if you find my answers unacceptable, please don't let me delay your search for someone who cares about that particular fact.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
The changes I need to make are in code that is not accessible from within the buildop tool in datastage. I need to add code to the describeOperator method which is outside of the runLocally method (where the pre-loop, per-loop and post-loop code goes.) The buildop subdirectory contains expanded C++ code that shows everything in context, where the buildop custom code is inserted in addition to how the whole operator is put together. There are also comments in this expanded code that instruct the programmer to change certain #include preprocessor commands if we wish to compile the code manually.ray.wurlod wrote:The API is there so you can CODE lots of extra stuff.
You still need to compile within the DataStage tool, so it can record the information it needs about what you've done.
And, if you find my answers unacceptable, please don't let me delay your search for someone who cares about that particular fact.
I find your answer unacceptable because 'Don't attempt it' seemed terse and arrogant to me and didn't offer any useful help.
![Mad :x](./images/smilies/icon_mad.gif)
When I attend the IOD conference next week, one of my wish list items will be to ask IBM to beef up their support of coding with C++ API.