calling c dll functions from Datastage

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

calling c dll functions from Datastage

Post by PeterPol »

Hello,

On several other posts I read that it is possible to call external dll functions written in C. I also read that it's not easy to do so. Although I am not an experienced Datastage developer, I do want to give it a try. As a start I downloaded the Universe GCI guide. Here it is said that, to begin, I should log on to the Universe Administrator to use GCI. Where can I find this Administrator? Is it shipped with Datastage?

Peter
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

PeterPol,

when you install the DataStage client on your PC you will get 4 programs:
Designer
Developer
Manager
Administrator


and the last one is what is being referred to. I prefer to open up a telnet session with whatever tool I have and then entering the TCL environment from that shell (after setting the environment with the dsenv script). I find this much easier - mainly because I've been using that method to access UniVerse for a while (I think the keyboards&monitors were still steam-powered back in those days, but can barely remember).
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Moderator/Ray - but using the GCI is a Server question so I think the original question refers to Server and not parallel, but only PeterPol can tell us for sure
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Post by PeterPol »

hi,

If calling an external function is only possible from a server job then i have chosen the wrong forum...

Peter
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

No, you can call external functions from both types DataStage but doing so from PX is much simpler and better documented. If I understood the last post correctly then this does belong in the PX forum.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

DataStage server jobs on Windows can use functions exposed in ActiveX controls. You do not need to use the GCI explicitly to call these. Beware, though, that performance sucks.

There is a mechanism for calling other C functions, but in this case you do need to set up "GCI subroutine definitions". This is quite a technical area, but is documented in a manual called UniVerse GCI Guide (note that this is a UniVerse manual, not a DataStage manual). I am not sure whether user-defined GCI calls will still be possible in version 8.0 and beyond.
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,

When I run a job I get the following log warning:

DataStage Job 347 Phantom 1728
Error 126 loading GCI library C:\\Ascential\\DataStage\\Engine\\bin\\ultradll.dll.
The specified module could not be found.
DataStage Phantom Finished

Even though I removed ultradll.dll from this directory. (the dll was there because I was experimenting with preparing/calling a dll-function).

Need some help......

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

Post by PeterPol »

Hello,

The dll was still in the Universe standard library list. This list can be viewed in gci.admin, option 7. Deleting the dll from this list solved my problem :)

Peter
Post Reply