Wednesday, July 18, 2007

How to Implement Printing for Oracle Applications:

www.Sucharitha.com

Sucharitha Thokala.

How to Implement Printing for Oracle Applications: Getting Started



The information in this article applies to:

Oracle Application Object Library - Version: 11.5.1 to 11.5.10

This problem can occur on any platform.

Printing, PASTA, SRW, Driver


Goal

How to get started on installing a printer(s) for Oracle Applications? What are the general steps for installing a printer?


Fix

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.


Any printer that can be controlled with embedded printer commands, such as

PCL, or supports the Postscript language can be used with Oracle Applications, see Note 353071.1 "Where Can I Find A List Of Supported Printers For Oracle Applications?"


II. PRINTER TYPE


A printer type lists which styles and drivers are available to the assigned printer.


Group printers according to make or family model and utilize a unique printer type name. All printers are not the same or possess the same capabilities and functions. Using only one printer type such as the "HPLJ4SI" type, with one set of printer drivers, to support all make and model of printers may not allow for fine adjustments to one particular printer or a group of printers. That is to say, a change or fine adjustment intended for a specific printer may adversely affect all printers on the instance using the same printer type or driver.


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.


In a full installation of Oracle Applications there are some 7,500 registered programs, of which 2,800 programs are defined as Oracle Reports. Approximately 70% of these Oracle Reports programs are designed as landscape reports--portrait and landwide are the next two widely used styles.


Therefore, setup the three most widely used styles (landscape, portrait, and landwide) for all printers and do not attempt to make corrections to the associated drivers on a "report by report" basis. Individual reports that do not work well with the three main print styles and printer drivers may need a special or custom style / driver to print correctly. Custom reports will typically require a custom print style or driver, see Note 357941.1 "Applications Product Support Guidelines Regarding Custom Reports and Programs"


Hint: For ease and convenience in release 11i, rather than creating new styles, use the existing styles “as is” or modify them as needed. The bulk of the printing instructions are contained in the printer driver and the SRW driver; therefore, the same print style can normally be re-used with several different printers and printer types.


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.


Oracle Applications provides a simple beginning set of printer drivers. These generic or plain drivers are working examples intended for the printer make or model stated in driver name and description. They may or may not work optimally with other printers. Oracle does not provide additional deliverable examples; therefore, outside of this set, a custom printer driver needs to be defined.


An initialization and reset string is needed to define a printer driver in Oracle Applications. The initialization string, also known as a "setup string", is printer dependent information. It instructs the printer on which printing characteristics are needed for the document to be printed. The printer’s vendor typically supplies the initialization string or provides information on how to construct printer-controlling commands.


Typically a simple initialization string can be found in the printer's user guide or technical reference manual. The back of the manual should have a section on supported printer command languages and/or commonly used printer commands and control characters, see Note 152285.1 "Building a Printer Initialization String for Oracle"


The best setup method is to create an initialization string using the printer command language utilized by your printer. An alternate setup method is to test existing printer drivers for compatibility with your printer. Unfortunately, the latter choice is a "trial and error" approach that may or may not achieve the desired printing appearance. For precision printing, like checks or pre-printed forms, the initialization string will likely require fine tuning, see Note 106186.1 "How to Test an Initialization String Outside of Oracle Applications".


V. SETUP STEPS


Existing printer types, styles, and drivers can be modified or a new record can be created. Adding a new record is the preferred approach. The printer type, styles, or drivers can have any name that best describe it usage. Additionally, it is more secured during upgrades than modifying seeded records; that is, Oracle seeded records can be overwritten by a patch or an upgrade process.


Concisely, the steps required to defined a printer for Oracle Applications are as follows:


1. Setup and verify the operation of the printer and print queue at the operating system level--test from the OS command line prompt.


2. Identify, select, or define a new Apps printer drivers that will support the specified printer make or model.


3. Identify, select, or define a new Apps printer type to register all needed printer styles and drivers.


4. Register an Apps printer name and associate an Apps printer type to the newly registered printer name.



For detailed setup instructions, please review the chapter titled "Printers" in the Oracle Applications System Administrator's Guide. Also see Note 123140.1 "How to Setup Printer for Oracle Applications 10.7 - 11.5.x" and Note 112172.1 "Oracle Applications Character Printing"


NOTE 1: Please keep in mind that Apps printer driver information is cached in memory, the concurrent manager will need to be bounced in order to make any recent changes take effect.


The following Notes may be helpful with common setup problems and oversights:


Note 262796.1 "Standard Reports Just Print the First Row or Double Space"

Note 359716.1 "Apps Reports Generate and/or Print With Incorrect Page Break Points"

Note 352384.1 "Reprint Does Not Correctly Print When The Original Request Is Formatted By Noprint"

Note 189708.1 "Oracle Reports 6i Setup Guide for Oracle Applications 11i"


VI. PASTA


