Operating System - OpenVMS
1747984 Members
4538 Online
108756 Solutions
New Discussion

Re: Need to configure printer for specific trays.

 
Anup_Varghese
Occasional Visitor

Need to configure printer for specific trays.

Hi All,

 

Need your help in configuring the printer trays. My requirement is that when a pirticular print request is sent using a print form for example tray 2. the printer has to select the paper from tray 2 and if there is no paper in tray 2 it should wait for the paper to be loaded in tray 2.

 

The below are the steps that i have taken till now, but still it is not correct.

 

I have created a test.TLB file and defined the forms for specific trays the print has to take it.

 

Below is the procedure that i have user to create the Test.TLB--> kindly advice if i need to change any.

 

Edit/Read CREATE_TEST_ESC.COM

$! Orientation  0 = portrait, 1= landscape

$!<ESC>&l#O

$ PORTRAIT      = "<ESC>&l0O"

$ LANDSCAPE     = "<ESC>&l1O"

$ PORTRAIT_REV  = "<ESC>&l2O"

$ LANDSCAPE_REV = "<ESC>&l3O"

$!

$ SIMPLEX       = "<ESC>&l0S"

$ DUPLEX_L      = "<ESC>&l1S"

$ DUPLEX_S      = "<ESC>&l2S"

$!

$! Margins

$!<ESC>&l#E     (top)

$!<ESC>&l#F     (length)

$!<ESC>&a#L     (left)

$!<ESC>&a#M     (right)

$! Line spacing (lines/inch)

$!<ESC>&l#D

$! Vertical Motion Index (VMI)

$!<ESC>&l#C

$! Horizontal Motion Index (HMI)

$!<ESC>&k#H

$! Primary pitch (char/inch)

