View Full Version : CPYSPLF unterschiedliches Verhalten im Batch und interaktiv
Seiten :
1
2
3
4
[
5]
6
7
8
@fuerchau eine Antwort habe ich noch
wrkobj *all/cpysplf bringt mir folgendes:
Opt Objekt Art Bibliothek Attribut Text
CPYSPLF *CMD QSYS Copy Spooled File
CPYSPLF *CMD QSYSV5R4M0 COPY SPOOLED FILE
CPYSPLF *CMD QSYSV6R1M0 COPY SPOOLED FILE
CPYSPLF *CMD QSYS2924 Copy Spooled File
CPYSPLF *CMD QSYS38 Spool-Datei kopieren
Wie gesagt, prüfe mal im Batch welcher CPYSPLF denn aufgerufen wird und qualifiziere diesen ggf.
Wie gesagt, prüfe mal im Batch welcher CPYSPLF denn aufgerufen wird und qualifiziere diesen ggf.
Also Biblotheksliste ist richtig im Subsystem gesetzt, sonst würde ja der Rest auch nicht funktionieren.
Das Senden auf den anderen funktioniert ja auch ohne Probleme. (hätte ich sonst ein gröberes Problem)
Überprüfen kann ich den CPYSPLF dann morgen, Kollegin gibt uns noch mal die Chance das so verhunzte Programm zu testen.
Habt ihr das PTF SI44445 (http://www-01.ibm.com/support/docview.wss?uid=nas3SI44445) (oder eins seiner Nachfolger) installiert?
Ist halt die Frage, ob das Spoolfile AFPDS ist und ob dort größere Ressourcen (z.B. PAGSEG's) überhaupt verwendet werden. Dann könnte es passen, schaden wirds aber nicht.
@pikachu: haben SI61103 installiert
Das Trauerspiel geht weiter. Habe unmittelbar vor dem CPYSPLF ein DMPCLPGM eingebaut und jetzt fliegt mir das Programm beim DMPCLPGM mit MCH3601. Wir sind schon am verzweifeln.
... poste mal die komplette Quelle von dem Programm mit dem dump
/* */
/* CL-Programm: LEACDTZET */
/* Parameter: &EMAIL */
/* Funktion: */
/* Verfasser: A. Nicoladoni 20140730 */
/* */
/*---------------------------------------------------------------- */
/* ÄNDERUNG NR USER WAS */
/*---------------------------------------------------------------- */
/* 20161207 W01161 Nicolado Parameter verlängern */
/* 20170811 W01260 Nicolado Ausgabe der Parameter in Qsysopr */
/*---------------------------------------------------------------- */
PGM PARM(&EMAIL &PGM)
DCL VAR(&EMAIL) TYPE(*CHAR) LEN(200)
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&PFAD) TYPE(*CHAR) LEN(50)
DCL VAR(&DATE) TYPE(*CHAR) LEN(6)
DCL VAR(&SUBJECT) TYPE(*CHAR) LEN(60)
DCL VAR(&LAST) TYPE(*CHAR) LEN(6)
DCL VAR(&JOB) TYPE(*CHAR) LEN(10)
DCL VAR(&NBR) TYPE(*CHAR) LEN(6)
DCL VAR(&PGM) TYPE(*CHAR) LEN(10)
DCL VAR(&SYSTEM) TYPE(*CHAR) LEN(40)
DCL VAR(&NAME) TYPE(*CHAR) LEN(10)
CHGJOB LOG(*SAME *SAME *SECLVL) LOGCLPGM(*YES) +
LOGOUTPUT(*SAME)
CHGVAR VAR(&LAST) VALUE('*LAST')
CHGVAR VAR(&NAME) VALUE(' ')
RTVJOBA JOB(&JOB) USER(&USER) NBR(&NBR) DATE(&DATE)
RTVNETA SYSNAME(&SYSTEM)
IF COND(&SYSTEM *EQ 'ZL958') THEN(DO)
CALL PGM(LEACLUSR) PARM(&USER &NAME)
ENDDO
IF COND(&SYSTEM *NE 'ZL958') THEN(DO)
CHGVAR VAR(&NAME) VALUE(&SYSTEM)
ENDDO
IF COND(&PGM *EQ 'LEAPDTZETT') THEN(DO)
CHGVAR VAR(&PFAD) VALUE('/HOME/' *CAT &USER *TCAT +
'/DT_Zettel_' *CAT %SUBSTRING(&DATE 1 2) *CAT +
'_' *CAT %SUBSTRING(&DATE 3 2) *CAT '_' *CAT +
%SUBSTRING(&DATE 5 2) *CAT '_Inland.PDF')
CHGVAR VAR(&SUBJECT) +
VALUE('DT-Zettel 20' *CAT +
%SUBSTRING(&DATE 1 2) *CAT '.' *CAT +
%SUBSTRING(&DATE 3 2) *CAT '.' *CAT +
%SUBSTRING(&DATE 5 2) *CAT ' Inland - ' +
*CAT &NAME)
DMPCLPGM
CPYSPLF FILE(QSYSPRT) TOFILE(*TOSTMF) +
JOB(&NBR/&USER/&JOB) SPLNBR(*LAST) +
TOMBR(*FIRST) TOSTMF(&PFAD) WSCST(*PDF) +
STMFOPT(*REPLACE) OPNSPLF(*YES)
SNDSMTPEMM RCP((&EMAIL)) SUBJECT(&SUBJECT) ATTACH((&PFAD *PDF +
*BIN)) CHARSET(*UTF8 *DFT) CONTENT(*PLAIN)
GOTO CMDLBL(ENDE)
ENDDO
IF COND(&PGM *EQ 'LEACABSA') THEN(DO)
CHGVAR VAR(&PFAD) VALUE('/HOME/' *CAT &USER *TCAT +
'/DT_Zettel_' *CAT %SUBSTRING(&DATE 1 2) *CAT +
'_' *CAT %SUBSTRING(&DATE 3 2) *CAT '_' *CAT +
%SUBSTRING(&DATE 5 2) *CAT '_Ausland.PDF')
CHGVAR VAR(&SUBJECT) +
VALUE('DT-Zettel 20' *CAT +
%SUBSTRING(&DATE 1 2) *CAT '.' *CAT +
%SUBSTRING(&DATE 3 2) *CAT '.' *CAT +
%SUBSTRING(&DATE 5 2) *CAT ' Ausland - ' +
*CAT &NAME)
DMPCLPGM
CPYSPLF FILE(BZV3AA) TOFILE(*TOSTMF) +
JOB(&NBR/&USER/&JOB) SPLNBR(*LAST) +
TOMBR(*FIRST) TOSTMF(&PFAD) WSCST(*PDF) +
STMFOPT(*REPLACE) OPNSPLF(*YES)
SNDSMTPEMM RCP((&EMAIL)) SUBJECT(&SUBJECT) ATTACH((&PFAD *PDF +
*BIN)) CHARSET(*UTF8 *DFT) CONTENT(*PLAIN)
GOTO CMDLBL(ENDE)
ENDDO
ENDE:
SNDPGMMSG MSG('Inputparameter: ' *cat &EMAIL *CAT ' ' +
*CAT &PGM) TOMSGQ(*SYSOPR)
SNDPGMMSG MSG('Job: ' *cat &NBR *CAT ' ' *CAT &USER *CAT ' ' +
*CAT &JOB) TOMSGQ(*SYSOPR)
SNDPGMMSG MSG('Pfad: ' *cat &PFAD) TOMSGQ(*SYSOPR)
SNDPGMMSG MSG('Betreff: ' *cat &SUBJECT) TOMSGQ(*SYSOPR)
SNDPGMMSG MSG('Datum: ' *cat &DATE) TOMSGQ(*SYSOPR)
SNDPGMMSG MSG('System: ' *cat &SYSTEM) TOMSGQ(*SYSOPR)
SNDPGMMSG MSG('Name: ' *cat &NAME) TOMSGQ(*SYSOPR)
ENDEAUS:
ENDPGM
Der Absturz kommt auf Zeile 58, das ist der DMPCLPGM
Der zugehörige JOBLOG hat 267 Seiten
Kandidat Nr. 1 ist: &EMAIL ist null
einfache Prüfung:- zusätzliche Variable definieren analog zu &EMAIL und dann sollte es knallen, wenn man versuch &EMAIL an selbige zuzuweisen.
Müsste aber auch zu finden sein, wenn man den Callstack nach oben sucht, bzw im angefangenen Dump oder Joblog zu finden sein.
D*B