-
Problem mit CPYSPLF
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
-
Auch wenn du dies per API erfragst, *LAST ist nunmal immer die letzte !
Du solltest per "OVRPRTF FILE(QSYSPRT) SPLFNAME(XXXX)" einen eindeutigen Namen pro PGM-Aufruf vergeben.
Dann kannst du eben statt QSYSPRT den vergebenen Namen XXXX beim CPYSPLF angeben.
*LAST bezieht sich nicht auf die letzte Liste des Job's sondern auf die letzte Liste des gleichen Namens.
-
Hallo Fuerchau!
Gute Idee mit SPLFNAME!!! Werde ich gleich mal ausprobieren.
Aber *LAST scheint wohl nicht immer der letzte zu sein, denn, wenn die letzte Spool leer ist (*FIN mit SPLFNR 2) kopiert er die vorletzte.... aber egal, ich probiers mit dem Namen!
Merci!
Zitat von Fuerchau
Auch wenn du dies per API erfragst, *LAST
ist nunmal immer die letzte !
Du solltest per "OVRPRTF FILE(QSYSPRT SPLFNAME(XXXX)" einen eindeutigen Namen pro PGM-Aufruf vergeben.
Dann kannst du eben statt QSYSPRT den vergebenen Namen XXXX beim CPYSPLF angeben.
*LAST bezieht sich nicht auf die letzte Liste des Job's sondern auf die letzte Liste des gleichen Namens.
-
Hallo Fuerchau!
Du bist ein Programmiergott!
Es funzt wie es soll.
Nochmal Danke schön!
Andreas
-
Verbesserung:
*LAST ist die letzte aktive Spoolfile, *FIN wird nur angezeigt, wenn der Job noch läuft. Ist der Job beendet, werden *FIN's auch freigegeben.
-
es geht trotzdem
hello,
ok ok du hast dein proggi angepasst und nun läufts.
man hätte aber auch tricksen können:
machst du NACH aufruf pgmB und VOR aufruf CPYSPLF nen CHGSPLFA auf QSYSPRT und fängst die Fehlermeldung mit MONMSG ab. wenn CPF3340 dann existieren 2 SPLFs wenn nicht nur eine.
wobei diese lösung nur funzt wenn pgmA IMMER eine SPLF erzeugt und pgmB nur manchmal....
musste mal gesagt werden. ich frickel eben gerne
k.
-
Wobei das nur klappt, wie du schon beschreibst, wobei meine Lösung (auch in der Übersicht WRKSPLF) "eleganter" ist
Ausserdem darfst du dann den Parameter SPLNBR(*LAST) nicht verwenden, sonst kommt der Fehler nämlich nicht !
Similar Threads
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 26-10-06, 10:07
-
By ChrisX in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 11-10-06, 15:31
-
By Flappes in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 06-10-06, 08:39
-
By sim in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 10-05-06, 14:45
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks