[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2007
    Beiträge
    905

    JobQ und Parameter

    Vermutlich wurde das Thema auch schon behandelt - suchen danach hat nix gebracht.

    Ich hab da einen seltsamen Fall:
    Wenn ich ein CL mit x Parameter aufrufe, erhalte ich interaktiv ein richtiges Ergebnis und in der Jobq ein Anderes. Namentlich geht es darum einen Pfad mit einem Dok-Namen zusammenzusetzen um danach einen CpyToImpf durchzuführen.

    Kennt jemand diese Macke?

    Zum Verständnis, die Parameteraufrufe sind völlig identisch, nur einmal mit Submit und das andere mal ein direkter Call.
    kf

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    Das Problem hatten wir wirklich schon des öfteren.
    Stichwort Parameter im CALL-Kommando.
    Die Parameter müssen in der Länge übergeben werden, die dein Programm erwartet.
    Im Dialog ist das leicht, da gibst du die Werte in Hochkomma an.
    Beim SBMJOB übergibst du den CALL, aber deine Parameter mit Sicherheit nicht in Hochkomma.
    Dadurch entfernt der Commandprozessor überzählige Leerzeichen und übergibt halt weinger an das Programm.
    Im Speicher steht aber halt hinter den Parametern irgendein Schrott den nun dein Programm im Zugriff hat.
    Lösung:
    Übergib deine Parameter in Hochkomma!
    Achtung, beim SBMJOB ist eine Verdopplung erforderlich da der CALL selber ja auch in Hochkomma steht.
    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

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Wie wärs mit einem selbst erstellten Befehl (CMD), um die Werte durch den SBMJOB in genau der benötigten Länge als Parameter ans CL-Programm weiterzugeben?

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    ich galube das ist wohl zu einfach.
    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
    Aug 2001
    Beiträge
    2.873
    Command klappt
    ... genauso wie wenn das CL-Programm, prüft ob es interaktiv aufgerufen wurde.
    Beim interaktiven Aufruf macht es nichts anderes als sich selber zu submitten.
    Beim Submit werden dann die Parameter als Variablen überegeben.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    Und genau das ist ja der Fehler!
    Beim "SBMJOB ... CMD(CALL MYPGM PARM(&F1))" wird der Inhalt von &1 an den CMD-Prozessor übergeben und dieser entfernt Leerzeichen am Ende wenn eben keine Hochkomas in der Variablen sind!
    Nur wenn der Parameter kürzer als 32 ist wird bis 32 mit Leerzeichen aufgefüllt.
    Wem das mit den Hochkommas zu viel ist, der nimmt einfach die Variable 1 Byte länger, setzt an die letzte Stelle ein "X". Der CMD-Prozessor packt das selber in Hochkomma und verdoppelt vorkommende Hochkomma.
    Da das empfangende Programm 1 Zeichen weniger erwartet ist das "X" unsichtbar.
    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
    Jan 2007
    Beiträge
    905
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Wem das mit den Hochkommas zu viel ist, der nimmt einfach die Variable 1 Byte länger, setzt an die letzte Stelle ein "X". Der CMD-Prozessor packt das selber in Hochkomma und verdoppelt vorkommende Hochkomma.
    Da das empfangende Programm 1 Zeichen weniger erwartet ist das "X" unsichtbar.
    Und genau so hab ich's gemacht und funktioniert. Selbst die Doku darüber hab ich nicht vergessen, falls mal einer das nicht gleich schnallt. Danke.
    kf

Similar Threads

  1. Wer hat eine JOBQ angehalten?
    By JoergHamacher in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 15-09-16, 11:40
  2. JOBQ-Infomation
    By AK1 in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-08-15, 11:30
  3. Reihenfolge Abarbeitung JOBQ
    By Starocotes in forum IBM i Hauptforum
    Antworten: 23
    Letzter Beitrag: 19-05-15, 13:04
  4. QRY und PARAMeter
    By HoScHiE in forum IBM i Hauptforum
    Antworten: 28
    Letzter Beitrag: 17-01-08, 10:35
  5. Parameter empfangen in RPG??
    By JonnyRico in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 02-04-03, 15:53

Berechtigungen

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