Tuesday, July 31, 2012

Pasta Setup With Oracle E-Business Suite

Pasta Setup With Oracle E-Business Suite
Pasta Technology provides strength in multilingual support in oracle E-Business suite in particular areas that include printing(Pasta),viewing a report on-line (VPasta) and generating bitmap reports (IX Library).Pasta products make a significant contribution to UTT8 support but it also works for any other character set that oracle support

Objectives:

1.Pasta Architecture
2.How Pasta Works
3.Pasta Configuration Flow
4.Printing Requirement analysis
5.The Preparation phase
6.The Setup Phase
7.Setting Pasta In Debug Mode



Pasta Architecture

when user sends printing request it connects to database and the concurrent manager fetches the request from the queue and pass to Reporting engines where all the oracle E-business suite Components are present. The Reporting Engine sends the reports in the form of Text and it also send the reports in the Form of Bitmap formats(HTML/PS/PCL/PDF) If u what to see the Preview of the Print then the operating system send the report to Report Review Agent , and pass to output in the form of HTML/text to Visual Now pasta works here..when ever reporting engines sends a text report it sends to pasta executable automatically.The Executable will generate the Post scripts files from the reports.Now the user can print the commands using operating system printing command. And for Bitmap reports the Pasta IX library generates the bitmap directly.And Vpasta is the component of pasta where we preview the Visual HTML


Pasta Executable FNDPSTAX

Pasta executable, a.k.a. simply "Pasta", is an executable file for enabling the multilingual printing. Pasta executable works as a printer command of Oracle E-Business Suite and handles text outputs generated by the Concurrent Manager. Any UTF8 customer who possibly has non-English data in the database must use Pasta. English-only customer or a customer who is using other character set than UTF8 can also obtain the benefit from Pasta. This product is provided as a part of AOL product.


Vpasta
VPasta is an alternate choice of the viewer of the Report Review Agent. VPasta is required for an environment that has Bidi language installed. Non-Bidi language user on such an environment might have to use VPasta as well.This product is provided as a part of AOL product.

IX Library


The IX library enables Oracle Reports to generate PostScript with any characters in any character set, including UTF8, by embedding a TrueType (ttf) font in the output.UTF8 customer who has a customized PostScript report must use IX library. PDF output with multi-byte characters is not supported in Oracle E-business Suite 11i. This product is implemented in Oracle Reports and works closely with Oracle Toolkit



How Pasta works

Pasta Requires Two inputs 1) Pasta Text File 2) Pasta TrueType Font Files. We can select the True type Font files In pasta Configuration file(pasta.cfg) Pasta converts an input content from text format to PostScript format to add the multi-lingual support. During the PostScript conversion, Pasta includes all the necessary information in addition to the language handling such as paper size, font size and so on. After converting the input,Pasta sends the content to preprocess command if it is set in the preprocess option in the Pasta configuration file before printing. The content is then sent to the printer command that is specified in the print Command option in the configuration file. ( pasta.cfg)
The Printer Configuration Flow
There are Three Phases to print the page
  1. Yellow Box-Analysis Phase(Printing Requirement analysis)
  2. Orange Boxes(The Preparation phase)
  3. Blue Boxes(The Setup Phase)
Based on the Analysis we need to edit two files as per the printing requirement and command line arguments will be operating system commands or pasta executables.
The Preparation phase
Printer should be setup at the operating system level. and check if the printer is configured as OS level. $ lpstat -a Example: ALDERSHOT_FC accepting requests since Jan 01 00:00
Configuration:
1) The version of pasta can be checked from $FND_TOP/bin FNDPSTAX is the executable program for pasta.
$FNDPSTAX -v Pasta version 3.0.2.1 - unicode/bidi printing utility. Copyright (c) Oracle Corporation 1999-2003. Current version is 3.0.4.0 Apply patch 3274480 to make Pasta to 3.0.4.0
2) Make sure to back up all the setup files related to the patch to save your customization. There are some files in this patch override the existing files
Example:
$FND_TOP/resource/pasta.cfg $FND_TOP/resource/pst_ix10.cfg $FND_TOP/resource/ixlib.cfg $FND_TOP/resource/ixlibs.cfg $FND_TOP/resource/pastas.cfg $FND_TOP/reports/PSTLL.prt $FND_TOP/reports/PSTPL.prt $FND_TOP/reports/PSTWL.prt $FND_TOP/reports/PSTDL.prt $FND_TOP/reports/GRKINVRPT.prt
3) - Special instructions for each file:
Pasta.cfg File

