[NEWSboard IBMi Forum]
  1. #1
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365

    Post Command prompten und SBMJOB

    Hallo Forum.

    Folgendes Command in einem CL-Pgm. promptet mir alle ??-Parameter:

    OVRPRTF FILE(LISTE)
    ??DEV(QPRINT)+
    ??ALIGN*YES) +
    ??COPIES(1) +
    ??HOLD(*NO) +
    ??SAVE(*YES)

    Wie kann ich diese Funktion anwenden, wenn ich den Druckjob mit SBMJOB starte? Wie übergebe ich die korrekten Parameter?

    Gruss
    Joe

  2. #2
    Registriert seit
    Dec 2000
    Beiträge
    450

    Post

    Hallo Joe,

    eigenen Befehl mit den entsprechenden Parametern basteln, der diese dann an das CL-Programm weiterreicht.

    Gruß
    Bruno

  3. #3
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365

    Post

    Zitat:
    Original erstellt von Bruno Jakob:
    Hallo Joe,

    eigenen Befehl mit den entsprechenden Parametern basteln, der diese dann an das CL-Programm weiterreicht.

    Gruß
    Bruno
    [/quote]

    Danke für die Antwort.

    Genau diesen Weg wollte ich umgehen und direkt die Befehlsparameter von OVRPRTF verwenden.

    Gruss Joe


  4. #4
    Registriert seit
    Jul 2001
    Beiträge
    68

    Smile

    Hallo Joe,

    wenn´s immer dieselben Param sind evtl:

    SBMJOB CMD(OVRPRTF FILE(LISTE) DEV(QPRINT) ALIGN(*YES) COPIES(1) SAVE(*YES))

    oder

    OVR im CL(Beispiel Batch-CL) und CL-Start per sbmjob

    BATCHCL
    PGM
    OVRPRTF FILE(LISTE) DEV(QPRINT) ALIGN
    (*YES) COPIES(1) SAVE(*YES)
    CALL X-Y-Programm
    ENDPGM

    SBMJOB CMD(BATCHCL)

    Viele Grüsse Alf



    [Dieser Beitrag wurde von LGALF am 26. September 2002 editiert.]

  5. #5
    Registriert seit
    May 2001
    Beiträge
    131

    Post

    Hallo Joe,

    soweit ich es weiß steht die Funktion der "??" nur für die interactive Verarbeitung zur Verfügung.
    Der SMBJOB startet ja einen Stapeljob.
    Da hilft wirklich nur der Weg über ein kleines CL-Programm welches die Parameter sammelt und dann den Stapeljob absetzt.

    Gruß Thomas

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.345

    Post

    Da der Bediener offensichtlich das Kommando ergänzen soll, hilft nur der Aufruf von QCMDCHK in einem Dialogprogramm.
    Das Kommando wird dann vervollständigt zurückgegeben und kann dann submitted werden:

    dcl &cmd *char 256

    chgvar &cmd 'OVRPRTF FILE(LISTE) ??DEV(QPRINT) ??ALIGN*YES) ??COPIES(1) ??HOLD(*NO) ??SAVE(*YES)'

    call qcmdchk parm(&cmd 256)
    monmsg cpf0000 exec(goto ende)

    sbmjob cmd(&cmd)

    ende: endpgm

    Anmerkung:
    Der MONMSG ist erforderlich, da der Benutzer ja F3/F12 drücken kann und das Kommando dann unverändert ist.

    Der OVRPRTF kann zwar submitted werden, bringt aber nichts, da der Job ja unmittelbar danach endet.

    Wenn der OVRPRTF im Batch benötigt wird, bietet sich die LDA an:

    chgdtaara *lda value(&cmd)
    sbmjob cmd(call ovrclpgm)

    ovrclpgm:
    dcl &cmd *char 256
    rtvdtaara *lda &cmd
    call qcmdexc parm(&cmd 256)
    call origpgm

    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
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365

    Post

    Zitat:
    Original erstellt von Fuerchau:
    Da der Bediener offensichtlich das Kommando ergänzen soll, hilft nur der Aufruf von QCMDCHK in einem Dialogprogramm.
    Das Kommando wird dann vervollständigt zurückgegeben und kann dann submitted werden:

    dcl &cmd *char 256

    chgvar &cmd 'OVRPRTF FILE(LISTE) ??DEV(QPRINT) ??ALIGN*YES) ??COPIES(1) ??HOLD(*NO) ??SAVE(*YES)'

    call qcmdchk parm(&cmd 256)
    monmsg cpf0000 exec(goto ende)

    sbmjob cmd(&cmd)

    ende: endpgm

    Anmerkung:
    Der MONMSG ist erforderlich, da der Benutzer ja F3/F12 drücken kann und das Kommando dann unverändert ist.

    Der OVRPRTF kann zwar submitted werden, bringt aber nichts, da der Job ja unmittelbar danach endet.

    Wenn der OVRPRTF im Batch benötigt wird, bietet sich die LDA an:

    chgdtaara *lda value(&cmd)
    sbmjob cmd(call ovrclpgm)

    ovrclpgm:
    dcl &cmd *char 256
    rtvdtaara *lda &cmd
    call qcmdexc parm(&cmd 256)
    call origpgm

    [/quote]

    Vielen Dank.

    Genau das ist die Lösung.

    Gruss Joe



Similar Threads

  1. SNDPGMMSG und SBMJOB
    By Dominik Meyer in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-01-07, 15:16
  2. JOBQ(*JOBD) oder JOBQ(LIB/JOBQ) an SBMJOB übergeben
    By hww in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 12-12-06, 15:27
  3. SBMJOB und SCDDATE/SCDTIME
    By Luebbert in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 13-09-06, 11:39
  4. sbmjob und ' im Parameter
    By muadeep in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 27-06-06, 11:31
  5. CALLP + SBMJOB
    By muadeep in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 22-03-06, 13:38

Berechtigungen

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