Spooled File Load Exit Program (PUISPLDEXT)
First available in Profound UI 5.10.0
The Spooled File Load Exit Program can be used to write custom logic that restricts which spooled files a user is allowed to see on the PUIWRKSPLF display. This program is called once for each row that will be loaded into the Work With Spooled Files grid, and it is able to return whether the user should be allowed to display that row or not.
The parameters to this exit program are as follows:
1 | Spooled Subfile Record | Input | Data structure |
2 | Allow Indicator | Output | Indicator |
Spooled Subfile Record = A copy of the row that will be loaded into the grid that is displayed on the PUIWRKSPLF screen. The fields in this data structure are described below.
Allow indicator = an indicator that the exit program should set to *ON to allow the user to view this row, or *OFF otherwise.
The Spooled Subfile Record data structure should be defined the same as the subfile record. We recommend that you use the RPG EXTNAME feature to do this. For example:
D SFLREC_t e ds extname(PUIWRKSPLD:LISTSFL)
D qualified
D template
D PUISPLEXIT PI
D Rec likeds(SFLREC_t)
D Allow 1n
This data structure will contain the following fields:
ASP = ASP number
ASPDEV = ASP Device name
COPIESLEFT = Copies left to be printed
CRTDATE = Spooled file create date (*ISO)
CRTTIME = Spooled file create time
CURPAGE = Current Page
DEVICE = Print device
DEVTYPE = Print device type
FILENBR = Spooled file number
FORMTYPE = Form type
JOBNAME = Job name that created file
JOBNBR = Job number that created file
JOBUSER = Job userid that created file
LASTUSED = Last used date (*ISO)
OUTQ = Output Queue
OUTQLIB = Output Queue Library
PRIORITY = Spooled File Priority
SEL = Whether Spooled File is Selected
SPLNAME = Spooled file name
SPLSIZE = Spooled file size
STS = Spooled file status
SYSNAME = System that created spooled file
TOTPAGES = Total pages in spooled file
USERDATA = Spooled file user data field
USERID = Userid field
For example, if you do not want your users to see job logs, you could code:
Allow = *ON;
if rec.SPLNAME = 'QPJOBLOG';
Allow = *OFF;
endif;
To use this exit program we recommend that you follow these steps. These steps assume you installed Profound UI into a library named PROFOUNDUI. If not, please change the library name in the following instructions to the one where the product has been installed.
Copy the member named PUISPLDEXT from the PROFOUNDUI/QRPGLESRC file into your own source library. (Do not modify the source in the Profound UI library, it is replaced each time you upgrade the product.)
Modify the source to implement your own custom rules.
Compile the program object into a program named PUISPLDEXT in the PROFOUNDUI library. Unlike the source, the object is not replaced when the product is updated.