The main configuration file for Pasta is "pasta.cfg". This is the file used to convert a character mode (ASCII Text) report to Postscript format or another character set before being sent to the printer.It also embeds or references the fonts specified in the pasta.cfg file, either true type or printer resident fonts
pst_ix10.cfg:

Edit and to replace with real path for $FND_TOP and $APPLRSC on the middle tier as well as another customization. Set PASTA option to $FND_TOP/resource/pst_ix10.cfg
ixlib.cfg:

The file ixlib.cfg is used for processing concurrent requests in bitmap mode (Postscript, PDF, etc) required only in a UTF8 character set environment, optional on all other. The ixlib.cfg file is an
IXLibrary configuration file. IX Library is a library feature incorporated within Oracle Reports and Oracle Graphics,which support using true type fonts with bitmap mode reports. IX Library is not a
component of Pasta,but Pasta supports IX Library and the concurrent processing server in the successful printing of bitmap reports.

******Set IX_PRINTING option to $FND_TOP/resource/ixlib.cfg******

When the IX_PRINTING environment variable is set, the true type font(s) specified in the ixlib.cfg configuration file will be used in the generation of the bitmapped report.On a UTF8 character set instance, the default font is typically the Albany font or
any Unicode UTF8 compliant font.

When the IX_PRINTING environment variable is unset, the AFM font(s) specified in the PPD will be utilized. These fonts may not be Unicode UTF8 compliant--in which case,certain characters may not translated correctly.
ixlibs.cfg: Set IX_PRINTING option to $FND_TOP/resource/ixlibs.cfg
pastas.cfg: Override pasta.cfg with this file. If you are using pasta.cfg, you can specify pastas.cfg in the arguments in the Pasta printer drivers: "-pn$PROFILES$.PRINTER -f$PROFILES$.FILENAME c$PROFILES$.CONC_COPIES -Fpastas.cfg" Pasta_pdf.cfg is the file used by pasta to print pdf converted to postscript By 3rd party utility.The driver name is PASTA_PDF.
Configuration tip: The default pasta.cfg is designed to work with most of the PostScript printers but if it isn't meet the requirements, you can change the configuration in the either way as follows.
  • Pasta Looks for the File files pasta_.cfg file if it is not present then it checks for default file.
  • If you have only one printer, you can change $FND_TOP/resource/pasta.cfg directly.
  • If you have more than two printers and these two printers require different setups, then do the following:
- cd $FND_TOP/resource - cp pasta.cfg pasta_.cfg where is your printer name on the operating system. the new file name must pasta_hq_5thfloor.cfg if the name of the printer is "hq_5thfloor". -Make required modification in pasta.cfg and pasta_.cfg.By this setup, PASTA will automatically look for pasta_hq_5thfloor.cfg if your choose hq_5thfloor printer for printing a concurrent request.For other printers, PASTA will continue to look for pasta.cfg
  • Other configuration file.
