import external function fails

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

import external function fails

Post by PeterPol »

Hi all,

I want to be able to use external functions in Datastage that are written in C++. To test how this should be done, I created COM server dll (or activex library in Delphi) with a few functions in it.

When I try to import this dll in the Manager, I get the following error:

Error calling subroutine: DSR_IMPTRANS (Action=1); check DataStage is set up correctly in project DEV
(Internal Error (39207))

This error appears after selecting the dll and pressing the next button.

Any idea what could be wrong?

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

Post by ray.wurlod »

This could be that the indexing on DS_ROUTINES table in the repository is invalid or out of date. Try reindexing (which rebuilds the indexes).
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Post by PeterPol »

Hello,

I recreated the activex library dll again in delphi and the error does not appear anymore. :?

The dll consists of 2 simple functions, both without input parameters; the first one returns an integer, the second one returns a string.

I did the following steps to import the dll:

1. register the dll
2. in DS Manager select option to import external function definition
3. select the dll, then Next
4. select the activex class in my dll, then Next

Now an error shows up saying that "The class does not contain any methods suitable for import".

Any suggestions what can be the reason for this?

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

Post by ray.wurlod »

Probably that they lack input arguments. External functions are expected to act as transform functions - to take one or more arguments, effect a transform and to return a result.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Post by PeterPol »

Thanks Ray,

I was able to import the functions after providing the functions with an input parameter. :)

Peter
Post Reply