Private Pins insertion or sending the job to a user or content based Mailbox can be

You need to insert the following PJL commands at the beginning of the job (HP version, your manufacturer might have different commands):

@PJL SET HOLD=ON
@PJL SET HOLDTYPE=PRIVATE
@PJL SET HOLDKEY="#PIN#"
@PJL SET USERNAME="#USERNAME#"
@PJL SET JOBNAME= "#PRINTDOCNAME#"

The easiest way to handle is that for every user a dedicated PIN is defined directly in the convert.ini configuration file:

[Section with UserName 1]

; of course you can go into the ELP database or AD to get the Pin from there

variable=#PIN#:9876

[Section with UserName 2]

variable=#PIN#:2345

[stethos]

variable=#PIN#:4711

[Insert the PJL commands in the data stream]

; Then the file does have already some PJL commands

Search_binary=@PJL ENTER LANGUAGE
Insert_Binary=@PJL SET HOLD=ON\x0A@PJL SET HOLDTYPE=PRIVATE\x0A@PJL SET HOLDKEY="#PIN#"\x0A@PJL SET USERNAME="#USERNAME#"\x0A@PJL SET JOBNAME="#PRINTDOCNAME#"\x0A

; For Canon printers use this command for the mailbox:

; Insert_Binary=@PJL COMMENT "stethos"\x0A@PJL COMMENT CANPJL SET DEVICE=MAILBOX\x0A@PJL COMMENT CANPJL SET MAILBOXNUMBER=#BOXNUMBER#\x0A

; To speed up

ReadOnlySearchKeys=ON
Search_Only_once= ON

Alternative for example for ASCII data stream: (Initialize ASCII data streams, insert FormFeeds and more)

[GLOBAL]

; Then the file does have already some PJL commands

ELP_INIT_JOB=\x1B%-12345X@PJL SET HOLD=ON\x0A@PJL SET HOLDTYPE=PRIVATE\x0A@PJL SET HOLDKEY="#PIN#"\x0A@PJL SET USERNAME="#USERNAME#"\x0A@PJL SET JOBNAME="#PRINTDOCNAME#"\x0A
ELP_Exit_PCL=\x1B%-12345X

If you need to read an information out of the data stream, and then set a Pin/Mailbox, then this above will not work out, as when ELP passes to read the end of the PJL initialisation, the needed information was not yet found, In that case an OutSearch_ rule needs to be used:

Here an example how this can look like:

[Global]

variable=#MyTourNumber#:0

[Search for Tour Number and read back the number]

Search_Windows_new=TourNo.:

ReadNextWordToVariable=#MyTourNumber#

[Assuming you need to change the found number to the needed box or pin]

; Maybe you can use the tour number directly in the insertion - then this rule is not needed

Trigger_Binary=1
Trigger_Variable=#MyTourNumber#:199
variable=#PIN#:1000

[Insert that PIN to the data stream]

; using out search Method (Check the PJL command before the @PJl ENTER LANGUAGE=PCL command,
; Here in this example it is @PJL SET RESOLUTION=600

Search_Binary=@PJL SET RESOLUTION=600

Add_Binary=@PJL SET HOLD=ON\x0A@PJL SET HOLDTYPE=PRIVATE\x0A@PJL SET HOLDKEY="#PIN#"\x0A@PJL SET USERNAME="#USERNAME#"\x0A@PJL SET JOBNAME="#PRINTDOCNAME#"\x0A

Here an additional example for reading Get a PIN out of an ELP database to secure jobs.

 

Related articles: Reading ELP Variables from Active Directory.