Oracle Applications has a printing tool called PASTA that can help Administrator quickly configure a Postscript ready printer. Although Pasta is optional for most installations, it required for multilingual installations and installations using the Unicode / UFT8 character set, see Note 356501.1 "How to Setup Pasta Quickly and Effectively"


PASTA is the only viable solution when dealing with multiple languages and multiple printers in a UTF8 character set environment. Otherwise, an extensive amount of time will be spent identifying which fonts are supported by a particular symbol set and which symbol set matches up well with the Unicode super set. "Most printers can not handle UTF8 encoded data". As per the Printing chapter in the Oracle Applications System Administrator's Guide, "In order to print reports with the UFT8 character set, you 'must' configure PASTA".


Please reference the following notes for more information on PASTA:


Note 420019.1 - Pasta Overview

Note 356501.1 - How to Setup Pasta Quickly and Effectively

Note 239196.1 "PASTA 3.0 Release Information"

Note 240864.1 "Activating and Configuring IX Library"


Presently, the latest available PASTA patches:Patch 3325651 PASTA 3.0.4 RELEASE


References

Note 356501.1 - How to Setup Pasta Quickly and Effectively

Note 152285.1 - Building a Printer Initialization String for Oracle Applications

Note 106186.1 - How to Test an Initialization String Outside of Oracle Applications

Note 123140.1 - How to Setup Printer for Oracle Applications 10.7 - 11.5.x Quick Reference

________________________________________

Performance Tuning Overview in Oracle Apps 11i

This Performance Tuning is an Overview of from where to start if users start complaining that Oracle Applications is running slow.

If performance issue is with entire application questions you should have in mind :
Is your applications sized properly ?
Is initialization parameters set up correctly ?
Are there any runaway processes in oracle database tier or application tier ?
Is network connectivity between users & application server is fine , there is no delays ?
Latest techstack including jdbc drivers, forms, database, jdk can improve performance considerably Check if system level trace is enabled ?
Is Purge schedule ?
Is gather stats scheduled ?
If Issue is with only particular type of reports Check if there are no performance bugs with that module ?
Are you on latest patchset for that product ?
Is it standard report or custom ? (If custom enable trace & use tkprof, If standard then check in metalink if there is any issues reported by others)If Issue is only during particular time lets say during night Check what's running during that time .
Is it because of backups ?
Is it because all resource intensive requests running in night ?
If Issue is with specific users Check if trace is enabled at user level ?
Is user client machine performing well ?
Is connectivity from client machine to server fine ?

This is just overview or starting point to check Performance Issues in Oracle applications11i for Tuning Individual component like , Apache, JVM, Concurrent manager.

One of the common questions asked is how to schedule Gather Stats or How to schedule Purge ConcurrentProgram or Obsolete workflow data?

These are concurrent requests & if you have "System Administrator Responsibility" login with that ,then go to
Request -> View -> Select "Specific Request" and under "Name"

TextSearch for following requestsGather Schema Statistics ( supply parameter schema name , apps & others)Purge Concurrent Request and/or Manager Data ( supply retention period usually 90 days)Purge Signon Audit dataPurge Obsolete Workflow Runtime DataPurge Obsolete Generic File Manager Data.

If you want to understand How to proceed with Oracle Applications 11i tuning check Metalink Note 69565.1 .

How to apply apps patch using adpatch


Now you know basics of apps patch like type of patches & options available with patching, lets learn how to apply patches in oracle applications 11i .

Two broad ways to apply patch interactive & noninteractive(You will supply required parameters on command line & patch will apply without asking you any questions as you have already provided answers)


You being new to apps patching will prefer to interactive way of patching , let adpatch throw series of questions & you answer each of these .If you want to use any option with adpatch enter adpatch with options= seprated by comma (If you don't supply any options it will take default value set for that particular option like compiledb & compilejsp)You have to issue adpatch from application user (User you entered as applications/middle tier user usually applmgr if you insatlled using oracle standard documentation like )
adpatch options=nocompiledb,nocompilejsp Based on you AD verison it will ask you questions like with some suggested value
'/u01/applmgr/VIS11I/appl'Is this the correct APPL_TOP [Yes] Log file name & location....
Once patch is applied you might be interested in checking log files

If patch fails then you have to use utility adctrl to check for which worker it failed & check corresponding worker log file to see error message.

For more information on patches & patch basics follow metalink note # 181665.1

Difference between Oracle Apps 11i and R12

Based on high influx of mail from users requesting difference between Oracle Applications Release 12 and 11i, I decided to dedicate this post to outline few major differences.

.Database: Database Version in 11i (11.5.9 & 11.5.10) was 9i Rel 2 where as in Release 12 its 10g R2 (10.2.0.2)
Application Tier: Tech Stack in Application Tier consist of iAS(1.0.2.2.2) & Developer 6i (Forms & Reports 8.0.6) but in Applications R12 it is build on Fusion Middleware (10g Web Server and 10g Forms & Reports)
Sub component in Application Tier:

A) HTTP Server or Web Server in R12 is Version 10.1.3 which is built on Apache version 1.3.34. In apps 11i it is Version 1.0.2.2.2 built on Apache Version 1.3.19
B) Jserv in apps 11i is replaced by OC4J (mod_jserv is replaced by mod_oc4j)
C) Forms Version 6i in Apps 11i is replaced by Forms 10.1.2.0.2 in R12
D) Reports Version 6i in Apps 11i is replaced by Reports 10.1.2.0.2 in R12
E) JDBC version is changed from version 9 in apps 11i to version 10.2.0 in Apps R12
F) modplsql or mod_pls is removed from Apps R12 (What will happen to my mod plsql applications- coming soon* )
G) Java processes use JDK/JRE version 1.5.0 in R12 against JDK version 1.3.1 or 1.4.2 in Apps 11i
H) For various environment variable changes check below picture

