[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2015
    Beiträge
    336

    Programmaufruf auf der AS400

    Hallo zusammen,
    kann ich von der WINDOWS-Welt aus auf der AS400 ein Programm aufrufen ?
    Wenn ja, wie säh das aus ?
    Für Infos wäre ich wie immer dankbar.
    Schönen Abend.
    A.

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Bei uns läuft das AS400 Pgm in der QBATCH und horcht auf eine Dataq
    Das PC pgm schreibt diese und bekommt auch Ergebnisse auf diesem Weg
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Dafür gibts die WinAPI des ACS.
    Es werden direkte Calls über eigene API's unterstützt, alternativ kann man jedes Programm mit einfachen Parametern auch in SQL direkt aufrufen.
    Man muss da nur die richtigen Parameter genau in der korrekten Länge definieren.
    Am Einfachsten ist da jedoch der CALL QCMDEXC, da der nur 2 Parameter hat.

    Das obige API unterstützt sogar Returnparameter.

    Du kannst natürlich auch per SQL eigene Prozeduren und Funktionen entwickeln, die dann Programmaufrufe noch kapseln können.

    Der Overhead mit DTAQ ist da nicht mehr nötig.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Wenn der PC Mensch keine Dataq schreiben kann geht auch eine Datei via odbc/jdbc.
    Wenn es dann zeitkritisch ist, schreibt ein Trigger auf der Datei die dataq ...
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Schon mal einen direkten "CALL MYPROG (P1, P2)" via SQL probiert?
    Einen Create Procedure benötigst du dafür nicht.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Jun 2015
    Beiträge
    336
    vielen Dank an alle, ich probiere mal aus !!

  7. #7
    Registriert seit
    Jun 2015
    Beiträge
    336
    könnte man von Windows aus auch folgenden Aufruf absetzen:

    /QSYS.LIB/EUREXC.CSJ.LIB/EXCCSJCALL.PGM "CALL EUREXC/XRCSJCLRSB PARM('$P01' '$P02' '$P03' '$P04' '$P05' '$P07' 'ORDERS')"

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Nein, IFS-Notation geht generell nicht.
    Wie gesagt, per SQL via ODBC/JDBC, z.B. per ACS-SQL-Script:

    CALL QCMDEXC ('CALL .....', 1234567890,00000)

    Der erste Prameter ist dein Befehl (Hochkomma sind zu verdoppeln!), der 2. Parameter ist die Länge des Befehls, aufbereitet mit Vornullen (10 Stellig). Die Nachkommata konstant 5 Nullen.
    SQL macht dann ein packed(15, 5)-Parameter daraus.

    Wenn du nicht auf die Ausführung warten willst, kannst du auf dieselbe Weise auch einen "SBMJOB ..." absetzen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    da gibt es noch mehr:
    ftp rcmd, rexec, rsh habe ich noch nicht probiert, müsste auch gehen. Bei den Unix Varianten müssen dann AS/400 Programme über system ausgeführt werden. Was da sinnvoll sein mag, kann man nur im Lichte der konkreten Anforderungen einschätzen. Eigene Dienste (DataQ, Datei mit Trigger , SQL stored procedure sind frühere Würgdrumherums und nicht mehr erforderlich.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Eigene Dienste (DataQ, Datei mit Trigger , SQL stored procedure sind frühere Würgdrumherums und nicht mehr erforderlich.
    Andererseits sind sie lange erprobt, laufen stabil, können so gestaltet werden, das Sie auch funktionieren wenn mal eins der Systeme nicht zur Verfügung steht.

    Etwas funktionierendes ändern wir nicht, nur damit es hinterher 'modern' ist.
    Wir ändern nur, wenn das 'moderne' Vorteile hat, die wir benötigen.

    Jeder was er mag ...
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Lieber Robi,

    hier ging es um eine Neuimplementierung und wenn da schon ein selbst geschriebener Serverdienst zur Verfügung gestanden hätte, dann wäre allenfalls was anderes gefragt worden. Ob man eine vorhandene Lösung damit neu schreiben würde oder sollte, steht auf einem ganz anderen Blatt. Ich habe diese Frage schon in beide Richtungen beantwortet. Man sollte allerdings in jedem Fall darauf achten, den technischen Teil der Kommunikation von der fachlichen Anwendung zu trennen und in einem eigenen Modul zu kapseln, dann ist der Austausch eines Kommunikationsprotokolls leichter durchführbar.

    Gruß

    Dieter,
    der schon mehr als einen hausgemachten Serverdienst gesehen hat, der nicht stressfest war. Ganz früher mal von AS/400 zu BTX und auch schon einen modern aussehenden über Sockets, die in bestimmten Fehlersituationen einfach hängengeblieben sind.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. PC Programmaufruf im IFS / Batch
    By alex in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 29-08-05, 08:25
  2. Programmaufruf über Schlüsselwort:EXTPROC ?
    By Gimli in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 10-04-03, 14:36

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •