ORARRP and WebForms (Forms/Reports 9i/10g)

Posted on 2004-10-04
Last Modified: 2008-01-09

I am deploying my Forms/Reports 9i application on a Linux Red Hat Server Enterprise 3 (ES) running FOrms/Reports Services 10g. My application uses and attached library called RP2PRO.PLL that contains a number of functions related to printer set-up. The RP2PRO.PLL attached library makes extensive reference to ORARRP.

I have read however that the following functions are no longer supportted under Oracle 9i iDS/iAS:
1) default.use_orarrp
2) default.orarrp_virtual_directory
3) default.orarrp_physical_directory

1) Can I still use the ORARRP Utility to print locally my Reports over the Web ?
(if not how could I go about this )

Your toughts ...


Question by:ptreves
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 22

Accepted Solution

Helena Marková earned 500 total points
ID: 12225091
Where have you read it ? I have searched Metalink and I have not found such information.
There is Note: 277431.1 - How to Implement ORARRP with Forms & Reports 9i /10g for Local Printing on Client - (last modified 03-AUG-2004) there:

The information in this article applies to:
Oracle Reports Developer - Version: 9.0.2
Oracle Forms - Version: 9.0.2
Information in this document applies to any platform.
ORARRP 1.3.4 (Oracle Reports Remote Printing Utility)
How to Implement ORARRP with Forms & Reports 9i /10g for Local Printing on Client?

ORARRP (Oracle Reports Remote Printing Utility) can be downloaded from the OTN website

The PDF document contained within the file has instructions which appear specific to implementation of ORARRP in an Oracle 9iAS Rel 1 environment. This article aims to provide revised instructions for the implementation of ORARRP in a Oracle 9iAS Rel 2 or Oracle Application Server 10g environment

Follow the advice below in conjunction with the step by step instructions given in the ORARRP pdf document - orarrp1.3.4.pdf entitled 'Oracle Reports Remote Printing Utility - 1.3.4'

1. Add the required ORARRP mimetypes to the Oracle HTTP Server configuration.
(Note: This will be the Oracle HTTP Server belonging to the Oracle 9iAS Rel 2 / Oracle Application Server 10g middle (BI & Forms) tier)

Do this manually by editing the httpd.conf
via the Oracle 9iAS Rel 2 EM console / Oracle Application Server 10g AS Console e.g.
Navigate to the Middle Tier Components Page
Click on HTTP_Server -> Administration -> MIME Types

2. Create an aliasmatch in forms90.conf pointing to a physical directory - for this example, directory will be an example test area.
Do this by manually editing the forms90.conf
via the Oracle 9iAS Rel 2 EM console / Oracle Application Server 10g AS Console e.g.
Navigate to the Middle Tier Components Page
Click on HTTP_Server -> Administration -> Advanced Server Properties -> forms90.conf

Add a line like :

AliasMatch ^/forms90/test_area/(..*) "D:\test_area/$1"


The advantages of making the changes via EM / AS console, rather than editing the files manually, are:

- the EM / AS console will put the mimetype entries in the correct place
- the EM / AS console automatically issues a 'dcmctl updateconfig' which synchronises the file changes with the Infrastructure Metadata Repository
- the EM / AS console will do the required restart of the HTTP Server component

(Only the HTTP Server needs to be stopped and restarted - other 9iAS Rel 2 / OracleAS 10g components can remain up and running)

If the changes are made manually then the following commands must be issued after the changes to httpd.conf and forms90.conf have been made.

$ORACLE_HOME/dcm/bin/dcmctl updateconfig -ct ohs -v -d

(to synchronise the changes with the Metadata Repository)

$ORACLE_HOME/dcm/bin/dcmctl stop -ct ohs -v -d
$ORACLE_HOME/dcm/bin/dcmctl start -ct ohs -v -d

(to stop and restart the HTTP Server)

3. Install ORARRP.exe on the client machine as per instructions in the ORARRP pdf document

4. Check that ORARRP is basically working
- create orarrp_test.html containing the HTML

ORARRP Test! Click here to Print:
<a href="orarrp_test.rrpa">Acrobat Doc</a>

- Make a copy of the ORARRP pdf document and name it orarrp_test.rrpa

- Call it directly using a URL like:


Click on the link - the Acrobat Reader should fire up with a print dialogue

5. Next create a test form containing the RUN_REPORT_OBJECT code (based on the advice in the ORARRP documentation

report_id REPORT_OBJECT;
hTimer TIMER;
vcFile VARCHAR2(255);
vcResult VARCHAR2(30);
/* Generate a pseudo unique filename */


/* In this example - output will be PDF so adding .rrpa extension */

vcFile := vcFile||'.rrpa';

report_id := find_report_object('TEST_ORARRP_REP');


/* For DESNAME the physical directory on the middle tier has to be specified */


/* In this example - PDF format is chosen */


/* Specify the name of the Report Server to be used */


/* Save the report handle and vcFile to Globals as they are to be referenced in the WHEN-TIMER-EXPIRED trigger */

:GLOBAL.ReportHandle := RUN_REPORT_OBJECT(report_id);
:GLOBAL.PrintOutPut := vcFile;

/* A timer will be used to check whether the Report execution is finished. In this example, the timer will fire 4 times every minute */



WHEN_TIMER_EXPIRED trigger contains the code


vcStatus VARCHAR2(50);
vcTimerName VARCHAR2(30);
hTimer TIMER;
vcTimerName := GET_APPLICATION_PROPERTY(timer_name);

/* Check whether the report has executed */

vcStatus := REPORT_OBJECT_STATUS(:Global.ReportHandle);

/* The report has been executed and output sent to file under the test area directory, now access it using WEB.SHOW_DOCUMENT */


/* Clean up the timer */


/* The Report has failed to run for some reason, throw out a basic failure message */

message('The Report has failed');

6. Run the form to test

NOTE: A print dialogue will always display to the end user when using ORARRP. This is unavoidable. The end user will have to process the print dialogue

Featured Post

[Webinar] Code, Load, and Grow

Managing multiple websites, servers, applications, and security on a daily basis? Join us for a webinar on May 25th to learn how to simplify administration and management of virtual hosts for IT admins, create a secure environment, and deploy code more effectively and frequently.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
This video shows information on the Oracle Data Dictionary, starting with the Oracle documentation, explaining the different types of Data Dictionary views available by group and permissions as well as giving examples on how to retrieve data from th…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question