• Call 3GL from DP ?

    From nikosv@21:1/5 to All on Mon Apr 10 09:47:56 2023
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roy Hann@21:1/5 to nikosv on Mon Apr 10 18:07:25 2023
    nikosv wrote:

    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

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From nksvg@21:1/5 to All on Tue Apr 11 01:55:55 2023
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roy Hann@21:1/5 to nksvg on Wed Apr 12 09:36:00 2023
    nksvg wrote:

    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

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From nksvg@21:1/5 to All on Wed Apr 12 02:44:17 2023
    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?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)