SlideShare a Scribd company logo
Track 36612
TTHEHE PPOWEROWER OFOF WWEBEBUUTILTIL
Gerd Volberg, Opitz Consulting GmbH
INTRODUCTION
This White Paper describes the installation, a demo application and my opinion about the future of Oracle’s new
Toolset WebUtil.
http://otn.oracle.com/products/forms/htdocs/webutil/webutil.htm
INSTALLATION
In this section only the installation which finds use on my notebook is explained. Further information, as for example
the complete installation for iAS, can be found in the document “WebUtil Familiarization Manual” from Duncan
Mills.
http://otn.oracle.com/products/forms/htdocs/webutil/webutil_manual.pdf
PRE-REQUISITES
Your environment has to be at minimum :
• Windows-NT, Windows 2000, Windows XP
• Oracle9iDS Rel.2 v9.0.2
• http://otn.oracle.com/software/products/ids/forms_content.html
• JInitiator 1.3.1.8 +
• http://otn.oracle.com/software/htdocs/devlic.html?/software/products/developer/htdocs/jinit.htm
• Java2 SDK 1.3.1. +
• WebUtil 1.02
• http://otn.oracle.com/software/products/forms/files/webutil/webutil_102.zip
If you want to use the JavaComBridge from Dan Adler (for OLE-stuff, etc…) [optional]
• Jacob 1.7 (http://danadler.com/jacob/Background.html)
• Binary: http://danadler.com/jacob/jacobBin_17.zip
• Sources (optional): http://danadler.com/jacob/jacobSrc_17.zip
INSTALL WEBUTIL
Install WebUtil in the <ORAHOME Forms9i>forms90 directory, e.g. for my installation:
<ORAHOME Forms9i> = C:oracleoraForms9
<WEBUTIL-Directory> = C:oracleoraForms9forms90WEBUTIL
Paper #
Track 36612
<WEBUTIL-Forms> = C:oracleoraForms9forms90WEBUTILforms
<WEBUTIL-Library> = C:oracleoraForms9forms90WEBUTILlib
<WEBUTIL-Utilities> = C:oracleoraForms9forms90WEBUTILutil
Copy Jacob.dll and Jacob.jar to <WEBUTIL-Library> [optional]
CHANGES TO THE CONFIG FILES
All modifications are printed in boldface
SIGNER.PROPERTIES IN <WEBUTIL-UTILITIES>
#Properties file for signer.bat & makecert.bat
#Defines the overall settings for Signing PJC jars
#Lines prefixed with # are ignored
#Directory Settings - ** change these to suit your system **
#do not include trailing ""
#JDK_HOME=D:toolsjdk1.3.1
#JINIT_HOME=d:Program FilesOracleJInitiator 1.3.1.9
JDK_HOME=C:oracleoraForms9jdk
JINIT_HOME=C:ProgrammeOracleJInitiator 1.3.1.8
#Certificate settings:
# These are used to generate the initial signing certificate
# Change them to suite your organisation
#DN_O=Oracle
#DN_C=US
DN_CN=Product Management
DN_OU=Development Tools
DN_O=OpitzConsulting
DN_C=DE
JAR_KEY=webutil
JAR_KEY_PASSWORD=webutil
CERTIFICATE AND SIGN THE JAR-FILES
Start a command-shell on the client.
Change directory to <WEBUTIL-Utilities>
C:
cd oracleoraForms9forms90WEBUTILutil
Create certificate
makecert
Sign your JAR files in <WEBUTIL-Library >
sign C:oracleoraForms9forms90WEBUTILlibwebutil.jar
sign C:oracleoraForms9forms90WEBUTILlibjacob.jar
REGISTRY CHANGES
Append the following line to your FORMS90_BUILDER_CLASSPATH
Paper #
Track 36612
C:oracleoraForms9forms90WEBUTILlibwebutil.jar
ORION-WEB.XML IN <ORAHOME FORMS9I>J2EEORACLE9IDSAPPLICATION-
DEPLOYMENTSFORMSFORMS90WEB
<?xml version="1.0"?>
<!DOCTYPE orion-web-app PUBLIC "-//Evermind//DTD Orion Web Application 2.3//EN"
"http://xmlns.oracle.com/ias/dtds/orion-web.dtd">
<orion-web-app
deployment-version="9.0.2.0.0"
jsp-cache-directory="./persistence"
temporary-directory="./temp"
servlet-webdir="/servlet/"
>
<context-param-mapping
name="configFileName">C:oracleoraForms9/forms90/server/formsweb.cfg</context-
param-mapping>
<virtual-directory virtual-path="/html" real-
path="C:oracleoraForms9/tools/web90/html" />
<virtual-directory virtual-path="/java" real-
path="C:oracleoraForms9/forms90/java" />
<virtual-directory virtual-path="/jinitiator" real-
path="C:oracleoraForms9/jinit" />
<virtual-directory virtual-path="/webutil" real-
path="C:oracleoraForms9forms90WEBUTILlib" />
<session-tracking cookies="disabled" />
</orion-web-app>
FORMS90.CONF IN <ORAHOME FORMS9I>FORMS90SERVER
In the section with AliasMatches add one :
# Webutil Erweiterung
AliasMatch ^/forms90/webutil/(..*) "C:oracleoraForms9forms90WEBUTILlib/$1"
FORMSWEB.CFG IN <ORAHOME FORMS9I>FORMS90SERVER
At top of the parameter file add
webUtilArchive=/forms90/webutil/webutil.jar,/forms90/webutil/jacob.jar
Change parameters to
baseHTMLjinitiator=C:oracleoraForms9forms90WEBUTILserverwebutiljini.htm
baseHTMLjpi=C:oracleoraForms9forms90WEBUTILserverwebutiljpi.htm
baseHTML=C:oracleoraForms9forms90WEBUTILserverwebutilbase.htm
DEFAULT.ENV IN <ORAHOME FORMS9I>FORMS90SERVER
After the ORACLE_HOME section add a webutil section
ORACLE_HOME=C:oracleoraForms9
#Webutil-Section
WEBUTIL_CONFIG=C:oracleoraForms9forms90WEBUTILserverwebutil.cfg
Paper #
Track 36612
At the end extend the classpath and the formspath as shown here
CLASSPATH=C:oracleoraForms9jlibdebugger.jar;C:oracleoraForms9jlibewt3.jar:C
:oracleoraForms9jlibshare.jar;C:oracleoraForms9jlibutj90.jar;C:oracleoraF
orms9forms90WEBUTILlibwebutil.jar;C:oracleoraForms9jdkjrelibrt.jar;C:ora
cleoraForms9forms90WEBUTILlibjacob.jar;C:oracleoraForms9jdkjrebinclassic
jvm.dll
FORMS90_PATH=C:oracleoraForms9CGENF61admin;C:oracleoraForms9forms90WEBUTIL
forms;C:oracleoraForms9forms90
CHANGES IN FORMS
For all forms which have to be webutil-enabled:
• attach WebUtil.pll to the Libraries
• subclass WebUtil Objectgroup from the webutil.olb to the form
Modify all your code as you can see in the next section
Run your form and have fun with the new functionality
DEMO APPLICATION
The following application is a little example for the easy use of the new WebUtil functionalities
WEBUTIL-APPLICATION
Paper #
Track 36612
Screenshot of my WebUtil-Application
BUTTON “TEXT_IO”
declare
v_file text_io.file_type;
v_string varchar2(2000);
begin
v_file := text_io.fopen ('C:oracleoraForms9forms90WEBUTILformscs.txt',
'r');
text_io.get_line (v_file, v_String);
message (v_String);
text_io.fclose (v_file);
end;
BUTTON “OLE2”
OLE_Aufruf_CS;
PROCEDURE OLE_Aufruf_CS IS
v_ole_excel ole2.obj_type;
v_OLE_workbook ole2.obj_type;
v_OLE_worksheet ole2.obj_type;
v_OLE_Worksheets ole2.obj_type;
v_file_name varchar2 (2000) :=
'C:oracleoraForms9forms90WEBUTILformsspu.xls';
OBJ_HND OLE2.OBJ_TYPE;
v_OLE_Range OLE2.OBJ_TYPE;
arglist ole2.list_type;
Paper #
Track 36612
v_OLE_Workbooks OLE2.OBJ_TYPE;
BEGIN
v_ole_excel := ole2.Create_obj ('Excel.Application');
OLE2.SET_PROPERTY ( v_ole_excel , 'visible', 1);
v_OLE_Workbooks := OLE2.GET_OBJ_PROPERTY (v_ole_excel, 'Workbooks');
arglist := ole2.create_arglist;
ole2.add_arg (arglist, v_file_name );
v_OLE_workbook := ole2.invoke_obj (v_OLE_workbooks, 'open', arglist);
ole2.destroy_arglist (arglist);
v_OLE_Worksheets := OLE2.GET_OBJ_PROPERTY (v_OLE_workbook, 'Worksheets');
arglist := ole2.create_arglist;
ole2.add_arg (arglist, 1);
v_OLE_Worksheet := OLE2.GET_OBJ_PROPERTY (v_OLE_Worksheets, 'Item', arglist);
ole2.destroy_arglist (arglist);
arglist := ole2.create_arglist;
ole2.add_arg (arglist, 'B1');
v_OLE_Range := OLE2.GET_OBJ_PROPERTY (v_OLE_Worksheet, 'Range', arglist );
ole2.destroy_arglist (arglist);
OLE2.SET_PROPERTY (v_OLE_Range, 'FormulaR1C1', 'This is the Test with the OLE2-
package');
END;
BUTTON “CLIENT_TEXT_IO”
declare
v_file client_text_io.file_type;
v_string varchar2(2000);
begin
v_file := client_text_io.fopen
('C:oracleoraForms9forms90WEBUTILformsweb.txt', 'r');
client_text_io.get_line (v_file, v_String);
message (v_String);
client_text_io.fclose (v_file);
end;
BUTTON “FILE_EXISTS”
begin
if webutil_file.file_exists ('C:oracleoraForms9forms90WEBUTILformscs.txt')
then
message ('file exists');
else
message ('file don''t exists');
end if;
end;
BUTTON “CLIENT_OLE2”
OLE_AUFRUF_Web;
PROCEDURE OLE_AUFRUF_Web IS
v_ole_excel client_ole2.obj_type;
v_OLE_workbook client_ole2.obj_type;
v_OLE_worksheet client_ole2.obj_type;
Paper #
Track 36612
v_OLE_Worksheets client_ole2.obj_type;
v_file_name varchar2 (2000) :=
'C:oracleoraForms9forms90WEBUTILformsspu.xls';
OBJ_HND client_OLE2.OBJ_TYPE;
v_OLE_Range client_OLE2.OBJ_TYPE;
arglist client_ole2.list_type;
v_OLE_Workbooks client_OLE2.OBJ_TYPE;
BEGIN
v_ole_excel := client_ole2.create_obj ('Excel.Application');
client_OLE2.SET_PROPERTY ( v_ole_excel , 'visible', 1);
v_OLE_Workbooks := client_OLE2.GET_OBJ_PROPERTY(v_ole_excel ,'Workbooks');
arglist := client_ole2.create_arglist;
client_ole2.add_arg (arglist, v_file_name );
v_OLE_workbook := client_ole2.invoke_obj (v_OLE_workbooks, 'open', arglist);
client_ole2.destroy_arglist (arglist);
v_OLE_Worksheets := client_ole2.GET_OBJ_PROPERTY(v_OLE_workbook ,'Worksheets');
arglist := client_ole2.create_arglist;
client_ole2.add_arg (arglist, 1);
v_OLE_Worksheet := client_ole2.GET_OBJ_PROPERTY(v_OLE_Worksheets, 'Item',
arglist);
client_ole2.destroy_arglist (arglist);
arglist := client_ole2.create_arglist;
client_ole2.add_arg (arglist, 'B1');
v_OLE_Range := client_ole2.GET_OBJ_PROPERTY(v_OLE_Worksheet, 'Range', arglist );
client_ole2.destroy_arglist (arglist);
client_ole2.SET_PROPERTY (v_OLE_Range, 'FormulaR1C1', 'This is the Test with the
new client_OLE2-package');
END;
THE FUTURE
The installation of WebUtil is a little bit complex. I hope, there will be a more automated way to integrate and install
the toolset.
WebUtil is the best toolset for web-developers in the forms-world. All the java-code written by oneself is now
obsolete and can be substituted by WebUtil.
My opinion is: Use WebUtil and don’t write your own java beans. It’s productiv, efficient and the best way to get
webenabled with Forms9i.
Just use it !
Gerd Volberg
Opitz Consulting
Paper #

More Related Content

What's hot

Test
TestTest
Test
fshimao
 
PHPunit and you
PHPunit and youPHPunit and you
PHPunit and you
markstory
 
Avoiding cursors with sql server 2005 tech republic
Avoiding cursors with sql server 2005   tech republicAvoiding cursors with sql server 2005   tech republic
Avoiding cursors with sql server 2005 tech republic
Kaing Menglieng
 
Oracle utilities in 11g R2
Oracle utilities in 11g R2Oracle utilities in 11g R2
Oracle utilities in 11g R2
Guenadi JILEVSKI
 
Hidden Treasures in Project Wonder
Hidden Treasures in Project WonderHidden Treasures in Project Wonder
Hidden Treasures in Project Wonder
WO Community
 
Solr
SolrSolr
Solr
NX21
 
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
apidays
 
Working Effectively with Legacy Javascript code in Opal
Working Effectively with Legacy Javascript code in OpalWorking Effectively with Legacy Javascript code in Opal
Working Effectively with Legacy Javascript code in Opal
Forrest Chang
 

What's hot (8)

Test
TestTest
Test
 
PHPunit and you
PHPunit and youPHPunit and you
PHPunit and you
 
Avoiding cursors with sql server 2005 tech republic
Avoiding cursors with sql server 2005   tech republicAvoiding cursors with sql server 2005   tech republic
Avoiding cursors with sql server 2005 tech republic
 
Oracle utilities in 11g R2
Oracle utilities in 11g R2Oracle utilities in 11g R2
Oracle utilities in 11g R2
 
Hidden Treasures in Project Wonder
Hidden Treasures in Project WonderHidden Treasures in Project Wonder
Hidden Treasures in Project Wonder
 
Solr
SolrSolr
Solr
 
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
 
Working Effectively with Legacy Javascript code in Opal
Working Effectively with Legacy Javascript code in OpalWorking Effectively with Legacy Javascript code in Opal
Working Effectively with Legacy Javascript code in Opal
 

Similar to 36612 volberg

Manual Tecnico OGG Oracle to MySQL
Manual Tecnico OGG Oracle to MySQLManual Tecnico OGG Oracle to MySQL
Manual Tecnico OGG Oracle to MySQL
Erick Vidbaz
 
Awr report error
Awr report errorAwr report error
Awr report error
Hari Prasath
 
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Andrejs Karpovs
 
Oracle WebLogic Server_OL7_Sovann
Oracle WebLogic Server_OL7_SovannOracle WebLogic Server_OL7_Sovann
Oracle WebLogic Server_OL7_Sovann
Voeurng Sovann
 
configuring+oracle+rds+with+glasfish+server
configuring+oracle+rds+with+glasfish+serverconfiguring+oracle+rds+with+glasfish+server
configuring+oracle+rds+with+glasfish+server
hunghtc83
 
Oracle upgrade
Oracle upgradeOracle upgrade
Oracle upgrade
Raj p
 
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Andrejs Prokopjevs
 
Oracle 12cR2 RAC Database Software Installation and Create Database
Oracle 12cR2 RAC Database Software Installation and Create DatabaseOracle 12cR2 RAC Database Software Installation and Create Database
Oracle 12cR2 RAC Database Software Installation and Create Database
Monowar Mukul
 
Data Base Upgrade
Data Base UpgradeData Base Upgrade
Data Base Upgrade
guest362312
 
Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000
Ajith Narayanan
 
Oracle API Gateway Installation
Oracle API Gateway InstallationOracle API Gateway Installation
Oracle API Gateway Installation
Rakesh Gujjarlapudi
 
Slim3 quick start
Slim3 quick startSlim3 quick start
Slim3 quick start
Guangyao Cao
 
Create a Database Application Development Environment with Docker
Create a Database Application Development Environment with DockerCreate a Database Application Development Environment with Docker
Create a Database Application Development Environment with Docker
Blaine Carter
 
Linux configer
Linux configerLinux configer
Linux configer
MD. AL AMIN
 
How to execute an oracle stored procedure with nested table as a parameter fr...
How to execute an oracle stored procedure with nested table as a parameter fr...How to execute an oracle stored procedure with nested table as a parameter fr...
How to execute an oracle stored procedure with nested table as a parameter fr...
Priyobroto Ghosh (Mule ESB Certified)
 
Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1
Voeurng Sovann
 
Oracle E-Business Suite Custom Library New Look
Oracle E-Business Suite Custom Library New LookOracle E-Business Suite Custom Library New Look
Oracle E-Business Suite Custom Library New Look
Donald Ferreira
 
IaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LABIaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LAB
Stefan Oehrli
 
Create manula and automaticly database
Create manula and automaticly databaseCreate manula and automaticly database
Create manula and automaticly database
Anar Godjaev
 
Upgrade Oracle Database to 12c
Upgrade Oracle Database to 12c Upgrade Oracle Database to 12c
Upgrade Oracle Database to 12c
Osama Mustafa
 

Similar to 36612 volberg (20)

Manual Tecnico OGG Oracle to MySQL
Manual Tecnico OGG Oracle to MySQLManual Tecnico OGG Oracle to MySQL
Manual Tecnico OGG Oracle to MySQL
 
Awr report error
Awr report errorAwr report error
Awr report error
 
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
 
Oracle WebLogic Server_OL7_Sovann
Oracle WebLogic Server_OL7_SovannOracle WebLogic Server_OL7_Sovann
Oracle WebLogic Server_OL7_Sovann
 
configuring+oracle+rds+with+glasfish+server
configuring+oracle+rds+with+glasfish+serverconfiguring+oracle+rds+with+glasfish+server
configuring+oracle+rds+with+glasfish+server
 
Oracle upgrade
Oracle upgradeOracle upgrade
Oracle upgrade
 
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
 
Oracle 12cR2 RAC Database Software Installation and Create Database
Oracle 12cR2 RAC Database Software Installation and Create DatabaseOracle 12cR2 RAC Database Software Installation and Create Database
Oracle 12cR2 RAC Database Software Installation and Create Database
 
Data Base Upgrade
Data Base UpgradeData Base Upgrade
Data Base Upgrade
 
Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000
 
Oracle API Gateway Installation
Oracle API Gateway InstallationOracle API Gateway Installation
Oracle API Gateway Installation
 
Slim3 quick start
Slim3 quick startSlim3 quick start
Slim3 quick start
 
Create a Database Application Development Environment with Docker
Create a Database Application Development Environment with DockerCreate a Database Application Development Environment with Docker
Create a Database Application Development Environment with Docker
 
Linux configer
Linux configerLinux configer
Linux configer
 
How to execute an oracle stored procedure with nested table as a parameter fr...
How to execute an oracle stored procedure with nested table as a parameter fr...How to execute an oracle stored procedure with nested table as a parameter fr...
How to execute an oracle stored procedure with nested table as a parameter fr...
 
Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1
 
Oracle E-Business Suite Custom Library New Look
Oracle E-Business Suite Custom Library New LookOracle E-Business Suite Custom Library New Look
Oracle E-Business Suite Custom Library New Look
 
IaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LABIaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LAB
 
Create manula and automaticly database
Create manula and automaticly databaseCreate manula and automaticly database
Create manula and automaticly database
 
Upgrade Oracle Database to 12c
Upgrade Oracle Database to 12c Upgrade Oracle Database to 12c
Upgrade Oracle Database to 12c
 

Recently uploaded

Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
Exception Handling notes in java exception
Exception Handling notes in java exceptionException Handling notes in java exception
Exception Handling notes in java exception
Ratnakar Mikkili
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
University of Maribor
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
ihlasbinance2003
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
rpskprasana
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
Madhumitha Jayaram
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
ssuser36d3051
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
IJNSA Journal
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 

Recently uploaded (20)

Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
Exception Handling notes in java exception
Exception Handling notes in java exceptionException Handling notes in java exception
Exception Handling notes in java exception
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 

36612 volberg

  • 1. Track 36612 TTHEHE PPOWEROWER OFOF WWEBEBUUTILTIL Gerd Volberg, Opitz Consulting GmbH INTRODUCTION This White Paper describes the installation, a demo application and my opinion about the future of Oracle’s new Toolset WebUtil. http://otn.oracle.com/products/forms/htdocs/webutil/webutil.htm INSTALLATION In this section only the installation which finds use on my notebook is explained. Further information, as for example the complete installation for iAS, can be found in the document “WebUtil Familiarization Manual” from Duncan Mills. http://otn.oracle.com/products/forms/htdocs/webutil/webutil_manual.pdf PRE-REQUISITES Your environment has to be at minimum : • Windows-NT, Windows 2000, Windows XP • Oracle9iDS Rel.2 v9.0.2 • http://otn.oracle.com/software/products/ids/forms_content.html • JInitiator 1.3.1.8 + • http://otn.oracle.com/software/htdocs/devlic.html?/software/products/developer/htdocs/jinit.htm • Java2 SDK 1.3.1. + • WebUtil 1.02 • http://otn.oracle.com/software/products/forms/files/webutil/webutil_102.zip If you want to use the JavaComBridge from Dan Adler (for OLE-stuff, etc…) [optional] • Jacob 1.7 (http://danadler.com/jacob/Background.html) • Binary: http://danadler.com/jacob/jacobBin_17.zip • Sources (optional): http://danadler.com/jacob/jacobSrc_17.zip INSTALL WEBUTIL Install WebUtil in the <ORAHOME Forms9i>forms90 directory, e.g. for my installation: <ORAHOME Forms9i> = C:oracleoraForms9 <WEBUTIL-Directory> = C:oracleoraForms9forms90WEBUTIL Paper #
  • 2. Track 36612 <WEBUTIL-Forms> = C:oracleoraForms9forms90WEBUTILforms <WEBUTIL-Library> = C:oracleoraForms9forms90WEBUTILlib <WEBUTIL-Utilities> = C:oracleoraForms9forms90WEBUTILutil Copy Jacob.dll and Jacob.jar to <WEBUTIL-Library> [optional] CHANGES TO THE CONFIG FILES All modifications are printed in boldface SIGNER.PROPERTIES IN <WEBUTIL-UTILITIES> #Properties file for signer.bat & makecert.bat #Defines the overall settings for Signing PJC jars #Lines prefixed with # are ignored #Directory Settings - ** change these to suit your system ** #do not include trailing "" #JDK_HOME=D:toolsjdk1.3.1 #JINIT_HOME=d:Program FilesOracleJInitiator 1.3.1.9 JDK_HOME=C:oracleoraForms9jdk JINIT_HOME=C:ProgrammeOracleJInitiator 1.3.1.8 #Certificate settings: # These are used to generate the initial signing certificate # Change them to suite your organisation #DN_O=Oracle #DN_C=US DN_CN=Product Management DN_OU=Development Tools DN_O=OpitzConsulting DN_C=DE JAR_KEY=webutil JAR_KEY_PASSWORD=webutil CERTIFICATE AND SIGN THE JAR-FILES Start a command-shell on the client. Change directory to <WEBUTIL-Utilities> C: cd oracleoraForms9forms90WEBUTILutil Create certificate makecert Sign your JAR files in <WEBUTIL-Library > sign C:oracleoraForms9forms90WEBUTILlibwebutil.jar sign C:oracleoraForms9forms90WEBUTILlibjacob.jar REGISTRY CHANGES Append the following line to your FORMS90_BUILDER_CLASSPATH Paper #
  • 3. Track 36612 C:oracleoraForms9forms90WEBUTILlibwebutil.jar ORION-WEB.XML IN <ORAHOME FORMS9I>J2EEORACLE9IDSAPPLICATION- DEPLOYMENTSFORMSFORMS90WEB <?xml version="1.0"?> <!DOCTYPE orion-web-app PUBLIC "-//Evermind//DTD Orion Web Application 2.3//EN" "http://xmlns.oracle.com/ias/dtds/orion-web.dtd"> <orion-web-app deployment-version="9.0.2.0.0" jsp-cache-directory="./persistence" temporary-directory="./temp" servlet-webdir="/servlet/" > <context-param-mapping name="configFileName">C:oracleoraForms9/forms90/server/formsweb.cfg</context- param-mapping> <virtual-directory virtual-path="/html" real- path="C:oracleoraForms9/tools/web90/html" /> <virtual-directory virtual-path="/java" real- path="C:oracleoraForms9/forms90/java" /> <virtual-directory virtual-path="/jinitiator" real- path="C:oracleoraForms9/jinit" /> <virtual-directory virtual-path="/webutil" real- path="C:oracleoraForms9forms90WEBUTILlib" /> <session-tracking cookies="disabled" /> </orion-web-app> FORMS90.CONF IN <ORAHOME FORMS9I>FORMS90SERVER In the section with AliasMatches add one : # Webutil Erweiterung AliasMatch ^/forms90/webutil/(..*) "C:oracleoraForms9forms90WEBUTILlib/$1" FORMSWEB.CFG IN <ORAHOME FORMS9I>FORMS90SERVER At top of the parameter file add webUtilArchive=/forms90/webutil/webutil.jar,/forms90/webutil/jacob.jar Change parameters to baseHTMLjinitiator=C:oracleoraForms9forms90WEBUTILserverwebutiljini.htm baseHTMLjpi=C:oracleoraForms9forms90WEBUTILserverwebutiljpi.htm baseHTML=C:oracleoraForms9forms90WEBUTILserverwebutilbase.htm DEFAULT.ENV IN <ORAHOME FORMS9I>FORMS90SERVER After the ORACLE_HOME section add a webutil section ORACLE_HOME=C:oracleoraForms9 #Webutil-Section WEBUTIL_CONFIG=C:oracleoraForms9forms90WEBUTILserverwebutil.cfg Paper #
  • 4. Track 36612 At the end extend the classpath and the formspath as shown here CLASSPATH=C:oracleoraForms9jlibdebugger.jar;C:oracleoraForms9jlibewt3.jar:C :oracleoraForms9jlibshare.jar;C:oracleoraForms9jlibutj90.jar;C:oracleoraF orms9forms90WEBUTILlibwebutil.jar;C:oracleoraForms9jdkjrelibrt.jar;C:ora cleoraForms9forms90WEBUTILlibjacob.jar;C:oracleoraForms9jdkjrebinclassic jvm.dll FORMS90_PATH=C:oracleoraForms9CGENF61admin;C:oracleoraForms9forms90WEBUTIL forms;C:oracleoraForms9forms90 CHANGES IN FORMS For all forms which have to be webutil-enabled: • attach WebUtil.pll to the Libraries • subclass WebUtil Objectgroup from the webutil.olb to the form Modify all your code as you can see in the next section Run your form and have fun with the new functionality DEMO APPLICATION The following application is a little example for the easy use of the new WebUtil functionalities WEBUTIL-APPLICATION Paper #
  • 5. Track 36612 Screenshot of my WebUtil-Application BUTTON “TEXT_IO” declare v_file text_io.file_type; v_string varchar2(2000); begin v_file := text_io.fopen ('C:oracleoraForms9forms90WEBUTILformscs.txt', 'r'); text_io.get_line (v_file, v_String); message (v_String); text_io.fclose (v_file); end; BUTTON “OLE2” OLE_Aufruf_CS; PROCEDURE OLE_Aufruf_CS IS v_ole_excel ole2.obj_type; v_OLE_workbook ole2.obj_type; v_OLE_worksheet ole2.obj_type; v_OLE_Worksheets ole2.obj_type; v_file_name varchar2 (2000) := 'C:oracleoraForms9forms90WEBUTILformsspu.xls'; OBJ_HND OLE2.OBJ_TYPE; v_OLE_Range OLE2.OBJ_TYPE; arglist ole2.list_type; Paper #
  • 6. Track 36612 v_OLE_Workbooks OLE2.OBJ_TYPE; BEGIN v_ole_excel := ole2.Create_obj ('Excel.Application'); OLE2.SET_PROPERTY ( v_ole_excel , 'visible', 1); v_OLE_Workbooks := OLE2.GET_OBJ_PROPERTY (v_ole_excel, 'Workbooks'); arglist := ole2.create_arglist; ole2.add_arg (arglist, v_file_name ); v_OLE_workbook := ole2.invoke_obj (v_OLE_workbooks, 'open', arglist); ole2.destroy_arglist (arglist); v_OLE_Worksheets := OLE2.GET_OBJ_PROPERTY (v_OLE_workbook, 'Worksheets'); arglist := ole2.create_arglist; ole2.add_arg (arglist, 1); v_OLE_Worksheet := OLE2.GET_OBJ_PROPERTY (v_OLE_Worksheets, 'Item', arglist); ole2.destroy_arglist (arglist); arglist := ole2.create_arglist; ole2.add_arg (arglist, 'B1'); v_OLE_Range := OLE2.GET_OBJ_PROPERTY (v_OLE_Worksheet, 'Range', arglist ); ole2.destroy_arglist (arglist); OLE2.SET_PROPERTY (v_OLE_Range, 'FormulaR1C1', 'This is the Test with the OLE2- package'); END; BUTTON “CLIENT_TEXT_IO” declare v_file client_text_io.file_type; v_string varchar2(2000); begin v_file := client_text_io.fopen ('C:oracleoraForms9forms90WEBUTILformsweb.txt', 'r'); client_text_io.get_line (v_file, v_String); message (v_String); client_text_io.fclose (v_file); end; BUTTON “FILE_EXISTS” begin if webutil_file.file_exists ('C:oracleoraForms9forms90WEBUTILformscs.txt') then message ('file exists'); else message ('file don''t exists'); end if; end; BUTTON “CLIENT_OLE2” OLE_AUFRUF_Web; PROCEDURE OLE_AUFRUF_Web IS v_ole_excel client_ole2.obj_type; v_OLE_workbook client_ole2.obj_type; v_OLE_worksheet client_ole2.obj_type; Paper #
  • 7. Track 36612 v_OLE_Worksheets client_ole2.obj_type; v_file_name varchar2 (2000) := 'C:oracleoraForms9forms90WEBUTILformsspu.xls'; OBJ_HND client_OLE2.OBJ_TYPE; v_OLE_Range client_OLE2.OBJ_TYPE; arglist client_ole2.list_type; v_OLE_Workbooks client_OLE2.OBJ_TYPE; BEGIN v_ole_excel := client_ole2.create_obj ('Excel.Application'); client_OLE2.SET_PROPERTY ( v_ole_excel , 'visible', 1); v_OLE_Workbooks := client_OLE2.GET_OBJ_PROPERTY(v_ole_excel ,'Workbooks'); arglist := client_ole2.create_arglist; client_ole2.add_arg (arglist, v_file_name ); v_OLE_workbook := client_ole2.invoke_obj (v_OLE_workbooks, 'open', arglist); client_ole2.destroy_arglist (arglist); v_OLE_Worksheets := client_ole2.GET_OBJ_PROPERTY(v_OLE_workbook ,'Worksheets'); arglist := client_ole2.create_arglist; client_ole2.add_arg (arglist, 1); v_OLE_Worksheet := client_ole2.GET_OBJ_PROPERTY(v_OLE_Worksheets, 'Item', arglist); client_ole2.destroy_arglist (arglist); arglist := client_ole2.create_arglist; client_ole2.add_arg (arglist, 'B1'); v_OLE_Range := client_ole2.GET_OBJ_PROPERTY(v_OLE_Worksheet, 'Range', arglist ); client_ole2.destroy_arglist (arglist); client_ole2.SET_PROPERTY (v_OLE_Range, 'FormulaR1C1', 'This is the Test with the new client_OLE2-package'); END; THE FUTURE The installation of WebUtil is a little bit complex. I hope, there will be a more automated way to integrate and install the toolset. WebUtil is the best toolset for web-developers in the forms-world. All the java-code written by oneself is now obsolete and can be substituted by WebUtil. My opinion is: Use WebUtil and don’t write your own java beans. It’s productiv, efficient and the best way to get webenabled with Forms9i. Just use it ! Gerd Volberg Opitz Consulting Paper #