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] 
> <javascript:>> 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] <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