[NEWSboard IBMi Forum]

Thema: SBMJOB

  1. #1
    Registriert seit
    May 2002
    Beiträge
    1.121

    SBMJOB

    Hallo Gemeinde,

    bin gerade mal dabei diverse CLs zu überarbeiten und habe dabei gleich mal eine Frage,
    über die ich mir bisher keine Gedanken gemacht habe.
    Wo oder was ist der Unterschied bei dem CMD SBMJOB?
    PHP-Code:
    SBMJOB JOB(MyJobJOBD(QBATCHRQSDTA('CALL MYPGM')

    SBMJOB JOB(MyJobJOBD(QBATCHCMD(CALL PGM(MYPGM)) 
    Am Ende macht er ja immer das Programm MYPGM

    Gruß
    Ronald

  2. #2
    Registriert seit
    Dec 2014
    Beiträge
    310
    Im Prinzip ist bei den Aufrufen kein Unterschied.

    Im CMD kann man Befehle mit Variablen einstellen, im RQSDTA müsste der Befehl fertig aufbereitet stehen.
    Weiters ist es so, dass der CMD-Parameter nicht von Anfang an dabei war, bei sehr alten Programmen ist daher immer nur der RQSDTA verwendet

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Da gibt es schon einen Unterschied, den aber kaum jemand nutzt.
    Der Parameter CMD ist vom Typ her so definiert, dass nur ein AS/400-Kommando erlaubt ist.
    Bei RQSDTA kannst du alles reinschreiben.
    Die Daten, CMD oder RQSDTA werden dann später in die Jobmsgqueue geschrieben.
    Nun kommt es auf die RTGDTA an.
    Im Subsystem wird nun auf die Leitwegeinträge geprüft, welches Programm auf Grund der RTGDTA gestartet werden soll, und siehe da, der letzte Eintrag ist meist QCMD.
    QCMD liest nun die Daten aus der Jobmsgqueue und führt das Kommando aus.

    Du kannst nun beliebige Leitwegeinträge definieren, z.B. CMPVAL('LSNR') PGM('PRTLSNR').
    Machst du nun einen SBMJOB RQSDTA('LSNR123456') wird das Programm PRTLSNR aufgerufen. Dieses kann nun mit RCVMSG den Eintrag LSNR123456 auslesen und den Lieferschein drucken.

    Aber so kompliziert macht man es ja nun nie.
    Seit es den CMD-Parameter gib (V2.1) reicht ja nun mal eben ein CALL-CMD.
    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
    May 2002
    Beiträge
    1.121
    Okay,
    dachte mir schon das es mit "Altlasten" zu tun hat. Denke in einigen CLs sind Aufrufe von Programmen drin, die schon gute 20 Jahr auf den Buckel habe.
    (Auch wenn die eigentlichen Programme schon mal über arbeitet worden sind, aber immer noch den gleichen Namen tragen)

    Gruß
    Ronald

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... da wäre ich mal ganz, ganz vorsichtig...
    wenn der OS400/Befehl CALL seine Finger dazwischen hat, fummelt der an den Parametern rum und macht aus allem, was er als numerisch erkennt gepackte 15 5 draus und alfa variablen mit 32 Byte übergibt, falls er sie als kürzer erkennt, ansonsten die Länge übergibt, die er erkennt.
    Übergibt man die command strings per RQSDTA und es ist kein routing entry da, der sich das vorher schnappt, dann geht der complette string unverändert an QCMD.
    Der Mechanismus mit den Routing entries wird vorrangig dafür genutzt auf den 38er Command Interpreter QCL umzuleiten, der andere Regeln für Quailifizierung hat.
    Hängt die JOBQ am QCMN, dann wäre ich da sehr vorsichtig mit schrauben, solange ich da nicht exakt verstehe, wie das funktioniert.
    Wenn in RQSDTA "seltsame" Bestandteile drin sind, dann wäre ich da auch sehr vorsichtig, da hängen im simplen Fall Einstellungen für die Class dran, die Prioritäten und andere Performance Schräubchen beinhalten.

    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
    Dec 2014
    Beiträge
    310
    Ja nicht schlecht, auf welch komplizierte Arten man einen CALL absetzen kann

    Na im ernst - über die Sache mit dem CALL und den "veränderten" Parameterwerten sind wir wohl schon alle mal d'rübergestolpert ...
    Aber interessant zu lesen, was da ursprünglich alles hineingepackt wurde!

    Ändern würde ich die (alten) Aufrufe auch nicht, es spricht ja eigentlich nichts gegen die RQSDTA-Verwendung (und wie gesagt - die beiden Varianten in der ursprünglichen Frage sind absolut gleichwertig).

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Bzgl. des simplen CALL's hast du Recht, aber wer macht schon ausschließlich einfache Calls.
    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

Similar Threads

  1. SBMJOB und DEC
    By sirdidi in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 24-01-14, 10:31
  2. Berechtigung bei SBMJOB
    By horst in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 15-01-02, 06:55
  3. sbmjob
    By muadeep in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 13-11-01, 15:05

Berechtigungen

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