Printer Redirections

Home Forums Knowledge Base Legacy Applications Printer Redirections

  • This topic has 0 replies, 1 voice, and was last updated 19 years ago by Rob.
Viewing 1 post (of 1 total)
  • Author
    Posts
  • #1620
    Rob
    Member

    Printer Redirections

    Last edited: December 15, 2003 08:15 AM

    Using the Printer redirections package you can control which printers receive which print jobs as well as recover from a printer failure or error by re-printing the failed job to another printer.

    “What do you mean?”, you ask. Well, lets start with a “virtually” real life example:

    For example, suppose you have a restaurant and you have two prep printers: BAR and KITCHEN. One night, the BAR printer breaks down suddenly. Not knowing this, you try to send a prep ticket to this broken printer andl receive an error message looking like this:

    [img:qlm7ew0p]http://www.possupport.net/dealer/kbase/images/redir4.gif[/img:qlm7ew0p]

    The windows tells you that the BAR printer failed and is allowing you to either fix the BAR printer, or select another supported printer (in this case your only choice is the KITCHEN printer). You take a look at the BAR printer and come to the conclusion that it is broken and can not be fixed right now. So, you select KITCHEN. Now the prep ticket destined for the BAR will be resent to the KITCHEN printer. In addition, an informative message will follow the prep ticket to the kitchen to inform the chef that the BAR printer failed, so he will know why he is receiving a prep ticket for 2 martinis.

    NOTE: the original prep ticket is still stored in the BAR printer’s print queue and will be printed when it is fixed if the print queue is not flushed. An informative message was also sent to this print queue in case the printer is fixed and the now duplicated original prep ticket is printed. This will inform the bartender that a duplicate was sent to the KITCHEN.

    Since the BAR printer is broken and can not be fixed for at least a day, you do not want to receive this print error message every time you try to print to the BAR. We will want to temporarily redirect all print jobs bound for the BAR printer to the KITCHEN printer. This way we do not receive the error message, explained above, again. Instead, the KITCHEN printer will function as both the KITCHEN and BAR printers for the time being. To accomplish this you select ‘Printer Controls’ from your Manager controls (or some similarly labeled button) and see this screen:

    [img:qlm7ew0p]http://www.possupport.net/dealer/kbase/images/redir1.gif[/img:qlm7ew0p]

    Here you see your current item routing scheme. Ours shows that all BAR print jobs are being sent to the BAR printer and all KITCHEN print jobs to the KITCHEN printer. We want to change it so the the BAR print jobs are sent to the KITCHEN printer. Highlight the BAR printer and then touch the ‘Edit’ button. Next you see a list of the available printers to redirect to:

    [img:qlm7ew0p]http://www.possupport.net/dealer/kbase/images/redir2.gif[/img:qlm7ew0p]

    Select KITCHEN and touch the ‘Okay’ button and receive a confirmation that all BAR items will now be printed to the KITCHEN printer.

    [img:qlm7ew0p]http://www.possupport.net/dealer/kbase/images/redir3.gif[/img:qlm7ew0p]

    That’s all there is to it! All your BAR items are now routed to the KITCHEN printer. Once you fix the BAR printer you can clear the print queue (if you know how, using LANtastic) and change the redirections back to normal, meaning change the BAR printer to print to the BAR.
    Overview

    The printer redirection capabilities described above are accomplished using two separate executables. They are called PrtRedr1 and PrtRedir. PrtRedr1 is a small, efficient executable that is used to replace the ‘Print to’ instruction in TouchPRO. PrtRedir is the parent executable that handles the print errors and temporary redirection interface.
    PrtRedr1

    PrtRedr1 takes over the printing from TouchPRO. It does this to accomplish two things:

      1. Print redirection.
      2. Stripping out offending Seiko logo codes. When a Seiko logo code (ASCII 29,47) is sent to a printer that does not support it, it is possible that these codes will lock the printer up.

    When you send a print job, you ‘Shell to’ PrtRedr1, passing it the name of the printer to print to. PrtRedr1 loads the printer redirections and scans it’s list for the printer that you specified. If the printer is being redirected, PrtRedr1 will scan the print job (Z:Check.TXT) for any offending Seiko ASCII codes (29,47) and strip out. Then PrtRedr1 will send the print job to it’s destination.

        Syntax

            PrtRedr1 /name=xxxxxxxx

            /name=the name of the printer to print to. This must be a name from the defined printer list in EditNET.

        Styling Notes

            Styling for PrtRedr1 is quite easy. You just replace any ‘Print to’ instruction with an equivalent ‘Shell to’ instruction.

              1. Set up all PCs with printers attached as Servers. Correctly define shared printer names.
              2. Define all printers as global in Editnet. (with correct node name)
              3. Turn off global print error messages in global options.
              4. Create a shell utilizing PrtRedr1 for each printer.
                  The shell should look like this:

              [img:qlm7ew0p]http://www.possupport.net/dealer/kbase/images/prtredr1.gif[/img:qlm7ew0p]
                  Note the command line, lowest variable, highest variable, Exit Options and Return Options.
              5. Replace any ‘Print to’ instructions with equivalent ‘Shell to’ instructions. Add error checking instructions afterwards. This means check the value of the ‘Status’ variable. PrtRedr1 will return a ‘1’ in this variable if the print job was unsuccessful, just like TouchPRO would have. With this package, we handle any printer errors with a second executable called PrtRedir.

    PrtRedir

    PrtRedir handles the printer errors, taking the place of the internal Global print error messages in TouchPRO. It also provides the interface used to maintain the printer redirections.

    When you send a print job, you ‘Shell to’ PrtRedr1, if the print attempt is unsuccessful you shell to PrtRedir to ask the user what to do next. The user can choose to fix the problem or select a different printer.

        Syntax

            PrtRedir /name=xxxxxxxx

            /name=the name of the printer to print to. This must be a name from the defined printer list in EditNET.

            no command line switch will launch the printer redirections maintenance interface.

        Styling Notes

              1. To utilize PrtRedir’s one time redirection (printer failure) feature, you will need to to create a one-time redirection shell for each global printer. Here is an example of one for a printer called BAR.

              [img:qlm7ew0p]http://www.possupport.net/dealer/kbase/images/redirshl.gif[/img:qlm7ew0p]
                  Note the command line, lowest variable, highest variable, Exit Options and Return Options.
              2. To maintain the printer redirection list, shell to PrtRedir with no command line switch. Here is an example shell:

              [img:qlm7ew0p]http://www.possupport.net/dealer/kbase/images/redirsh2.gif[/img:qlm7ew0p]
                  Note the command line, lowest variable, highest variable, Exit Options and Return Options.

    Putting it all together

            Now that you understand both of the executables that make up the Printer Redirection package, let’s put them together as a team.

            After following the steps outlined for you in the discussion of PrtRedr1 and the steps described for PrtRedir, you are ready to use all the shells you created. Here is an example of the styling you should use for printing:
            (in this example we are printing to a printer called Wait1)

            [img:qlm7ew0p]http://www.possupport.net/dealer/kbase/images/p1style.gif[/img:qlm7ew0p]

            Note the standard naming convention in the Touch Menus order entry applications will be to name the 1st shell P1xxxx and the 2nd shell P2xxxx. (Where xxxx is the printer name). In other words, P1xxxx shells will always be referencing PrtRedr1 and P2xxxx shells will always be referencing PrtRedir.

            Now, you have to provide the user with the ability to specify which printer should be redirected. Select a button, preferably in your Manager level controls and put the instruction ‘Shell to: PrtRedir’ (where PrtRedir is the name of the shell you created to launch PrtRedir with no command line switch)

    Technical Notes

        The printer redirections are stored in the Touch Menus registry (DataRegistry.DAT).

    Revisions

    08/11/97 Version 6.00

      1. Initial public release

    10/02/97 Version 6.01

      1. Added HASP copy protection.
      2. Added ability to strip print codes used to print the logo from a Seiko DPU 3372 when print job is redirected. This was necessary to keep printers that do not support these codes from locking up and/or going in to an error state. This ability adds a whole new executable called PrtRedr1. It is a small, efficient application that is designed to take the place of the ‘Print to’ instruction in EditNET. All print jobs MUST be handled by the shell in order to strip out the offending ASCII codes if necessary. This ability changes the styling used in v6.00 drastically, be sure to read the instructions above.

    11/26/97 Version 6.02

      1. Now when you pass PrtRedr1 an invalid global printer name it will still write to “Z:Variable.TXT”.

    04/29/98 Version 6.03

      1. PrtRedir no longer requests HASP authorization on the “one time” print redirection.  It only requests authorization when you are maintaining the list.

    07/29/98 Version 6.04

      1. Added support for virtual HASP. (standalone)
      2. Enhanced registry loading in PrtRedir.

    07/30/98 Version 6.05

      1. Missed enhanced registry loading in PrtRedr1.  Done now.

    11/17/98 Version 6.06

      1. Fixed bug in PrtRedir related to loading the list of redirected printers.

Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.