Thank you Daniel,
I will give that a try first.
Patrick
 
From: jbase@googlegroups.com <jbase@googlegroups.com> On Behalf Of Daniel Klein
Sent: Thursday, July 12, 2018 5:51 AM
To: jbase@googlegroups.com
Subject: Re: FORM QUEUE NAME and FORM QUEUE NUMBER
 
Add -f to the lp command. That should eliminate the additional formfeed. If you 
are still getting one then check to make sure the page skip is set to zero for 
the queue.
 
On Thu, Jul 12, 2018 at 8:43 AM, Patrick McCann <osage1...@gmail.com 
<mailto:osage1...@gmail.com> > wrote:
Thank you for the example. I did a cut and paste and ran it.
 
It was good to see the file it created and helped me understand the file 
contents.
 
I assume using the -h<file> option basically replaces using the STARTJOB in my 
jspform_custom file?  If so, I take it that the ENDJOB will have to stay? 
Although it seems like the printer is automatically resetting itself. I need to 
confirm that though..
 
Thank you,
Patrick

On Wednesday, July 11, 2018 at 9:27:09 AM UTC-7, ma...@proman.com 
<mailto:ma...@proman.com>  wrote:
This is a quick and dirty I have used in the past, which can be used in 
conjunction with STARTJOB or to write the commands to a text file.   
 
Syntax is 
PROGNAME option {TEXTFILEPATH} 
e.g. HPCTRL DUMMY C:\temp\HP17CPI.TXT
 
Then as Dan pointed out add the -h C:\temp\HP17CPI.TXT as part of the SP-CREATE 
or SP-DEVICE statement.
 
  ESC = CHAR(27)
  CPI17 = ESC:'&k2S'
  IF SENTENCE(1) = "MARGIN" THEN
    CPI17:= ESC:'&a7L'
  END
  IF SENTENCE(2) THEN
    OPENSEQ SENTENCE(1) TO TEXTPATH ELSE NULL
    WRITESEQ CPI17 ON TEXTPATH ELSE STOP 'WRITESEQ'
    CLOSESEQ TEXTPATH
  END ELSE
    PRINT CPI17:
  END
 
 
From: jb...@googlegroups.com <mailto:jb...@googlegroups.com>  
<jb...@googlegroups.com <mailto:jb...@googlegroups.com> > On Behalf Of Daniel 
Klein
Sent: Wednesday, July 11, 2018 8:53 AM
To: jb...@googlegroups.com <mailto:jb...@googlegroups.com> 
Subject: Re: FORM QUEUE NAME and FORM QUEUE NUMBER
 
What Mark was alluding to was to use the -h<file> option with the 'lp' command 
when you define the form queue with SP-CREATE, e.g.

SP-CREATE MYQUEUE lp -h<file> -d<device>

where <file> contains the PCL sequence and <device> is the printer name.
You would need to specify the full path to the <file>.
 
All of this assumes you are on Windows.
 
To see all  of the 'lp' options:
 
lp -?
 
 
On Wed, Jul 11, 2018 at 9:29 AM, Patrick McCann <osag...@gmail.com 
<mailto:osag...@gmail.com> > wrote:
Hi Mark,
Thank you for the information. This sounds like what might be happening.
Can you provide me a quick example of the process you are describing?
That would be very helpful in understanding how to set-up and test it.
Thank you,
Patrick

On Wednesday, July 11, 2018 at 12:45:49 AM UTC-7, Mark Hogden wrote:
We have found that many HP printer will page eject when the basic program is 
called to change font etc, and almost always if the reset command is included.
In our experience it's generally more reliable to write out the PCL commands to 
files and attach them to the queues using the -h option. 
On Jul 11, 2018, at 04:04, Patrick McCann <osag...@gmail.com 
<mailto:osag...@gmail.com> > wrote:
Hi Daniel,
 
I copied jspform_deflt to jspform_custom following your example.
 
I then created a small program called HP_PCL_C12L coded like this -
 
      $INCLUDE FILE.LIB.CUS HP.COMMANDS
      $INCLUDE FILE.LIB.CUS HP.PCL
      *
      PRINTER ON
      PRINT HP.LANDSCAPE:HP.COMPRESS
      PRINT "THIS IS A TEST LINE 1"
      PRINT "THIS IS A TEST LINE 2"
      *
      STOP
      END
 
And another called HP_RESET coded like this -
 
      $INCLUDE FILE.LIB.CUS HP.COMMANDS
      $INCLUDE FILE.LIB.CUS HP.PCL
      *
      PRINT HP.RESET
      *
      STOP
      END
 
I then added the following to the jspform_custom file
 
STARTJOB HP_PCL_C12L
 
and
 
ENDJOB HP_RESET
 
Here is my testing and results -
SP-ASSIGN =F4
SP-TYPE F4 custom
LIST PTRS LPTR
 
