PDA

View Full Version : Command prompten und SBMJOB



Joe
26-09-02, 09:39
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

Bruno Jakob
26-09-02, 12:56
Hallo Joe,

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

Gruß
Bruno

Joe
26-09-02, 14:27
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>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

LGALF
26-09-02, 16:58
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.]

TGsoft
27-09-02, 01:11
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

Fuerchau
27-09-02, 11:21
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

Joe
27-09-02, 12:41
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>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