$!<ESC>(s#H

$!<ESC>&k0S     (10)

$!<ESC>&k2S     (compressed 16.5)

$!<ESC>&k4S     (elite 12)

$!

$ SIZE_STANDARD = "<ESC>&k0S<ESC>&l10C<ESC>(s2H"

$ SIZE_MEDIUM   = "<ESC>&k4S<ESC>&l8C<ESC>(s12H"

$ SIZE_LONG     = "<ESC>&k4S<ESC>&l5.6C<ESC>(s12H"

$! SIZE_SMALL    = "<ESC>&k2S<ESC>&l5.6C<ESC>(s18H<ESC>&k5.25H"

$ SIZE_SMALL    = "<ESC>&k2S<ESC>&l5.25C<ESC>(s15.2H<ESC>&k7H"

$ SIZE_VSMALL   = "<ESC>&k2S<ESC>&l3C<ESC>(s20H<ESC>&k5.25H"

$ SIZE_VVSMALL  = "<ESC>&k2S<ESC>&l3C<ESC>(s22.5H<ESC>&k5.25H"

$ SIZE_VVVSMALL = "<ESC>&k2S<ESC>&l2C<ESC>(s30H<ESC>&k3H"

$!

$! voor de charaterset staat hier elnulu ipv 10nulu

$ PC8_STANDARD  = "<ESC>(l0U<ESC>(s3T"

$ PC8_MEDIUM    = "<ESC>(l0U<ESC>(s3T"

$ PC8_SMALL     = "<ESC>(l0U<ESC>(s0T"

$!

$ BORDER_L60X184 = "<ESC>&l8E<ESC>&l60F<ESC>&a5L<ESC>&a189M"

$ BORDER_L60X132 = "<ESC>&l6E<ESC>&l65F<ESC>&a1L<ESC>&a132M"

$ BORDER_P90X132 = "<ESC>&l8E<ESC>&l90F<ESC>&a1L<ESC>&a132M"

$ BORDER_P90X124 = "<ESC>&l8E<ESC>&l90F<ESC>&a8L<ESC>&a132M"

$ BORDER_P60X80  = "<ESC>&l5E<ESC>&l60F<ESC>&a7L<ESC>&a87M"

$ BORDER_P62X90  = "<ESC>&l3E<ESC>&l62F<ESC>&a2L<ESC>&a95M"

$ BORDER_P50X80  = "<ESC>&l10E<ESC>&l50F<ESC>&a7L<ESC>&a87M"

$ BORDER_MAX     = "<ESC>&l1E<ESC>&l255F<ESC>&a0L<ESC>&a255M"

$!

$! SPECIAL FORMS FOR PBS

$!

$ PBS_P64X130    = "<ESC>(8U<ESC>(s0p16.67h8.5v0s0b0T<ESC>&l0O"

$ PBS_P64X94     = "<ESC>(8U<ESC>(s0p12.00h8.5v0s0b4099T<ESC>&l0O"

$ PBS_L43X132    = "<ESC>(8U<ESC>(s0p12.00h8.5v0s0b4099T<ESC>&l1O"

$!

$! INPUT TRAY SELECTIE

$!

$ TRAY1 = "<ESC>&l4H"

$ TRAY2 = "<ESC>&l1H"

$ TRAY3 = "<ESC>&l5H"

$ TRAY4 = "<ESC>&l8H"

$!

$! OUTPUT TRAY SELECTIE

$!

$ OUTTRAY1 = "<ESC>&l101G"

$!

$!!!! INIT  = "<ESC>P"

$ STOP  = "<ESC>\"

$ RESET = "<ESC>]VMS;2<ESC>\<ESC>P<ESC>E<ESC>\"    ! VOOR 7 BITS POORT

$!!!! INIT  = "<ESC>]VMS;2<ESC>\<ESC>(s0P<ESC>&l26A<ESC>9"

$!!!! INIT  = "<ESC>P<ESC>(s0P<ESC>&l26A<ESC>9"  ! ORG

$ INIT  = "<ESC>P<ESC>E<ESC>\<ESC>P<ESC>(s0P<ESC>&l26A<ESC>9"  ! Met reset voor

$!!! RESET = "<FF><ESC>]VMS;2<ESC>\<ESC>P<ESC>E<ESC>\^D"

$!

$! "esc P" en "esc \" zorgen ervoor dat printsymbiont alles ertussen doorlaat

$! naar de printer zonder er iets mee te doen.

$!

$! "esc]vms;2esc\" zorgt ervoor dat printsymbiont geen ff achter de

$! printjob genereert.

$!

$ POSTSCRIPT = "<ESC>P<ESC>E<ESC>%-12345X@PJL Enter language = PostScript<LF>"

$ PCL        = "<ESC>%-12345X@PJL Enter language = PCL<LF><ESC>\"

$!

$! General SIMPLEX

$!

$ OPEN/WRITE OUTPUT APH$SCRATCH:TEST.TXT

$ WRITE OUTPUT init,outtray1,tray1,simplex,border_p90x132,stop

$ CLOSE OUTPUT

$!

$! TRAY 1 SIMPLEX

$!

$ OPEN/WRITE OUTPUT APH$SCRATCH:TEST_TRAY1.TXT

$ WRITE OUTPUT init,outtray1,tray1,simplex,border_p60x80,stop

$ CLOSE OUTPUT

$!

$! TRAY 2 SIMPLEX

$!

$ OPEN/WRITE OUTPUT APH$SCRATCH:TEST_TRAY2.TXT

$ WRITE OUTPUT init,outtray1,tray2,simplex,border_p60x80,stop

$ CLOSE OUTPUT

$!

$! TRAY 3 SIMPLEX

$!

$ OPEN/WRITE OUTPUT APH$SCRATCH:TEST_TRAY3.TXT

$ WRITE OUTPUT init,outtray1,tray3,simplex,border_p60x80,stop

$ CLOSE OUTPUT

$!

$! TRAY 4 SIMPLEX

$!

$ OPEN/WRITE OUTPUT APH$SCRATCH:TEST_TRAY4.TXT

$ WRITE OUTPUT init,outtray1,tray4,simplex,border_p60x80,stop

$ CLOSE OUTPUT

$!

$!

$ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]TEST.TLB

$!

$ LIBRARY/INSERT SYS$COMMON:[SYSLIB]TEST.TLB/TEXT APH$SCRATCH:TEST

$ LIBRARY/INSERT SYS$COMMON:[SYSLIB]TEST.TLB/TEXT APH$SCRATCH:TEST_TRAY1

$ LIBRARY/INSERT SYS$COMMON:[SYSLIB]TEST.TLB/TEXT APH$SCRATCH:TEST_TRAY2

$ LIBRARY/INSERT SYS$COMMON:[SYSLIB]TEST.TLB/TEXT APH$SCRATCH:TEST_TRAY3

