Hi Daniel and Mark,

Here are the results.

First I tried the -f option with the lp command, but still got the 
additional form feeds. Note - I did set the page skip to zero for the form 
queue F4

Next I tried the -h option with SP-CREATE
I  commented out STARTJOB and ENDJOB in my jspform_custom script.
I created the file to use with the -h option using Mark's example.
I deleted the form queue. I had to use SP-KILL then SP-STATUS option 7 to 
delete it.
I re-created it using the following line -
SP-CREATE F4 prog lp -h C:\temp\HP17CPI.TXT -d lp -d "HP5SI_PCL"
Then I set SP-ASSIGN =F4 and generated a report.
It only printed the report with no page-eject before or after the print the 
job.

I am sure you both understand the steps involved, but maybe in the future 
it might help someone else..

Thanks to both of you. I have the printing working and a much better 
understanding of the spooler, spooler commands, and set-up.

I'm sure I will be back with more questions in the near future. I saw 
spool2pdf in the documentation which caught my attention.

I REALLY appreciate your help.

Thank you,
Patrick


On Thursday, July 12, 2018 at 5:50:35 AM UTC-7, Daniel Klein wrote:
>
> 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 <[email protected] 
> <javascript:>> 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, [email protected] 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:* [email protected] <[email protected]> *On Behalf Of 
>>> *Daniel 
>>> Klein
>>> *Sent:* Wednesday, July 11, 2018 8:53 AM
>>> *To:* [email protected]
>>> *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 <[email protected]> 
>>> 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 <[email protected]> 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 <[email protected]> 
>>> 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 <[email protected]> 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 <[email protected]> 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 [email protected]
>>> To unsubscribe, send email to [email protected]
>>> 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 [email protected].
>>> 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 [email protected]
>>> To unsubscribe, send email to [email protected]
>>> 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 [email protected].
>>> 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 [email protected]
>>> To unsubscribe, send email to [email protected]
>>> 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 [email protected].
>>> 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 [email protected]
>>> To unsubscribe, send email to [email protected]
>>> 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 [email protected].
>>> 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 [email protected]
>>> To unsubscribe, send email to [email protected]
>>> 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 [email protected].
>>> 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 [email protected]
>>> To unsubscribe, send email to [email protected]
>>> 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 [email protected].
>>> 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 [email protected] <javascript:>
>> To unsubscribe, send email to [email protected] <javascript:>
>> 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 [email protected] <javascript:>.
>> 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 [email protected]
To unsubscribe, send email to [email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to