Gad, 
We used to use DLTEXPSPLF, but too slow and too much maintenance as you have noted.
We purge all spoolfiles daily by using an AJS job.
Very fast, runs in under 1 minute.
We use 45 days as a default retention for each outq. If an outq needs to kept longer/or shorter we use that value instead for that outq.
DSPOBJD OBJ(*ALL/*ALL) OBJTYPE(*OUTQ) DETAIL(*FULL) OUTPUT(*OUTFILE
CLP below
Read from work file created above
Retrieve all spoolfiles of each outq using IBM API QSPROUTQ 
CALL       PGM(QSPROUTQ) PARM(&RCVINF &RCVLEN &FORMAT + 
             &OBJLIB &APIERR) /* Retrieve Output Queue +
             Information (QSPROUTQ) API */              
TAATOOL CMD
DLTOLDSPLF OUTQ(&ODLBNM/&ODOBNM) FILE(*ALL) USER(*ALL) +  
             EXCLUDEUSR(*NONE) JOB(*ALL) +                
             EXCLUDEJOB(*NONE) FORMTYPE(*ALL) +           
             USRDTA(*ALL) STS(*ALL) ASPDEV(*) +           
             RETAINDAYS(&RETENTION) QPJOBLOG(999) +       
             QPSRVDMP(999) MOVTOOUTQ(*LIBL/*NONE) +       
             ACTION(&ACTION) COMPDATE(*CRTDAT) +          
             SUMMARY(*YES)    
Go to read
If interested, I can post or send you the entire source.
Paul                          
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Gad Miron
Sent: Sunday, April 05, 2020 7:01 AM
To: midrange-l@xxxxxxxxxxxxxxxxxx
Subject: CHGCMDDFT CRTPRTF
Hello pundits
We run weekly a  DLTEXPSPLF to purge old spool files.
This method relies on (all) spool files having an expiration date so I changed all PRTFs to have EXPDATE(*DAYES) and DAYS(45) and now all spool files are stamped with an expiration date upon creation.
However,
not all developers remembers/cares to specify  EXPDATE/DAYS parameters when creating/changing PRTFs  and so there are now spool files taht are not marked with expiration date.
So I turned to CHGCMDDFT for CRTPRTF.
I've found out that you can do
CHGCMDDFT CMD(CRTPRTF) NEWDFT('EXPDATE(*DAYS)') but you *cannot* do CHGCMDDFT CMD(CRTPRTF) NEWDFT('DAYS(30)') you get a "No default value exists for keyword DAYS" MSG
Anyone willing/able to advise?
TIA
Gad
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: 
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at 
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link: 
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.