Your best bet is to execute the following command:
DSPUSRPRF USRPRF(*ALL) OUTPUT(*OUTFILE) OUTFILE(yourlib/USERFILE)
This creates a file with basic information for each user on your system. Use this file in your DCLF and get rid of the CPYSPLF and other code. On each record is a 150 byte field that contains all special authorities concatenated together. Scan the field for a value of *SECADM (you can use the QCLSCAN API). If you find the string then run your CHGUSRAUD against the user profile name on the record.