DN4500609.0904
EDA, EDA/SQL, FIDEL, FOCCALC, FOCUS, FOCUS Fusion, FOCUS Vision, Hospital-Trac, Information Builders, the Information Builders logo, Parlay, PC/FOCUS, SmartMart, SmartMode, SNAPpack, TableTalk, WALDO, Web390, WebFOCUS and WorldMART are registered trademarks, and iWay and iWay Software are trademarks of Information Builders, Inc. Due to the nature of this material, this document refers to numerous hardware and software products by their trademarks. In most, if not all cases, these designations are claimed as trademarks or registered trademarks by their respective companies. It is not this publishers intent to use any of these names generically. The reader is therefore cautioned to investigate all claimed trademark rights before using any of these names other than to refer to the product described. Copyright 2004, by Information Builders, Inc and iWay Software. All rights reserved. Patent Pending. This manual, or parts thereof, may not be reproduced in any form without the written permission of Information Builders, Inc.
Preface
This documentation describes how to create Web Services for WebFOCUS features by accessing supplied Web pages that provide the basic development interface for Web Services support. It also describes the function calls required to implement the capability. It is intended for experienced developers who will use this capability to expose WebFOCUS functionality as callable services from a Microsoft Visual Studio .NET or J2EE development platform. Developers should have a knowledge of Web Service technology and object-oriented programming.
3 4 5 6
iii
Documentation Conventions
The following conventions apply throughout this manual: Convention
THIS TYPEFACE or this typeface this typeface
Description Denotes syntax that you must enter exactly as shown. Represents a placeholder (or variable) in syntax for a value that you or the system must supply. Indicates a default setting. Represents a placeholder (or variable) in a text paragraph, a cross-reference, or an important term. It may also Indicate a button, menu item, or dialog box option you can click or select. Highlights a file name or command in a text paragraph that must be lowercase. Indicates keys that you must press simultaneously. Indicates two or three choices; type one of them, not the braces. Indicates a group of optional parameters. None are required, but you may select one of them. Type only the parameter in the brackets, not the brackets. Separates mutually exclusive choices in syntax. Type one of them, not the symbol. Indicates that you can enter a parameter multiple times. Type only the parameter, not the ellipsis points (). Indicates that there are (or could be) intervening or additional commands.
underscore
this typeface
...
. . .
Related Publications
To view a current listing of our publications and to place an order, visit our World Wide Web site, http://www.informationbuilders.com. You can also contact the Publications Order Department at (800) 969-4636.
iv
Information Builders
Preface
Customer Support
Do you have questions about WebFOCUS? Call Information Builders Customer Support Service (CSS) at (800) 736-6130 or (212) 736-6130. Customer Support Consultants are available Monday through Friday between 8:00 a.m. and 8:00 p.m. EST to address all your WebFOCUS questions. Information Builders consultants can also give you general guidance regarding product capabilities and documentation. Please be ready to provide your six-digit site code (xxxx.xx) when you call. You can also access support services electronically, 24 hours a day, with InfoResponse Online. InfoResponse Online is accessible through our World Wide Web site, http://www.informationbuilders.com. It connects you to the tracking system and known-problem database at the Information Builders support center. Registered users can open, update, and view the status of cases in the tracking system and read descriptions of reported software issues. New users can register immediately for this service. The technical support section of www.informationbuilders.com also provides usage techniques, diagnostic tips, and answers to frequently asked questions. To learn about the full range of available support services, ask your Information Builders representative about InfoResponse Online, or call (800) 969-INFO.
The stored procedure (preferably with line numbers) or FOCUS commands being used in server access. The name of the Master File and Access File.
The exact nature of the problem: Are the results or the format incorrect? Are the text or calculations missing or misplaced? The error message and return code, if applicable. Is this related to any other problem?
Has the procedure or query ever worked in its present form? Has it been changed recently? How often does the problem occur? What release of the operating system are you using? Has it, WebFOCUS, your security system, communications protocol, or front-end software changed? Is this problem reproducible? If so, how? Have you tried to reproduce your problem in the simplest form possible? For example, if you are having problems joining two data sources, have you tried executing a query containing the code to access a single data source? Do you have a trace file? How is the problem affecting your business? Is it halting development or production? Do you just have questions about functionality or documentation?
User Feedback
In an effort to produce effective documentation, the Documentation Services staff welcomes your opinions regarding this manual. Please use the Reader Comments form at the end of this manual to relay suggestions for improving the publication or to alert us to corrections. You can also use the Documentation Feedback form on our Web site, http://www.informationbuilders.com. Thank you, in advance, for your comments.
vi
Information Builders
Contents
1. WebFOCUS Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1
What Is a Web Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2 Components of a Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3 Using WebFOCUS Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4 What Can You Do Through a WebFOCUS Web Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5 The WebFOCUS WSDL Creation Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5 The WebFOCUS Web Services Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5 Example: Using a Web Service to Make an Online Reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-6 WebFOCUS Web Services Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-6
2.
3.
vii
Contents
4.
viii
Information Builders
Contents Managed Reporting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-86 Getting a List of Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-86 Getting a List of Domains for a Particular User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-88 Getting a List of Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-89 Getting a List of Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-91 Creating a New Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-92 Creating a New Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-94 Creating a New User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-95 Renaming a Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-97 Setting a Password for a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-99 Changing User Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-101 Adding a Group To a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-104 Deleting a Group From a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-106 Adding a Domain To a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-108 Deleting a Domain From a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-110 Deleting a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-112 Deleting a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-114 Adding a Standard Reports Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-116 Renaming a Standard Reports Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-119 Deleting a Standard Reports Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-122 Adding a Reporting Objects Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-124 Renaming a Reporting Object Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-127 Deleting a Reporting Object Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-130 Creating a Standard Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-132 Renaming a Standard Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-137 Deleting a Standard Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-140 Creating a Reporting Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-143 Renaming a Reporting Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-149 Deleting a Reporting Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-152 Creating an Other File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-155 Renaming an Other File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-159 Deleting an Other File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-161 Opening a Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-164 Running Managed Reporting API Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-168 Retrieving Status of Deferred Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-172
ix
Contents
5.
6.
Information Builders
CHAPTER 1
Topics: What Is a Web Service? Components of a Web Service Using WebFOCUS Web Services Example: Using a Web Service to Make an Online Reservation WebFOCUS Web Services Architecture
With WebFOCUS Version 5 Release 3, you can interact with a variety of WebFOCUS features using Web Services.
New Features
1-1
1-2
iWay Software
You can use XML, SOAP, WSDL, and UDDI together to integrate Web-based applications. Use XML to tag the data, SOAP to transfer the data, WSDL to describe the available services, and UDDI to list the available services.
New Features
1-3
1-4
iWay Software
New Features
1-5
1-6
iWay Software
CHAPTER 2
Topics: Creating WSDL Files With the WSDL Creation Utility Creating a Generic WSDL File for an Application Creating a WebFOCUS Report as a Web Service Function Creating a Managed Reporting Report as a Web Service Function Choosing Functions for a WSDL File Consuming a Web Service in .NET Consuming a Web Service in Java
WebFOCUS Web Services Enablement, also known as the Publish option, provides the WebFOCUS WSDL creation utility that creates a WSDL file that .NET and Java programmers can use to call the set of WebFOCUS Web Services functions. The WSDL creation utility expedites application development because it automatically generates a WSDL file.
2-1
where target_machine is the name of the machine where WebFOCUS is installed. This URL displays a supplied Web page from which you can create WebFOCUS WSDL files.
2. Click the WebFocus Uddi or Mre Uddi, depending on the type of generic WSDL file you want to create. 3. Click the WSDL button.
2-2
Information Builders
You see the Web page for creating a Web Service for WebFOCUS.
Under the first option, Create a Web Service to a specific focexec, enter credentials for the WebFOCUS Reporting Server. If you want to access an unsecured server, you do not have to enter credentials. 2. Choose the service for WebFocus Uddi. 3. Click Logon to open the next page.
2-3
4. Select a server and click Submit to open the next page, which shows a list of applications.
5. Select an application and click Submit to open the next page, which lists procedures (focexecs) and the format options in creating the WSDL file.
2-4
Information Builders
6. Select one or more procedures, and scroll down the page to select a format.
You have the following options: format disco format wsdl format URL (disco) format URL (wsdl) Minimum List FEX Only Function
For details, see WebFOCUS Web Service Function Formats on page 2-9. 7. Choose one of the following: Click Submit. WebFOCUS generates the file for the chosen procedure in the format (WSDL or DISCO) you selected. Note that DISCO is Microsofts Web Service Discovery language, which you can use to publish and discover Web Services. For details about WSDL, see Chapter 1, WebFOCUS Web Services. or Click Pick Functions. Another page opens in which you can customize the WSDL file by selecting and/or deselecting functions associated with the application. For details, see Choosing Functions for a WSDL File on page 2-14.
2-5
You see the Web page for creating a Web Service for WebFOCUS.
Under the first option, Create a Web Service to a specific focexec, enter credentials for Managed Reporting. If a secured Reporting Server is being used, you must enter WebFOCUS Server credentials. 2. Choose the service for the procedure, Mre Uddi.
2-6
Information Builders
4. Select a domain and click Submit to open the next page, which shows a list of reporting folders.
5. Select a folder by clicking the folder description to open the next page, which lists procedures (focexecs) and the format options in creating the WSDL file.
2-7
6. Select one or more procedures, and scroll down the page to select a format. You have the following options:
format disco format wsdl format URL (disco) format URL (wsdl) Minimum List FEX Only Function No MRE Admin Functions
For details, see WebFOCUS Web Service Function Formats on page 2-9. 7. Choose one of the following: Click Submit. WebFOCUS generates the file for the chosen procedure in the format (WSDL or DISCO) you selected. Note that DISCO is Microsofts Web Service Discovery language, which you can use to publish and discover Web Services. For details about WSDL, see Chapter 1, WebFOCUS Web Services. or Click Pick Functions. Another page opens in which you can customize the WSDL file by selecting and/or deselecting functions associated with the application. For details, see Choosing Functions for a WSDL File on page 2-14.
2-8
Information Builders
Reference
Copy and paste this link to access WebFOCUS Web Services documentation.
2-9
2-10
Information Builders
Copy URL Copies the URL of the DISCO file to the clipboard. Click Copy URL, open another browser, and select Paste from the Edit menu. Press the Enter key to see the URL:
Save As Saves the DISCO file to a location. Click Save As to open the File Download dialog box. Click Save to open the Save As dialog box. Select All Files from the Save as Type drop-down list. Be sure to name your file with a .disco extension. Do not save the file name with a .jsp extension.
2-11
Copy URL Copies the URL of the WSDL file to the clipboard. Click Copy URL, open another browser, and select Paste from the Edit menu. Press the Enter key to see the URL.
2-12
Information Builders
Save As Saves the WSDL file to a location. Click Save As to open the File Download dialog box. Click Save to open the Save As dialog box. Select All Files from the Save as Type drop-down list. Be sure to name your file with a .wsdl extension. Do not save the file name with a .jsp extension.
Minimum List Excludes the Finding Parameters and Getting FOCUS code functions for a WebFOCUS report created as a Web Service function. FEX Only Function Excludes generic Web Service functions. MRE Functions Excludes Managed Reporting security functions.
2-13
Procedure How to Modify the List of Functions Using the WebFocusWSConfig.properties File
You can pick functions from a generic set of functions to add to a WSDL file. To disable certain default functions, modify the WebFocusWSConfig.properties file. It is located in the following directory:
c:\ibi\WebFOCUS53\webapps\webfocus53\WEB-INF\classes
Indicates that the function is checked in the display by default and is enabled.
unchecked
Indicates that the function is unchecked in the display by default and is enabled.
disabled
Indicates that the function is unchecked in the display and the function is disabled. Note that if a function is missing from the WebFocusWSConfig.properties file it is assumed to be checked. 2. Find the function you would like to change and enter checked, unchecked, or disabled, depending on whether or not you want to display the function. 2-14 Information Builders
Example
You see the Web page for creating a Web Service for WebFOCUS.
2. In the Access the WebFOCUS server thru a Web Service area, click Pick Functions. Another page opens in which you can customize the WSDL file by selecting and/or deselecting functions associated with the application.
2-15
Target Machine By default, the WSDL file is created using connection information to WebFOCUS based on the URL entered for the WSDL Creation utility. If a proxy server is being used, you can enter a different target machine and the WSDL file will contain the entered target machine in the WSDL file.
2-16
Information Builders
3. You can also enter the URL for the WSDL creation utility. You must enable the ActiveX controls in your browser in order to do this.
2-17
4. Once the WSDL file appears, click the Add Reference button.
2-18
Information Builders
2. Run a utility which reads the config.xml file and creates the Java classes and code:
SET JWSDP=D:\jwsdp-1.4 %JWSDP%\jaxrpc\bin\wscompile -keep -gen:client config.xml
This creates the Java classes and code in a sub-directory called Javademo. (Note that in the config.xml file that packageName="javademo".) The Java Web Services Developer Pack must be called when compiling a Java Program. In the following example, javademo.java is the name of the program being compiled.
SET JWSDP=D:\jwsdp-1.4 SET JAVA_HOME=c:\j2sdk1_4_2_4 %JAVA_HOME%\bin\javac -classpath %JWSDP%\jaxrpc\lib\jaxrpcapi.jar;%JWSDP%\jaxrpc\lib\jaxrpcimpl.jar;%JWSDP%\jaxp\lib\endorsed\xalan.jar;D:\WebSer~3\javado~1; Javademo.java
2-19
In the following example, javademo is the name of the program being run.
SET JWSDP=D:\jwsdp-1.4 SET JAVA_HOME=c:\j2sdk1_4_2_4 java -classpath %JWSDP%\jaxrpc\lib\jaxrpcapi.jar;%JWSDP%\jaxrpc\lib\jaxrpc-impl.jar;%JWSDP%\jaxrpc\lib\jaxrpcspi.jar;%JWSDP%\jaxp\lib\endorsed\xalan.jar;%JWSDP%\jwsdpshared\lib\activation.jar;%JWSDP%\jwsdpshared\lib\mail.jar;%JWSDP%\saaj\lib\saajapi.jar;%JWSDP%\saaj\lib\saaj-impl.jar;%JWSDP%\jwsdp-shared\lib\jaxqname.jar;%JAVA_HOME%\jre\lib\rt.jar;%JWSDP%\jaxp\lib\endorsed\xercesI mpl.jar;%JWSDP%\jaxp\lib\endorsed\dom.jar;D:\WebSer~3\javado~1; javaDemo
2-20
Information Builders
CHAPTER 3
Topic: Structures
WebFOCUS Web Services contain a set of structures to use as input to a WebFOCUS Web Service function and output from a WebFOCUS Web Service function.
3-1
Structures
Structures
This topic describes the structures used by WebFOCUS Web Services.
pass status
String Boolean
3-2
Type
The following is an example of the LogOnInfo structure if it is used to authenticate on every WebFOCUS Web Service function call:
3-3
Structures
3-4
Information Builders
binaryDataLength links
Integer LinkArrayEntry
mime
String
Is HTML output.
application/vnd.ms-excel
Is Excel output.
application/pdf
Is PDF output.
image/gif
Is XML output.
text/plain
Is text output.
3-5
Structures
Type
Description If the mime value is text/html, application/ vnd.ms-excel, application/pdf, or image/ svg, this value contains the formatted output of the WebFOCUS report. The size of output in bytes. Time of run in milliseconds since January 1, 1970. The values of the output of a WebFOCUS report if the mime value is text/xml. The output of a WebFOCUS report in XML format if XML was specified as the HOLD format for the report. The size of xml output in bytes.
xmllength
Integer
HTML Format
The following shows information that is returned to the WebFocusReturn structure if the output of a WebFOCUS report is in HTML format:
Excel Format
The following shows information that is returned to the WebFocusReturn structure if the output of a WebFOCUS report is in Excel format:
3-6
Information Builders
PDF Format
The following shows information that is returned to the WebFocusReturn structure if the output of a WebFOCUS report is in PDF format:
Graph Output
The following shows information that is returned to the WebFocusReturn structure when you run a graph. At this point, the .gif, .jpeg, .png, or .svg file is not returned to the output value. The graph resides on the application server. Note that WebFocusReturn shows the existence of two links of a type LinkArrayEntry (see LinkArrayEntry). The WebFocusLink function should be used to retrieve the graph from the application server:
3-7
Structures
3-8
Information Builders
XML Format
The following shows information that is returned to the WebFocusReturn structure if the output of a WebFOCUS report is in XML format. Note that Values, XML, and XMLlength get populated:
Text Format
The following shows information that is returned to the WebFocusReturn structure if the output of a Web Service function is in text format. The WebFocusGetFexText function is an example of a function that returns text output:
3-9
Structures
3-10
Information Builders
Name type
Type LinkType
Is a .gif file.
jpg
Is a .jpeg file.
png
Is a .png file.
svg
Is an .svg file.
js
Is a JavaScript file.
css
Is the starting position within the HTML output of the list of ibiOptions that must be invoked. An OLAP-enabled report would have this link populated.
fexdrill
3-11
Structures
3-12
Information Builders
3-13
Structures
Drill-Down
The following shows the links contained in the WebFocusReturn structure if a drill-down exists in a WebFOCUS report:
3-14
Information Builders
JavaScript
The following is an example of the links contained in the WebFocusReturn structure if JavaScript exists within a WebFOCUS report. The example is the result of running an OLAPenabled report:
Optionsstart
The following is an example of a link contained in the WebFocusReturn structure if the HTML output from a WebFOCUS report contains ibiOptions in its source. For example
var ibiOptions = new Array('olap','olappanebase','olapdrill');
3-15
Structures
app description
String String
Application name if the WebFOCUS report resides in the application environment. The long name of the WebFOCUS report. It is populated through the WebFocusFexReflection function. Array of input parameters for the WebFOCUS report. True. Run Managed Reporting report deferred. False. Do not run Managed Reporting report deferred. This is the default.
IBIWS_arrayvalues MREDefer
ValuesArrayEntry
Boolean
MREdomain
String
The HREF of the domain. This can be obtained by viewing the domain properties of the domain within Managed Reporting or by getting a list of domains by using the Web Service function MREGetUserDomains.
MREflags
String
The Managed Reporting report flags are populated through the WebFocusFexReflection function.
3-16
Information Builders
Name MREfolder
Type String
Description The HREF of the Standard Reports group. This can be obtained by viewing the Standard Reports group properties of the Standard Reports group within Managed Reporting, or by getting a list of Standard Reports groups by using the Web Service function MREOpenDomain.
name
String
The name of the WebFOCUS report if the report resides in the application environment. The HREF of the WebFOCUS report if the report resides in Managed Reporting. This can be obtained by viewing the file name property from the Standard Reports properties of the WebFOCUS report within Managed Reporting or by getting a list of WebFOCUS reports by using the Web Service function MREOpenDomain.
server
String
The name of the WebFOCUS Reporting Server used for running the WebFOCUS report. This parameter is only needed if the WebFOCUS report resides in the application environment. A list of available servers can be obtained by using the Web Service function WebFocusListServers.
3-17
Structures
3-18
Information Builders
format
String
multi
Boolean
name
String
3-19
Structures
Name prompt
Type String
Description The prompt for the parameter if one was set up in the WebFOCUS report. This is retrieved from the WebFocusFexReflection function. An array of descriptions for each valid value for the parameter if a pick list is set up in the WebFOCUS report. This is retrieved from the WebFocusFexReflection function. True. Each value should be surrounded by quotes. False. No quotes surround values. This is the default.
PromptArray
String array
quote
Boolean
StringArray
String array
An array of valid values for the parameter if a pick list was set up in the WebFOCUS report. This is retrieved from the WebFocusFexReflection function. It is a list of values sent as input to the parameter.
type
String
The default if -DEFAULTS is specified for this parameter in the WebFOCUS report. Otherwise, it is unresolved. The parameter value sent as input to the WebFOCUS report. This is blank if StringArray is set.
val
String
3-20
Information Builders
The following is an example of information that has to be set in order to pass parameters to a WebFOCUS report using the WebFocusRunFex function:
The following is an example of information that has to be set in order to pass multiple values to a parameter.
3-21
Structures
The following is an example of the parameter information returned from the WebFocusFexReflection function if the WebFOCUS report parameters contain pick lists:
3-22
Information Builders
The following is an example of the parameter information returned from the WebFocusFexReflection function if the WebFOCUS report parameters contain formats:
The following is an example of the parameter information in a WebFOCUS report within Managed Reporting. The WebFocusFexReflection function is used to retrieve these parameters:
3-23
Structures
3-24
Information Builders
defaultSpecified
Boolean
handle
String
protocol
String
This is an example of the Array of Server information returned from the WebFocusListServers function:
3-25
Structures
3-26
Information Builders
The following is an example of the Array of Table information returned from the WebFocusDBInfo function:
3-27
Structures
remarks
String
segname
String
3-28
Information Builders
Name segtype
Type String
Description The segment type. "S" is lowest to highest. "SH" is highest to lowest. "U" is unique. "DKM" is Dynamic Keyed Multiple. "DKU" is Dynamic Keyed Unique. "KL" is Dynamic Keyed through Linkage. "KLU" is Keyed through Linkage Unique. "KM" is Keyed Multiple. "KU" is Keyed Unique.
title usage
String String
The title associated with the column as it appears in the TITLE attribute of the Master File. The display format of the column as it appears in the USAGE attribute of the Master File.
The following is an example of Array of Column information returned from the WebFocusMasterInfo function:
3-29
Structures
3-30
Information Builders
3-31
Structures
The following is an example of application information details returned from the WebFocusWSDLInfo function:
The following is an example of Managed Reporting information details returned from the WebFocusWSDLInfo function. In this example, the UDDI traces have been turned on:
3-32
Information Builders
MR Return Codes
The following is a valid list of return codes for rc.
1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ERROR_MR_NO_ERROR ERROR_MR_NO_ACTION ERROR_MR_NO_OPEN ERROR_MR_NO_DOMAINS ERROR_MR_NO_USER_FILE ERROR_MR_NO_USER_ID ERROR_MR_NO_USER ERROR_MR_DOMAIN_UNKNOWN ERROR_MR_NO_DOMAIN ERROR_MR_NO_LOCK ERROR_MR_ACTION_UNKNOWN ERROR_MR_MISSING_STRING ERROR_MR_OUT_OF_MEM ERROR_MR_FEX_NOT_FOUND ERROR_MR_NO_HTML ERROR_MR_CANT_OPEN_FEX ERROR_MR_NO_OPEN_USER_USER_FILE ERROR_MR_SUB_ACTION_UNKNOWN ERROR_MR_CANT_DELETE_FEX ERROR_MR_INTERNALTABLE_ERROR ERROR_MR_CANT_OPEN_FOLDER ERROR_MR_CREATE_FILE ERROR_MR_NOPOPEN ERROR_NO_INCLUDE ERROR_MR_BADDRILL ERROR_MR_CANT_OPEN_BMP ERROR_MR_CANT_OPEN_FILE ERROR_MR_CANT_FIND_FOLDER ERROR_MR_PASSWORD ERROR_MR_ENCRIPT ERROR_MR_NOT_ADMINISTRATOR ERROR_MR_BAD_GROUP ERROR_MR_BAD_DIR ERROR_MR_MAX_USER ERROR_MR_USER_ADMIN_MODE ERROR_MR_CANNOT_OPEN_DLL ERROR_MR_CANNOT_MRCHFT ERROR_MR_BAD_READ ERROR_MR_WRITE_OUT_OF_DATE ERROR_MR_CANT_FULFILL ERROR_MR_CANT_MOVE_FEX ERROR_MR_NOT_PUBLISHED ERROR_MR_USER_REQUIRED ERROR_MR_RERUN_ERROR ERROR_MR_NO_GROUPDATA_FILE
3-33
Structures
1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1060 1061 1062 1063 1064 1065 1066 1067 1068 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
ERROR_MR_NO_PRIMARY_GROUP_NAME ERROR_MR_NO_GROUPDATA_ENTRY ERROR_MR_NO_USERFILES_ENTRY ERROR_MR_NO_GROUP_BROADCAST ERROR_MR_NO_USER_DIR_NAME ERROR_MR_NO_FILE_EXTENSION ERROR_MR_ITEM_EXISTS ERROR_MR_DIFF_FOLDER_TYPE ERROR_MR_FOLDER_HAS_RO_FOLDER ERROR_MR_PASSWORD_EXPIRED ERROR_OLAP_INTERNAL_ERROR ERROR_OLAP_BAD_WRITE ERROR_OLAP_BAD_READ ERROR_OLAP_BAD_FOCEXEC ERROR_OLAP_XML_PARSING ERROR_OLAP_OLAPRULES ERROR_NO_OLAPRULES ERROR_IN_TRANSFORMATION ERROR_NO_GRAPHRULES ERROR_DST_MRE_UADMIN_INIT ERROR_DST_AUTH_INIT ERROR_DST_CREATE_USER ERROR_DST_DELETE_USER ERROR_DST_DESTROY_USER ERROR_DST_SET_USER_FLAGS ERROR_DST_SET_USER_PWD ERROR_DST_CREATE_GROUP ERROR_DST_DELETE_GROUP ERROR_DST_ADD_GROUP_USER ERROR_DST_DELETE_GROUP_USER ERROR_DST_IS_ADMIN ERROR_DST_AUTH_FAILED
The following is an example of information that is returned in the MREReturn Structure from making a Managed Reporting function call:
3-34
Information Builders
CHAPTER 4
WebFOCUS Web Services contains a set of functions that are used to perform certain WebFOCUS functionality. Each of these functions has an input and output definition associated with it. This chapter includes Visual Basic .NET and Java examples to illustrate how each function should be called within those programming environments.
4-1
Functions
Functions
This topic describes the functions contained within WebFOCUS Web Services. WebFocus is the Web Service name associated with the set of WebFOCUS Web Service functions. The Service Name <service name="WebFocus"> can be found towards the end of the WSDL file that is created in the steps described in Chapter 2, Using the WebFOCUS WSDL Creation Utility.
Authentication
Function Name: WebFocus LogOn Purpose: To authenticate against the security set up in the WebFOCUS environment. If the authentication is successful, the WebFOCUS cookies are set and the cookie information is returned. This cookie information is the first parameter of every subsequent WebFOCUS Web Service function call. Input Description WebFOCUS Reporting Server user ID. If the WebFOCUS Reporting Server is unsecured, this parameter should be set to Null. WebFOCUS Reporting Server password. If the WebFOCUS Reporting Server is unsecured, this parameter should be set to Null. Managed Reporting user ID. If Managed Reporting is not being used, this parameter should be set to Null. Managed Reporting password. If Managed Reporting is not being used, this parameter should be set to Null. Output Description Structure that contains cookie information. Type LogOnInfo String String String Type String
4-2
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") newOutput = logon.status tempfile = "c:\temp\WebFocusLogOn.txt" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) MRE is the name of the Web Reference.
Example
4-3
Functions
to
WebFocusFexEntry9
The alias function is an alternate method of calling a WebFOCUS report. Each report selected in the WSDL creation utility has an alias function. The alias function is listed under the actual WebFOCUS report name in the WSDL creation utility when the Pick Functions option is selected. For more information, see Chapter 2, Using the WebFOCUS WSDL Creation Utility.
For example,
car54
4-4
Information Builders
In Managed Reporting, the name of the WebFOCUS Web Service function for a WebFOCUS report is the short name of the WebFOCUS report. You can determine the short name of the WebFOCUS report by right-clicking it and selecting Properties from within Managed Reporting. The short name is contained within the file name property. For example, centplac is the short name for the centpl_actbud report.
to
MREFexEntry9
4-5
Functions
The alias function is the alternate method of calling a WebFOCUS report. Each report that is selected in the WSDL creation utility has an alias function. The alias function is listed under short name for the WebFOCUS report in the WSDL creation utility when the Pick Functions option is selected.
For example,
centplac
4-6
Information Builders
Input Description WebFOCUS cookie information. Parameters of the WebFOCUS report. Certain Java Development environments and .NET display the parameters of the Web Service function. Otherwise, the WSDL file can be interrogated to determine the parameters. Output Description Structure that contains the output from a WebFOCUS report. Type WebFocusReturn Type LogOnInfo String
The following example shows the input definition of the Web Service function Sales_Report from the WSDL file that shows REGION as the parameter.
<s:element minOccurs="1" maxOccurs="1" name="IBIWS_cookie" type="ibi:LogOnInfo"/> <s:element minOccurs="1" maxOccurs="1" name="REGION" type="s:string" />
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.sales_report(logon, "EASTERN") newOutput = ret.output tempfile = "c:\temp\Sales_Report.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) SelfServe is the name of the Web Reference.
4-7
Functions
Example
4-8
Information Builders
Example
4-9
Functions
Example
4-10
Information Builders
Example
4-11
Functions
Example
4-12
Information Builders
FexInfo report = new FexInfo(); report.setServer("EDASERVE"); report.setApp("Sales_Demo"); report.setName("Sales_Report_2"); report.setIBIWS_arrayvalues(params); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusRunFex(logon,report); String newOutput=ret.getOutput(); File tempfile = null; if (ret.getMime().equals ("application/vnd.ms-excel")) tempfile = new File("c:\\temp\\Sales_Report_2.xls"); else tempfile = new File("c:\\temp\\Sales_Report_2.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-13
Functions
Example
4-14
Information Builders
The HREF for the Standard Report group is used as input instead of the Standard Report group name. The following is an example of the HREF for a Standard Report group:
The file name or HREF for the WebFOCUS report is used as input instead of the WebFOCUS report name. The following example is the file name for a WebFOCUS report.
4-15
Functions
wfs As New MRE.WebFocus logon As New MRE.LogOnInfo ret As New MRE.WebFocusReturn report As New MRE.FexInfo param1 As New MRE.ValuesArrayEntry params As Array = Array.CreateInstance(GetType(MRE.ValuesArrayEntry), newOutput As String = "" tempfile As String
param1.name = "TICKER" param1.val = "MSFT" params(0) = param1 report.MREdomain = "webservi/webservi.htm" report.MREfolder = "#soapadapterk" report.name = "app/zoh9uv5k.fex" report.IBIWS_arrayvalues = params logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") ret = wfs.WebFocusRunFex(logon, report) newOutput = ret.output tempfile = "c:\temp\GetQuotes.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-16
Information Builders
Example
4-17
Functions
The HREF for the Standard Report group is used as input instead of the Standard Report group name. The following is an example of the HREF for a Standard Report group:
The file name or HREF for the WebFOCUS report is used as input instead of the WebFOCUS report name. The following example is the file name for a WebFOCUS report.
4-18
Information Builders
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ValuesArrayEntry[] param; param = new ValuesArrayEntry[1]; ValuesArrayEntry param1 = new ValuesArrayEntry(); param1.setName("TICKER"); param1.setVal("MSFT"); param[0] = param1; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param); FexInfo report = new FexInfo(); report.setMREdomain("webservi/webservi.htm"); report.setMREfolder("#soapadapterk"); report.setName("app/zoh9uv5k.fex"); report.setIBIWS_arrayvalues(params); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); WebFocusReturn ret = wfs.webFocusRunFex(logon,report); String newOutput=ret.getOutput(); File tempfile = new File("c:\\temp\\GetQuotes.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-19
Functions
Example
CRLF = vbCrLf FC1 = "TABLE FILE CAR" FC2 = "SUM DEALER_COST" FC3 = "BY COUNTRY" FC4 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 report.server = "EDASERVE" report.adhocfex = FocCode logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) newOutput = ret.output tempfile = "c:\temp\Adhoc.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-20
Information Builders
Example
String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4; report.setServer("EDASERVE"); report.setAdhocfex(FocCode); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusRunFex(logon,report); String newOutput=ret.getOutput(); File tempfile = new File("c:\\temp\\Adhoc.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-21
Functions
Example
fexinfoIn.server = "EDASERVE" fexinfoIn.app = "IBISAMP" fexinfoIn.name = "CAR54" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") fexinfoOut = wfs.WebFocusFexReflection(logon, fexinfoIn) tempfile = "c:\temp\Parameters.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To fexinfoOut.IBIWS_arrayvalues.Length - 1 newOutput = fexinfoOut.IBIWS_arrayvalues(i).prompt + " " _ + fexinfoOut.IBIWS_arrayvalues(i).name + " " _ + fexinfoOut.IBIWS_arrayvalues(i).defaultVal PrintLine(1, newOutput)
4-22
Information Builders
Next i FileClose(1)
Example
4-23
Functions
When you use the LinkArrayEntry structure for drill-down information, the array of links are brought back in pairs within the WebFocusReturn structure if the output format is HTML. The first array entry would have a type of urlstart and the second array entry would have a type of fexdrill. You can only pass link types of fexdrill as a parameter to WebFocusLink for a drill-down report.
Example
report.server = "EDASERVE" report.app = "FML_DEMO_2" report.name = "CENTPL_ACTBUD" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) retdrill = wfs.WebFocusLink(logon, ret.links(1))
4-24
Information Builders
newOutput = retdrill.output tempfile = "c:\temp\Centpl_ActBud.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
4-25
Functions
Example
report.server = "EDASERVE" report.app = "IBISAMP" report.name = "CarGraph" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) link = ret.links(0).link retdrill = wfs.WebFocusLink(logon, ret.links(0)) If retdrill.mime = "image/png" Then outfile = "c:\temp\CarGraph.png" Dim fs As FileStream = New FileStream(outfile, FileMode.OpenOrCreate) Dim w As BinaryWriter = New BinaryWriter(fs) w.Write(retdrill.binaryData, 0, retdrill.binaryData.Length) fs.Close()
4-26
Information Builders
ElseIf retdrill.mime = "image/gif" Then outfile = "c:\temp\CarGraph.gif" Dim fs As FileStream = New FileStream(outfile, FileMode.OpenOrCreate) Dim w As BinaryWriter = New BinaryWriter(fs) w.Write(retdrill.binaryData, 0, retdrill.binaryData.Length) fs.Close() ElseIf retdrill.mime = "image/jpeg" Then outfile = "c:\temp\CarGraph.jpg" Dim fs As FileStream = New FileStream(outfile, FileMode.OpenOrCreate) Dim w As BinaryWriter = New BinaryWriter(fs) w.Write(retdrill.binaryData, 0, retdrill.binaryData.Length) fs.Close() ElseIf retdrill.mime = "image/svg+xml" Then outfile = "c:\temp\CarGraph.svg" Dim fs As FileStream = New FileStream(outfile, FileMode.OpenOrCreate) Dim w As BinaryWriter = New BinaryWriter(fs) w.Write(retdrill.output, 0, retdrill.output.Length) fs.Close() End If newOutput = newOutput + Mid(ret.output, 1, ret.links(0).position) newOutput = newOutput + outfile lastlink = ret.links(0).position + link.Length newOutput = newOutput + Mid(ret.output, lastlink + 1) tempfile = "c:\temp\CarGraph.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-27
Functions
Example
4-28
Information Builders
if (retdrill.getMime().equals ("image/png")) { byte[] outbytes = retdrill.getBinaryData(); outfile = new File("c:\\temp\\CarGraph.png"); FileOutputStream fs = new FileOutputStream(outfile); fs.write(outbytes); fs.close(); } else { if (retdrill.getMime().equals ("image/gif")) { byte[] outbytes = retdrill.getBinaryData(); outfile = new File("c:\\temp\\CarGraph.gif"); FileOutputStream fs = new FileOutputStream(outfile); fs.write(outbytes); fs.close(); } else { if (retdrill.getMime().equals ("image/jpeg")) { byte[] outbytes = retdrill.getBinaryData(); outfile = new File("c:\\temp\\CarGraph.jpg"); FileOutputStream fs = new FileOutputStream(outfile); fs.write(outbytes); fs.close(); } else { if (retdrill.getMime().equals ("image/svg+xml")) { String outstring = retdrill.getOutput(); outfile = new File("c:\\temp\\CarGraph.svg"); FileOutputStream fosg = new FileOutputStream(outfile); PrintWriter fs = new PrintWriter(fosg); fs.println(outstring); fs.close(); } else { } } } } String newOutput = "";
4-29
Functions
newOutput=newOutput+ret.getOutput().substring(0, Links[0].getPosition() 1); newOutput=newOutput+outfile; int lastlink = Links[0].getPosition()+ link.length(); newOutput=newOutput+ret.getOutput().substring(lastlink+1); File tempfile = new File("c:\\temp\\CarGraph.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-30
Information Builders
The following example shows an associated WebFOCUS report that resides in Managed Reporting with a specific application.
Output Description Structure that contains the output from a WebFOCUS report. Type WebFocusReturn
4-31
Functions
Example
report.server = "EDASERVE" report.app = "FML_DEMO_2" report.name = "CENTPL_ACTBUD" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) URL = "http://localhost/webservice?IBIF_webapp=/ ibi_apps&IBIC_server=EDASERVE&IBIAPP_app=fml_demo_2&IBIF_ex=CENTPL_ACTBUD _DRILL&CLICKED_ON=&ACCNT=1000&ACCNT_LIT=Profit%20Before%20Tax&SEL_PERIOD= 2002/06" newURL = Replace(URL, "http://localhost", "") retdrill = wfs.WebFocusDrill(logon, newURL) newOutput = retdrill.output tempfile = "c:\temp\Centpl_ActBud.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-32
Information Builders
Example
newURL = URL.substring(16); WebFocusReturn retdrill = wfs.webFocusDrill(logon,newURL); String newOutput=retdrill.getOutput(); File tempfile = new File("c:\\temp\\Centpl_actBud.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-33
Functions
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") serversOut = wfs.WebFocusListServers(logon) tempfile = "c:\temp\Servers.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To serversOut.servers.Length - 1 newOutput = serversOut.servers(i).handle + " " _ + serversOut.servers(i).class + " " _ + serversOut.servers(i).protocol PrintLine(1, newOutput) Next i
FileClose(1)
4-34
Information Builders
Example
"
4-35
Functions
Listing Applications
Function Name: WebFocusListApps Purpose: To retrieve a list of applications for a WebFOCUS Reporting Server. Input Description WebFOCUS cookie information. WebFOCUS Reporting Server name. Output Description Structure that contains the output for WebFOCUS reports and certain WebFOCUS functions. The list of applications is returned to the values array of WebFocusReturn. values(0) contains an array of application names. values(1) contains an array of the last update date for each application (DD/MM/YYYY). values(2) contains an array of the last update time for each application (HH.MM.SS). Type WebFocusReturn Type LogOnInfo String
4-36
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusListApps(logon, "EDASERVE") tempfile = "c:\temp\Applications.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To ret.values(0).Length - 1 newOutput = ret.values(0)(i) + " " _ + ret.values(1)(i) + " + ret.values(2)(i) PrintLine(1, newOutput) Next i FileClose(1)
" _
4-37
Functions
Example
"
4-38
Information Builders
4-39
Functions
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusListFexs(logon, "EDASERVE", "IBINCCEN") tempfile = "c:\temp\Files.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To ret.values(0).Length - 1 newOutput = ret.values(0)(i) + + + + + + PrintLine(1, newOutput) Next i FileClose(1) + " " _ ret.values(1)(i) ret.values(2)(i) ret.values(3)(i) ret.values(4)(i) ret.values(5)(i) ret.values(6)(i)
+ + + + +
_ _ _ _ _
4-40
Information Builders
Example
4-41
Functions
Listing Tables
Function Name: WebFocusDBInfo Purpose: To retrieve a list of available tables. Input Description WebFOCUS cookie information. Output Description Structure that contains table information. The list of table information is retrieved into the DBInfoEntry structure that is a sub-structure of the DBInfo structure. Type DBInfo Type LogOnInfo
4-42
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") dbret = wfs.WebFocusDBInfo(logon) tempfile = "c:\temp\Tables.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To dbret.db.Length - 1 newOutput = dbret.db(i).name + " " _ + dbret.db(i).tbtype + " + dbret.db(i).remarks PrintLine(1, newOutput) Next i
" _
FileClose(1)
4-43
Functions
Example
LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); DBInfo dbret = wfs.webFocusDBInfo(logon); String newOutput = null; File tempfile = new File("c:\\temp\\Tables.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); TableArray = dbret.getDb(); Tables = TableArray.getDBInfoEntry(); for ( int i=0; i<Tables.length; i++ ) { newOutput = Tables[i].getName() + " " + Tables[i].getTbtype() + " + Tables[i].getRemarks(); out.println(newOutput); } out.close(); }
"
4-44
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") masret = wfs.WebFocusMasterInfo(logon, "CENTSTMT") tempfile = "c:\temp\Master.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To masret.fields.Length - 1 newOutput = masret.fields(i).name + " " _ + masret.fields(i).alias + " " _ + masret.fields(i).title + " " _ + masret.fields(i).remarks + " " _ + masret.fields(i).usage PrintLine(1, newOutput) Next i
4-45
Functions
FileClose(1)
Example
4-46
Information Builders
4-47
Functions
Example
CRLF = vbCrLf FC1 = "DEFINE FILE CAR" FC2 = "COUNTRYN/A12 = '(' | COUNTRY | ')';" FC3 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 Selct = "IF DEALER_COST GT 5000" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusFieldValues(logon, "CAR", FocCode, "COUNTRYN", "A15", Selct) tempfile = "c:\temp\Values.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To ret.values(0).Length - 1 newOutput = ret.values(0)(i) PrintLine(1, newOutput) Next i FileClose(1)
4-48
Information Builders
Example
String FocCode = FC1 + CRLF + FC2 + CRLF + FC3; String Selct = "IF DEALER_COST GT 5000"; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusFieldValues(logon,"CAR",FocCode,"COUNTRYN","A15",Selct);
String newOutput = null; File tempfile = new File("c:\\temp\\Values.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); arrayStringArray = ret.getValues(); StringArray = arrayStringArray.getStringArray(); Strings0 = StringArray[0].getValuesentry(); for ( int i=0; i<Strings0.length; i++ ) { newOutput = Strings0[i]; out.println(newOutput); }
out.close(); }
4-49
Functions
Example
Retrieving the WebFOCUS Code for a WebFOCUS Report in Visual Basic .NET
In the following example, the WebFOCUS code for the WebFOCUS report named CAR54 in the IBISAMP application is retrieved and written to the Car54.fex file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn report As New SelfServe.FexInfo newOutput As String = "" tempfile As String
report.server = "EDASERVE" report.app = "IBISAMP" report.name = "CAR54" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusGetFexText(logon, report) newOutput = ret.output tempfile = "c:\temp\Car54.fex"
4-50
Information Builders
Example
4-51
Functions
Creating an Application
Function Name: WebFocusAppCreate Purpose: To create an application within the WebFOCUS environment. Input Description WebFOCUS cookie information. Name of application to be created. (No spaces are allowed.) Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the application was created successfully. Type WebFocusReturn Type LogOnInfo String String
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppCreate(logon, "WebServices", "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppCreate.xml" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-52
Information Builders
Example
4-53
Functions
Deleting an Application
Function Name: WebFocusAppDelete Purpose: To delete an application from the WebFOCUS environment. Input Description WebFOCUS cookie information. Name of application to be deleted. (No spaces are allowed.) Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the application was deleted successfully. Type WebFocusReturn Type LogOnInfo String String
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppDelete(logon, "WebServices", "EDASERVE" newOutput = ret.xml tempfile = "c:\temp\WebFocusAppDelete.xml" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-54
Information Builders
Example
4-55
Functions
Renaming an Application
Function Name: WebFocusAppRename Purpose: To rename an application within the WebFOCUS environment. Input Description WebFOCUS cookie information. Name of application to be deleted. (No spaces are allowed.) New name of application. (No spaces are allowed.) Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the application was renamed successfully. Type WebFocusReturn Type LogOnInfo String String String
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppRename(logon, "WebServices", "WebServicesAdapter","EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppRename.xml"
4-56
Information Builders
Example
4-57
Functions
Copying an Application
Function Name: WebFocusAppCopyAll Purpose: To copy the contents of an application within the WebFOCUS environment to another application. Input Description WebFOCUS cookie information. Name of source application. (No spaces are allowed.) Name of target application. (No spaces are allowed.) The application must be created previously. Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the application was copied successfully. Type WebFocusReturn String Type LogOnInfo String String
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppCopyAll(logon, "IBISAMP", "WebServices", "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppCopyAll.xml"
4-58
Information Builders
Example
4-59
Functions
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppGetFile(logon, "IBISAMP", "Car", "MASTER", "T", "EDASERVE") newOutput = ret.output tempfile = "c:\temp\Car.mas"
4-60
Information Builders
Example
4-61
Functions
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppDeleteFile(logon, "WebServices", "Car2", "MASTER", "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppDeleteFile.xml"
4-62
Information Builders
Example
4-63
Functions
4-64
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppRenameFile(logon, "WebServices", "Car3", "Car33", "MASTER", "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppRenameFile.xml" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
4-65
Functions
4-66
Information Builders
Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the file was saved successfully. Type WebFocusReturn
Example
CRLF = vbCrLf FC1 = "TABLE FILE CAR" FC2 = "SUM DEALER_COST" FC3 = "BY COUNTRY" FC4 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppPutFile(logon, "WebServices", "Car44", "FOCEXEC", 4, "C", FocCode, "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppPutFile.xml" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-67
Functions
Example
String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusAppPutFile(logon,"WebServices","Car44","FOCEXEC",4,"C",FocCod e,"EDASERVE"); String newOutput=ret.getXml(); File tempfile = new File("c:\\temp\\WebFocusAppPutFile.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-68
Information Builders
4-69
Functions
Example
4-70
Information Builders
Example
4-71
Functions
Example
4-72
Information Builders
4-73
Functions
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") retTrace = wfs.WebFocusTracing(logon, True) newOutput = retTrace.WSDLInfo.IBIUDDI_trace tempfile = "c:\temp\Trace.txt" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
4-74
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") retWSDL = wfs.WebFocusWSDLInfo(logon) tempfile = "c:\temp\WSConfig.txt" newOutput = retWSDL.WSDLInfo.IBIUDDI_webApplocation + " + retWSDL.WSDLInfo.IBIC_server + " " _ + retWSDL.WSDLInfo.IBIUDDI_cgiLocation FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) " _
4-75
Functions
Example
4-76
Information Builders
4-77
Functions
Example
4-78
Information Builders
Example
4-79
Functions
FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }
4-80
Information Builders
Example
Dim parm1 As New SelfServe.ValuesArrayEntry Dim parm2 As New SelfServe.ValuesArrayEntry Dim parm3 As New SelfServe.ValuesArrayEntry Dim parm4 As New SelfServe.ValuesArrayEntry Dim parm5 As New SelfServe.ValuesArrayEntry Dim params As Array = Array.CreateInstance(GetType(SelfServe.ValuesArrayEntry), 5) parm1.name = "IBIC_server" parm1.val = "EDASERVE" params(0) = parm1 parm2.name = "IBIAPP_app" parm2.val = "ibisamp" params(1) = parm2 parm3.name = "IBIF_ex" parm3.val = "cardrill" params(2) = parm3 parm4.name = "CLICK_ON" params(3) = parm4 parm5.name = "CAR" parm5.val = "JAGUAR" params(4) = parm5 loginfo = wfss.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfss.WebFocusAPI(loginfo, params) newOutput = ret.output tempfile = "c:\temp\DrillReport.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-81
Functions
Example
4-82
Information Builders
Example
Retrieving the Parameters of a WebFOCUS Report Created as a Function in Visual Basic .NET
In the following example, the parameters for a WebFOCUS Report called Car54 is written to the Car54Parms.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo fexinfoOut As New SelfServe.FexInfo newOutput As String tempfile As String i As Integer
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") fexinfoOut = wfs.car54Reflection(logon) tempfile = "c:\temp\Car54Parms.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To fexinfoOut.IBIWS_arrayvalues.Length - 1 newOutput = fexinfoOut.IBIWS_arrayvalues(i).prompt + " " _ + fexinfoOut.IBIWS_arrayvalues(i).name + " " _ + fexinfoOut.IBIWS_arrayvalues(i).defaultVal PrintLine(1, newOutput)
4-83
Functions
Next i FileClose(1)
Example
4-84
Information Builders
Example
Getting the WebFOCUS Code of a WebFOCUS Report Created as a Function in Visual Basic .NET
In the following example, the WebFOCUS code for a WebFOCUS Report called Car54 is written to the Car54Code.fex file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.car54GetFexText(logon) tempfile = "c:\temp\Car54Code.fex" FileOpen(1, tempfile, OpenMode.Output) newOutput = ret.output Print(1, newOutput) FileClose(1)
4-85
Example
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREGetDomains(logon) tempfile = "c:\temp\GetDomains.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
4-87
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "User1", "User1pass") retMR = wfs.MREGetUserDomains(logon) tempfile = "c:\temp\GetUserDomains.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-88
Information Builders
Example
4-89
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "User1", "User1pass") retMR = wfs.MREGetGroups(logon) tempfile = "c:\temp\GetGroups.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
4-90
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "User1", "User1pass") retMR = wfs.MREGetUsers(logon) tempfile = "c:\temp\GetUsers.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-91
Example
4-92
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRECreateDomain(logon, "New Domain") tempfile = "c:\temp\CreateDomain.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
4-93
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRECreateGroup(logon, "New Group") tempfile = "c:\temp\CreateGroup.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-94
Information Builders
Example
4-95
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRECreateUser(logon, "NewUserid", "New User") tempfile = "c:\temp\CreateUser.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
4-96
Information Builders
Renaming a Domain
Function Name: MRERenameDomain Purpose: To rename a domain. Input Description WebFOCUS cookie information. HREF of the domain to be renamed. You can obtain the HREF in the output of MREGetDomains. New name of the domain. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRERenameDomain(logon, "xgzr36o2/xgzr36o2.htm", "Reporting Domain") tempfile = "c:\temp\RenameDomain.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-97
Example
4-98
Information Builders
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREChangeUserPassword(logon, "NewUserid", "NewPass") tempfile = "c:\temp\ChangeUserPassword.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-99
Example
4-100
Information Builders
Reference
4-101
Flag dataserver=false domadmin email=address inactive library rcadmin robot shared user
Description Indicates that a developer does not have access to the Data Server feature. Indicates that the user is a developer. Is used with ReportCaster library. Indicates that the user account is disabled. Indicates that the user can use ReportCaster library. Is the ReportCaster Administrator. Indicates that the user has scheduling privileges. Indicates that the user can share reports. Indicates that that user cannot use tools and can only run reports.
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRESetUserFlags(logon, "NewUserid", "", "", "active,admin") tempfile = "c:\temp\SetUserFlags.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-102
Information Builders
Example
4-103
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREAddGrouptoUser(logon, "NewUserid", "#newgroup") tempfile = "c:\temp\AddGrouptoUser.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) MR is the name of the Web Reference.
4-104
Information Builders
Example
4-105
Example
The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" /> wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREDeleteGroupfromUser(logon, "NewUserid", "#newgroup") tempfile = "c:\temp\DeleteGroupfromUser.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-106
Information Builders
Example
4-107
Example
The HREF for "New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREAddDomaintoGroup(logon, "#newgroup", "xgzr36o2/ xgzr36o2.htm") tempfile = "c:\temp\AddDomaintoGroup.txt"
4-108
Information Builders
Example
The HREF for "New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREAddDomaintoGroup(logon,"#newgroup","xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\AddDomaintoGroup.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-109
Example
The HREF for "New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREDeleteDomainfromGroup(logon, "#newgroup", "xgzr36o2/ xgzr36o2.htm")
4-110
Information Builders
tempfile = "c:\temp\DeleteDomainfromGroup.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
The HREF for "New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREDeleteDomainfromGroup(logon,"#newgroup","xgzr36o2/ xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteDomainfromGroup.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-111
Deleting a Group
Function Name: MREDeleteGroup Purpose: To delete a group from Managed Reporting. Description WebFOCUS cookie information. HREF of the group. You can obtain the HREF in the output of MREGetGroups. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREDeleteGroup(logon, "#newgroup") tempfile = "c:\temp\DeleteGroup.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-112
Information Builders
Example
4-113
Deleting a User
Function Name: MREDeleteUser Purpose: To delete a user from Managed Reporting. Input Description WebFOCUS cookie information. User ID. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREDeleteUser(logon, "NewUserid") tempfile = "c:\temp\DeleteUser.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-114
Information Builders
Example
4-115
4-116
Information Builders
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRECreateStandardReportFolder(logon, _ "New Standard Sub-Folder", "belongsto=#newstandardf", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateStandardReportFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-117
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateStandardReportFolder(logon, "New Standard Sub-Folder", "belongsto=#newstandardf", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateStandardReportFolder.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-118
Information Builders
4-119
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameStandardReportFolder(logon, _ "#newstandards", _ "Old Standard Sub-Folder", _ "xgzr36o2/xgzr36o2.htm", belongsto=#newstandardf) tempfile = "c:\temp\RenameStandardReportFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-120
Information Builders
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRERenameStandardReportFolder(logon, "#newstandards", "Old Standard Sub-Folder", "xgzr36o2/xgzr36o2.htm", belongsto=#newstandardf); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameStandardReportFolder.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-121
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
4-122
Information Builders
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteStandardReportFolder(logon, _ "#newstandards", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteStandardReportFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteStandardReportFolder(logon, "#newstandards", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteStandardReportFolder.txt");
4-123
4-124
Information Builders
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRECreateReportingObjectFolder(logon, _ "New Object Sub-Folder", _ "belongsto=#newobjectfol", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateReportingObjectFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-125
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateReportingObjectFolder(logon, "New Object Sub-Folder", "belongsto=#newobjectfol", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateReportingObjectFolder.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-126
Information Builders
4-127
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameReportingObjectFolder(logon, _ "#newobjectsub", _ "Old Object Sub-Folder", _ "xgzr36o2/xgzr36o2.htm"), _ "belongsto=#newobjectfol") tempfile = "c:\temp\RenameReportingObjectFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-128
Information Builders
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRERenameReportingObjectFolder(logon, "#newobjectsub", "Old Object Sub-Folder", "xgzr36o2/xgzr36o2.htm"), "belongsto=#newobjectfol"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameReportingObjectFolder.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-129
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
4-130
Information Builders
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteReportingObjectFolder(logon, _ "#newobjectsub", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteReportingObjectFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteReportingObjectFolder(logon, "#newobjectsub", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteReportingObjectFolder.txt");
4-131
Information Builders
Reference
4-133
Example
The return code from the function is written to the CreateStandardReport.txt file in the c:\temp directory. The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String
CRLF = vbCrLf FC1 = "TABLE FILE CAR" FC2 = "SUM DEALER_COST" FC3 = "BY COUNTRY" FC4 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass")
4-134
Information Builders
retMR = wfs.MRECreateStandardReport(logon, _ "New Standard Report", _ "skipamper,hidden,runasolap,defer,node=EDASERVE,appname=ibisamp", _ "#newstandardf", _ FocCode, _ "fex", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateStandardReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
The return code from the function is written to the CreateStandardReport.txt file in the c:\temp directory. The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
4-135
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; String String String String CRLF = System.getProperty("line.separator"); FC1 = "TABLE FILE CAR";String FC2 = "SUM DEALER_COST"; FC3 = "BY COUNTRY"; FC4 = "END";
String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateStandardReport(logon, "New Standard Report", "skipamper,hidden,runasolap,defer,node=EDASERVE,appname=ibisamp", "#newstandardf", FocCode, "fex", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateStandardReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-136
Information Builders
4-137
Example
The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameStandardReport(logon, _ "app/newstand.fex", _ "#newstandardf", _ "Old Standard Report", _ "xgzr36o2/xgzr36o2.htm", _ "none) tempfile = "c:\temp\RenameStandardReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-138
Information Builders
Example
The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRERenameStandardReport(logon, "app/newstand.fex", "#newstandardf", "Old Standard Report", "xgzr36o2/xgzr36o2.htm", "none); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameStandardReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }
4-139
4-140
Information Builders
Example
The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteStandardReport(logon, _ "app/newstand.fex", _ "#newstandardf", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteStandardReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-141
Example
The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteStandardReport(logon, "app/newstand.fex", "#newstandardf", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteStandardReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-142
Information Builders
4-143
Reference
Example
4-144
Information Builders
The return code from the function is written to the CreateReportingObject.txt file in the c:\temp directory. The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="" />
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String FC5 As String FC6 As String FC7 As String FC8 As String FC9 As String FC10 As String FC11 As String FC12 As String FC13 As String FC14 As String FC15 As String FC16 As String FC17 As String FC18 As String FC19 As String FC20 As String FC21 As String FC22 As String
CRLF = vbCrLf
4-145
FC1 = "-DEFAULT &SECTION=WHERE" FC2 = "-IF &SECTION EQ 'WHERE' GOTO WHERE;" FC3 = "-IF &SECTION EQ 'SUFFIX' GOTO SUFFIX;" FC4 = "-PREFIX" FC5 = "JOIN CLEAR *" FC6 = "DEFINE FILE CAR" FC7 = "EXTENDED_PRICE/D12.2 = RETAIL_COST * SALES;" FC8 = "END" FC9 = "-GOTO SKIP0" FC10 = "-WHERE" FC11 = "-GOTO SKIP0" FC12 = "-TABLE" FC13 = "TABLE FILE CAR" FC14 = "END" FC15 = "-GOTO SKIP0" FC16 = "-GRAPH" FC17 = "GRAPH FILE CAR" FC18 = "END" FC19 = "-GOTO SKIP0" FC20 = "-SUFFIX" FC21 = "-GOTO SKIP0" FC22 = "-SKIP0" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 + CRLF + _ FC5 + CRLF + FC6 + CRLF + FC7 + CRLF + FC8 + CRLF + _ FC9 + CRLF + FC10 + CRLF + FC11 + CRLF + FC12 + CRLF + _ FC13 + CRLF + FC14 + CRLF + FC15 + CRLF + FC16 + CRLF + _ FC17 + CRLF + FC18 + CRLF + FC19 + CRLF + FC20 + CRLF + _ FC21 + CRLF + FC22 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRECreateReportingObject(logon, _ "New Reporting Object", _ "skipamper,node=EDASERVE,appname=ibisamp", _ "#newobjectfol", _ FocCode, _ "fex", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateReportingObject.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-146
Information Builders
Example
The return code from the function is written to the CreateReportingObject.txt file in the c:\temp directory. The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="" />
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
4-147
String String String String String String String String String String String String String String String String String String String String String String String
CRLF = System.getProperty("line.separator"); FC1 = "-DEFAULT &SECTION=WHERE"; FC2 = "-IF &SECTION EQ 'WHERE' GOTO WHERE;"; FC3 = "-IF &SECTION EQ 'SUFFIX' GOTO SUFFIX;"; FC4 = "-PREFIX"; FC5 = "JOIN CLEAR *"; FC6 = "DEFINE FILE CAR"; FC7 = "EXTENDED_PRICE/D12.2 = RETAIL_COST * SALES;"; FC8 = "END"; FC9 = "-GOTO SKIP0"; FC10 = "-WHERE"; FC11 = "-GOTO SKIP0"; FC12 = "-TABLE"; FC13 = "TABLE FILE CAR"; FC14 = "END"; FC15 = "-GOTO SKIP0"; FC16 = "-GRAPH"; FC17 = "GRAPH FILE CAR"; FC18 = "END"; FC19 = "-GOTO SKIP0"; FC20 = "-SUFFIX"; FC21 = "-GOTO SKIP0"; FC22 = "-SKIP0";
String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 + CRLF + FC5 + CRLF + FC6 + CRLF + FC7 + CRLF + FC8 + CRLF + FC9 + CRLF + FC10 + CRLF + FC11 + CRLF + FC12 + CRLF + FC13 + CRLF + FC14 + CRLF + FC15 + CRLF + FC16 + CRLF + FC17 + CRLF + FC18 + CRLF + FC19 + CRLF + FC20 + CRLF + FC21 + CRLF + FC22; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateReportingObject(logon, "New Reporting Object", "skipamper,node=EDASERVE,appname=ibisamp", "#newobjectfol", FocCode, "fex", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateReportingObject.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-148
Information Builders
4-149
Example
The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="">
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameReportingObject(logon, _ "mrv/newrepor.fex", _ "#newobjectfol", _ "Old Reporting Object", _ "xgzr36o2/xgzr36o2.htm", _ "none") tempfile = "c:\temp\RenameReportingObject.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-150
Information Builders
Example
The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="">
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRERenameReportingObject(logon, "mrv/newrepor.fex", "#newobjectfol", "Old Reporting Object", "xgzr36o2/xgzr36o2.htm", "none"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameReportingObject.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-151
4-152
Information Builders
Example
The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="">
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteReportingObject(logon, _ "mrv/newrepor.fex", _ "#newobjectfol", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteReportingObject.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-153
Example
The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="">
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteReportingObject(logon, "mrv/newrepor.fex", "#newobjectfol", "xgzr36o2/xgzr36o2.htm");
int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteReportingObject.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }
4-154
Information Builders
4-155
Reference
Example
The return code from the function is written to the CreateOtherReport.txt file in the c:\temp directory. The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
4-156
Information Builders
Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String
CRLF = vbCrLf FC1 = "-SET &DATEF = EDIT(&MDYY,'99/99/9999');" FC2 = "FOOTING" FC3 = Chr(34) 'Decimal Equivalent of a " Character FC4 = "Date of Run: &DATEF Time of Run: &TOD" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + FC4 + FC3 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRECreateOtherReport(logon, _ "New Other File", _ "skipamper", _ FocCode, _ "fex", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateOtherReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-157
Example
The return code from the function is written to the CreateOtherReport.txt file in the c:\temp directory. The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" /> try { tub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; String String String String String CRLF = System.getProperty("line.separator"); FC1 = "-SET &DATEF = EDIT(&MDYY,'99/99/9999');"; FC2 = "FOOTING"; FC3 = "\""; FC4 = "Date of Run: &DATEF Time of Run: &TOD";
String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + FC4 + FC3; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateOtherReport(logon, "New Other File", "skipamper", FocCode, "fex", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateOtherReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-158
Information Builders
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
4-159
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameOtherReport(logon, _ "app/newother.fex", _ "Old Other File", _ "xgzr36o2/xgzr36o2.htm", _ "none") tempfile = "c:\temp\RenameOtherReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
4-160
Information Builders
MREReturn retMR = wfs.MRERenameOtherReport(logon, "app/newother.fex", "Old Other File", "xgzr36o2/xgzr36o2.htm", "none"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameOtherReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-161
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteOtherReport(logon, _ "app/newother.fex", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteOtherReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-162
Information Builders
Example
The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteOtherReport(logon, "app/newother.fex", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteOtherReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-163
Opening a Domain
Function Name: MREOpenDomain Purpose: To open a domain and obtain a list of all WebFOCUS reports within Standard Reports, Reporting Objects, and Other Files folders. Input Description WebFOCUS cookie information. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String
Example
logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREOpenDomain(logon, "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\OpenDomain.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) MR is the name of the Web Reference.
4-164
Information Builders
Example
4-165
Example
4-166
Information Builders
time="1091120255" desc="WebFocusListApps" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/r6wao1xy.fex" size="834" time="1091468774" desc="WebFocusListFexs" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/tzzw715l.fex" size="582" time="1091132843" desc="WebFocusListServers" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/aw0165u3.fex" size="755" time="1091469080" desc="WebFocusMasterInfo" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/localtim.fex" size="2199" time="1091117884" desc="Zip Code Information" imag="" /> </MR_STD_REPORT_FOLDER> </MR_STD_REPORT> - <MR_REPORT_OBJECT> - <MR_REPORT_OBJECT_FOLDER flgs="none" href="#zipcodejoins" name="zipcodejoins" desc="Zip Code Joins" imag=""> <MR_HREF_PROPERTIES flgs="suffix" href="mrv/localtim.fex" size="318" time="1093439281" desc="Local Time to Temperature" imag="" /> </MR_REPORT_OBJECT_FOLDER> </MR_REPORT_OBJECT> <MR_FILE_INFO href="webservi/webservi.htm" size="2782" type="DOMAIN" look="0" time="1093439281" /> <MR_GET_USERS flgs="admin,shared,rcadmin,robot,library,email=efrem_litwin@ibi.com" href="admin.htm" name="admin" desc="Default Administrator" imag="" /> - <IBIMR_MYREPORTS_TABLE flgs="none" href="webservi/webservi.htm" desc="Web Services"> - <IBIMR_MYREPORTS_TABLE_FOLDER flgs="none" href="#.olapcustomreports" desc="Custom Reports" imag=""> <MR_HREF_PROPERTIES flgs=",myreport,rassist,shared" href="admin/ haveaquo.fex" size="474" time="1092921850" desc="Have a Quote" imag="" /> <MR_HREF_PROPERTIES flgs="shared" href="admin/testrepo.fex" size="45" time="1093384265" desc="Test Report" imag="" /> </IBIMR_MYREPORTS_TABLE_FOLDER> - <IBIMR_MYREPORTS_TABLE_FOLDER href="#.olapdeferred" desc="Deferred Reports" imag=""> <MR_HREF_PROPERTIES flgs="1093438271,fexinfo=IBIMR_domain%3Dwebservi%2Fwebservi.htm%2CIBIMR_f older%3D%23soapadapterk%2CIBIMR_fex%3Dapp%2Fgetplaye.fex%2CIBIMR_sub_acti on%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1076538938288%2C%2CIBIMR _report_type%3D%2CIBIMR_checkboxcount%3D0%2C," href="#2004-08-25-08-3024cmrpip000012_edaserve" size="0" time="0" desc="GetPlayers" imag="" /> <MR_HREF_PROPERTIES flgs="1093017713,fexinfo=IBIMR_domain%3Dwebservi%2Fwebservi.htm%2CIBIMR_f older%3D%23soapadapterk%2CIBIMR_fex%3Dapp%2Fzoh9uv5k.fex%2CIBIMR_sub_acti on%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1088775483508%2C%2CIBIMR _report_type%3D%2CIBIMR_checkboxcount%3D0%2CTICKER%3DSIRI%2C," href="#2004-08-20-10-01-08cmrpip000017_edaserve" size="0" time="0" desc="Get Stock Quotes" imag="" /> </IBIMR_MYREPORTS_TABLE_FOLDER>
4-167
</IBIMR_MYREPORTS_TABLE> <MR_FILE_INFO flgs="admin,shared,rcadmin,robot,library,email=efrem_litwin@ibi.com" href="admin.htm" size="4467" type="USER_ID" look="0" time="1093438271" /> <RETURNCODE>1000</RETURNCODE> </ibwfrpc>
4-168
Information Builders
Example
CRLF = vbCrLf FC1 = "TABLE FILE CAR" FC2 = "SUM DEALER_COST" FC3 = "BY COUNTRY" FC4 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 Param1.name = "IBIMR_folder" Param1.val = "#.olapcustomreports" Params(0) = Param1 Param2.name = "IBIF_adhocfex" Param2.val = FocCode Params(1) = Param2 Param3.name = "IBIMR_str1" Param3.val = "Test Report" Params(2) = Param3 Param4.name = "IBIMR_domain" Param4.val = "webservi/webservi.htm" Params(3) = Param4
4-169
Param5.name = "IBIMR_length" Param5.val = "-1" Params(4) = Param5 Param6.name = "IBIMR_flags" Param6.val = "shared" Params(5) = Param6 logon = wfmre.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfmre.MREAPI(logon, "MR_NEW", "MR_MY_REPORT", Params) tempfile = "c:\temp\CreateMyReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) MR is the name of the Web Reference.
Example
ValuesArrayEntry[] param; param = new ValuesArrayEntry[6]; ValuesArrayEntry param1 = new ValuesArrayEntry(); param1.setName("IBIMR_folder"); param1.setVal("#.olapcustomreports"); param[0] = param1; ValuesArrayEntry param2 = new ValuesArrayEntry(); param2.setName("IBIF_adhocfex"); param2.setVal(FocCode); param[1] = param2; ValuesArrayEntry param3 = new ValuesArrayEntry(); param3.setName("IBIMR_str1"); param3.setVal("Test Report"); param[2] = param3;
4-170
Information Builders
ValuesArrayEntry param4 = new ValuesArrayEntry(); param4.setName("IBIMR_domain"); param4.setVal("webservi/webservi.htm"); param[3] = param4; ValuesArrayEntry param5 = new ValuesArrayEntry(); param5.setName("IBIMR_length"); param5.setVal("-1"); param[4] = param5; ValuesArrayEntry param6 = new ValuesArrayEntry(); param6.setName("IBIMR_flags"); param6.setVal("shared"); param[5] = param6; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREAPI(logon,"MR_NEW","MR_MY_REPORT",params); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateMyReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }
4-171
Example
logon = wfmre.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfmre.MREDeferStatus(logon) tempfile = "c:\temp\DeferredStatus.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)
4-172
Information Builders
Example
4-173
Example
4-174
Information Builders
<DELETE allowed="false" /> <VIEW allowed="false" /> <SAVE allowed="false" /> <PARAMETERS allowed="false" /> <EXPIRES days="25" /> <DOMAIN href="webservi/webservi.htm" /> <OBJTYPE val="MR_STD_REPORT" /> <FOLDER href="#soapadapterk" /> <FOCEXEC href="app/zoh9uv5k.fex" /> </TICKET_INFO> </DONE> <RUNNING /> - <QUEUED> - <TICKET_INFO flgs="1093438271,fexinfo=IBIMR_domain%3Dwebservi%2Fwebservi.htm%2CIBIMR_f older%3D%23soapadapterk%2CIBIMR_fex%3Dapp%2Fgetplaye.fex%2CIBIMR_sub_acti on%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1076538938288%2C%2CIBIMR _report_type%3D%2CIBIMR_checkboxcount%3D0%2C," href="#2004-08-25-08-3024cmrpip000012_edaserve" desc="GetPlayers"> <USER_ID currentId="" submitId="RepUser" /> <DELETE allowed="false" /> <VIEW allowed="false" /> <SAVE allowed="false" /> <PARAMETERS allowed="false" /> <EXPIRES days="29" /> <DOMAIN href="webservi/webservi.htm" /> <OBJTYPE val="MR_STD_REPORT" /> <FOLDER href="#soapadapterk" /> <FOCEXEC href="app/getplaye.fex" /> </TICKET_INFO> </QUEUED> <UNKNOWN /> </MR_DEFER_CONTROL> <RETURNCODE>1000</RETURNCODE> </ibwfrpc>
4-175
4-176
Information Builders
CHAPTER 5
Topics: Reporting From Data Returned From a Web Service Configuring the Web Service Connection Creating Metadata Metadata Mapping Reporting Against a Web Service
This topic explains the process of giving WebFOCUS the ability to report from data returned by a Web Service.
5-1
With Databases, like DB/2, ORACLE, and SQL Server, metadata is needed for WebFOCUS to read these types of tables. The WebFOCUS metadata is in the form of a Master File that describes the fields and field formats within a table and an Access file that describes the location of the table within the enterprise. A connection string is also needed for authentication to the database. The WebFOCUS Reporting Server Web Console is used to configure WebFOCUS for connecting to the appropriate database and creating the metadata needed for WebFOCUS to read the associated tables. With Web Services, the Web Console is used in a similar way to configure the connection information for WebFOCUS to communicate with the Web Service and the creation of metadata for each of the Web Service functions. Instead of pointing to a database catalog to create the metadata for a table, the WSDL file is used as the source for the Web Console Metadata Creation utility to create the metadata for each of the Web Service functions.
5-2
Information Builders
2. To configure the reference to the WSDL file, click Web Services and select Add connection if a configured Web Service connection already exists. Otherwise, click Web Services under the Procedures adapter grouping.
5-3
3. Enter a Connection Name and the location of the WSDL file in the form http:// or file:// and click Next.
4. The drop-down list showing the End Points will be displayed. In most cases, there will be only one End Point. Select the End Point and click the Configure button.
5-4
Information Builders
The connection information is added to the edasprof.prf file within the \ibi\srv53\wfs\etc directory. For example,
ENGINE SOAP SET CONNECTION_ATTRIBUTES STOCKS/,:'http://www.xignite.com/ xquotes.asmx http://www.xignite.com/xquotes.asmx?WSDL'
Creating Metadata
Once the Web Service connection information is configured, the location of the WSDL file is also stored within the WebFOCUS Connections Configuration file (edasprof.prf ). The WSDL file is used for creating the metadata needed for communicating with each of the Web Service functions. 1. In the WebFOCUS Reporting Server Console, under Configured Web Services Adapter Connections, click the connection name for the Web Service and select Create Synonym.
5-5
Creating Metadata
2. To bring up a list of all functions within the Web Service, click Select Operations. To filter the list of functions within the Web Service, check the Filter Operations by Name box. An input box appears. Enter the selection criteria and click Select Operations. The example below filters all functions starting with Get:
3. Check the boxes for the functions in which metadata is to be created. 4. Select the application from the drop-down list in which the metadata is to be stored. By default, the Validate box is checked. The Validate option converts all special characters to underscores and performs a name check adjusting the use of reserved names. When this option is unchecked, only minimal special character checking is performed and no name checking. All Element names within the WSDL file are converted to upper case and are placed in the FIELDNAME within the Master File. The ALIAS within the Master File is populated with the Element name intact with its original case. If duplicate field names exist after the conversion to upper case, the Create Synonym process can make the FIELDNAMEs unique by concatenating an occurrence value to the FIELDNAME. To do this, check the Make Unique box. Master Files are named according to the name of the Web Service function. If the Master File already exists in the application selected, check the Overwrite existing synonyms box.
5-6
Information Builders
5-7
Metadata Mapping
Metadata Mapping
In the Create Synonym process, a data type for an element is mapped to a USAGE and ACTUAL format for a FIELDNAME. Even though WSDL supports FACETS which define the length of an element, most WSDL files just define the data type for each element. Therefore, the format length for each FIELDNAME is created with a default depending on the XSD data type. You can then modify these lengths manually by either using the File tool or editing the Master File in an editor. The Data Type Table lists the supported data types and the corresponding default formats. Data Type Table XSD Data Type string double float decimal int short long boolean dateTime time date gYearMonth gYear gMonthDay gDay gMonth integer nonPositiveInteger 5-8 USAGE A30 D20.2 F15.2 P20.3 I11 I6 P20 A5 HYYMDm HHISsm YYMD HYYM HYY HMD HD HM P33 P33 ACTUAL A30 A20 A15 A20 A11 A6 A20 A5 A27 A15 A10 A8 A5 A6 A3 A4 A33 A33 Information Builders
XSD Data Type negativeInteger nonNegativeInteger unsignedLong unsignedInt unsignedShort positiveInteger byte unsignedByte normalizedString token Name NMTOKEN ID hexBinary language anyURI QName
USAGE P33 P32 P20 P10 I5 P32 I4 I4 A30 A30 A30 A30 A30 A30 A30 A30 A30
ACTUAL A33 A32 A20 A10 A5 A32 A4 A4 A30 A30 A30 A30 A30 A30 A30 A30 A30
5-9
Metadata Mapping
The following shows the elements for the input and output for the GetQuotes Web Service function:
- <s:element name="GetQuotes"> - <s:complexType> - <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" /> </s:sequence> </s:complexType> </s:element> - <s:element name="GetQuotesResponse"> - <s:complexType> - <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="GetQuotesResult" type="s0:ArrayOfQuote" /> </s:sequence> </s:complexType> </s:element> - <s:complexType name="ArrayOfQuote"> - <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="Quote" nillable="true" type="s0:Quote" /> </s:sequence> </s:complexType> - <s:complexType name="Quote"> - <s:complexContent mixed="false"> - <s:extension base="s0:Common"> - <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Time" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="Open" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="High" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="Low" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="Last" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="Volume" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="Change" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="PercentChange" type="s:double" /> <s:element minOccurs="0" maxOccurs="1" name="Previous_Close" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Bid" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Bid_Size" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Ask" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Ask_Size" type="s:string" />
5-10
Information Builders
<s:element minOccurs="0" maxOccurs="1" name="High_52_Weeks" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Low_52_Weeks" type="s:string" /> </s:sequence> </s:extension> </s:complexContent> </s:complexType>
The following is the Master File that gets created from the Create Synonym process:
FILENAME=M6ILO, SUFFIX=SOAP , $ SEGMENT=ROOT, SEGTYPE=S0, $ GROUP=GETQUOTES, ALIAS=GetQuotes, USAGE=A30, ACTUAL=A30, $ FIELDNAME=SYMBOL, ALIAS=Symbol, USAGE=A30, ACTUAL=A30, $ FIELDNAME=__RESPONSE, USAGE=TX80, ACTUAL=TX, $ SEGMENT=RESPONSE, SEGTYPE=S0, SEGSUF=XML , PARENT=ROOT, POSITION=__RESPONSE, $ FIELDNAME=RESPONSE, ALIAS=GetQuotesResponse, USAGE=A1, ACTUAL=A1, $ SEGMENT=GETQUOTESRESULT, SEGTYPE=S0, PARENT=RESPONSE, $ FIELDNAME=GETQUOTESRESULT, ALIAS=GetQuotesResult, USAGE=A1, ACTUAL=A1, REFERENCE=RESPONSE, PROPERTY=ELEMENT, $ SEGMENT=QUOTE, SEGTYPE=S0, PARENT=GETQUOTESRESULT, $ FIELDNAME=QUOTE, ALIAS=Quote, USAGE=A1, ACTUAL=A1, REFERENCE=GETQUOTESRESULT, PROPERTY=ELEMENT, $ FIELDNAME=SYMBOL1, ALIAS=Symbol, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=NAME, ALIAS=Name, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=DATE1, ALIAS=Date, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=TIME1, ALIAS=Time, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=OPEN1, ALIAS=Open, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=HIGH, ALIAS=High, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=LOW, ALIAS=Low, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=LAST, ALIAS=Last, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=VOLUME, ALIAS=Volume, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=CHANGE, ALIAS=Change, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=PERCENTCHANGE, ALIAS=PercentChange, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $
5-11
Metadata Mapping
FIELDNAME=PREVIOUS_CLOSE, ALIAS=Previous_Close, USAGE A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=BID, ALIAS=Bid, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=BID_SIZE, ALIAS=Bid_Size, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=ASK, ALIAS=Ask, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=ASK_SIZE, ALIAS=Ask_Size, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=HIGH_52_WEEKS, ALIAS=High_52_Weeks, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=LOW_52_WEEKS, ALIAS=Low_52_Weeks, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $
The first segment contains the input parameters to the Web Service function. In the example above, SYMBOL is the only input parameter. Note: You should not reference fields with a format of A1 or TX in WebFOCUS Reporting. These fields are used for internal purposes only. WebFOCUS has to know certain information about how to access the Web Service function. This information exists in the ACCESS file which is derived from the WSDL file. The ACCESS file is created at the same time the Master File is created during the Create Synonym process. The following example shows certain information from the WSDL file that is used in the ACCESS file:
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.xignite.com/services/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://www.xignite.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/"> - <operation name="GetQuotes"> <soap:operation soapAction="http://www.xignite.com/services/GetQuotes" style="document" />
5-12
Information Builders
The following shows an example of an ACCESS file that gets created during the Create Synonym process:
SEGNAME=ROOT, CONNECTION=STOCKS, VERSION=1.1, OBJECT=GetQuotes, ACTION=http://www.xignite.com/services/GetQuotes, TARGETNS=http://www.xignite.com/services/, STYLE=DOCUMENT, $
Note the following mappings from the WSDL file to the ACCESS file:
targetNamespace="http://www.xignite.com/services/"
to
TARGETNS=http://www.xignite.com/services/ <operation name="GetQuotes">
to
OBJECT=GetQuotes
soapAction="http://www.xignite.com/services/GetQuotes"
to
ACTION=http://www.xignite.com/services/GetQuotes
style="document"
to
STYLE=DOCUMENT
5-13
5-14
Information Builders
The following example shows output from the report accessing the GetQuotes Web Service function:
Note: Web Service functions with input definitions containing arrays are not supported.
5-15
5-16
Information Builders
CHAPTER 6
6-1
Troubleshooting Steps
Troubleshooting Steps
This topic describes the steps you must perform to aid the debugging process of an application that calls WebFOCUS Web Services: 1. Run UDDI Traces. When running an application that calls WebFOCUS Web Services, the UDDI Trace facility can be invoked to help debug a program. Some of the reasons for this type of tracing include the abending of a program when the WebFOCUS Web Service function is being executed or the output of the Web Service function call is not the expected result. a. To turn on UDDI tracing, access the following URL:
http://Target Machine/ibi_apps/tracing.jsp
where: Target Machine Is the location where WebFOCUS is installed. b. In the UDDI trace box, select true to turn on traces and click the Apply Settings button.
6-2
Information Builders
c.
After your application has either abended or completed executing, go back to the Tracing page and click the Refresh button. Note that there is a trace file for each WebFOCUS Web Service function call.
d. To turn off UDDI traces, select false in the UDDI trace box and click Apply Settings.
6-3
Troubleshooting Steps
2. Check authentication. When you run the WebFocusLogOn function, the authentication status has to be equal to true. You can determine this by interrogating the status in the LogOnInfo structure after this function is run or by looking in the trace file to see whether the authentication was successful. The following would be the lines in the trace file if the authentication was successful:
57:719:| -- mre rc1000 58:729: after mre signedOn = true 59:769: after wf signedOn = true
The following would be the lines in the trace file if the authentication was unsuccessful:
57:811: -- mre rc1005 58:821: after mre signedOn = false 59:831: after wf signedOn = false
3. Ensure that parameters are passed correctly. Verify with the documentation that the Web Service function is being called correctly. When setting the ValuesArrayEntry structure to pass parameters to a WebFOCUS report using the WebFocusRunFex function, ensure that the Name and Value (or StringArray) are set properly for each parameter. Use the WebFocusFexReflection function for determining the current parameters of the WebFOCUS report.
6-4
Information Builders
6-5
6-6
Information Builders
Index
Symbols
.NET development environment 1-1 .NET environment consume process 2-16 array of table information structures 3-26 authentication 4-2 WebFocusLogOn function 4-2 to 4-3 authentication structure 3-2
A
adding domains to a group 4-108 to 4-109 MREAddDomaintoGroup function 4-108 to 4-109 adding groups to a user 4-104 MREAddGrouptoUser function 4-104 to 4-105 adding reporting objects folders 4-124 MRECreateReportingObjectFolder function 4-124 to 4-126 adding Standard Reports folders 4-116 MRECreateStandardReportFolder function 4-116 to 4-118 API commands 4-80 to 4-82 running 4-80 to 4-82, 4-168 to 4-170 applications 4-36 copying 4-58 creating 4-52 to 4-53 deleting 4-54 deleting files from 4-62 listing 4-36 listing files in 4-39 renaming 4-56 retrieving files from 4-60 saving files in 4-66 array of column information structure 3-28 array of reporting server information structure 3-25
C
changing user information 4-101 MRESetUserFlags function 4-101 to 4-103 column information structure 3-28 configuration information 4-75 configuring the Web Service connection 5-3 connection 5-3 configuring 5-3 consume process 2-16, 2-19 CookiesArrayEntry 3-4 copying applications 4-58 WebFocusAppCopyAll function 4-58 to 4-59 creating applications 4-52 to 4-53 WebFocusAppCreate function 4-52 to 4-53 creating new domains 4-92 MRECreateDomain function 4-92 to 4-93 creating new groups 4-94 MRECreateGroup function 4-94 to 4-95 creating new users 4-95 MRECreateUser function 4-95 to 4-96 creating other files 4-155 MRECreateOtherReport function 4-155 to 4-156, 4-158 creating reporting objects 4-143 MRECreateReportingObject function 4-143 to 4-144, 4-147
I-1
Index creating Standard Reports 4-132 MRECreateStandardReport function 4-132, 4-134 to 4-135 Custom Cookies structure 3-4 deleting Standard Reports folders 4-122 MREDeleteStandardReportFolder function 4-122 to 4-123 deleting users 4-114 MREDeleteUser function 4-114 to 4-115 development environments 1-1 DBInfo 3-26 DBInfoEntry 3-26 deferred reports 4-172 to 4-173 retrieving status 4-172 to 4-173 deleting applications 4-54 WebFocusAppDelete function 4-54 to 4-55 deleting domains from a group 4-110 MREDeleteDomainfromGroup function 4-110 to 4-111 deleting files 4-62 WebFocusAppDeleteFile function 4-62 to 4-63 deleting groups 4-112 MREDeleteGroup function 4-112 to 4-113 deleting groups from a user 4-106 MREDeleteGroupFromUser function 4-106 to 4-107 deleting other files 4-161 MREDeleteOtherReport function 4-161 to 4-163 deleting reporting object folders 4-130 MREDeleteReportingObjectFolder function 4-130 to 4-131 deleting reporting objects 4-152 MREDeleteReportingObject function 4-152 to 4-154 deleting Standard Reports 4-140 MREDeleteStandardReport function 4-140 to 4-142 domains 4-86 adding to a group 4-108 creating 4-92 deleting from groups 4-110 getting list of 4-86 opening 4-164 renaming 4-97
F
FexInfo 3-16 files 4-41 creating other 4-155 deleting 4-161 deleting from an application 4-62 listing in application 4-39 renaming 4-159 retrieving within an application 4-60 saving in applications 4-66 finding the parameters of a WebFOCUS report 4-22 WebFocusRunFexReflection 4-22 to 4-23 FOCUS functions 4-69 running 4-69 functions 4-85 choosing for WSDL files 2-14 creating reports as functions 2-3, 2-6 obtaining WebFOCUS code for reports created as functions 4-85 to 4-86 retrieving parameters in WebFOCUS reports 4-83 to 4-84 WebFOCUS Web Services functions 4-2
I-2
Information Builders
Index
G
getting configuration information 4-75 WebFocusWSDLInfo function 4-75 to 4-76 getting list of domains 4-86 MREGetDomains function 4-86 to 4-87 getting list of domains for a user 4-88 MREGetUserDomains function 4-88 to 4-89 getting list of groups 4-89 MREGetGroups function 4-89 to 4-90 getting list of users 4-91 MREGetUsers function 4-91 to 4-92 graph output 3-7 to 3-8 .gif format 3-7 .jpeg format 3-8 .png format 3-8 .svg format 3-8 graphs 3-12 .gif format 3-12 .jpeg format 3-12 .png format 3-13 .svg format 3-13 groups 4-89 adding domains to 4-108 adding to a user 4-104 creating 4-94 deleting 4-112 deleting domains 4-110 deleting from users 4-106 listing 4-89
L
LinkArrayEntry structure 3-10 listing applications 4-36 WebFocusListApps 4-36 to 4-38 listing files within an application 4-39 WebFocusListFexs function 4-39 to 4-41 listing Master File information 4-45 WebFocusMasterInfo function 4-45 to 4-46 listing tables 4-42 WebFocusDBInfo function 4-42 to 4-44 listing values for a column 4-47 WebFocusFieldValues 4-47 to 4-49 listing WebFOCUS Reporting Servers WebFocusListServers 4-34 to 4-35 LogOnInfo 3-2
M
Managed Reporting API commands 4-168 to 4-170 running 4-168 to 4-170 Managed Reporting functions return structure 3-32 mapping metadata 5-8 Master Files 4-45 listing information 4-45 MasterInfo 3-28 MasterInfoEntry 3-28 metadata 5-8 creating 5-5 mapping 5-8 MREAddDomaintoGroup function 4-108 to 4-109 MREAddGrouptoUser function 4-104 to 4-105 MREAPI function 4-168 MREChangeUserPassword function 4-99 to 4-100
J
J2EE development environment 1-1 Java environment 2-19 consume process 2-19
I-3
Index MRECreateDomain function 4-92 to 4-93 MRECreateGroup function 4-94 to 4-95 MRECreateOtherReport function 4-155 to 4-156, 4-158 other file flags 4-156 MRECreateReportingObject function 4-143 to 4-144, 4-147 reporting object flags 4-144 MRECreateReportingObjectFolder function 4-124 to 4-126 MRECreateStandardReport function 4-132, 4-134 to 4-135 report flags 4-133 MRECreateStandardReportFolder function 4-116 to 4-118 MRECreateUser function 4-95 to 4-96 MREDeferStatus function 4-172 MREDeleteDomainfromGroup function 4-110 to 4-111 MREDeleteGroup function 4-112 to 4-113 MREDeleteGroupFromUser function 4-106 to 4-107 MREDeleteOtherReport function 4-161 to 4-163 MREDeleteReportingObject function 4-152 to 4-154 MREDeleteReportingObjectFolder function 4-130 to 4-131 MREDeleteStandardReport function 4-140 to 4-142 MREDeleteStandardReportFolder function 4-122 to 4-123 MREDeleteUser function 4-114 to 4-115 MREGetDomains function 4-86 to 4-87 MREGetGroups function 4-89 to 4-90 MREGetUserDomains function 4-88 to 4-89 MREGetUsers function 4-91 to 4-92 MREOpenDomain function 4-164 to 4-165 MRERenameDomain function 4-97 to 4-98 MRERenameOtherReport function 4-159 to 4-160 MRERenameReportingObject function 4-149 to 4-151 MRERenameReportingObjectFolder function 4-127 to 4-129 MRERenameStandardReport function 4-137 to 4-139 MRERenameStandardReportFolder function 4-119 to 4-121 MREReturn 3-32 MRESetUserFlags function 4-101 to 4-103 user flags 4-101 multi-select WHERE statement 4-77 creating 4-77 multi-select WHERE statements creating 4-78 to 4-79
O
obtaining for a report created as a function WebFOCUS code 4-85 to 4-86 opening domains 4-164 MREOpenDomain function 4-164 to 4-165 other file flags 4-156
P
parameters 4-83 to 4-84 retrieving 4-83 to 4-84 passing a drill-down URL to WebFOCUS 4-30 WebFocusDrill function 4-30, 4-32 to 4-33 Information Builders
I-4
Index
R
renaming a domain 4-97 MRERenameDomain function 4-97 to 4-98 renaming an application 4-56 WebFocusAppRename function 4-56 to 4-57 renaming domains 4-97 MRERenameDomain function 4-97 renaming files 4-64 WebFocusAppRenameFile function 4-64 to 4-65 renaming other files 4-159 MRERenameOtherReport function 4-159 to 4-160 renaming reporting object folders 4-127 MRERenameReportingObjectFolder function 4-127 to 4-129 renaming reporting objects 4-149 MRERenameReportingObject function 4-149 to 4-151 renaming Standard Reports 4-137 MRERenameStandardReport function 4-137 to 4-139 renaming Standard Reports folders 4-119 MRERenameStandardReportFolder function 4-119 to 4-121 report flags 4-133 report links structure 3-10 report output structure 3-5, 3-7 to 3-8 report parameters structure 3-19 reporting against a Web Service 5-14 reporting object flags 4-144 reporting object folders deleting 4-130 renaming 4-127 WebFOCUS Web Services
reporting objects creating 4-143 deleting 4-152 renaming 4-149 reporting objects folders adding 4-124 reporting server information structure 3-24 retrieving files within an application 4-60 WebFocusAppGetFile function 4-60 to 4-61 retrieving WebFOCUS code 4-50 WebFocusGetFexText function 4-50 to 4-51 run report structure 3-16 running FOCUS functions 4-69 WebFocusStandardFex function 4-69 to 4-72 running links brought back in a WebFOCUS report 4-24 WebFocusLink function 4-24 to 4-26, 4-28 running WebFOCUS reports 4-4, 4-7 to 4-8 WebFocusRunFex function 4-8 to 4-12, 4-14, 4-17, 4-20 to 4-21
S
saving files within applications 4-66 WebFocusAppPutFile function 4-66 to 4-68 ServerInfo 3-24 ServersArray 3-25 setting passwords 4-99 MREChangeUserPassword function 4-99 to 4-100 Standard Reports 4-132 creating 4-132 deleting 4-140 Standard Reports folders 4-117 adding 4-116 deleting 4-122 renaming 4-119 I-5
Index structures 3-1 to 3-2 CookiesArrayEntry 3-4 DBInfo 3-26 DBInfoEntry 3-26 FexInfo 3-16 graphs 3-12 to 3-13 LinkArrayEntry 3-10 LogOnInfo 3-2 MasterInfo 3-28 MasterInfoEntry 3-28 MREReturn 3-32 ServerInfo 3-24 ServersArray 3-25 ValuesArrayEntry 3-19 WebFocusReturn 3-5, 3-7 to 3-8 WSDLInfoEntry 3-31 WSDLInfoStruct 3-30
V
values 4-47 listing for column 4-47 ValuesArrayEntry 3-19
W
Web Services 1-1 to 1-2, 2-1 to 2-2, 3-1 to 3-2 configuring the Web Service connection 5-3 creating metadata 5-5 mapping metadata 5-8 reporting against a Web Service 5-14 reporting from data returned from a Web Service 5-2 troubleshooting 6-1 to 6-2, 6-5 Web Services structures 3-1 to 3-2 WebFOCUS API commands 4-80 to 4-82 running 4-80 to 4-82 WebFOCUS code 4-85 to 4-86 retrieving 4-50 WebFOCUS Reporting Servers listing 4-34 WebFOCUS reports 4-83 to 4-84 created as functions 4-83 to 4-84 WebFOCUS Web Services 1-1 to 1-2, 2-1 to 2-2, 3-1 to 3-2 structures 3-1 to 3-2 WebFOCUS Web Services Adapter 5-2 WebFOCUS Web Services adapter 5-1 WebFOCUS Web Services functions 4-1 to 4-2 MREAddDomaintoGroup function 4-108 to 4-109 MREAddGrouptoUser function 4-104 to 4-105 MREAPI function 4-168 MREChangeUserPassword function 4-99 to 4-100 MRECreateDomain function 4-92 to 4-93 Information Builders
T
table information structures 3-26 tables 4-42 listing 4-42 troubleshooting Web Services 6-1 to 6-2, 6-5 turning UDDI traces on and off 4-73 WebFocusTracing function 4-73 to 4-74
U
user flags 4-101 users adding groups to 4-104 changing information 4-101 creating 4-95 deleting 4-114 deleting groups from 4-106 domains 4-88 listing 4-91
I-6
Index
WebFOCUS Web Services functions (continued) MRECreateGroup function 4-94 to 4-95 MRECreateOtherReport function 4-155 to 4-156, 4-158 MRECreateReportingObject function 4-143 to 4-144, 4-147 MRECreateReportingObjectFolder function 4-124 to 4-126 MRECreateStandardReport function 4-132, 4-134 to 4-135 MRECreateStandardReportFolder function 4-116 to 4-118 MRECreateUser function 4-95 to 4-96 MREDeferStatus function 4-172 MREDeleteDomainfromGroup function 4-110 to 4-111 MREDeleteGroup function 4-112 to 4-113 MREDeleteGroupFromUser function 4-106 to 4-107 MREDeleteOtherReport function 4-161 to 4-163 MREDeleteReportingObject function 4-152 to 4-154 MREDeleteReportingObjectFolder function 4-130 to 4-131 MREDeleteStandardReport function 4-140 to 4-142 MREDeleteStandardReportFolder function 4-122 to 4-123 MREDeleteUser function 4-114 to 4-115 MREGetDomains function 4-86 to 4-87 MREGetGroups function 4-89 to 4-90 MREGetUserDomains function 4-88 to 4-89 MREGetUsers function 4-91 to 4-92 MREOpenDomain function 4-164 to 4-165 MRERenameDomain function 4-97 to 4-98 MRERenameOtherReport function 4-159 to 4-160 MRERenameReportingObject function 4-149 to 4-151 MRERenameReportingObjectFolder function 4-127 to 4-129 WebFOCUS Web Services
WebFOCUS Web Services functions (continued) MRERenameStandardReport function 4-137 to 4-139 MRERenameStarndardReportFolder function 4-119 to 4-121 MRESetUserFlags function 4-101 to 4-103 reports 4-7 to 4-8 running WebFOCUS reports 4-7 to 4-8 WebFocus LogOn function 4-2 to 4-3 WebFocusAPI function 4-80 WebFocusAppCopyAll function 4-58 to 4-59 WebFocusAppCreate function 4-52 to 4-53 WebFocusAppDelete function 4-54 to 4-55 WebFocusAppDeleteFile function 4-62 to 4-63 WebFocusAppPutFile function 4-66 to 4-68 WebFocusAppRename function 4-56 to 4-57 WebFocusAppRenameFile function 4-64 to 4-65 WebFocusDBInfo function 4-42 to 4-44 WebFocusDrill function 4-30, 4-32 to 4-33 WebFocusFieldValues function 4-47 to 4-49 WebFocusFormatWhere function 4-77 WebFocusGetFexText function 4-50 to 4-51 WebFocusLink 4-26, 4-28 WebFocusLink function 4-24 to 4-25 WebFocusListApps function 4-36 to 4-38 WebFocusListFexs function 4-39 to 4-41 WebFocusListServers function 4-34 to 4-35 WebFocusMasterInfo function 4-45 to 4-46 WebFocusRexReflection 4-22 to 4-23 WebFocusRunFex function 4-8 to 4-12, 4-14, 4-17, 4-20 to 4-21 WebFocusStandardFex 4-69 to 4-72 WebFocusTracing function 4-73 to 4-74 WebFocusWSDLInfo function 4-75 to 4-76 WebFOCUS WSDL creation utility 2-1 to 2-2 WebFocusAPI 4-80 WebFocusAPI function 4-80 WebFocusAppCopyAll function 4-58 to 4-59 WebFocusAppCreate function 4-52 to 4-53 I-7
Index WebFocusAppDelete function 4-54 to 4-55 WebFocusAppDeleteFile function 4-62 to 4-63 WebFocusAppGetFile function 4-60 to 4-61 WebFocusAppPutFile function 4-66 to 4-68 WebFocusAppRename function 4-56 to 4-57 WebFocusAppRenameFile function 4-64 to 4-65 WebFocusDBInfo function 4-42 to 4-44 WebFocusDrill function 4-30, 4-32 to 4-33 WebFocusFieldValues function 4-47 to 4-49 WebFocusFormatWhere function 4-77 WebFocusGetFexText function 4-50 to 4-51 WebFocusLink function 4-24 to 4-26, 4-28 WebFocusListApps function 4-36 to 4-38 WebFocusListFexs function 4-39 to 4-41 WebFocusListServers function 4-34 to 4-35 WebFocusLogOn function 4-2 to 4-3 WebFocusMasterInfo function 4-45 to 4-46 WebFocusReturn 3-5, 3-7 to 3-8 WebFocusRunFex function 4-8 to 4-12, 4-14, 4-17, 4-20 to 4-21 WebFocusRunFexReflection function 4-22 to 4-23 WebFocusStandardFex function 4-69 to 4-72 WebFocusTracing function 4-73 to 4-74 WebFocusWSDLInfo function 4-75 to 4-76 WHERE statements 4-78 to 4-79 WSDL creation utility 2-1 to 2-2 choosing functions for WSDL files 2-14 creating generic WSDL files 2-2 creating reports as Web Service functions 2-3, 2-6 WSDL files 2-16, 2-19 consuming WebFOCUS Web Services 2-16, 2-19 WSDL information details structure 3-31 WSDL information structure 3-30 WSDLInfoEntry 3-31 WSDLInfoStruct 3-30
I-8
Information Builders
Reader Comments
In an ongoing effort to produce effective documentation, the Documentation Services staff at Information Builders welcomes any opinion you can offer regarding this manual. Please use this form to relay suggestions for improving this publication or to alert us to corrections. Identify specific pages where applicable. You can contact us through the following methods: Mail: Documentation Services - Customer Support Information Builders, Inc. Two Penn Plaza New York, NY 10121-2898 (212) 967-0460 books_info@ibi.com http://www.informationbuilders.com/bookstore/derf.html
Information Builders, Two Penn Plaza, New York, NY 10121-2898 WebFOCUS Web Services Version 5 Release 3
Reader Comments
Information Builders, Two Penn Plaza, New York, NY 10121-2898 WebFOCUS Web Services Version 5 Release 3