Monday, September 28, 2009

compile oracle Forms and Reports batch wise

how to compile a oracle report in unix or linux or sun solaries
=========================================

------------------------------------------------
------------------sample-------------------------
-------------------------------------------------
Be Careful: ALL command Line Argument
need to write in a single line.
-------------------------------------------------
--------------------------------------------------

REM WINDOWS COMPILE REPORT
::compile_report.bat
cls
Echo compiling Report .....
rem ---------------------------
rem begin command line argument
rem ---------------------------
for %%f IN (*.RDF) do rwconverter userid=islbas/islbas@beftn batch=yes source=%%f stype=rdffile DTYPE=repFILE compile_all=yes OVERWRITE=yes logfile=log.txt dest='D:\ISLBAS\Report\des\%%f'
rem -------------------------
rem end command line argument
rem -------------------------
ECHO FINISHED COMPILING


another parameter of DTYPE=rdffile
==============================================================================

For Windows
====================

----------------------
Forms/Reports 6i
---------------------

REM WINDOWS COMPILE FORMS
::compile_forms.bat
cls
Echo compiling Forms....
for %%f IN (*.fmb) do ifcmp60 userid=scott/tiger@v817 module=%%f batch=yes
module_type=form compile_all=yes window_state=minimize
ECHO FINISHED COMPILING

REM WINDOWS COMPILE REPORT
::compile_report.bat
cls
Echo compiling Report .....
for %%f IN (*.rdf) do RWCON60 userid=scott/tiger@v817 batch=yes source=%%f
stype=rdffile DTYPE=REPFILE OVERWRITE=yes logfile=log.txt
ECHO FINISHED COMPILING

--------------------
Forms/Reports 9.0.X
--------------------

REM WINDOWS COMPILE FORMS
::compile_forms.bat
cls
Echo compiling Forms....
for %%f IN (*.fmb) do ifcmp90 userid=scott/tiger@v817 module=%%f batch=yes
module_type=form compile_all=yes window_state=minimize
ECHO FINISHED COMPILING


--------------------
Forms/Reports 10.X
--------------------

::compile_forms.bat
cls
Echo compiling Forms....
for %%f IN (*.fmb) do frmcmp userid=scott/tiger@v817 module=%%f batch=yes
module_type=form compile_all=yes window_state=minimize
ECHO FINISHED COMPILING

REM WINDOWS COMPILE REPORT
::compile_report.bat
cls
Echo compiling Report .....
for %%f IN (*.rdf) do rwconverter userid=scott/tiger@v817 batch=yes
source=%%f stype=rdffile DTYPE=REPFILE compile_all=yes OVERWRITE=yes logfile=log.txt
ECHO FINISHED COMPILING

For UNIX
===================
-------------------
Forms/Reports 6i
-------------------

#UNIX Forms Compile
#compile_forms.sh
for i in `ls *.fmb`
do
echo Compiling Form $i ....
f60genm userid=scott/tiger@bs817 batch=yes module=$i module_type=form
compile_all=yes window_state=minimize
done

#UNIX COMPILE REPORTS
#compile_rep.sh
for i in `ls *.rdf`
do
echo Compiling Report $i ...
rwcon60 userid=scott/tiger@bs817 batch=yes source=$i stype=rdffile
dtype=repfile overwrite=yes compile_all=yes
done

------------------------
Forms/Reports 9.0.X, 10.x
------------------------

#UNIX Forms Compile
#compile_forms.sh
for i in `ls *.fmb`
do
echo Compiling Form $i ....
f90genm userid=scott/tiger@bs817 batch=yes module=$i module_type=form
compile_all=yes window_state=minimize
done

( For 10gR1 = forms 9.0.4.x, you can use f90gen also)
( For 10gR2 = forms 10.x, you can use frmcmp.sh or frmcmp_batch.sh)

#UNIX COMPILE REPORTS
#compile_rep.sh
for i in `ls *.rdf`
do
echo Compiling Report $i ...
rwconverter.sh userid=scott/tiger@bs817 batch=yes source=$i
stype=rdffile dtype=repfile overwrite=yes compile_all=yes
done


ADDITIONAL:
You can use the information above to compile libraries or menues or
convert files from binary to text and text to binary too. eg:

for %%f in (*.pll) do ifcmp60 userid=user/pwd@db module=%%f module_type=LIBRARY batch=yes window_state=minimize compile_all=yes
for %%f in (*.mmb) do ifcmp60 userid=user/pwd@db module=%%f module_type=MENU batch=yes window_state=minimize compile_all=yes
for %%f in (*.mmb) do ifcmp60 userid=user/pwd@db module=%%f module_type=FORM batch=yes window_state=minimize parse=YES
for %%f in (*.mmb) do ifcmp60 userid=user/pwd@db module=%%f module_type=FORM batch=yes window_state=minimize script=YES
(and similar loops for Unix).

REP-1950: Invalid Source specified.

2 comments:

Anonymous said...

Thanks for your scripts i was working on somthing similar and i was missing the reports part.

Saurabh Mishra said...

Hi Halim,
Thanks for the wonderful article. Could you please share the scripts to compile forms and reports 11g in batch in windows.