Hallo Bahne,
vielleicht hilft Dir dieses Programm ?

But if the spooled file is already created, you can't use
CHGSPLFA.

That's why I've created the DUPCHGSPLF (Duplicate and Change
Spooled File) command. A flexible command to duplicate a spooled
file and change some of the attributes.

Example :

DUPCHGSPLF JOB(123456/QSYSOPR/BACKUP) SPLFILE(QPJOBLOG) SPLNBR(*LAST) +
LPI(8) CPI(12) FONT(*CPI) PAGRTT(90) OUTQ(MYLIB/MYOUTQ) DRAWER(2) +
OUTBIN(3) NEWUSER(JOE) NEWSPLNAME(BACKUPLOG)

You don't need to specify all parameters, because the default value is *SAME.

Note that you can change the USER and the NAME of the spooled file.
In the example, user JOE will become the owner of the new spooled file,
which will ressort under a QPRTJOB jobname.


/* */
/* \\\\\\\ */
/* ( o o ) */
/*------------------------oOO----(_)----OOo-------------------------*/
/* */
/* Command : DUPCHGSPLF */
/* Version : 2.01 */
/* System : iSeries */
/* Author : Herman Van der Staey */
/* */
/* Description : Duplicate and Change Spooled file */
/* */
/* ooooO Ooooo */
/* ( ) ( ) */
/*----------------------( )-------------( )---------------------*/
/* (_) (_) */
/* */
/* To compile : */
/* */
/* CRTCMD CMD(XXX/DUPCHGSPLF) PGM(XXX/DUPCHGSPLF) + */
/* SRCFILE(XXX/QCMDSRC) */
/* */

DUPCHGSPLF: CMD PROMPT('Duplicate and change SPLF')

PARM KWD(JOB) TYPE(JOBNAME) DFT(*) SNGVAL((*)) +
PROMPT('Job name')

PARM KWD(SPLFILE) TYPE(*NAME) LEN(10) DFT(QPRINT) +
PROMPT('Spooled file name')

PARM KWD(SPLNBR) TYPE(*INT4) DFT(*LAST) RANGE(1 +
9999) SPCVAL((*ONLY 0) (*LAST -1)) MIN(0) +
PROMPT('Spooled file number')

PARM KWD(LPI) TYPE(*INT4) RSTD(*YES) DFT(*SAME) +
SPCVAL((*SAME 0) (6 60) (8 80) (3 30) (4 +
40) (7.5 75) (7,5 75) (9 90) (12 120)) +
MIN(0) PROMPT('Lines per inch')

PARM KWD(CPI) TYPE(*INT4) RSTD(*YES) DFT(*SAME) +
SPCVAL((*SAME 0) (10 100) (5 50) (12 120) +
(13.3 133) (13,3 133) (15 150) (16.7 167) +
(16,7 167) (18 180) (20 200)) MIN(0) +
PROMPT('Characters per inch')

PARM KWD(FONT) TYPE(*CHAR) LEN(5) RSTD(*YES) +
DFT(*SAME) VALUES(*SAME *CPI) PROMPT('Font')

PARM KWD(PAGRTT) TYPE(*INT4) RSTD(*YES) +
DFT(*SAME) VALUES(0 90 180 270) +
SPCVAL((*AUTO -1) (*DEVD -2) (*COR -3) +
(*SAME -4)) PROMPT('Degree of page rotation')

PARM KWD(OUTQ) TYPE(OUTQ) DFT(*SAME) +
SNGVAL((*SAME)) MIN(0) PROMPT('Output queue')

PARM KWD(DRAWER) TYPE(*INT4) DFT(*SAME) RANGE(1 +
255) SPCVAL((*SAME 0) (*E1 -1)) +
PROMPT('Source drawer')

PARM KWD(FORMTYPE) TYPE(*CHAR) LEN(10) DFT(*SAME) +
SPCVAL((*SAME) (*STD)) PROMPT('Formtype')

PARM KWD(USRDTA) TYPE(*CHAR) LEN(10) DFT(*SAME) +
SPCVAL((*SAME)) PROMPT('User specified data')

PARM KWD(HOLD) TYPE(*CHAR) LEN(10) RSTD(*YES) +
DFT(*SAME) VALUES(*YES *NO) +
SPCVAL((*SAME)) PROMPT('Hold file before +
written')

PARM KWD(SAVE) TYPE(*CHAR) LEN(10) RSTD(*YES) +
DFT(*SAME) VALUES(*YES *NO) +
SPCVAL((*SAME)) PROMPT('Save file after +
written')

PARM KWD(DUPLEX) TYPE(*CHAR) LEN(10) RSTD(*YES) +
DFT(*SAME) VALUES(*YES *NO *TUMBLE +
*FORMDF) SPCVAL((*SAME)) PROMPT('Print on +
both sides (Duplex)')

PARM KWD(OUTBIN) TYPE(*INT4) DFT(*SAME) RANGE(1 +
65535) SPCVAL((*SAME -1) (*DEVD 0)) +
PROMPT('Output bin')

PARM KWD(NEWUSER) TYPE(*NAME) LEN(10) DFT(*SAME) +
SPCVAL((*SAME)) PROMPT('New User')

PARM KWD(NEWSPLNAME) TYPE(*NAME) LEN(10) +
DFT(*SAME) SPCVAL((*SAME) (*JOBNAME) +
(*USER)) PROMPT('New Spool file name')

PARM KWD(DLTSPLF) TYPE(*CHAR) LEN(10) RSTD(*YES) +
DFT(*NO) VALUES(*YES *NO) PROMPT('Delete +
file after duplication')

OUTQ: QUAL TYPE(*NAME) LEN(10) MIN(1)
QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) +
SPCVAL((*CURLIB) (*LIBL)) PROMPT('Library')

JOBNAME: QUAL TYPE(*NAME) LEN(10) MIN(1)
QUAL TYPE(*NAME) LEN(10) DFT(' ') SPCVAL((' ')) +
CHOICE('Name') PROMPT('User')
QUAL TYPE(*CHAR) LEN(6) DFT(' ') RANGE(000000 +
999999) SPCVAL((' ')) FULL(*YES) +
CHOICE('000000-999999') PROMPT('Number')

Gruss TARASIK