I) New top INSTANCE_TOP added in Release 12 for configuration and log files

How many patches makes an upgrade?

By your definitions, I think you have to assume everything from a FamilyPack to Maintenance Pack or higher is an "upgrade" since it could potentially change functionality and requires full regression testing ofthe affected modules.

Rollup patches, one-off's etc would just be considered patching.

As for your other questions:
1) There is no set schedule for Family/Maintenance packs. At least there has not been in the past, with the only exception being HR/Payroll since it is required every year. I don't know what the plan is for R12.For 11i, I really wouldn't expect many more Family Packs, and there's definitely no more Maintenance Packs. 11.5.10.2 is it.

2) In the case of Maintenance Packs, the entire thing has been extensively tested by Oracle as one unit. With random Family Packs, if you put two of them on your system, there's no guarantee that they have been extensively tested together. Individually they would have been through that testing.

Tuesday, July 17, 2007

Clone Apps 11i Instance


Another important & useful utility under AD_TOP which Apps dba perform quite often isCloning Oracle Application 11i Instance.


Cloning is process of creating replica of your source apps 11i Instance ( lets say you have one apps Instance with name DEVELOPMENT and you want to create similar instance ( including same patches & user data) like DEVPRD then you will use adclone utility (Also called as Rapid Clone these days). In this case source Instance will be DEVELOPMENT and target Instance will be DEVPRD. There are lot for scenario in which you wish to clone your E-Business Suite 11i Instance , like you want to Test if everything is OK in Test & then after testing want to create Production instance or you want to move your Instance from one machine to other machine or if you are highly experienced Apps DBA you can use clone as staged environment during Upgrade to reduce downtime ( this concept is called as staged appl_top or staged patching/upgrade , p.s. this is different from shared APPL_TOP)

So here are some broad level steps you can use to clone apps instance .

Step1 . Prerequisites Steps you do before start cloning using rapid clone
a)Verify source and target nodes software versions
b)Apply the latest AutoConfig Template patch
c) Apply the latest Rapid Clone patches

Step2 . Clone Source to Target
a) Run preclone on DB tier
b) Run preclone on Apps or middle tier
c) Copy source file system to target file system
d)Configure db tier
e) Configure apps/middle tier

Step 3 Finishing Task
a) Update profile options
b) Update printer settings (If printers are not configured or you don't want to use printer you can skip this step)
c) Update workflow configuration settings (Important)


For more detailed steps check Metalink Note # 230672.1

Don't forget to leave me a comment about what you want to hear & any confusion if you have in apps 11i.

Startup Shutdown Apps Services Startup / Shutdown Apps

This post covers startup & shutdown of Oracle Application :

As you are aware by now there is Database Tier ( Database & DB Listener ) and Application Tier ( WebServer, Forms, Reports, Concurrent Manager, Discoverer, Apps Listener, OnetoOne Fullfillment Server )

Order of StartUp of Services Should be --> First DB Listener, Database & then Application Tier Services
Order of ShutDown of Services Should be--> First Application Tier Services then Database & DB Listener
Database Startup/Shutdown Scripts
Depending on your AD Version these will be in ORACLE_HOME / appsutil/scripts /SID_hostname
addbctl.sh database startup shutdown script
addlnctl.sh database listener Script
Where
AD --> is for Application
DB--> is for database
DLN --> is database listener
CTL--> is control

-----Application Tier Startup/Shutdown Scripts
Depending on your AD Version these will be in
OAD_TOP/admin/scripts/ SID_hostname
adalnctl.sh --> Apps Listener Control Script
adapcctl.sh --> Apache/Web Server Control Script
adcmctl.sh --> Concurrent Manager Control Script
addisctl.sh --> Discoverer Control Script
adfrmctl.sh--> Forms server Control Script
adrepctl.sh --> Report Server Control Script
adstpall.sh --> Stop All Middle/Application Tier
adstrtall.sh --> Start All Middle/Application Tier
Where AD & CTL --> See above
adl --> stand for Apps Listener
apc --> stand for Apache
cm --> Concurrent Manager
dis --> Discoverer
frm--> forms
rep--> report