Shiva described a Zebra printer issue to me. They had configured Zebra007 printer on Dev and Test, and it printed fine. However when the same printer was configured on Production instance, it did not print anything. I worked with Puneet and Sateesh to check the windows printer queue. Whenever a print job was executed in Dev or Test (non-Production) instances, the label printed correctly. However when they tried to print from Production, it would not print anything, though a pasta*.tmp appeared in windows printer queue for 2 seconds.
I also got a sample file example.zpl from Sateesh to find out the contents, This file was a plain text file which contained print control characters. This is an ingenious way to print without installing expensive proprietary drivers from vendors. If such a file is sent as a raw file to printer, the printer interprets the special characters and prints labels correctly. So they were using Pasta printing to print a text file. This didn't make sense, as pasta is typically used to convert (preprocess) pdf files generated by XML Publisher (now known as BI Publisher) into postscript format and send to printer.
I examined the $FND_TOP/resource/pasta.cfg in Production and non-Production instances. They were different. Non-production pasta files had everything commented, whereas Production pasta file had this entry:
$ cd $FND_TOP/resource
$ cat pasta.cfg
/* $Header: pasta.cfg 115.23 2003/03/28 22:57:31 mnagakur noship $ */
[DEFAULT]
preprocess=/usr/local/bin/pdf2ps {infile} {outfile}
printCommand=lp -c -d{printername}
errorlogfile=pasta_pdf2.log
I realized then that, the printing was successful in development, as pasta was not doing any kind of preprocessing and printing the file. It failed in Production because the text file containing printer commands was going through preprocessing:
/usr/local/bin/pdf2ps example.zpl pasta8282.ps
Error: /undefined in .CT~~CD,~CC^~CT~
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:1129/1686(ro)(G)-- --dict:0/20(G)-- --dict:70/200(L)--
Current allocation mode is local
Current file position is 17
GPL Ghostscript 8.54: Unrecoverable error, exit code 1
The solution was to create a new pasta driver pasta_zebra.cfg where the preprocess line would be commented:
$ cat pasta_zebra.cfg
/* $Header: pasta.cfg 115.23 2003/03/28 22:57:31 mnagakur noship $ */
[DEFAULT]
; preprocess=/usr/local/bin/pdf2ps {infile} {outfile}
printCommand=lp -c -d{printername}
errorlogfile=pasta_pdf.log
I tested this on commandline with this command:
FNDPSTAX -pnZebra007 -f/tmp/example.zpl -c1 -Fpasta_zebra.cfg
And it printed the first correct label from Production instance.
This command would be the final result of the printing inside E-Business Suite.
Blog dedicated to Oracle Applications (E-Business Suite) Technology; covers Apps Architecture, Administration and third party bolt-ons to Apps
Showing posts with label pasta. Show all posts
Showing posts with label pasta. Show all posts
Wednesday, August 4, 2010
Thursday, November 13, 2008
Pasta mandatory for printing reports with UTF8 characterset
Sanjeev called today to find out when Pasta printing is required.
Metalink Note 99495.1 says:
1. If the datbase character set is UTF8, this Postscript setup document CANNOT
be utilized.
select value from nls_database_parameters
where parameter = 'NLS_CHARACTERSET';
Pasta and IX Library is required for UTF8 character set environments and/or
multi-lingual environments. The printing chapter of the Oracle Applications
11i System Administrator's Guide states, "In order to print reports with the
UFT8 character set, you 'must' configure PASTA". See the following documents
for more details.
Note 240864.1 "Activating and Configuring IX Library"
Note 189708.1 "Oracle Reports 6i Setup Guide for Oracle Applications 11i"
Note 239196.1 "PASTA 3.0 Release Information"--particular the "Pasta User's Guide 3.0"
Note 356501.1 "How to Setup Pasta Quickly and Effectively"
Thursday, June 12, 2008
Command line Pasta through FNDPSTAX
When using the Pasta utility from the command line, you can use the options below.
FNDPSTAX [options]
-c
specifies the number of copies to print.
-el
Specifies the error log file’s path and name. The path is the absolute path to the error
log file.
-f<lename>
specifies the input file name. Example: -fmyfile.txt
-F
Specifies the configuration file’s path and name.
-h
Adjusts the space between lines. The default value is 1.0. If is larger than 1, the
space between lines will be larger.
-w
Adjusts the space between characters. The default value is 1.0. If is larger than
1.0, the space between characters will be larger.
-l
Print in landscape mode. (The default is portrait).
-o<lename>
specifies the output file name.
-s
Overrides the font size option in pasta.cfg.
-bs
Overrides the font size in -s and fontsize for bold font.
-np
No print option.
-ph
specifies the paper height in inches.
-pw
specifies the paper width in inches.
-pform
Converts a PostScript file to a PrintForm file .
-pf
specifies a PrintForm file to be merged in a Pasta output at runtime.
-pn
specifies the printer name.
-t
Banner option for use with the Unix lp command.
-v
Displays the version number.
-x auto]>
Specifies the output format. Two output formats are supported: PostScript ("ps") and
text ("text").
Example:
$ FNDPSTAX -pnPrinter007 -f/tmp/kanban.zpl -c1
request id is Printer007-900 (1 file(s))
FNDPSTAX [options]
-c
-el
Specifies the error log file’s path and name. The path is the absolute path to the error
log file.
-f<lename>
-F
Specifies the configuration file’s path and name.
-h
Adjusts the space between lines. The default value is 1.0. If
space between lines will be larger.
-w
Adjusts the space between characters. The default value is 1.0. If
1.0, the space between characters will be larger.
-l
Print in landscape mode. (The default is portrait).
-o<lename>
-s
Overrides the font size option in pasta.cfg.
-bs
Overrides the font size in -s and fontsize for bold font.
-np
No print option.
-ph
-pw
-pform
Converts a PostScript file
-pf
-pn
-t
Banner option for use with the Unix lp command.
-v
Displays the version number.
-x
Specifies the output format. Two output formats are supported: PostScript ("ps") and
text ("text").
Example:
$ FNDPSTAX -pnPrinter007 -f/tmp/kanban.zpl -c1
request id is Printer007-900 (1 file(s))
Wednesday, May 14, 2008
Pasta printing
We had adventures with setting up pasta today when we were called to check an issue logged where an instance was unable to print reports to a new Xerox printer. These were the steps to diagnose and finally solve the issue:
1. Check if printer is installed on unix
2. Print a plain text file to the printer with the command: lp -c filename.txt -d printername
3. Using ghostscript pdf2ps convert a pdf file into ps
4. Set environment variable PRINTER on unix: PRINTER=myprinter;export PRINTER
1. Check if printer is installed on unix
2. Print a plain text file to the printer with the command: lp -c filename.txt -d printername
3. Using ghostscript pdf2ps convert a pdf file into ps
4. Set environment variable PRINTER on unix: PRINTER=myprinter;export PRINTER
5. Send the ps file to printer through lp -c filename.ps
6. Check Pasta configuration in E-Business Suite
Pasta is a post-processing printing tool used in Apps. The term post-processing is used because the Pasta program is called after the concurrent processing server has completed processing the request and has generated an output file. The Pasta executable is FNDPSTAX. It is invoked via the Apps printer driver ONLY if a printed copy has been requested. At the present moment, the latest available version is 3.0.4 (patch 3325651). You'll get the latest version when you apply the latest ATG rollup patch. Typing at the Unix command line FNDPSTAX –v will provide the version.
E-Business Suite (EBS) is seeded with the printer type '--PASTA Universal Printer Type'. It can be associated with a Postscript printer and it’s ready for use with minimal changes or modifications to $FND_TOP/resource/pasta_printername.cfg
Pasta is required for EBS instances installed with the Unicode (UTF8) character set. On a UTF8 instance, output files (reports) are created with the UTF8 character set. Unicode UTF8 is a relatively new character set and many existing printers do not support the Unicode character set. Therefore, Pasta is used to convert text output files to the Postscript format (an image) or to an alternate character set, which the printer supports.
If you plan to print in Chinese, Japanese or Korean from your E-Business Suite instance, PASTA is the only way to do it.
Some metalink notes to help you in configuring PASTA:
Note 356501.1 - How to Setup Pasta Quickly and Effectively
Note 365111.1 - How to Setup Pasta for Non-Postscript Ready Printers
Note 189708.1 - Oracle Reports 6i Setup Guide for Oracle Applications 11i
Note 240864.1 - Activating and Configuring IX Library
Note 409458.1 - Understanding and Implementing direct printing of PDF using Ghostscript
Note 338990.1 - How To Print XML Publisher PDF Reports Via The Concurrent Manager?
6. Check Pasta configuration in E-Business Suite
Pasta is a post-processing printing tool used in Apps. The term post-processing is used because the Pasta program is called after the concurrent processing server has completed processing the request and has generated an output file. The Pasta executable is FNDPSTAX. It is invoked via the Apps printer driver ONLY if a printed copy has been requested. At the present moment, the latest available version is 3.0.4 (patch 3325651). You'll get the latest version when you apply the latest ATG rollup patch. Typing at the Unix command line FNDPSTAX –v will provide the version.
E-Business Suite (EBS) is seeded with the printer type '--PASTA Universal Printer Type'. It can be associated with a Postscript printer and it’s ready for use with minimal changes or modifications to $FND_TOP/resource/pasta_printername.cfg
Pasta is required for EBS instances installed with the Unicode (UTF8) character set. On a UTF8 instance, output files (reports) are created with the UTF8 character set. Unicode UTF8 is a relatively new character set and many existing printers do not support the Unicode character set. Therefore, Pasta is used to convert text output files to the Postscript format (an image) or to an alternate character set, which the printer supports.
If you plan to print in Chinese, Japanese or Korean from your E-Business Suite instance, PASTA is the only way to do it.
Some metalink notes to help you in configuring PASTA:
Note 356501.1 - How to Setup Pasta Quickly and Effectively
Note 365111.1 - How to Setup Pasta for Non-Postscript Ready Printers
Note 189708.1 - Oracle Reports 6i Setup Guide for Oracle Applications 11i
Note 240864.1 - Activating and Configuring IX Library
Note 409458.1 - Understanding and Implementing direct printing of PDF using Ghostscript
Note 338990.1 - How To Print XML Publisher PDF Reports Via The Concurrent Manager?
Subscribe to:
Posts (Atom)