On 09-Apr-2015 06:52 -0500, Jan Grove Vejlstrup wrote:
I want to change the owner of all spooled files that are placed in a
specific OUTQ. I know the attribute DTAQ of the OUTQ, but the
dataqueue here is only filled if the status of the spooled file is
RDY. I want to act on spooled files with status HLD too. I change the
owner with APIs.
<
http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzalu/rzaludataq.htm>
_Data queue support_
"There are *two different types of data queue support* for spooled files.
• _Data queue support on output queues_
Support is available to optionally associate a data queue with an
output queue using the Create Output Queue (CRTOUTQ) or Change Output
Queue (CHGOUTQ) command. Entries are logged in the data queue when
spooled files are in ready (RDY) status on the output queue.
...
• _Environment variable data queue support_
Using the Add Environment Variable (ADDENVVAR) or Change Environment
Variable (CHGENVVAR) command, you can associate a data queue with a job
or the system. As spooled files are created, the entries are logged in
the data queue. Using the Receive Data Queue (QRCVDTAQ) API to receive
information from the data queue, a user program can determine when a
spooled file has been created by the job or by the system. Use the
environment variable data queue support if you need to determine the
identity of a spooled file that was stored under a QPRTJOB and was
created by a job such as a remote command system job.
Using the CL command ADDENVVAR, and specifying a fully qualified data
queue name for the environment variable QIBM_NOTIFY_CRTSPLF, you can
associate a data queue with a job or the system.
The command use is as follows:
ADDENVVAR ENVVAR(QIBM_NOTIFY_CRTSPLF)
VALUE('*DTAQ <library name>/<data queue name>')
LEVEL(*JOB | *SYS)
The data queue must be created with a record length of at least 144
bytes. The data queue must also have a public authority of *USE, or you
need to grant the QSPL user profile *USE private authority to the data
queue. You must ensure that the containing library has a public
authority of *EXECUTE, or you need to grant the QSPL user profile
*EXECUTE private authority to the library. The format of the CRTDTAQ
command is:
CRTDTAQ DTAQ (<library name>/<data queue name>) MAXLEN(144) AUT(*USE)
If you want the data queue information to have dates and time in
Coordinated Universal Time (UTC), you can use the same environment
variable with a different value. Replace the *DTAQ with *DTA2 in the
ADDENVVAR command above. This value causes a type 03 data queue entry to
be placed in the data queue instead of a type 02 entry. The command
format is as follows:
ADDENVVAR ENVVAR(QIBM_NOTIFY_CRTSPLF)
VALUE('*DTA2 <library name>/<data queue name>')
LEVEL(*JOB | *SYS)
The length of the type 03 data queue entry is 200 bytes. Use the
following command format to create a type 03 data queue:
CRTDTAQ DTAQ (<library name>/<data queue name>) MAXLEN(200) AUT(*USE)
Once a data queue is associated with a job or the system, any spooled
file created by the job or system will automatically have an entry
placed in the data queue. For this action to occur, the user or user
profile QSPL must have authorization to the data queue.
Note: An environment variable that is specified at the job level takes
precedence over the same environment variable specified at the system level.
..."
I want to restrict the access to the spooled files in the OUTQ to
very few users. The original owners shall not be permitted to access
the spooled files or change their the attributes.
Any ideas?
OUTQ: Authority To Check (AUTCHK)
OUTQ: Operator Controlled (OPRCTL)
PRTF: Spool File Owner (SPLFOWN)
As an Amazon Associate we earn from qualifying purchases.