In this section:
When using PCHOLD, a procedure is invoked on the WebFOCUS Reporting Server and the server accesses data sources to determine values. These values are usually passed back to the WebFOCUS Client on the web or application server and the client uses the graph engine to create graphics.
When using HOLD, after a procedure is invoked and the values determined, the WebFOCUS Reporting Server uses the graph engine to create the graphics itself or makes an HTTP call to the web server.
Using a HOLD can be specified in a procedure, as shown in the following example.
To test whether HOLD works in your environment, create a procedure like the following:
APP HOLD BASEAPP GRAPH FILE CAR SUM SALES BY COUNTRY ON GRAPH HOLD AS HOLDTEST FORMAT PNG END
Save this procedure in the ibisamp directory on the WebFOCUS Reporting Server machine. For example:
This procedure creates a file called holdtest.png in baseapp. You can use the procedure to test the HOLD configurations that follow. If GRAPHSERVURL is set in cgivars.wfs, you can override it and use JSCOM3 or IBIJAVAPATH, by adding the following as the second line of the sample procedure.
No special configuration is needed to use GRAPHSERVURL, provided you have deployed the WebFOCUS web application to your application server. GRAPHSERVURL is set as the IBIF_graphservurl value in cgivars.wfs. The value in cgivars.wfs is passed to the WebFOCUS Reporting Server when you launch a procedure through a servlet call. The value can also be set or overridden in a procedure using:
Are the host name and port of the web server or application server.
GRAPHSERVURL is not supported when used against a secured web server (SSL, Basic Authentication, or other third-party security), because there is no mechanism for supplying credentials.
If you are using a secured web server in front of your application server, you can reset this value to directly call the application server host and port instead of the web server. You can do this in cgivars.wfs through the WebFOCUS Administration Console.
For ReportCaster, this must be set in a procedure, since it is not inherited from cgivars.wfs. Otherwise, a procedure launched by ReportCaster makes use of JSCOM3 or IBIJAVAPATH.
You can disable GRAPHSERVURL and use JSCOM3 or IBIJAVAPATH for a specific procedure by setting GRAPHSERVURL to nothing:
JSCOM3 is a listener installed with the WebFOCUS Reporting Server. It normally uses the fourth port used by the server. By default, this is port 8123. It is only used for HOLD graphics if GRAPHSERVURL and IBIJAVAPATH is not set.
To use JSCOM3, you must set the $JDK_HOME variable to your Java JDK installation directory. JSCOM3 is configured to automatically use headless. If you wish to use DISPLAY, you need to disable headless for JSCOM3 and set the DISPLAY variable.
For more information, see How to Verify or Enable the JSCOM3 Listener.
Be aware that if you create graphs that use templates, JSCOM3 uses a different copy of the templates than the WebFOCUS Client. If you modify templates, be sure to modify both. One is installed with the server for JSCOM3 and one is installed with the WebFOCUS Client:
If you do not wish to use JSCOM3 or GRAPHSERVURL, you can use the older process-based IBIJAVAPATH method. With IBIJAVAPATH, each graph request is launched as a separate Java process using the IBIJAVAPATH environment variable. This variable must be declared before the server is started. You can add it to the user .profile or to the edastart script.
IBIJAVAPATH is used if GRAPHSERVURL is not set and if the IBIJAVAPATH environment variable is set. You do not need to disable JSCOM3 in order to use IBIJAVAPATH.
The IBIJAVAPATH variable is what the server uses to create graphs. It should contain all of the following in quotation marks:
export IBIJAVAPATH="java -classpath /home/iadmin/ibi/srv81/home/etc/IBIGifGraphChart.jar"
export IBIJAVAPATH="java -Djava.awt.headless=true -classpath /home/iadmin/ibi/srv81/home/etc/IBIGifGraphChart.jar"
The headless option does not support GIF files or the GRAPH32 engine.