Mordox
07-09-05, 15:46
Hallo Zusammen,
ich wende mich mal wieder an Euch, weil ich bei einem Problem auf dem Schlauch stehe...
Folgender Tatbestand:
In einem CL-Programm (im Batch) wird mehrmals ein Programm aufgerufen, welches unter Umständen eine Spool erzeugt. Wenn die Spool erzeugt wurde, soll diese in eine Datei kopiert werden.
Problem: falls beim zweiten Programmaufruf keine Spool erzeugt wird, wird die des ersten Aufrufes kopiert.
Ich bin folgendermassen vorgegangen:
.
.
.
OVRDBF FILE(DATEI) TOFILE(DATEIA)
CALL PGM(PGMXX) /* für mandant A */
RTVJOBA JOB(&JOB) USER(&USER) NBR(&NBR)
CPYSPLF FILE(QSYSPRT) TOFILE(TEST) +
(&NBR/&USER/&JOB) SPLNBR(*LAST) +
MBROPT(*ADD) CTLCHAR(*NONE)
OVRDBF FILE(DATEI) TOFILE(DATEIB)
CALL PGM(PGMXX) /* für mandant B */
RTVJOBA JOB(&JOB) USER(&USER) NBR(&NBR)
CPYSPLF FILE(QSYSPRT) TOFILE(TEST) +
(&NBR/&USER/&JOB) SPLNBR(*LAST) +
MBROPT(*ADD) CTLCHAR(*NONE)
.
.
.
Wie gesagt, im Falle des PGM-Aufrufs für B wird kein Spool erzeugt, aber trotzdem eins (das Erste) kopiert, obwohl ich SPLNBR (*LAST) angegeben habe und die Spoolnummer im Job auch vergeben wird...
Gibt es evtl eine Möglichkeit die jeweils letzte SPLNBR eines Jobs über eine CL-Variable abzufragen damit ich diese anstatt *LAST beim CPYSPLF angeben kann?
Oder hat hier noch jemand eine andere Idee ohne das Druckpgm ändern zu müssen???
Danke für Eure Bemühungen!
Andreas
ich wende mich mal wieder an Euch, weil ich bei einem Problem auf dem Schlauch stehe...
Folgender Tatbestand:
In einem CL-Programm (im Batch) wird mehrmals ein Programm aufgerufen, welches unter Umständen eine Spool erzeugt. Wenn die Spool erzeugt wurde, soll diese in eine Datei kopiert werden.
Problem: falls beim zweiten Programmaufruf keine Spool erzeugt wird, wird die des ersten Aufrufes kopiert.
Ich bin folgendermassen vorgegangen:
.
.
.
OVRDBF FILE(DATEI) TOFILE(DATEIA)
CALL PGM(PGMXX) /* für mandant A */
RTVJOBA JOB(&JOB) USER(&USER) NBR(&NBR)
CPYSPLF FILE(QSYSPRT) TOFILE(TEST) +
(&NBR/&USER/&JOB) SPLNBR(*LAST) +
MBROPT(*ADD) CTLCHAR(*NONE)
OVRDBF FILE(DATEI) TOFILE(DATEIB)
CALL PGM(PGMXX) /* für mandant B */
RTVJOBA JOB(&JOB) USER(&USER) NBR(&NBR)
CPYSPLF FILE(QSYSPRT) TOFILE(TEST) +
(&NBR/&USER/&JOB) SPLNBR(*LAST) +
MBROPT(*ADD) CTLCHAR(*NONE)
.
.
.
Wie gesagt, im Falle des PGM-Aufrufs für B wird kein Spool erzeugt, aber trotzdem eins (das Erste) kopiert, obwohl ich SPLNBR (*LAST) angegeben habe und die Spoolnummer im Job auch vergeben wird...
Gibt es evtl eine Möglichkeit die jeweils letzte SPLNBR eines Jobs über eine CL-Variable abzufragen damit ich diese anstatt *LAST beim CPYSPLF angeben kann?
Oder hat hier noch jemand eine andere Idee ohne das Druckpgm ändern zu müssen???
Danke für Eure Bemühungen!
Andreas