$ LIBRARY/INSERT SYS$COMMON:[SYSLIB]TEST.TLB/TEXT APH$SCRATCH:TEST_TRAY4

$!

$ EXIT

[EOB]

 

Then i have used the below procedure to create the forms--> please advice on any correction required.

 

Edit/Read CREATE_MFP_TESTING_FORMS.COM

$! General SIMPLEX

$ DEFINE/FORM/STOCK=TEST/WIDTH=80/LENGTH=60/MARGIN=(BOTTOM=0) -

/SETUP=(TEST)  TEST 1995

$! Tray 1 SIMPLEX

$ DEFINE/FORM/STOCK=TEST/WIDTH=80/LENGTH=60/MARGIN=(BOTTOM=0) -

/SETUP=(TEST_TRAY1)  TEST_TRAY1  1996

$!

$! Tray 2 SIMPLEX

$ DEFINE/FORM/STOCK=TEST/WIDTH=80/LENGTH=60/MARGIN=(BOTTOM=0) -

/SETUP=(TEST_TRAY2)  TEST_TRAY2  1997

$!`

$! Tray 3 SIMPLEX

$ DEFINE/FORM/STOCK=TEST/WIDTH=80/LENGTH=60/MARGIN=(BOTTOM=0) -

/SETUP=(TEST_TRAY3) TEST_TRAY3  1998

$!

$! Tray 4 SIMPLEX

$ DEFINE/FORM/STOCK=TEST/WIDTH=80/LENGTH=60/MARGIN=(BOTTOM=0) -

/SETUP=(TEST_TRAY4) TEST_TRAY4  1999

$!

$ EXIT

 

I have configured the test print queue as below

 

Printer queue TEST1, idle, on SERVER1::"TEST1:9100",
mounted form TEST_TRAY3 (stock=TEST)
  /AUTOSTART_ON=(SERVER1::"TEST1:9100",SERVER2::"TEST1:9100")
  /BASE_PRIORITY=4 /BLOCK_LIMIT=(1,"") /CHAR=(0) /DEFAULT=(FEED,FORM=TEST)
  /LIBRARY=TEST Lowercase /OWNER=[SYSTEM] /PROCESSOR=UCX$TELNETSYM
  /PROTECTION=(S:E,O:D,G:R,W:W) /SEPARATE=(RESET=(TEST_RESET)) 

 

The result that is currently enabled is that we are getting the out correctly for the TRAY2 alone. for the other trays it is not configured correctly.

 

Kindly help me in proceeding further.

 

Regards,

Anup.

3 REPLIES 3
Mark Hurcombe
Advisor

Re: Need to configure printer for specific trays.

Normally <esc> is used to repesent the escape character and you need to replace the text "<ESC>" with the actual byte value (decimal value is 27 or Hex 1B). You can generate an escape on the keyboard by holding down the control key and pressing [ (that is the left square bracket key).

Sorry if you already realise this or in fact your printer can interpret the literal <ESC> to be the escape character.

 

The other thing is that if your combined escape sequences to select the tray are more than 80 characters, the form definition will truncate them at 80 characters.

 

I don't have our VMS system running right now but from memory you need to add /truncate to your form definitions to prevent them being truncated at 80 characters.

 

Cheers

Anup_Varghese
Occasional Visitor

Re: Need to configure printer for specific trays.

Hi Mark,

 

Thanks for the reply, but when i tried to create the escape character by the methord you have mentioned is not an sucess

 

Anup>
%BES, bad escape sequence --> used ctrl + [
Anup> show sys
VAX/VMS V5.5-2  on node XXXXX  16-APR-2014 11:14:45.56   Uptime  359 19:42:51

 

"Normally <esc> is used to repesent the escape character and you need to replace the text "<ESC>" with the actual byte value (decimal value is 27 or Hex 1B). You can generate an escape on the keyboard by holding down the control key and pressing [ (that is the left square bracket key)."

 

Kindly let me know if this is same for the version that i am using.

 

Regards,

Anup.

 

 

MarkOfAus
Valued Contributor

Re: Need to configure printer for specific trays.

Try this:

$ ESC[0,7]        == 27

 

Then use it like this:

 

$ PORTRAIT      = ESC + "&l0O"

 

etc, etc and so on...