On the first page, I do see the two "TEST" lines printed in the HP_PCL_C12L 
routine and they print correctly e.g. landscape and compressed print.
That is the only thing on the first page. Almost as if it is its own unique 
print job.
Then an empty page
Then the PTRS file listing in portrait and larger print. e.g. normal print.
Then an empty page.
 
Based on this it does call the HP_PCL_C12L routine from jsform_custom. It just 
doesn't work as I expected it to.
I guess I am not understanding something about this flow? Is using a program to 
"PRINT" the PCL codes correct?
 
The other test I tried was printing a job from the Spooler.
SP-ASSIGN =F4
SP-TYPE F4 custom
SP-EDIT 3
Then spool the job.
The results were that ONLY the spooled job printed. It printed portrait and 
larger font e.g. normal print
The two "TEST" lines are NOT printed. It appears the HP_PCL_C12L routine is NOT 
called from jspform_custom.
Then a blank page
 
Is my understanding of "The 'set_pcl' and 'reset_pcl' would be your programs 
that send the PCL sequences to the printer." correct? I.e. use of a basic 
program to send the codes?
 
Thank you for your help.
Patrick
 
 
On Tuesday, July 10, 2018 at 4:25:44 AM UTC-7, Daniel Klein wrote:
Yes, the way this is done is to use a custom form type. Take a look at 
'$JBCRELEASEDIR/config/jspform_deflt'.
 
Use
 
STARTJOB set_pcl
and
ENDJOB reset_pcl
 
to set the PCL sequences before and after print job are despooled.
 
The 'set_pcl' and 'reset_pcl' would be your programs that send the PCL 
sequences to the printer.
 
Don't forget to assign the custom form type to the form queue. For example, if 
the form queue is HPLASERJET and the form type is 'jspform_custom' then
 
SP-TYPE HPLASERJET custom
 
will assign 'custom' to the HPLASERJET queue.
 
Daniel Klein
 
On Fri, Jul 6, 2018 at 11:49 PM, Patrick McCann <osag...@gmail.com 
<mailto:osag...@gmail.com> > wrote:
Again, Thank you Daniel. Very good detailed information. I will put this away 
for later reference.
 
You have helped me get past several hurdles and helped me with my understanding 
of the the Spooler.
 
I have one last hurdle related to printing that I am still trying to figure out 
a solution for.
 
I will go ahead and describe it here for you and any others to offer any 
suggestions or possible solutions.
 
Problem -
I only have one printer. An HP Laserjet 500 MFP M525.
I need to print several different report formats to this printer e.g. 80 
column, 132 column, and varying font sizes.
 
In my previous environment (UniVerse on a Windows 2k Server) I was able to 
modify the SP.ASSIGN program to use a file I created.
The SP.ASSIGN was a program that executed the SETPTR command behind the scenes. 
SETPTR in that environment had more options than are available in jBASE 5.7. 
 
I was able to utilize these other options to accomplish my requirements. By 
reading the file I created that held the options I wanted, everything was 
correctly set during assignment of the printer (SP-ASSIGN).
Here are a couple examples of records from the file I created - It held the 
printer, page width and length, top and bottom margins, print mode, font type, 
size, and the other available options I needed.
I would parse out the forms assignment from the SP-ASSIGN, read the file, get 
the options, and execute the SETPTR command with the required options.
0
TOP
.P
TOP
001 HP5SI
002 ,132,59,0,0,
003 GDI,FONTNAME Courier,FONTSIZE 7
004
005
006 132 COLUMN
 
3
TOP
.P
TOP
001 HP5SI
002
003
004
005 3
006 &HOLD& OUTPUT
BOTTOM
 
jBASE support mentioned I would need to use jspforms which I will start 
researching, but thought I would ask the question now for any 
comments/suggestions.
 
Thank you,
Patrick

On Thursday, July 5, 2018 at 3:22:57 PM UTC-7, Daniel Klein wrote:
You are correct, the 'n' in this case is the channel number and is used with 
PRINT ON.

These statement groups are equivalent (using the queue names from my original 
post):

SP-ASSIGN 42=VENUS
SP-ASSIGN 52=EARTH

SP-ASSIGN F2 R42
SP-ASSIGN F3 R52

SP-ASSIGN Q2 R42
SP-ASSIGN Q3 R52

SETPTR 42,,,,,,VENUS
SETPTR 52,,,,,,EARTH
[I'm not as fluent with SETPTR but I do know that the first parameter is the 
channel. Not sure if I got the right number of commas in there. However, I find 
the SP-ASSIGN syntax more intuitive and can do most, if not all, of the things 
SETPTR can.]

Once the channels are assigned to the queues, you can do things like this in a 
BASIC program

PRINTER ON 42
PRINTER ON 52
PRINT ON 52 "Launch the rocket to VENUS"  ;* Prints to the EARTH form queue
PRINT ON 42 "Houston, we have a problem!" ;* prints to the VENUS form queue
Daniel
Don’t believe everything you read on the Internet...unless I wrote it. ;-)
 
