Anmelden

View Full Version : CPYSPLF unterschiedliches Verhalten im Batch und interaktiv



Seiten : 1 2 3 4 [5] 6 7 8

nico1964
17-08-17, 12:18
@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

Fuerchau
17-08-17, 13:08
Wie gesagt, prüfe mal im Batch welcher CPYSPLF denn aufgerufen wird und qualifiziere diesen ggf.

nico1964
17-08-17, 13:29
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.

Pikachu
17-08-17, 13:49
Habt ihr das PTF SI44445 (http://www-01.ibm.com/support/docview.wss?uid=nas3SI44445) (oder eins seiner Nachfolger) installiert?

Fuerchau
17-08-17, 13:57
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.

nico1964
17-08-17, 14:23
@pikachu: haben SI61103 installiert

nico1964
18-08-17, 10:16
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.

BenderD
18-08-17, 10:24
... poste mal die komplette Quelle von dem Programm mit dem dump

nico1964
18-08-17, 10:33
/* */
/* 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

BenderD
18-08-17, 10:46
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