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.

  1. 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.)

  2. Modify the source to implement your own custom rules.

  3. 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.