On Thu, Jul 5, 2018 at 1:32 PM, Mark Hogden <ma...@proman.com 
<mailto:ma...@proman.com> > wrote:
=fqname is the same as 0=fqname which equates to the default PRINT in JBC
1=fqname is used for PRINT ON 1 
You can go up to 99=fqname if memory serves.
 
 
 
 

On Jul 5, 2018, at 09:24, Patrick McCann <osag...@gmail.com 
<mailto:osag...@gmail.com> > wrote:
Hi  Daniel,
 
Thank you for the excellent and detailed information. It really gives me a good 
understanding between the two.
 
Now having a better understanding of the two I have some follow-up questions I 
am hoping you might be able to provide some help on.
 
I would like to understand the following -
Rn assigns specific report number n. Only valid if an equals sign (=), is not 
present in the command line.
 
Is this command in anyway related to the form queue number? I don't believe so, 
but am not sure. I think it is used with "PRINT ON {n}", but would like to know 
for sure.
 
And last, in the following command -
SETPTR {channel},,,,,,BANNER 'Some user text'
Is {channel} in anyway associated with the form queue number or is it just used 
to set-up the page characteristics for the "PRINT ON..."?
 
Thanks again for your help.
 
Patrick

On Wednesday, July 4, 2018 at 7:47:37 PM UTC-7, Patrick McCann wrote:
Hi,
 
I am hoping somebody can help make sense of this for me.
 
I am trying to understand the difference/relationship/etc... between the two. I 
have read the documentation and still can't figure it out.
 
Looking at the following from the documentation, it talks about the queue 
number, and only valid if NO (=) sign is present.
 
Fn assigns specific form queue number n. Only valid if an equals sign (=), is 
not present in the command line.
 
Does every form queue name have an associated form queue number? If so, how it 
is defined? Can it be changed? What is the purpose?
 
Any help on this would be greatly appreciated.
 
Thank you,
Patrick
-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.
 
To post, send email to jb...@googlegroups.com <mailto:jb...@googlegroups.com> 
To unsubscribe, send email to jbase-un...@googlegroups.com 
<mailto:jbase-un...@googlegroups.com> 
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+un...@googlegroups.com <mailto:jbase+un...@googlegroups.com> .
For more options, visit https://groups.google.com/d/optout.
-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.
 
To post, send email to jb...@googlegroups.com <mailto:jb...@googlegroups.com> 
To unsubscribe, send email to jbase-un...@googlegroups.com 
<mailto:jbase-un...@googlegroups.com> 
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+un...@googlegroups.com <mailto:jbase+un...@googlegroups.com> .
For more options, visit https://groups.google.com/d/optout.
 
-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.
 
To post, send email to jb...@googlegroups.com <mailto:jb...@googlegroups.com> 
To unsubscribe, send email to jbase-un...@googlegroups.com 
<mailto:jbase-un...@googlegroups.com> 
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+un...@googlegroups.com <mailto:jbase+un...@googlegroups.com> .
For more options, visit https://groups.google.com/d/optout.
 
-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.
 
To post, send email to jb...@googlegroups.com <mailto:jb...@googlegroups.com> 
To unsubscribe, send email to jbase-un...@googlegroups.com 
<mailto:jbase-un...@googlegroups.com> 
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+un...@googlegroups.com <mailto:jbase+un...@googlegroups.com> .
For more options, visit https://groups.google.com/d/optout.
-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.
 
To post, send email to jb...@googlegroups.com <mailto:jb...@googlegroups.com> 
To unsubscribe, send email to jbase-un...@googlegroups.com 
<mailto:jbase-un...@googlegroups.com> 
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+un...@googlegroups.com <mailto:jbase+un...@googlegroups.com> .
For more options, visit https://groups.google.com/d/optout.
 
-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.
 
To post, send email to jb...@googlegroups.com <mailto:jb...@googlegroups.com> 
To unsubscribe, send email to jbase-un...@googlegroups.com 
<mailto:jbase-un...@googlegroups.com> 
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+un...@googlegroups.com <mailto:jbase+un...@googlegroups.com> .
For more options, visit https://groups.google.com/d/optout.
-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.
 
To post, send email to jBASE@googlegroups.com <mailto:jBASE@googlegroups.com> 
To unsubscribe, send email to jbase-unsubscr...@googlegroups.com 
<mailto:jbase-unsubscr...@googlegroups.com> 
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+unsubscr...@googlegroups.com 
<mailto:jbase+unsubscr...@googlegroups.com> .
For more options, visit https://groups.google.com/d/optout.
 
-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.
 
To post, send email to jBASE@googlegroups.com <mailto:jBASE@googlegroups.com> 
To unsubscribe, send email to jbase-unsubscr...@googlegroups.com 
<mailto:jbase-unsubscr...@googlegroups.com> 
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+unsubscr...@googlegroups.com 
<mailto:jbase+unsubscr...@googlegroups.com> .
For more options, visit https://groups.google.com/d/optout.

-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.

To post, send email to jBASE@googlegroups.com
To unsubscribe, send email to jbase-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbase+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to