Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Call 3GL from DP ?

25 views
Skip to first unread message

nikosv

unread,
Apr 10, 2023, 12:47:57 PM4/10/23
to
Is is possible for a DP or a UDF/OEM to access a shell or call an external command, like Perl?
By that I mean the dbms server actually accessing the OS.
Ingres 10.2

Roy Hann

unread,
Apr 10, 2023, 2:07:26 PM4/10/23
to
Nope.

When I've wanted to do something like that I've been able to set up
something to listen for database events. You can attach a small
payload/message of up to 256 bytes when you raise them, which might be
enough to send some argument. You need the listener to register for the
event then react to any message.

I rather doubt you can have a UDF even in 11.2+ that could run
externals, but I would run screaming from the idea anyway.

Roy

nksvg

unread,
Apr 11, 2023, 4:55:56 AM4/11/23
to
Hi Roy,this might be it.
I now have to devise a way for the 3GL application to return a result back to the ABF/4GL app, like :
dbevent->call Perl script->notify ABF/4GL app back

Roy Hann

unread,
Apr 12, 2023, 5:36:04 AM4/12/23
to
ABF can catch DBEVENTs itself using:

on dbevent =
begin
...
end

You can use INQUIRE_SQL(event = DBEVENTNAME, msg = DBEVENTTEXT) to get
the message/arguments.

Roy

nksvg

unread,
Apr 12, 2023, 5:44:19 AM4/12/23
to
You mean the 3GL app to fire a separate 2nd event upon completion, in order to simulate bidirectional communication?
But which instance of the ABF application will catch the 2nd event?
I mean if there's two users running the same abf app from two separate terminals,will both of them catch
the 2nd event,even if only one had triggered the initial 1st event firing?

Also the abf app should be active at that moment in order to catch the 2nd event?
0 new messages