Friday, November 15, 2013

EBS Reports to Publisher

As a starting point please read Converting Reports from Oracle Reports to Oracle BI Publisher in Release 10.1.3.3
 
If you want to convert *.rdf Oracle Reports then you need to install Oracle Reports Designer 9i or later on the same machine where you will do the conversion (you can find that in full installation of Oracle Developer Suite)
 
Check Java configuration by executing in command line:
java -version
The conversion utility requires JDK version 1.1.8 or later. If you see an older version of java then amend your "Path" system variable to point into correct java folder (assuming there is a valid version of JDK in your main java folder, for example in Program Files). Apply changes, open new cmd window and try again. If that doesn't work than you might need to execute "C:\Program Files\Java\jdk1.6.0_21\bin\java.exe" instead of "java"
 
Check available libraries in BI Publisher folder, for example in C:\oracle\OracleBI\oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib\
Some libraries might have slightly different names than described in documentation (on my environment there was collection.jar and xmlparserv2.jar instead of collections.zip and xmlparserv2-904.jar)
 
Copy all reports into one folder and execute conversion command similar to this:
java -classpath C:\oracle\OracleBI\oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib\xdocore.jar;C:\oracle\OracleBI\oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib\collections.jar;C:\oracle\OracleBI\oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib\aolj.jar;C:\oracle\OracleBI\oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib\xmlparserv2.jar 
oracle.apps.xdo.rdfparser.BIPBatchConversion
-source C:\projects\reports2bipublisher\source
-target C:\projects\reports2bipublisher\target
-oraclehome C:\oracle\DevSuiteHome_1
 
 
In output folder look for a log file that contains issues/warnings during the conversion and a log of unconverted objects from the Reports definition file (RDF).
After the automatic reports conversion with the tool you will still need to perform the post conversion tasks, which include deployment of the PLSQL package, manual layout adjustment, additional conditional formatting and calculations for the RTF Template, etc.
 
Here is a list of typical manual tasks required for RTF Template:
  1. PLSQL Format Triggers – In Oracle Reports you can use PLSQL format triggers to format data in the reports. The utility creates a placeholder for the all PLSQL format triggers but without adding any functionality. You need to write code in the BI Publisher RTF Template to enable the formatting trigger functionality.
  2. Color Coding of the Layout - You need to add all color coding manually.
  3. Number/Date Formatting - The BI Publisher report uses its default data formats and not the formats in the original report. Items need to be assigned formats manually.
  4. Images – Images are not converted. You need to manually add the images
 
The automatic reports conversion tool moves all pl/sql logic into database package. Review database package.
  1. Formula columns are converted into package functions - that usually works fine. Remove unnecessary calls to package functions by placing that logic into query. That simplifies report and improves performance.
  2. Placeholders are converted into global package variables - that won't work. Remove all global package variables. Replace that logic with simple function returning single value which you could call directly from sql query.
  3. Review RDF triggers. Most of that functionality is not required in BI Publisher and those procedures could be removed.
  4. A RDF validation triggers for parameter form are converted into database package but those are not used anymore and should be removed from that package.
  5. Names of functions' parameters might require changing. Example of bad conversion (that parameter has the same name as table column and it needs to be changed):
    RDF function:
    Function get_desc return varchar2 is
      v_desc varchar2;
    begin
      select description
      into v_desc
      from organization
      where organization_id = :organization_id;
      return v_desc;
    end;Database package function:
    Function get_desc(organization_id in number) return varchar2 is
      v_desc varchar2;
    begin
      select description
      into v_desc
      from organization
      where organization_id = organization_id;
      return v_desc;
    end;
 
 

No comments:

Post a Comment