Discussions
Categories
- 385.5K All Categories
- 5.1K Data
- 2.5K Big Data Appliance
- 2.5K Data Science
- 453.4K Databases
- 223.2K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 47 Multilingual Engine
- 606 MySQL Community Space
- 486 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.2K ORDS, SODA & JSON in the Database
- 585 SQLcl
- 4K SQL Developer Data Modeler
- 188K SQL & PL/SQL
- 21.5K SQL Developer
- 46 Data Integration
- 46 GoldenGate
- 298.4K Development
- 4 Application Development
- 20 Developer Projects
- 166 Programming Languages
- 295K Development Tools
- 150 DevOps
- 3.1K QA/Testing
- 646.7K Java
- 37 Java Learning Subscription
- 37.1K Database Connectivity
- 201 Java Community Process
- 108 Java 25
- 22.2K Java APIs
- 138.3K Java Development Tools
- 165.4K Java EE (Java Enterprise Edition)
- 22 Java Essentials
- 176 Java 8 Questions
- 86K Java Programming
- 82 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 208 Java User Groups
- 25 JavaScript - Nashorn
- Programs
- 667 LiveLabs
- 41 Workshops
- 10.3K Software
- 6.7K Berkeley DB Family
- 3.6K JHeadstart
- 6K Other Languages
- 2.3K Chinese
- 207 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 474 Portuguese
How and where can we set variable for report server to be used in every form redirecting to a Report

Problem Description
---------------------------------------------------
We have recently completed FMW, Forms and Reports 12.2.1.4.0 version.
We can run forms and reports successfully.
However in the code which redirects to reports from a form- this is a part of PL/SQL trigger block which calls report from a form.
-----------
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT,'PDF');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER,'rep_wls_reports_kbn1pp-oawl003');
vc_ReportServerJob:=RUN_REPORT_OBJECT(v_report_id);
vjob_id := substr(vc_ReportServerJob,instr(vc_ReportServerJob,'_',-1)+1);
vc_rep_status := REPORT_OBJECT_STATUS(vc_ReportServerJob);
IF vc_rep_status = 'FINISHED' THEN
WEB.SHOW_DOCUMENT('http://kbn1pp-oawl003:8002/reports/rwservlet/getjobid'|| vjob_id ||'?server=rep_wls_reports_kbn1pp-oawl003','_blank');
ELSE
message ('Report failed with error message '||vc_rep_status);
END IF;
WHILE vc_rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
vc_rep_status := report_object_status(vc_ReportServerJob);
END LOOP;
-------------------
We do not want to define Server name every time in code when redirecting to Report from a Form.
How and where we can set a global variable in configuration and use it in the code ?
Answers
-
Michael Ferrante-Oracle Senior Principal Product Manager Orlando, FL (USA)Member Posts: 7,545 Employee
There are several options. The most generic and effective (and secure) would be to use a proxy server (e.g. OHS) in front of WebLogic. The result would be that you would not need to provide
server:port
in the code at all. With OHS in front of WLS, the new code would look more like this:WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'|| vjob_id ||'?server=rep_wls_reports_kbn1pp-oawl003','_blank');
Alternatively, if you didn't want to use the proxy idea, which as I said adds a layer of security, you could set the REPORTS_SERVER in the Forms environment configuration then read it in code. So something like this:
o Add
WLS_REPORTS_SRV=http://kbn1pp-oawl003:8002
to the Forms environment config (e.g. default.env)o Change your code to something more like this:
... IF vc_rep_status = 'FINISHED' THEN TOOL_ENV.GETVAR ('REPORTS_SERVER', REPSERVER); WEB.SHOW_DOCUMENT(REPSERVER || '/reports/rwservlet/getjobid' || vjob_id ||'?server=rep_wls_reports_kbn1pp-oawl003','_blank'); ELSE ...
Once this code is in place, it will not need to be changed again, at least as it relates to the host server. All you need to do is set the desired server value in the configuration, so no code change.