Oracle Reports For Dot Matrix Printers to Print output on Stationary

I would like to share my experience on developing the reports which output should print on the preformed stationary using the dot matrix printers.

If we have to print the output on dot matrix printer it would be better if we should generate the report which  gives the output in normal plain text format.
We can generate the text output reports either by using oracle RDF reports or XSL-FO text output bi publisher report.
Before starting the development  we need to ensure the below points.

  • we should have the exact hard copy of stationary (or photo copy of it) on which data should print.
  • If we get photo copy then it should have the same dimensions like length and width of the original stationary.
  • Has to fix or load the stationary in dot matrix printer as per the printer guidelines always. 
  • Identify the number of lines should feed for each copy of the print so that we can make sure in the report should generate same number of lines for each copy.
  • Identify for each section of information starting line ,starting character position and ending character positions in that line.
  • In case if we are building an RDF report, has to place one line filler at end to make sure that it should generate required space to get starting position of the next copy of stationary in the printer correct position.
  • To have this filler we may need to print at least one dot for each line.
  • Some times this RDF report will render a form feed (enter) for each main repeating frame i.e after printing one copy which will cause issues while output gets printed on running stationary.
  • To make sure report won't give form feed we have to adjust existing SRW driver or have to create a new Report drivers as explained in below section.
Creating a new SRW  Driver for text ouput:

If Pasta is not already at the latest version of 3.0.4, install the latest released Pasta Patch 3325651. Use the following command to determine the current version of Pasta: FNDPSTAX -v

Copy the default Pasta configuration file in order to create a configuration files that support non-Postscript printers (any name can be used *.cfg): 

cp $FND_TOP/resource/pasta.cfg pasta_epson.cfg 

Edit the pasta_epson.cfg file and change the “outputFormat” parameter to text and/or a character set that the printer supports, as follows: 

i.e. outputFormat=text.WE8ISO8859P1 or outputFormat=text 

SRW Drivers will be read by the oracle reports server while generating the RDF report output. Reports server will look into SRW driver files which located in the location $FND_TOP/$APPLREP these files will be having extension of .prt.

By reading these .prt files report server will set the page breaks and other control characters to format as bold or underlined in the final output. Sample .prt file looks like below

In this prt file seventh line linefeed ...
causes the report server to enter page break at the end of each copy(i.e for each repeating frame prints). If we remove this then we won't get page break and has to use this driver files in the printer setup.

Printer setup:

è         Driver
Navigation                                  : System Administrator –Printer-Driver
Driver Name                      : "PASTA_LANDWIDE" -- For dot matrix printers
User Driver                        : "Pasta driver for Landwide"
Description                        : "Pasta universal PS driver for Landwide style "
SRW Driver                        : "PD"
Driver Method                  : "Program” (Select as program)
Driver Method Parameters:
Spool File                           : "Yes" (Check the Check mark)
Program Name                 : "FNDPSTAX"
Arguments                        : "-pn$PROFILES$.PRINTER -c$PROFILES$CONC_COPIES -f$PROFILES$.FILENAME –l -Fpasta_epson.cfg"

è  Printer Type
Navigation          : System Administrator –Printer-Types
Type                     : "—Pasta Printer Type"
Description         : "The printer type that can support many printers and languages"
Style                     : "LANDWIDE"
Driver Name       : "PASTA_LANDWIDE"

è  Register Printer
Printer                 : “XXTEST”
Type                     : "—Pasta       Printer Type"
Description         : "XXTEST Dot Matrix "


Popular posts from this blog

Oracle APPS Useful Queries

How to Apply Timers In Forms

Unix Shell Script For Oracle Apps