[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    May 2004
    Beiträge
    444

    Rückgabeparameter bei SBMRMTCMD

    Hallo zuammen,

    ich suche was wie einen Rückgabeparameter bei einem SBMRMTCMD.

    Ein Programm von System 1 soll ein Programm auf System 2 aufrufen welches einen Wert wieder zurück an das aufrufende Programm auf System 1 gibt.

    Gibts da eine Möglichkeit ?

    Vielen Dank im Voraus

    Viele Grüße Harald

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Offiziell nicht,
    änder mit Pgm2 eine datara auf System 1
    Der Job auf System 1 kann die abfragen
    Für ein Fehlerhändling sollte System1 nicht länger als x auf den Inhalt warten.
    (normalerweise nach 10 Minuten fertig, warte max 20 Minuten o.ä.)
    Läuft in 'normalen' Abläufen stabil.
    Wir haben auf system 2 auch schon mal via sql und connect to einen datensatz auf system 1 updaten lassen, quasi als zwischenstatus Bericht bei einem 3 Stunden Pgm

    Gruß
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... am einfachsten über SQL als stored procedure aufrufen. Die ganzen workarounds mit DTAARA (schauder) und update auf einen Satz etc. gehen doch wieder schief, wenn das Porgramm parallel öfter aufgerufen wird oder abbricht.

    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/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Solange beide Systeme eine AS/400 sind bieten sich 2 Möglichkeiten:
    a) SQL mittels Procedure, wie Dieter schon sagt
    b) die gute alte ICF-Datei (Programm-Aufruf und Kommunikation)
    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

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    SQL procedure geht eigentlich (fast) in jeder Kombination, dank ArdGate.

    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/

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Dafür benötige ich aber immer einen SQL-Server (muss ja nicht Microsoft sein) auf dem Zielsystem um einen SQL-Call abzusetzen.
    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

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... einen Dämon (Serverdienst), der da lauscht brauchst Du eh' (REXEC für SBMRMTCMD etc.) und ICF geht auch nur, wenn da ein SNA Dienst drauf wartet, das ist nun mal Grundlage des Geschäfts.

    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/

  8. #8
    Registriert seit
    May 2004
    Beiträge
    444
    Hallo zusammen, erst mal vielen Dank wieder für die vielen Lösungen, wobei ich gestehen muss dass ich weder mit einer ICF Datei (und wenn ist es schon sehr lange her und ich kann mich nicht mehr erinnern) noch mit SQL Procedure gearbeitet habe. Dass von Robi habe ich mir auch bereits überlegt allerdings mit einer DDM-File und ID somit kann Programm A Programm B mit ID aufrufen und Programm A wartet bis in der Datei die ID mit dem Ergebniswert steht. Das letztere ist zwar umständlich aber für mich verständlich, es sei denn jemand will mir das mit den Stored Procedure in SQL erklären. Das hört sich für mich gut an, habe allerdings noch nichts damit gemacht.

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wobei der Rexec-Client in Windows immer da ist und nur aktiviert werden braucht. Im Zweifel gibt's beim CA auch noch den "Eingehenden fernen Befehl".
    ICF ist ja auch eher auf AS/400-Kommunikation beschränkt. Ggf. gibt's ja noch den einen oder anderen "Groß-Hobel" (IBM's Mainfraim's) irgendwo im Einsatz die ICF noch können.
    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

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Zitat Zitat von harkne Beitrag anzeigen
    Hallo zusammen, erst mal vielen Dank wieder für die vielen Lösungen, wobei ich gestehen muss dass ich weder mit einer ICF Datei (und wenn ist es schon sehr lange her und ich kann mich nicht mehr erinnern) noch mit SQL Procedure gearbeitet habe. Dass von Robi habe ich mir auch bereits überlegt allerdings mit einer DDM-File und ID somit kann Programm A Programm B mit ID aufrufen und Programm A wartet bis in der Datei die ID mit dem Ergebniswert steht. Das letztere ist zwar umständlich aber für mich verständlich, es sei denn jemand will mir das mit den Stored Procedure in SQL erklären. Das hört sich für mich gut an, habe allerdings noch nichts damit gemacht.
    ICF File ist im Vergleich zu stored Procedure ungleich aufwändiger. Mit dem SQL Befehl CREATE PROCEDURE kann man jedes *PGM als externe stored procedure registrieren und dabei sowohl IN, OUT als auch INOUT Parameter verwenden. Aufgerufen werden diese stored Procedures dann mit dem SQL Befehl call (in einem embedded SQL Programm); macht man vorher einen connect an die remote database, dann findet der Aufruf auf einem anderen System statt. Einfach und schnell, lesbar und stabil.

    @Baldur: ICF (Intersystem Communication Function, das sind doch SNA Altlasten, das würde ich doch heute keinem mehr empfehlen/zumuten.
    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/

  11. #11
    Registriert seit
    May 2004
    Beiträge
    444
    Hallo Herr Bender, lokal hat das mit der Stored Procedure super funktioniert. Jetzt fehlt mir allerdings noch der Aufruf auf das ferne System. Was muss ich als connect machen ? Wenn ich über STRSQL connect angebe und Auswahl 2 (Fern) mache sehe ich trotzdem nur die lokale Datenbank.

    Viele Grüße Harald

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... auf der clientseite braucht man einen Eintrag im remote database directory (ADDRDBDIRE ist dein Freund) und dann macht man einen connect to und ist auf dem fernen System. Im richtigen Leben macht man das dann in einem embedded SQL Programm, damit man auch an die Rückgabe drankommt. Masochisten fummeln da auch gerne mit Oops Nerv rum.

    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/

Similar Threads

  1. Berechtigungsprobleme bei SBMRMTCMD
    By rebe in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 12-02-02, 10:51

Berechtigungen

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