You can change the file that is defined as the default configuration file for Pasta by using the -F command line parameter.For example, suppose you create a PCL print - specific configuration file named pcl.cfg. Set the FNDPSTAX command line option as follows: -Fpcl.cfg Pasta will look for pcl_.cfg first, and if it is not found, Pasta will use pcl.cfg as the default. These files must be placed under the $FND_TOP/resource directory.The -F command line parameter can be set in the Arguments field of the Printer Drivers window
If Pasta already set up and we are going upgrade of pasta by applying patch then Config Actions Done after application of patch.
  • On UTF8 character set environments (UNIX only), ensure the toolkit Tk2Motif.rgb resource files, under the 8.0.6 Oracle Home, are configured for UTF8. For all Tk2Motif.rgb files located at $ORACLE_HOME/guicommon6/tk60/admin and $ORACLE_HOME/guicommon6/tk60/admin/ open the file using any text editor and modify the line that looks like this: !Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2 Change the line to look like this: Tk2Motif*fontMapCs: iso8859-1=UTF8
  • Copy the file named: $ORACLE_HOME/guicommon6/tk60/admin/Tk2Motif.rgb to: $ORACLE_HOME/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb
  • verify or set the XENVIRONMENT environment variable to point to the Tk2Motif_UTF8.rgb resource file within the main environment file (generally specified by $APPLFENV) $ XENVIRONMENT=$ORACLE_HOME/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb) $ export XENVIRONMENT
  • Use the following command to determine the current patch set level of Developer 6i and Forms version:
  • (Developer 6i patch set 10 or higher (Oracle Forms version 6.0.8.19 or greater)
$ rwrun60 \? | head -2 Report Builder: Release 6.0.8.27.0 - Production on Tue Jan 1 22:26:07 2008
$ f60run \? | head -2 Forms 6.0 (Forms Runtime) Version 6.0.8.26.0 (Production)

example :$ echo $APPLFENV SID_.env

Sample Example how to setup a new printer.
1. Add the following entries on "/sid/applmgr/product/806/sid_hostname.env" file,

IX_PRINTING="/sid/applmgr/1159/fnd/11.5.0/resource/ixlib.cfg" ;export IX_PRINTING
IX_RENDERING="/sid/applmgr/1159/fnd/11.5.0/resource/pasta.cfg" ;export IX_RENDERING

2. Add the following lines on pasta.cfg file under the [DEFAULT] section, preferably
within the "Font Name" area, make sure to make a display font path entry as follows

displayfontpath=/sid/applmgr/1159/fnd/11.5.0/resource/ALBANYWT.ttf

3. Make the following changes on "$FND_TOP/resource/pasta.cfg" file

From :

%% For Western European (Latin-1) languages
[AMERICAN,CATALAN,GERMAN,DANISH,SPANISH,LATIN AMERICAN SPANISH,FRENCH,CANADIAN
FRENCH,ENGLISH,ITALIAN,ICELANDIC,NORWEGIAN,DUTCH,PORTUGUESE,BRAZILIAN PORTUGUESE,SWEDISH,FINNISH]

Font.Default.Plain = printer:Courier
Font.Default.Bold = printer:Courier-Bold

To:

%% For Western European (Latin-1) languages
[AMERICAN,CATALAN,GERMAN,DANISH,SPANISH,LATIN AMERICAN SPANISH,FRENCH,CANADIAN
FRENCH,ENGLISH,ITALIAN,ICELANDIC,NORWEGIAN,DUTCH,PORTUGUESE,BRAZILIAN PORTUGUESE,SWEDISH,FINNISH]

Font.Default.Plain=//ADUO.ttf
Font.Default.Bold=//ADUOB.ttf

%% Font.Default.Plain = printer:Courier
%% Font.Default.Bold = printer:Courier-Bold
4. Make the following changes on "$FND_TOP/resource/ixlib.cfg" file

From :

%% For Western European (Latin-1) languages
[AMERICAN,CATALAN,GERMAN,DANISH,SPANISH,LATIN AMERICAN SPANISH,FRENCH,CANADIAN
FRENCH,ENGLISH,ITALIAN,ICELANDIC,NORWEGIAN,DUTCH,PORTUGUESE,BRAZILIAN PORTUGUESE,SWEDISH,FINNISH]

Font.Default.Plain = printer:Courier
Font.Default.Bold = printer:Courier-Bold

To:

%% For Western European (Latin-1) languages
[AMERICAN,CATALAN,GERMAN,DANISH,SPANISH,LATIN AMERICAN SPANISH,FRENCH,CANADIAN
FRENCH,ENGLISH,ITALIAN,ICELANDIC,NORWEGIAN,DUTCH,PORTUGUESE,BRAZILIAN PORTUGUESE,SWEDISH,FINNISH]


Font.Default.Plain=//ALBANYWT.ttf
Font.Default.Bold=//ALBANYWT.ttf

%% Font.Default.Plain = printer:Courier
%% Font.Default.Bold = printer:Courier-Bold
5. As per Note 189708.1, make a printer entry in the file
$ORACLE_HOME/guicommon6/tk60/admin/uiprint.txt as follows:

TargetPrinter:PostScript:2:PrinterDescription:default.ppd:

*** Important ***

Customer have to update the Target printer

*** Important ***

6. Correct for known bug 2850034--a missing portrait prt quote.

In file $FND_TOP/reports/PSTPL.prt change the line
printer Pasta Portrait Letter" to printer "Pasta Portrait Letter"

7. Login into System Administartor --> Install --> Printer --> Print Driver
Query the PASTA_LANDWIDE print driver and lower the font size option (-s#) to 7 points or
smaller.

-pn$PROFILES$.PRINTER -f$PROFILES$.FILENAME -c$PROFILES$.CONC_COPIES -l -s7.

8. Log out and log in ,verify echo $IX_PRINTING and echo $IX_RENDERING

9. Bounce the concurrent manager.

Setup Phase:

I. PRINTER
The Oracle Applications printer name must be the same printer name that works at the Operating System (OS) command line on the server where the concurrent processing server resides. If files in Postscript format will be generated and printed from Oracle Applications, make sure to setup a raw OS print queue so that Postscript files will be passed to the target printer without any filtering or actions by the OS print queue or print command. II.

II PRINTER TYPE
A printer type lists which styles and drivers are available to the assigned printer.
III. PRINT STYLE A print style specifies the layout of the report’s output file. It is also matched with a driver that supports the same layout for printing.
IV. PRINT DRIVER A printer driver provides the needed commands to initialize a printer and to invoke an OS print command or a print program or routine.

Concisely, the steps required to defined a printer for Oracle Applications are as follows:
  • Setup and verify the operation of the printer and print queue at the operating system level--test from the OS command line prompt.
  • Identify, select, or define a new Apps printer drivers that will support the specified printer make or model.
  • Identify, select, or define a new Apps printer type to register all needed printer styles and drivers.
  • Register an Apps printer name and associate an Apps printer type to the newly registered printer name
Printer setup is normally performed by the system administrator ( sysadmin ) responsibility. The sysadmin should have knowledge of navigation through Oracle Applications; as well as, knowledge of the OS configuration of printer you are attempting to define.
Printer Setup for Oracle Applications:
Responsibility: System Administration Navigation and Forms that will be used: printer types - Navigate - Install - Printer - Types FNDPRTYP Printer - Navigate - Install - Printer - Register FNDPRMPR Print Styles - Navigate - Install - Printer - Style FNDPRRPS Printer Driver- Navigate - Install - Printer - Driver FNDPRMPD


Printer Types:

Printer types - Navigate - Install - Printer - Types FNDPRTYP

An example would be if you had a line printer, you may name it "LINE" or "LN03" for the model number of the printer.this name will be associated to the actual printer name when you register the printer to Oracle Applications.



Example of Printer Types:

Printer: Printer - Navigate - Install - Printer - Register FNDPRMPR
You must have defined a printer type before you can register a new printer.The value for printer name will be the operating system printer name. Then choose the printer type that you defined in the previous step.



Styles:
Styles - Navigate - Install - Printer - Style FNDPRRPS Printer
If you are defining new styles specifically for your printer, you would do this here. Please review manual for the specific parameters needed to be defined. Oracle Applications reports are designed to work with standard shipped styles:
  • Portrait
  • Landscape
  • Land wide
  • A4
  • Dynamic Portrait


Drivers:
Driver- Navigate - Install - Printer - Driver FNDPRMPD
Oracle does provide the printer drivers for the above Styles, so unless you are adding your own, it should not be required to define one right now. If you are defining your own, you must specify a unique printer driver name and an unique user name for a given platform.

Lastly, if any new updates or changes have been made to any of the printer definitions,you must bounce the concurrent manager to ensure that all changes do take effect.


Setting Pasta In Debug Mode
Set the PASTA_DEBUG_LEVEL environment variable to 1 in order to capture additional information for a given concurrent request ID.
  • Set PASTA debug in your main Oracle Applications environment file, as pointed to by $APPLFENV.
  • PASTA_DEBUG_LEVEL="1" export PASTA_DEBUG_LEVEL
  • Bounce the concurrent manager and submit a concurrent request with print copies >= 1.
  • Look for $APPLTMP/pasta.in pasta.out and pasta.log
  • The file pasta.in contains the output file from the concurrent manager going into the PASTA utility for post-processing.
  • The file pasta.out contains the output file from the PASTA utility going to the printer via the OS print command for final printing. The pasta.log file contains the default pasta configuration options used to process the PASTA request and any error encountered while producing the PASTA out file. Note: These files are temporary files and they will be overwritten by the next concurrent request.
  • Note 2: If the debug file are not being generated after setting up the PASTA_DEBUG_LEVEL variable in the main environment file as pointed to by $APPLFENV, then define and export the same variable in the concurrent manager startup script (adcmctl.sh) and in the file $FND_TOP/bin/gsmstart.sh.

1 comment:

Unknown said...

Hi,

We have configured new printer for user, but user tried to print a PO put of Oracle and it printed a page with only a sentence of generated by oracle reports version 6.0.8.27.0 <POX followed by three blank pages.

Please let me know reason for this issue

Thanks in advance.

Kind Regards
Ravikumar