microstrategy 7 web customization guidesauterv/dss/documentation/webdev.pdf · this software and...
Post on 31-Mar-2018
218 Views
Preview:
TRANSCRIPT
MicroStrategy 7 Web Customization Guide
The Power of Intelligent E-Business
This Software and Documentation are provided “as is” and without express or limited warranty of any kind by eitherMicroStrategy, Inc. or anyone who has been involved in the creation, production, or distribution of the Software orDocumentation, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.The entire risk as to the quality and performance of the Software and Documentation is with you. Should the Software orDocumentation prove defective, you (and not MicroStrategy, Inc. or anyone else who has been involved with the creation,production, or distribution of the Software or Documentation) assume the entire cost of all necessary servicing, repair, orcorrection. Some states do not allow the exclusion of implied warranties, so the above exclusion may not apply to you.
In no event will MicroStrategy, Inc. or any other person involved with the creation, production, or distribution of the Softwarebe liable to you on account of any claim for damage, including any lost profits, lost savings, or other special, incidental,consequential, or exemplary damages, including but not limited to any damages assessed against or paid by you to any thirdparty, arising from the use, inability to use, quality, or performance of such Software and Documentation, even ifMicroStrategy, Inc. or any such other person or entity has been advised of the possibility of such damages, or for the claimby any other party. In addition, MicroStrategy, Inc. or any other person involved in the creation, production, or distribution ofthe Software shall not be liable for any claim by you or any other party for damages arising from the use, inability to use,quality, or performance of such Software and Documentation, based upon principles of contract warranty, negligence, strictliability for the negligence of indemnity or contribution, the failure of any remedy to achieve its essential purpose, orotherwise. The entire liability of MicroStrategy, Inc. and your exclusive remedy shall not exceed, at the option ofMicroStrategy, Inc., either a full refund of the price paid, or replacement of the Software. No oral or written information givenout expands the liability of MicroStrategy, Inc. beyond that specified in the above limitation of liability. Some states do notallow the limitation or exclusion of liability for incidental or consequential damages, so the above limitation may not apply toyou.
Copyright © 1994–2000, MicroStrategy Incorporated. All rights reserved.
The information contained in this manual (the Documentation) and the Software are copyrighted and all rights are reservedby MicroStrategy, Inc. MicroStrategy, Inc. reserves the right to make periodic modifications to the Software or theDocumentation without obligation to notify any person or entity of such revision. Copying, duplicating, selling, or otherwisedistributing any part of the Software or Documentation without prior written consent of an authorized representative ofMicroStrategy, Inc. are prohibited. U.S. Government Restricted Rights. It is acknowledged that the Software andDocumentation were developed at private expense, that no part is public domain, and that the Software and Documentationare Commercial Computer Software provided with RESTRICTED RIGHTS under Federal Acquisition Regulations andagency supplements to them. Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forthin subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFAR 252.227-7013 et. seq. orsubparagraphs (c)(1) and (2) of the Commercial Computer Software—Restricted Rights at FAR 52.227-19, as applicable.Contractor is MicroStrategy, Inc., 8000 Towers Crescent Drive, Vienna, Virginia 22182. Rights are reserved under copyrightlaws of the United States with respect to unpublished portions of the Software.
DSS Agent, DSS Architect, DSS Executive, DSS Server, DSS Administrator, DSS Objects, DSS Web, and DSS Broadcasterare trademarks of MicroStrategy, Inc. Microsoft, Windows, Windows NT, Word, Excel, Access, and SQL Server aretrademarks of Microsoft Corporation. Other names may be trademarks of their respective companies.
09xx0200 Published April 2000
iii
Contents
Before you begin ixImportant information ixUsing this guide xAssumptions xTechnical support xFeedback xiii
Section I MicroStrategy Web architecture 1
Chapter 1 Introduction 3GUI 4
General ASP page structure 4Custom library 5Core library 6
Chapter 2 ASP pages 7Admin.asp 7AdminOptions.asp 9ChangePassword.asp 16Default.asp 18Delete.asp 19Desktop.asp 22Document.asp 23Export.asp 27Folder.asp 31Help.asp 33Inbox.asp 35JobDetails.asp 37JobError.asp 42JobExpired.asp 43Login.asp 45Logout.asp 47Preview.asp 51Refresh.asp 56Report.asp 59SaveAs.asp 64Search.asp 68Serverprop.asp 71UserOptions.asp 73
iv Contents
Chapter 3 Custom library 81AboutCuLib.asp 81AdminCuLib.asp 81AdminHeaderCuLib.asp 82AdminOptionsCuLib.asp 82ChangePasswordCulib.asp 85ChangePwdOKCuLib.asp 86CommonHeaderCuLib.asp 86CommonLib.asp 87ConnectCuLib.asp 94DefaultCuLib.asp 95DeleteCuLib.asp 95DocumentCuLib.asp 96DynamicColorsCuLib.asp 97ExportCuLib.asp 98ExportPlainTextCuLib.asp 100FastLoginCuLib.asp 101FilterDetailsCuLib.asp 102FolderCuLib.asp 102GenericHeaderCuLib.asp 103GridReportCuLib.asp 103GridReportToFileCuLib.asp 104HelpCuLib.asp 105InboxCuLib.asp 107JobDetailsCuLib.asp 109JobErrorCuLib.asp 109JobExpiredCuLib.asp 110LoginCuLib.asp 110LogoutCuLib.asp 111ObjectLoadersCuLib.asp 112OptionsCuLib.asp 112PreviewCuLib.asp 113PromptCuLib.asp 116PromptDisplayCuLib.asp 117PromptProcessCuLib.asp 126PromptSearchCuLib.asp 131PromptValidateCuLib.asp 131ReadOptionsCuLib.asp 132RebuildReportCuLib.asp 133RefreshCuLib.asp 134RefreshDocCuLib.asp 135ReportCuLib.asp 135SaveAsCuLib.asp 138SaveNewReportCuLib.asp 139
Contents v
SaveToInboxCuLib.asp 140SearchCuLib.asp 140ShowErrorsCuLib.asp 141UnableToExportCuLib.asp 141UserOptionsCuLib.asp 141WaitCuLib.asp 142
Chapter 4 143
Section II How do I...? 145
Chapter 5 Miscellaneous Tasks 147Start Object Browsing in different folders 147Default to List View 147Add a new option to the User Option page. 148Add a new paper size for print preview 149Create headers and footers 150Customize the error page 151Disable the top menu when viewing a document? 152Customize the appearance of the prompt page 152Use required and optional prompts 153See default prompt answers 154Have additional validation for a prompt 155Add a new style to a project 157Add a new styleto a report 157Disable the wait page 159Perform multiple report manipulations 160Retrieve a fresh report instead of a cached report 162
Appendices 163
Appendix A: XML structure 165AdminOptions XML 165
AdminOptions XML 165Prompt Display XML 171
Constant Propmpt 171Object Prompt 171Element Prompt 173Attribute Qualification Prompt 175Metrics Qualification Prompt 177Hierarchy Prompt 179
Questions XML 182
vi Contents
Questions XML 182Answer XML 185
Answer XML 185Constant Prompt 185Object Prompt 186Element Prompt 186Expression/Hierachial Prompt 187
Appendix B: Report XML customization 191Introduction 191
Organization 191Blocks 192
Report Instance 192Overview 192Blocks 198Optional information 199
tags 201report_instance 203report_definition 204original_repor_definition 204view 205grid 205layout 206row_titles 206column_titles 207page_titles 207title 207row_headers 209row 209header 210form_value 211metric_value 212Subtotal_value 212column_headers 212column_header 213page_headers 213current_metric_name 214page_header 214drill_path 215drill_action 216view_setting 217grid_properties 217graph_properties 218sqls 219
Contents vii
sql 220Example 220
viii Contents
I N T R O D U C T I O N
ix
Before you begin
Important informationAs you will learn, there are three layers in the MicroStrategy Web architecture:
• graphical user interface (GUI)
• custom library
• core library
When you make customizations to MicroStrategy Web, you MUST follow these rules:
• Under no circumstances should you modify the core library. If you modify the core library you will not have backwards compatibility with future releases of MicroStrategy products.
• If you make changes to the custom library, you should rename the modified functions using the following naming convention:
If the original function was named CreateReport(), the modified function should be named CreateReportCx(). The Cx suffix is short for “customer extended”.
Using this naming convention preserves the original functionality and ensures that your modifications will not be overwritten when you update MicroStrategy Web for a future release.
x Before you begin
Using this guideThis guide is a resource for customizing MicroStrategy Web. It has the following sections:
• Concepts. This section provides you with the key concepts about the MicroStrategy Web architecture. It explains the structure of the ASP pages, the custom library, the core library and the interactions between them. In addition, it provides examples of a few simple, common customizations to get you started.
• How do I. This is where you can find step-by-step instructions for performing a particular MicroStrategy Web customization task.
AssumptionsThis guide assumes you have a working knowledge of the following technologies and programming languages:
• ASP
• HTML
• XML
• XML DOM
• XSL
• CSS
• VB script
Technical supportIf you have questions about a specific MicroStrategy product, you should:
�� Consult the product guide, online help, readme file, and release notes.
�� Consult the online knowledge base at the MicroStrategy web site.
Before you begin xi
Note: If there is a Technical Administrator in your organization, this individual may be able to help you resolve some of your issues immediately.
�� If the resources listed in steps 1 and 2 do not provide you with a solution, contact MicroStrategy Technical Support directly. Please refer to the terms of your purchase agreement to determine the type of support available to you.
The following table shows the various ways in which you can contact MicroStrategy Technical Support. If you are unable to reach MicroStrategy Technical Support by phone during the hours of operation, you have the option to leave a voicemail message or send electronic mail.
US Hours of operation, Monday through Friday:9:00 A.M.–7:00 P.M. EST (1400–0000 GMT)
Phone: (703) 848-8700
Fax: (703) 848-8710
Electronic mail: support@strategy.com
Europe Hours of operation, Monday through Friday:
• UK: 9:00 A.M.–6:00 P.M. GMT
• Mainland Europe: 9:00 A.M.–6:00 P.M. CET
The European Technical Support Centre is closed on certain public holidays. These holidays will reflect the national public holidays in each country.
Direct support line:
• United Kingdom:+44 (0) 1753 826198
• Belgium, Netherlands, Luxembourg:+31 20 346 9210
• France:+33 1 41 91 86 49
• Germany:+49 69 95096206
• Spain:+34 91 406 9010
• International distributors:+44 (0) 1753 826199
Reception: +44 (0) 1753 826100
Fax: +44 (0) 1753 826101
Electronic mail: eurosupp@strategy.com
xii Before you begin
When contacting MicroStrategy Technical Support, please provide the following information:
• Your name (first and last)
• The name of your company
If this is your first call, you should also be prepared to provide the following:
• street address
• phone number
• fax number
• e-mail address
To help your Technical Support representative work with you to resolve the problem promptly and effectively, be prepared to provide the following additional information:
• Issue number: please keep a record of the number assigned to each problem logged with MicroStrategy Technical Support, and be ready to provide it when inquiring about an existing issue.
• Software version and product registration number(s) of the MicroStrategy software product(s) you are using.
• Problem description:
◊ What causes the condition to occur?
◊ Does the condition occur sporadically or each time a certain action is performed?
◊ Does the condition occur on all machines or just on one?
◊ When did the condition first occur?
◊ What event(s) took place immediately prior to the first occurrence of the condition (for example, a major database load, a database move, a software upgrade)?
◊ If there was an error message, what was its exact wording?
◊ What steps have you taken to isolate and/or resolve the issue? what were the results?
WWW Hours of operation, Monday through Friday:9:00 A.M.–7:00 P.M. EST (1400–0000 GMT)
Phone: (703) 848-8700
Fax: (703) 848-8710
Electronic mail: support@strategy.com
Before you begin xiii
• System configuration (the information needed for this purpose depends on the nature of the problem; not all items listed may be necessary):
◊ computer hardware specifications (processor speed, RAM, disk space, and so on)
◊ network protocol used
◊ ODBC driver manufacturer and version
◊ database gateway software version
◊ (for MicroStrategy Web-related problems) browser manufacturer and version
◊ (for MicroStrategy Web-related problems) web server manufacturer and version
If the issue requires additional investigation or testing, you and the MicroStrategy Technical Support representative should agree on certain action items to be performed. You should perform any agreed-upon actions before contacting Technical Support again regarding the issue. If the Technical Support representative is responsible for an action item, you may call Technical Support at any time to inquire about the status of the issue.
FeedbackPlease send any comments or suggestions about user documentation for MicroStrategy 7 products to:
documents@microstrategy.com
Send suggestions for product enhancements to:
support@strategy.com
When providing feedback to us, please include the name and version of the product(s) you are currently using. Your feedback is important to us as we prepare for future releases.
xiv Before you begin
ARCHITECT
S E C T I O N I
URE
MicroStrategy Web architecture
Topics in this section include:
• Introduction
• ASP pages
• Custom Library
• Core Library
1
ARCHITECTURE
2 Section I MicroStrategy Web architecture
C H A P T E R 1
ARCHITECTURE
Introduction
The MicroStrategy Web architecture has three layers:
• GUI: ASP pages made up of VB script and HTML code
• custom library: the library of VB script functions used by the GUI to display objects and to make calls to the web server
• core library: the library of functions used by the custom library to make calls to the MicroStrategy API
Important:When you make customizations to MicroStrategy Web, you MUST follow these rules:
• Under no circumstances should you modify the core library. If you modify the core library you will not have backwards compatibility with future releases of MicroStrategy products.
• If you make changes to the custom library, you should rename the modified functions using the following naming convention:
If the original function was named CreateReport(), the modified function should be named CreateReportCx(). The Cx suffix is short for “customer extended”.
Using this naming convention preserves the original functionality and ensures that your modifications will not be overwritten when you update MicroStrategy Web for a future release.
3
ARCHITECTURE
GUIThe GUI layer of the MicroStrategy Web architecture is the collection of ASP pages which make up the MicroStrategy Web user interface. Modifications such as changing the color scheme, adding a corporate logo or rearranging a page’s layout are done at the GUI level by modifying a page’s HTML code.
There are over 20 different ASP pages in the GUI. Each page is responsible for a particular MicroStrategy Web feature or set of features. For example, you use the Folder.asp page to display the contents of a folder; the ChangePassword.asp page allows users to change their passwords; and so on.
General ASP page structureAll of the MicroStrategy Web ASP pages have the same general structure:
• VB script: calls functions from the custom and core libraries to retrieve the MicroStrategy objects (such as reports, documents, and so on) to be displayed on the page
• HTML code: displays the standard text and graphics that make up a web page as well as the MicroStrategy objects retrieved by the VB script
<!-- #include file="CommonDeclarations.asp" -->
<%Dim sAPIVersionDim sServerVersion
aPageInfo(N_CURRENT_OPTION_PAGE) = NO_LINKCall GetUserFullName(oSession, aConnectionInfo,sUid, sErrDescription)%>
<HTML>
<HEAD><TITLE>MicroStrategy Web</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"TOPMARGIN="0" LEFTMARGIN="0"MARGINHEIGHT="0" MARGINWIDTH="0"></BODY>
</HTML>
VB script
HTML code
4 Chapter 1 Introduction
ARCHITECTURE
You can see this general structure in any of the MicroStrategy Web ASP pages, which can be found in the following directory by default:
C:\Program Files\MicroStrategy\Web
Custom libraryThe custom library is a collection of VB script functions used to display objects and to communicate with the web server.
If you wish to make changes to any of the functions in the custom library, you must keep the original function definition and rename the modified function using the following naming convention:
If the original function was named CreateReport(), the modified function should be named CreateReportCx(), where the Cx suffix is short for “customer extended”.
Using this naming convention preserves the original functionality and ensures that your modifications will not be overwritten when you update MicroStrategy Web for a future release.
Note:MicroStrategy will use the following naming convention when changes to the custom library are made in future versions of MicroStrategy Web:
If the original function was named CreateReport(), the modified function should be named CreateReportEx() where the Ex suffix is short for “extended”.
Additional changes will be numbered to maintain backwards compatibility across all versions. For example, the first time CreateReport() is modified, the new function will be called CreateReportEx(). The second time it is modified, it will be called CreateReportEx1(); the third time it will be called CreateReportEx2() and so on.
Custom library 5
ARCHITECTURE
Core libraryThe core library is the collection of VB script functions responsible for communicating with MicroStrategy Intelligence Server.
Important:Under no circumstances should you modify any functions in the core library. If you modify the core library you will not have backwards compatibility with future releases of MicroStrategy products.
6 Chapter 1 Introduction
C H A P T E R 2
ARCHITECTURE
ASP pages
This chapter is intended to be a reference for the ASP pages that make up the GUI layer of the MicroStrategy Web architecture. Each page has the following information associated with it:
• page layout: shows the overall structure of the ASP page
• page flow: shows the included files and the VB script functions that provide the page’s functionality
• page variables: lists all of the variables that are available in the VB script functions
Admin.asp
Page layoutThe Admin.asp page has the following layout:
_too
lbar
_adm
in.a
sp
Project list tabs
Connected servers
GenericFooter.asp
All available servers (if displayed)
Disconnected servers
7
ARCHITECTURE
AdminCuLib.asp
CommonLib.asp
CommonDeclarations.asp
GetServers(oServers)
ServeAdminRequest(oRequest, aConnectoinInfo, sServerName, lIniPoolsize,IMaxPoolsize, IPort, IServerBusyTimeOut, IRequestTimeOut, bWriteXMLServers)
Page flow
'DWD�
+70/�
Page variables
Name Purpose Comments
oAdmin Administration object
oChildNode temporary variable
oCluster Cluster object
oClusterNode Cluster node
oClusters Cluster collect object
oFile ASP file object
oServer DOM Server object
oServers DOM object of all servers
oServersXML DOM object
oAdmin.Getclusters
GetServerProjects(aConnectionInfo(S_IP_ADDRESS_CONNECTION),oServerProjectsXML, lTotalNumberOfProjects, "", ServersDown
Display unconnected server table
Display all available server tables
Get server cluster information and process request
Display connected server table
8 Chapter 2 ASP pages
C H A P T E R 2
ARCHITECTURE
ents
oServerXML DOM object
Name Purpose Comm
AdminOptions.aspP
age layoutThe AdminOptions.asp page has the following layout:
_too
lbar
_opt
ions
.asp
GenericHeader.asp
GenericFooter.asp
Options
9
ARCHITECTURE
Page flow
'DWD�
Page variables
Name Purpose Comments
asOptions() GRID_STYLE_NDX = 1
From optionsCuLib.asp
GRID_ROWS_NDX = 2
GRID_COLUMNS_NDX = 3
LOCALE_NDX = 4
EXPORT_FORMAT_NDX = 5
USER_HEADER_NDX = 6
USER_FOOTER_NDX = 7
AdminOptionsCuLib.asp
optionsCuLib.asp
CommonDeclarations.asp
LoadUserOptionsKeys(aConnectionInfo(S_IP_ADDRESS_CONNECTION),asOptionsKey, asOptions, asGlobalOptions)
SetCurrentUserOptions(oRequest, asOptions, aConnectionInfo,oSession)
SetOptionsSections(oRequest, aConnectionInfo, asOptions,asSections, iSelectedSection)
10 Chapter 2 ASP pages
ARCHITECTURE
PRINT_ROWS_NDX = 8
PRINT_COLUMNS_NDX = 9
START_PAGE_NDX = 10
CANCEL_JOBS_NDX = 11
DELETE_JOBS_NDX = 12
SAVE_PWD_NDX = 13
ALLOW_GUEST_NDX = 14
INBOX_EXPIRES_NDX = 15
INBOX_MAX_JOBS_NDX = 16
INBOX_MAX_SIZE_NDX = 17
GRAPH_SIZE_NDX = 18
GRAPH_HEIGHT_NDX = 19
GRAPH_WIDTH_NDX = 20
OBJECT_BROWSING_NDX = 21
EXPORT_NEW_WINDOW_NDX = 22
PAGE_NUMBERING_NDX = 23
Name Purpose Comments
AdminOptions.asp 11
ARCHITECTURE
PAGE_LAYOUT_NDX = 24
ADMIN_HEADER_NDX = 25
ADMIN_FOOTER_NDX = 26
MAX_EXPORT_COLS_NDX = 27
EXPORT_CSS_NDX = 28
GRID_CSS_NDX = 29
MAX_EXPORT_ROWS_NDX = 30
MAX_EXPORT_ROWS_TEXT_NDX = 31
NT_AUTHENTICATION_NDX = 32
DRILL_MODE_NDX = 33
PIVOT_MODE_NDX = 34
FILTER_DETAILS_MODE_NDX = 35
NBOX_SORT_NDX = 36
CANCEL_JOBS_PROMPT_NDX = 37
DELETE_JOBS_PROMPT_NDX = 38
USE_SECURITY_PLUGIN_NDX = 39
Name Purpose Comments
12 Chapter 2 ASP pages
ARCHITECTURE
SECURITY_PLUGIN_CLASS_NDX = 40
SECURITY_PLUGIN_FREQ_NDX = 41
PROMPT_ON_PRINT_NDX = 42
PROMPT_ON_EXPORT_NDX = 43
EXECUTION_MODE_NDX = 44
FILTER_DETAILS_SIZE_NDX = 45
EXECUTION_WAIT_TIME_NDX = 46
FILTER_DETAILS_POSITION_NDX = 47
PRINT_FILTER_DETAILS_NDX = 48
EXPORT_FILTER_DETAILS_NDX = 49
ELE_PROMPT_BLOCK_COUNT_NDX = 50
EXPORT_SECTION_NDX = 51
SHOW_DATA_NDX = 52
SHOW_TOOLBAR_NDX = 53
SHOW_HELP_NDX = 54
WAIT_TIME_IN_WAIT_PAGE_NDX = 55
Name Purpose Comments
AdminOptions.asp 13
ARCHITECTURE
ADMIN_DELETE_JOBS_NDX = 56
OBJ_PROMPT_BLOCK_COUNT_NDX = 57
FORM_METHOD_NDX = 58
MAX_PRINT_ROWS_NDX = 59
MAX_PRINT_COLUMNS_NDX = 60
USE_DEFAULT_GRID_STYLE_NDX = 61
DEFAULT_START_DOCUMENT_NDX = 62
ADMIN_CANCEL_JOBS_NDX = 63
ICON_VIEW_MODE_NDX = 64
MAX_SEARCH_RESULTS_NDX = 65
SEARCH_TIMEOUT_NDX = 66
DEFAULT_OBJECT_NAME_NDX = 67
MAX_PROJECT_NAME_NDX = 68
PROJECT_ALIAS_NDX = 69
MAX_PROJECT_TABS_NDX = 70
SHOW_TAB_NDX = 71
Name Purpose Comments
14 Chapter 2 ASP pages
ARCHITECTURE
ADD_TO_MY_HISTORY_LIST_MODE_NDX = 72
USE_EXPORT_TEMP_FILES_NDX = 73
ORIENTATION_PREVIEW_NDX = 74
PAPER_SIZE_PREVIEW_NDX = 75
ADMIN_CONTACT_INFO_NDX = 76
USE_DHTML_PROMPTS_NDX = 77
AsSections() Array From UserOptionsLib.asp
DISPLAY_GRID_SECTION = 1
DISPLAY_GRAPH_SECTION = 2
DISPLAY_FILTER_SECTION = 3
DISPLAY_PREVIEW_SECTION = 4
DISPLAY_EXPORT_SECTION = 5
DISPLAY_LOGIN_SECTION = 6
DISPLAY_SECURITY_SECTION = 7
DISPLAY_LOGOUT_SECTION = 8
DISPLAY_PROJECT_SECTION = 9
Name Purpose Comments
AdminOptions.asp 15
ARCHITECTURE
ChangePassword.asp
Page layoutThe ChangePassword.asp page has the following layout:
DISPLAY_MISC_SECTION = 10
lErrorMessageID Error number
iSelectedSection Section of options to display
Name Purpose Comments
_too
lbar
_opt
ions
.asp
/_t
oolb
ar_l
ogou
t.asp
GenericHeader.asp
GenericFooter.asp
HTML form
16 Chapter 2 ASP pages
ARCHITECTURE
Page flow
'$7$�
+70/�
Page variables
Name Purpose Comments
aChangePwdRequest ()
Array. Folder properties.
S_OLD_PWD_CHANGEPWD = 0
From ChangePasswordCuLib.asp
S_NEW_PWD_CHANGEPWD = 1
From ChangePasswordCuLib.asp
S_CHECK_PWD_CHANGEPWD = 2
From ChangePasswordCuLib.asp
changePasswordCulib.asp
CommonDeclarations.asp
Commonlib.asp
GetRequest(oRequest, aConnectionInfo, aChangePwdRequest)
ChangeUserPassword(aChangePwdRequest, aiQuestions, aConnectionInfo,sUserFullName, sErrDescription)
optionsCoLib.asp
HTML Form (User ID, Old Pwd, New Pwd and Check Pwd)
ChangePassword.asp 17
ARCHITECTURE
Default.asp
Page layoutThe Default.asp page has the following layout:
Page flow
'DWD�
S_SUBMIT_CHANGEPWD = 3
From ChangePasswordCuLib.asp
sUserFullName User Name
Name Purpose Comments
_too
lbar
_opt
ions
.asp
GenericHeader.asp
GenericFooter.asp
DisplayProjects()
defaultCuLib.asp
CommonDeclarations.asp
GetServerProjects(aConnectionInfo(S_IP_ADDRESS_CONNECTION),oServerProjectsXML, lTotalNumberOfProjects, sErrDescrioption, sServersDown)
18 Chapter 2 ASP pages
ARCHITECTURE
+70/�
Delete.asp
Page layoutThe Delete.asp page has the following layout:
DispalyProjects(aConnectionInfo, oServerProjectsXML)
_too
lbar
_not
hing
.asp
GenericHeader.asp
DisplayPath()
GenericFooter.asp
DisplayDeleteButtons()
DisplayContinueButton()
DisplayObjectToDelete()
Delete.asp 19
ARCHITECTURE
Page flow
'DWD�
+70/�
ObjectLoadersCuLib.asp
CommonDeclarations.asp
ReceiveRequest)oRequest, aObjectInfo, aDeleteRequest
GetObject(aConnectionInfo, oObjServer, aObjInfo, oObjectXML, sErrDescription)
aDeleteRequest(B_ACTION_DELETE)
DeleteObject(aConnectionInfo, oObjServer, aObjectInfo,sErrDescription)
DisplayDeleteButtons(aConnectionInfo, aObjectInfo,aDeleteRequest)
DisplayContinueButton(aConnectionInfo, aObjInfo,aDeleteRequest)
DisplayObjectToDelete(oObjectXML)
aDeleteRequest(B_ACTION_DELETE)
20 Chapter 2 ASP pages
ARCHITECTURE
Page variables
Name Purpose Comments
aObjectInfo() Array. Object properties.
OBJECT_ID_OBJECT = 0
From ObjectLoadersCuLib.asp
S_NAME_OBJECT = 1
From ObjectLoadersCuLib.asp
S_TYPE_OBJECT = 2 From ObjectLoadersCuLib.asp
S_ROOT_ID_OBJECT = 3
From ObjectLoadersCuLib.asp
S_ROOT_NAME_OBJECT = 4
From ObjectLoadersCuLib.asp
S_PARENT_ID_OBJECT = 5
From ObjectLoadersCuLib.asp
S_PAGE_OBJECT = 6 From ObjectLoadersCuLib.asp
aDeleteRequest()
Array. Delete URL request parameters.
B_ACTION_DELETE = 0
From DeleteCuLib.asp
S_SEARCH_ID_DELETE = 1
From DeleteCuLib.asp
S_SEARCH_NAME_DELETE = 2
From DeleteCuLib.asp
oObjectXML Microsoft.XMLDOM object. Folder contents
Delete.asp 21
ARCHITECTURE
Desktop.asp
Page layoutThe Desktop.asp page has the following layout:
Page flow
'DWD�
_too
lbar
_des
ktop
.asp
GenericHeader.asp
GenericFooter.asp
Shared Reports HistoryList
My Reports Create Report
Preferences
DesktopCuLib.asp
CommonLib.asp
GetUserFullName(oSession, aConnectionInfo, sUid, sErrDescription)
CommonDeclarations.asp
22 Chapter 2 ASP pages
ARCHITECTURE
+70/�
Page variables
Document.asp
Page layoutThe Document.asp page has the following layout:
Name Purpose Comments
sAPIVersion Version of the API DLLs
From Desktop.asp
SServerVersion Version of MicroStrategy Server
From Desktop.asp
sUid To display the full name of the user
From Desktop.asp
My Reports
Create Report
Shared Reports
Features
Preferences
History List
Document.asp 23
ARCHITECTURE
Page flow
'DWD�
_too
lbar
_doc
umen
t.asp
GenericHeader.asp
GenericFooter.asp
Response.WriteaDocumentInfo(S_HTML_DOCUMENT)
DisplayPath()
DocumentCuLib.asp
ObjectLoadersCuLib.asp
CommonDeclarations.asp
ReceiveRequest(oRequset, aDocumentInfo, AObjectInfo, aFolderInfo)
LoadObjectInformatino(aConnectionInfo, oObjectServer, aObjectInfo, oObjectXML,sErrDescription)
CreateDocument(aConnectionInfo, oSession, aDocumentInfo, sErrDescription)
GetDecument(aConnectionInfo, oSession, aDocumentInfo, sErrDescription)
Commonlib.asp
24 Chapter 2 ASP pages
ARCHITECTURE
+70/�
Page variables
Name Purpose Comments
aDocumentInfo ()
Array. Document parameters.
S_DOCUMENT_ID_DOCUMENT = 0
From DocumentCuLib.asp
S_DOCUMENT_NAME_DOCUMENT = 1
From DocumentCuLib.asp
S_MSG_ID_DOCUMENT = 2
From DocumentCuLib.asp
S_RESULTS_TYPE_DOCUMENT = 3
From DocumentCuLib.asp
N_STATUS_DOCUMENT = 4
From DocumentCuLib.asp
S_HTML_DOCUMENT = 5
From DocumentCuLib.asp
S_REDIRECT_URL_DOCUMENT = 6
From DocumentCuLib.asp
B_WAIT_DOCUMENT = 7
From DocumentCuLib.asp
S_PAGE_DOCUMENT = 8
From DocumentCuLib.asp
B_SKIP_WAIT_DOCUMENT = 9
From DocumentCuLib.asp
DisplayPate(aConnectionInfo, oObjServer, oXML, sRootFolderID, sRootFolderName,sPageAlias, sURL)
DisplayError(sTitle, sErrDescription)
Document.asp 25
ARCHITECTURE
aObjectInfo() Array. Object Information
S_OBJECT_ID_OBJECT = 0
From ObjectLoadersCuLib.asp
S_NAME_OBJECT = 1
From ObjectLoadersCuLib.asp
S_TYPE_OBJECT = 2 From ObjectLoadersCuLib.asp
ROOT_ID_OBJECT = 3
From ObjectLoadersCuLib.asp
S_ROOT_NAME_OBJECT = 4
From ObjectLoadersCuLib.asp
S_PARENT_ID_OBJECT = 5
From ObjectLoadersCuLib.asp
S_PAGE_OBJECT = 6 From ObjectLoadersCuLib.asp
aFolderInfo() Array. Folder Information
S_FOLDER_ID_FOLDER = 0
From ObjectLoadersCuLib.asp
S_NAME_FOLDER = 1
From ObjectLoadersCuLib.asp
S_DESCRIPTION_FOLDER = 2
From ObjectLoadersCuLib.asp
S_PAGE_FOLDER = 3
From ObjectLoadersCuLib.asp
S_ROOT_ID_FOLDER = 4
From ObjectLoadersCuLib.asp
S_ROOT_NAME_FOLDER = 5
From ObjectLoadersCuLib.asp
N_REPORTS_FOLDER = 6
From ObjectLoadersCuLib.asp
Name Purpose Comments
26 Chapter 2 ASP pages
ARCHITECTURE
Export.asp
Page layoutThe Export.asp page has the following layout:
N_DOCUMENTS_FOLDER = 7
From ObjectLoadersCuLib.asp
N_FOLDERS_FOLDER = 8
From ObjectLoadersCuLib.asp
S_VIEW_MODE_FOLDER = 9
From ObjectLoadersCuLib.asp
S_HTML_FOLDER = 10
From ObjectLoadersCuLib.asp
oObjectXML Object XML (In this case a Document)
OFolderXML Folder XML
Name Purpose Comments
_too
lbar
_exp
ort.a
sp
GenericHeader.asp
GenericFooter.asp
export_options.asp
GenerateReportInHTML()
GenerateReportInPlaintext()
Export.asp 27
ARCHITECTURE
Page flow
'DWD�
+70/�
CommonDeclarations.asp
ReceiveRequestExport(oRequest, aExportRequest)
ReadExportOptions(aOptions)
exportCuLib.asp
RetrieveReportXML(oRepServer, aExportRequest(S_MSG_ID_EXPORT_,aConnectionInfo, oSession, oReportXML, aExportRequest, sErrDescription)
If aOptons(B_USE_TEMP_FILES_EXPORT_OPT) ThenOpenExportFileForWriting(oFSO, oTS, sExportFileName, sFolderName, sErrDescription)
GenerateReportInPlainText(oReportXML, sDelimiter, oTS,aOptions(B_USE_TEMP_FILES_EZPORT_OPT),aConnectionInfo(S_IP_ADDRESS_CONNECTION), sErrDescription)
ReadUserOption(LIST_VIEW_OPTION)
GenerateReportInHTML(oReportXML, oTs,aConnectionInfo(S_IP_ADDRESS_CONNECTION),aOptions(B_USE_TEMP_FILES_EXPORT_OPT), sErrDescription)
28 Chapter 2 ASP pages
ARCHITECTURE
Page variables
Name Purpose Comments
AExportRequest ()
Array. Export request properties.
S_MSG_ID_EXPORT= 1
S_XSL_EXPORT= 2
S_CSS_EXPORT= 3
I_EXPORT_FORMAT_EXPORT= 4
B_SHOW_OPTIONS_EXPORT= 5
I_SECTION_EXPORT= 6
I_FILTER_EXPORT= 7
L_MAXIMUM_COLS_EXPORT= 8
L_MAXIMUM_ROWS_EXPORT= 9
L_TOT_COLS_EXPORT= 10
L_TOT_ROWS_EXPORT = 11
S_REPORT_ID_EXPORT = 12
Export.asp 29
ARCHITECTURE
S_FROM_PAGE_EXPORT = 13
S_VIEW_EXPORT = 14
L_STATE_ID_EXPORT = 15
aOptions() Array. Export options
I_EXPORT_SECTION_EXPORT_OPT = 1
I_FORMAT_EXPORT_OPT = 2
I_FILTER_DETAILS_EXPORT_OPT = 3
L_MAX_COLS_EXPORT_OPT = 4
L_MAX_ROWS_EXPORT_OPT = 5
L_MAX_TEXT_ROWS_EXPORT_OPT = 6
B_USE_TEMP_FILES_EXPORT_OPT = 7
oReportXML Holds the Report XML
oRepServer The Report Server
sReportName The name of the report
sNonXMLReportName
The name of the report without special characters
lColsToExport # of Columns to export
lRowsToExport # of Rows to export
Name Purpose Comments
30 Chapter 2 ASP pages
ARCHITECTURE
Folder.asp
Page layoutThe Folder.asp page has the following layout:
sDelimiter Character delimiter of the output text
None for HTML, tab or comma for plaintext
sExportFileName
If using temp files the name of the file
sFolderName If using temp files the name of the folder
oFSO FileSystemObject for the above file
oTS TextStream to write to
Name Purpose Comments
_too
lbar
_fol
der.
asp
GenericHeader.asp
DisplayPath()
GenericFooter.asp
DisplayObjectBrowser()
DisplayObjectBrowserListView()
Folder.asp 31
ARCHITECTURE
Page flow
'DWD�
+70/�
Page variables
Name Purpose Comments
aFolderInfo() Array. Folder properties.
S_FOLDER_ID_FOLDER = 0
From ObjectLoadersCuLib.asp
S_NAME_FOLDER = 1
From ObjectLoadersCuLib.asp
S_DESCRIPTION_FOLDER� ��
From ObjectLoadersCuLib.asp
CommonDeclarations.asp
ReceiveRequest(oRequest, aFolderInfo)
GetFolder(aConnectionInfo, oObjServer, aFolderInfo, oFolderXML, sErrDescription)
ObjectLoadersCuLib.asp
DisplayObjectBrowser()
ReadUserOption(LIST_VIEW_OPTION)
DisplayObjectBrowserListView()
32 Chapter 2 ASP pages
ARCHITECTURE
Help.asp
Page layout
The Help.asp page has the following layout:
S_PAGE_FOLDER = 3
From ObjectLoadersCuLib.asp
S_ROOT_ID_FOLDER = 4
From ObjectLoadersCuLib.asp
S_ROOT_NAME_FOLDER = 5
From ObjectLoadersCuLib.asp
N_REPORTS_FOLDER = 6
From ObjectLoadersCuLib.asp
N_DOCUMENTS_FOLDER = 7
From ObjectLoadersCuLib.asp
N_FOLDERS_FOLDER = 8
From ObjectLoadersCuLib.asp
S_VIEW_MODE_FOLDER = 9
From ObjectLoadersCuLib.asp
S_HTML_FOLDER = 10
From ObjectLoadersCuLib.asp
oFolderXML Microsoft.XMLDOM object. Folder contents
Name Purpose Comments
Help.asp 33
ARCHITECTURE
Page flow
'DWD�
+70/�
Page variables
Name Purpose Comments
sLanguage String for the language
IIDHelp ID of the file
_too
lbar
_hel
p.as
p
GenericHeader.asp
GenericFooter.asp
ReadHelpHTMLFile()
CommonDeclarations.asp
Commonlib.asp
OptionsCoLib.asp
HelpCoLib.asp
ReadHelpHTMLFile)iIDHelp, sLanguage, sHtlpHTML)
34 Chapter 2 ASP pages
ARCHITECTURE
Inbox.asp
Page layout
The Inbox.asp page has the following layout:
sHelpHTML String for the error description in HTML
Name Purpose Comments
_too
lbar
_his
tory
List
.asp
GenericHeader.asp
GenericFooter.asp
DisplayInboxTable()
Inbox.asp 35
ARCHITECTURE
Page flow
'DWD�
+70/�
Page variables
Name Purpose Comments
AInboxRequest() Array. Inbox request parameters.
S_ORDER_BY_INBOX = 0
From InbocCuLib.asp
S_SORT_ORDER_INBOX= 1
From InbocCuLib.asp
L_DELETE_MARK_INBOX = 2
From InbocCuLib.asp
S_DELETE_ALL_INBOX = 3
From InbocCuLib.asp
CommonLib.asp
InboxCulib.asp
CommonDeclarations.asp
ReceiveRequest(oRequest, aFolderInfo)
GetInbox(orequest, aInboxRequest, aConnectionInfo, oSession, oInboxXML, aErrNumber,lErrNumber, aErrDescription, sErrDescription)
DisplayInboxTable(oInboxXML, aInboxRequest, aConnectionInfo,sErrDescription)
36 Chapter 2 ASP pages
ARCHITECTURE
JobDetails.asp
Page layoutThe JobDetails.asp page has the following layout:
S_STATUS_INBOX = 4
From InbocCuLib.asp
S_MSG_ID_INBOX = 5
From InbocCuLib.asp
B_FULL_INBOX = 6 From InbocCuLib.asp
B_COLLAPSE_INBOX = 7
From InbocCuLib.asp
AerrNumber/
AerrDescription
INBOX_ERR_DELETE_NDX = 0
From InbocCuLib.asp
INBOX_ERR_STATUS_NDX = 1
From InbocCuLib.asp
INBOX_ERR_MSGS_MDX = 2
From InbocCuLib.asp
OinboxXML Microsoft.XMLDOM object. Inbox contents
Name Purpose Comments
_too
lbar
_not
hing
.asp
GenericHeader.asp
GenericFooter.asp
DisplayDetailedPath()
JobDetails.asp 37
ARCHITECTURE
Page flow
'DWD�
Page variables
Name Purpose Comments
aObjectInfo() Array. Object properties.
OBJECT_ID_OBJECT = 0
From ObjectLoadersCuLib.asp
S_NAME_OBJECT = 1
From ObjectLoadersCuLib.asp
S_TYPE_OBJECT = 2 From ObjectLoadersCuLib.asp
S_ROOT_ID_OBJECT = 3
From ObjectLoadersCuLib.asp
S_ROOT_NAME_OBJECT = 4
From ObjectLoadersCuLib.asp
ObjectLoadersCuLib.asp
CommonDeclarations.asp
ReceiveRequest(oRequest, aObjectInfo, aDeleteRequest)
LoadJobDetails(aConnectionInfo, oSession, aJobDetailsRequest, aJobAttributes,sErrDescription)
LoadFolderInformation(aConnectionInfo, oObjServer, aFolderInfo, oFolderXML,sErrDescription)
LoadObject Information(aConnectionInfo, oObjServer, aObjInfo, oObjectXML,sErrDescription)
38 Chapter 2 ASP pages
C H A P T E R 2
ARCHITECTURE
ObjectLoadersCuLib.asp
entsJECT = 6 From O
aJobuest(
tails eters.
Nam Comm
S_PARENT_ID_OBJECT = 5
From
Name Purpose Comm
S_PAGE_OBDetailsReq)
Array. Job Derequest param
e Purpose
S_MSG_ID_DETAILS = 0
From JobDetailsCuLib.asp
S_OBJECT_ID_DETAILS = 1
From JobDetailsCuLib.asp
N_OBJECT_TYPE_DETAILS = 2
From JobDetailsCuLib.asp
S_PAGE_DETAILS = 3
From JobDetailsCuLib.asp
S_VIEW_MODE_DETAILS = 4
From JobDetailsCuLib.asp
S_STATE_ID_DETAILS = 5
From JobDetailsCuLib.asp
B_IS_CHILD_DETAILS = 6
From JobDetailsCuLib.asp
B_BACK_DETAILS = 7
From JobDetailsCuLib.asp
AJobAttributes() Array. Job Attributes request parameters.
S_REPORT_NAME_JOBATTRIBUTE = 0
From JobDetailsCoLib.asp
S_MSG_STATUS_JOBATTRIBUTE = 1
From JobDetailsCoLib.asp
Name Purpose Comments
39
ARCHITECTURE
N_STATUS_JOBATTRIBUTE = 2
From JobDetailsCoLib.asp
S_MSG_CREATION_TIME_JOBATTRIBUTE =3
From JobDetailsCoLib.asp
S_MSG_MODIFICATION_TIME_JOBATTRIBUTE = 4
From JobDetailsCoLib.asp
S_START_TIME_JOBATTRIBUTE = 5
From JobDetailsCoLib.asp
S_FINISH_TIME_JOBATTRIBUTE = 6
From JobDetailsCoLib.asp
S_OBJECT_CREATOR_JOBATTRIBUTE = 7
From JobDetailsCoLib.asp
S_OBJECT_DESCRIPTION_JOBATTRIBUTE = 8
From JobDetailsCoLib.asp
S_FOLDER_NAME_JOBATTRIBUTE = 9
From JobDetailsCoLib.asp
S_FOLDER_ID_JOBATTRIBUTE = 10
From JobDetailsCoLib.asp
S_TEMPLATE_JOBATTRIBUTE = 11
From JobDetailsCoLib.asp
S_FILTER_JOBATTRIBUTE = 12
From JobDetailsCoLib.asp
S_JOB_SQL_JOBATTRIBUTE = 13
From JobDetailsCoLib.asp
N_JOB_ROWS_JOBATTRIBUTE = 14
From JobDetailsCoLib.asp
S_REPORT_DESCRIPTION_JOBATTRIBUTE = 15
From JobDetailsCoLib.asp
Name Purpose Comments
40 Chapter 2 ASP pages
ARCHITECTURE
N_JOB_COLS_JOBATTRIBUTE = 16
From JobDetailsCoLib.asp
aFolderInfo() Array. Folder properties.
S_FOLDER_ID_FOLDER = 0
From ObjectLoadersCuLib.asp
S_NAME_FOLDER = 1
From ObjectLoadersCuLib.asp
S_DESCRIPTION_FOLDER = 2
From ObjectLoadersCuLib.asp
S_PAGE_FOLDER = 3
From ObjectLoadersCuLib.asp
S_ROOT_ID_FOLDER = 4
From ObjectLoadersCuLib.asp
S_ROOT_NAME_FOLDER = 5
From ObjectLoadersCuLib.asp
N_REPORTS_FOLDER = 6
From ObjectLoadersCuLib.asp
N_DOCUMENTS_FOLDER = 7
From ObjectLoadersCuLib.asp
N_FOLDERS_FOLDER = 8
From ObjectLoadersCuLib.asp
S_VIEW_MODE_FOLDER = 9
From ObjectLoadersCuLib.asp
S_HTML_FOLDER = 10
From ObjectLoadersCuLib.asp
oObjectXML Microsoft.XMLDOM object. Object contents
oFolderXML Microsoft.XMLDOM object. Folder contents
aObjectInfo() Array. Object properties.
Name Purpose Comments
JobDetails.asp 41
ARCHITECTURE
JobError.asp
Page layoutThe JobError.asp page has the following layout:
Page flow
'DWD�
_too
lbar
_not
hing
.asp
GenericHeader.asp
GenericFooter.asp
DisplayPath()
DisplayError()
jobErrorCuLib.asp
CommonDeclarations.asp
InboxCulib.asp
ReceiveRequest(oRequest, aJobErrorRequest)
GetErrorMessageForMsgID(sMsgID, aConnectionInfo, oSession, sErrorMessage,sErrDescription(
Commonlib.asp
42 Chapter 2 ASP pages
ARCHITECTURE
+70/�
Page variables
JobExpired.asp
Page layoutThe JobExpired.asp page has the following layout:
Name Purpose Comments
aJobErrorRequest()
Array. Job Error properties.
S_REPORT_ID_JOBERROR = 0
From JobErrorCuLib.asp
S_DOCUMENT_ID_JOBERROR = 1
From JobErrorCuLib.asp
S_MSG_ID_ERROR_JOBERROR = 2
From JobErrorCuLib.asp
S_MSG_JOBERROR = 3
From JobErrorCuLib.asp
S_FOLDER_ID_JOBERROR = 4
From JobErrorCuLib.asp
S_OK_JOBERROR = 5
From JobErrorCuLib.asp
S_PAGE_JOBERROR = 6
From JobErrorCuLib.asp
sJobErrorMessage
Error message to display
DisplayError(sTitle, sErrDescription)
JobExpired.asp 43
ARCHITECTURE
Page flow
'DWD�
+70/�
_too
lbar
_job
Exp
ired.
asp
GenericHeader.asp
GenericFooter.asp
ShowCompletePath()
Job expired messageand buttons to re-execute it
JobExpiredLib.asp
CommonLib.asp
CommonDeclarations.asp
ReceiveRequest(oRequest, aJobExporedRequest)
GetObjServer(oSession, aConnectionInfo(S_IP_ADDRESS_CONNECTION), oObjServer,sErrDescription)
Re-execute Report
Re-execute Document
Form
44 Chapter 2 ASP pages
ARCHITECTURE
Page variables
Login.asp
Page layout
The Login.asp page has the following layout:
Name Purpose Comments
AJobExpiredRequest()
Array. Job Expired Request.
REPORT_ID = 1 From JobExpiredLib.asp
DOCUMENT_ID = 2 From JobExpiredLib.asp
VIEW = 3 From JobExpiredLib.asp
sRedirectAction It can be report.asp or document.asp
From JobExpired.asp
_too
lbar
_log
in.a
sp
GenericHeader.asp
GenericFooter.asp
Login form
Login.asp 45
ARCHITECTURE
Page flow
'DWD�
+70/�
Page variables
Name Purpose Comments
aLoginInfo () Array. Login properties.
B_SAVE_PWD_LOGIN = 0
From LoginCuLib.asp
B_GUEST_LOGIN = 1 From LoginCuLib.asp
B_NT_LOGIN = 2 From LoginCuLib.asp
S_AUTOLOGIN_LOGIN = 3
From LoginCuLib.asp
N_START_PROJECT_TAB_LOGIN = 4
From LoginCuLib.asp
Commonlib.asp
loginCuLib.asp
CommonDeclarations.asp
GetRequest(oRequest, aConnectionInfo, aLoginInfo)
ReadLoginFormOptions(aConnectionInfo, aLoginInfo)
LOGIN FORM (This is the HTML form with the login information)
46 Chapter 2 ASP pages
ARCHITECTURE
Logout.asp
Page layout
The Logout.asp page has the following layout:
S_PAGE_ALIAS_LOGIN = 5
From LoginCuLib.asp
N_ERROR_TITLE_LOGIN = 6
From LoginCuLib.asp
N_ERROR_ID_LOGIN = 7
From LoginCuLib.asp
S_ERROR_MSG_LOGIN = 8
From LoginCuLib.asp
S_REQUEST_LOGIN = 9
From LoginCuLib.asp
Name Purpose Comments
_too
lbar
_log
out.a
sp
GenericHeader.asp
GenericFooter.asp
Logout form
Logout.asp 47
ARCHITECTURE
Page flow
'DWD�
+70/�
Page variables
Name Purpose Comments
bPromptUser Prompt the user to select some logout options
sCancelPendingJobs
Defines whether we cancel or not some jobs before logout.
sDeleteReadJobs
Defines whether we delete or not some read jobs before logout.
logoutCuLib.asp
CommonDeclarations.asp
ProcessLogoutRequest(oRequest, aConnectionInfo, bPromptUser, sErrDescription)
Commonlib.asp
ReadUserOption(CANCEL_JOBS_OPTION),ReadUserOption(DELETE_JOBS_OPTION),ReadUserOption(ADMIN_DELETE_JOBS_OPTION),ReadUserOption(ADMIN_CANCEL_JOBS_OPTION)
HTML Form
48 Chapter 2 ASP pages
ARCHITECTURE
The NewPrompt.asp page has the following layout:
Page flow
'DWD�
SPromptPendingJobs
Prompt the user to cancel pending jobs.
sPromptDeleteJobs
Prompt the user to delete finished jobs.
sAdminDeleteJobs
Administrator option to cancel pending jobs.
SAdminCancelJobs
Administrator option to cancel pending jobs.
Name Purpose Comments
_too
lbar
_pro
mpt
.asp
GenericHeader.asp
ShowPromptPagePath()
GenericFooter.asp
WritePromptGeneralError()
DisplayPromptIndex ()DisplayAllPromptsForJob()
PrimptCuLib.asp
CommonDeclarations.asp
LoadPromptInformation(aConnectionInfo)
Logout.asp 49
ARCHITECTURE
+70/�
Page variables
Name Purpose Comments
aPromptInfo() Array for promtpts
PROMPTINFO_INDEX = 1
From PromptConstColib.asp
PROMPTINFO_XSLFILE = 2
From PromptConstColib.asp
PROMPTINFO_ISCART = 3
From PromptConstColib.asp
PROMPTINFO_TYPE = 4
From PromptConstColib.asp
PROMPTINFO_SUBTYPE = 5
From PromptConstColib.asp
PROMPTINFO_REQUIRED = 6
From PromptConstColib.asp
PROMPTINFO_MIN = 7
From PromptConstColib.asp
PROMPTINFO_MAX = 8
From PromptConstColib.asp
PROMPTINFO_STEP = 9
From PromptConstColib.asp
ShowPromptPagePath(sReprotID, sDocumentID, oRequest,aConnectionInfo, oSession)
DisplayPromptIndex(bIsDoc, aPromptInfo, oPromptQuestionsXML)
DisplayAllPromptsForJob(aConnectionInfo, oSession, aPromptInfo,oPromptQuestionsXML, oPromptAnswersXML, oRequest, sErrDescription)
50 Chapter 2 ASP pages
ARCHITECTURE
Preview.asp
Page layoutThe Preview.asp page has the following layout:
PROMPTINFO_MSG = 10
From PromptConstColib.asp
sReportID Report GUID
sDocumentID Document GUID
bIsDoc Boolean, indicating it’s a document or a report
True/False
oPromptQuestionsXML
Microsoft.XMLDOM object, representing all prompt questions in this page
oPromptAnswersXML
Microsoft.XMLDOM object, representing all prompt answers in this page
Name Purpose Comments
_too
lbar
_pre
view
.asp
GenericHeader.asp
GenericFooter.asp
preview_options.asp
ShowPreviewOfGrids()
ShowPreviewOfGraphs()
ShowPreviewOfGraphWithData()
Preview.asp 51
ARCHITECTURE
Page flow
'DWD�
PreviewCuLib.asp
CommonDeclarations.asp
ReadPrintOptions(aOptions)
ReceiveRequest(oRequest, aOptions, aPreviewRequest)
GetAdminHeaderAndFooter(aOptions, aConnectionInfo(S_IP_ADDRESS_CONNECTION),sAdminHeaderContents, sAdminFooterContents, sErrDescription)
aPreviewRequest(B_DONT_ASK_AGAIN_PREVIEW_REQ)
SavePrintOptionsInCookies(aConnectionInfo(S_PROJECTCONNECTION), aPreviewRequest)
SetPreviewFlags(aPreviewRequest, aOptions, lFlags, bNeedProperties)
GetInitialReportResults(oRepServer, aPreviewRequest, lFlags, oSession, aConnectionInfo,oReportXML, sErrDescription)
52 Chapter 2 ASP pages
ARCHITECTURE
+70/�
Page variables
Name Purpose Comments
aPreviewRequest()
Array. Request properties.
S_MSG_ID_PREVIEW_REQ = 1
From PreviewCuLib.asp
S_CUR_CSS_PREVIEW_REQ = 2
From PreviewCuLib.asp
S_XSL_PREVIEW_REQ = 3
From PreviewCuLib.asp
S_VIEW_MODE_PREVIEW_REQ = 4
From PreviewCuLib.asp
I_VIEW_MODE_PREVIEW_REQ = 5
From PreviewCuLib.asp
L_START_PAGE_PREVIEW_REQ = 6
From PreviewCuLib.asp
L_CURRENT_PAGE_PREVIEW_REQ = 7
From PreviewCuLib.asp
ShowPreviewOfGraphs(oRepServer, aPreviewRequest, oReportXML, lFlags,aConnectionInfo(S_IP_ADDRESS_CONNECTION), sErrDescription)
ShowPreviewOfGraphWithData(oRepServer, aPreviewRequest, oReportXML,lFlags, aConnectionInfo(S_IP_ADDRESS_CONNECTION), sErrDescription)
ShowPreviewOfGrids(oRepServer, aPreviewRequest, oReportXML, lFlags,aConnectionInfo(S_IP_ADDRESS_CONNECTION), sErrDescription)
aPreviewRequest(I_VIEW_MODE_PREVIEW_REQ)
Preview.asp 53
ARCHITECTURE
L_GRAPH_BLOCK_PREVIEW_REQ = 8
From PreviewCuLib.asp
B_SHOW_GRAPH_PREVIEW_REQ = 9
From PreviewCuLib.asp
L_START_AT_VERT_BLOCK_PREVIEW_REQ = 10
From PreviewCuLib.asp
L_START_AT_HORI_BLOCK_PREVIEW_REQ = 11
From PreviewCuLib.asp
S_USER_HEADER_PREVIEW_REQ = 12
From PreviewCuLib.asp
S_USER_FOOTER_PREVIEW_REQ = 13
From PreviewCuLib.asp
I_PAGE_NUMBER_STYLE_PREVIEW_REQ = 14
From PreviewCuLib.asp
L_ROWS_PER_PAGE_PREVIEW_REQ = 15
From PreviewCuLib.asp
L_COLS_PER_PAGE_PREVIEW_REQ = 16
From PreviewCuLib.asp
L_PAGES_TO_SHOW_PREVIEW_REQ = 17
From PreviewCuLib.asp
B_PROMPT_ON_PRINT_PREVIEW_REQ = 18
From PreviewCuLib.asp
S_FILTER_DETAILS_MODE_PREVIEW_REQ = 19
From PreviewCuLib.asp
B_SHOW_OPTIONS_PREVIEW_REQ = 20
From PreviewCuLib.asp
B_DONT_ASK_AGAIN_PREVIEW_REQ = 21
From PreviewCuLib.asp
Name Purpose Comments
54 Chapter 2 ASP pages
ARCHITECTURE
S_USE_CSS_PREVIEW_REQ = 22
From PreviewCuLib.asp
L_STATE_ID_PREVIEW_REQ = 23
From PreviewCuLib.asp
S_PAPER_SIZE_PREVIEW_REQ = 24
From PreviewCuLib.asp
I_ORIENTATION_PREVIEW_REQ = 25
From PreviewCuLib.asp
aOptions() Array. Options used on this page.
S_EXPORT_CSS_PREVIEW = 0
From PreviewCuLib.asp
S_USER_HEADER_PREVIEW = 1
From PreviewCuLib.asp
S_USER_FOOTER_PREVIEW = 2
From PreviewCuLib.asp
I_PAGE_NUMBERING_PREVIEW = 3
From PreviewCuLib.asp
I_PRINT_ROWS_PREVIEW = 4
From PreviewCuLib.asp
I_PRINT_COLUMNS_PREVIEW = 5
From PreviewCuLib.asp
L_BLOCK_SIZE_PREVIEW = 6
From PreviewCuLib.asp
B_PROMPT_ON_PRINT_PREVIEW = 7
From PreviewCuLib.asp
B_PRINT_FILTER_DETAILS_PREVIEW = 8
From PreviewCuLib.asp
S_ADMIN_HEADER_PREVIEW = 9
From PreviewCuLib.asp
S_ADMIN_FOOTER_PREVIEW = 10
From PreviewCuLib.asp
Name Purpose Comments
Preview.asp 55
ARCHITECTURE
Refresh.asp
Page layoutThe Refresh.asp page has the following layout:
L_MAX_PRINT_ROWS_PREVIEW = 11
From PreviewCuLib.asp
L_MAX_PRINT_COLUMNS_PREVIEW = 12
From PreviewCuLib.asp
S_PAPER_SIZE_PREVIEW = 13
From PreviewCuLib.asp
I_ORIENTATION_PREVIEW = 14
From PreviewCuLib.asp
B_SHOW_DATA_PREVIEW = 15
From PreviewCuLib.asp
oReportXML Holds the Report XML
oRepServer The Report Server
lFlags Resport flags
bNeedProperties If we are using a dynamic CSS
sWindowSettings
Report window settings
sPaperWidth Width of paper being used
sPaperHeight Height of paper being used
sBGImage Backgroung Image
Name Purpose Comments
56 Chapter 2 ASP pages
ARCHITECTURE
Page flow
'DWD�
+70/�
_too
lbar
_not
hing
.asp
GenericHeader.asp
GenericFooter.asp
DisplayError()
RefreshCuLib.asp
CommonLib.asp
CommonDeclarations.asp
ReceiveRequest(oRequest, aFefreshRequest, aConnectionInfo)
RefreshReport(aConnectionInfo, aRefreshRequest, oSession, sErrDescription)
Response.Redirect "Refresh.asp"
DisplayError()
Refresh.asp 57
ARCHITECTURE
Page variables
Name Purpose Comments
aRefreshRequest ()
Array. Refresh Request.
S_MSG_ID_REFRESH = 0
From refreshCulib.asp
S_REPORT_ID_REFRESH = 1
From refreshCulib.asp
S_SOURCE_PAGE_REFRESH = 2
From refreshCulib.asp
S_VIEW_MODE_REFRESH = 3
From refreshCulib.asp
S_MAJOR_TYPE_REFRESH = 4
From refreshCulib.asp
S_MINOR_TYPE_REFRESH = 5
From refreshCulib.asp
S_XSL_REFRESH = 6 From refreshCulib.asp
S_CSS_REFRESH = 7
From refreshCulib.asp
S_MAX_COLS_REFRESH = 8
From refreshCulib.asp
S_MAX_ROWS_REFRESH = 9
From refreshCulib.asp
L_STATE_ID_REFRESH = 10
From refreshCulib.asp
B_USE_PREVIOUS_ANSWER_REFRESH = 11
From refreshCulib.asp
58 Chapter 2 ASP pages
ARCHITECTURE
Report.asp
Page layoutThe Report.asp page has the following layout:
_too
lbar
_gra
ph.a
sp/
_too
lbar
_grid
.asp
GenericHeader.asp
GenericFooter.asp
DisplayPath()
DisplayReportWidget()
Report.asp 59
ARCHITECTURE
Page flow
'DWD�
+70/�
dynamicColors.asp
ASPGrids.asp
commonDeclarations.asp
ReportCuLib.asp
FilterDetailsCuLib.asp
CreateReport(aConnectionInfo, oSession, aReportInfo, sErrDescription)
GetReport(aConnectionInfo, oSession, aReprotInfo, oReportXML, sErrDescription)
SetStartPageInfo(oRequest, sPage, sName, SIPAddress)
ASPGrids.asp
ReceiveRequest(aConnectionInfo, oRequest, aReprotInfo)
Commonlib.asp
DisplayPate(aConnectionInfo, oObjectServer, oXML, sRootFolderID, sRootFolderName,SpagesAlias, sURL)
DisplayError(sTitle, sErrDescription)
DisplayReprotWedget(aConnectionInfo, aReportInfo, oReportXML)
60 Chapter 2 ASP pages
ARCHITECTURE
Page variables
Name Purpose Comments
aReportInfo() Array. Report parameters.
S_REPORT_ID_REPORT = 0
From ReportCuLib.asp
S_MSG_ID_REPORT = 1
From ReportCuLib.asp
S_VIEW_MODE_REPORT = 2
From ReportCuLib.asp
S_CURR_XSL_REPORT = 3
From ReportCuLib.asp
S_CURR_CSS_REPORT = 4
From ReportCuLib.asp
S_PAGE_REPORT = 5
From ReportCuLib.asp
S_PARENT_ID_REPORT = 6
From ReportCuLib.asp
S_NAME_REPORT = 7
From ReportCuLib.asp
S_ASP_STYLE_REPORT = 8
From ReportCuLib.asp
N_TOTAL_ROWS_REPORT = 9
From ReportCuLib.asp
N_TOTAL_COLS_REPORT = 10
From ReportCuLib.asp
N_MAJOR_CHART_TYPE_REPORT = 11
From ReportCuLib.asp
N_MINOR_CHART_TYPE_REPORT = 12
From ReportCuLib.asp
Report.asp 61
ARCHITECTURE
S_CHART_AVAILABLE_REPORT = 13
From ReportCuLib.asp
S_ADVANCED_DRILL_REPORT = 14
From ReportCuLib.asp
S_SORT_REPORT = 15
From ReportCuLib.asp
S_PROMPT_ANSWER_REPORT = 16
From ReportCuLib.asp
S_REQUEST_REPORT = 17
From ReportCuLib.asp
N_MAX_ROWS_REPORT = 18
From ReportCuLib.asp
N_MAX_COLS_REPORT = 19
From ReportCuLib.asp
B_PROMPTED_REPORT = 20
From ReportCuLib.asp
N_START_ROW_REPORT = 21
From ReportCuLib.asp
N_START_COL_REPORT = 22
From ReportCuLib.asp
B_ERROR_IN_GRAPHS_REPORT = 23
From ReportCuLib.asp
N_STATE_ID_REPORT = 24
From ReportCuLib.asp
N_LAST_STATE_ID_REPORT = 25
From ReportCuLib.asp
N_PARENT_ID_REPORT = 26
From ReportCuLib.asp
N_FEATURES_REPORT = 27
From ReportCuLib.asp
N_STATUS_REPORT = 28
From ReportCuLib.asp
Name Purpose Comments
62 Chapter 2 ASP pages
ARCHITECTURE
B_REDIRECT_REPORT = 29
From ReportCuLib.asp
B_DUPLICATE_REPORT = 30
From ReportCuLib.asp
S_GRID_STYLE_REPORT = 31
From ReportCuLib.asp
S_REDIRECT_URL_REPORT = 32
From ReportCuLib.asp
S_VIEW_SETTINGS_REPORT = 33
From ReportCuLib.asp
S_WINDOW_SETTINGS_REPORT = 34
From ReportCuLib.asp
N_MAX_GRAPH_ROWS_REPORT = 35
From ReportCuLib.asp
N_MAX_GRAPH_COLS_REPORT = 36
From ReportCuLib.asp
B_REPROMPT_REPORT = 37
From ReportCuLib.asp
B_WAIT_REPORT = 38
From ReportCuLib.asp
N_HEIGHT_REPORT = 39
From ReportCuLib.asp
N_WIDTH_REPORT = 40
From ReportCuLib.asp
B_SHOW_SORT_LINKS_REPORT = 41
From ReportCuLib.asp
B_GRID_GRAPH_REPORT = 42
From ReportCuLib.asp
S_DRILL_DIM_REPORT = 43
From ReportCuLib.asp
S_DRILL_PARENT_REPORT = 44
From ReportCuLib.asp
Name Purpose Comments
Report.asp 63
ARCHITECTURE
SaveAs.asp
Page layout
The SaveAs.asp page has the following layout:
S_DRILL_OPTIONS_REPORT = 45
From ReportCuLib.asp
B_SAVED_MESSAGE_REPORT = 46
From ReportCuLib.asp
B_SKIP_WAIT_REPORT = 47
From ReportCuLib.asp
oReportXML XML for the report instance
OGraphTypesXML
XML for the Graph Types and SubTypes
Name Purpose Comments
_too
lbar
_fol
der.
asp
GenericHeader.asp
GenericFooter.asp
DisplayHiddenReportInfo()
DecideFormMethod()
DisplaySaveAsPath()/DisplaySmallObjectBrowser()
64 Chapter 2 ASP pages
ARCHITECTURE
Page flow
'DWD�
+70/�
ObjectLoadersCuLib.asp
CommonDeclarations.asp
ReceiveRequest(oRequest, aConnectionInfo, aSaveInfo, aObjectInfo, aFolderInfo)
LoadObjectsInformation(aConnectionInfo, oObjectServer, aObjectXML, sErrDescription)
SelectSaveRoot(aConnectionInfo, oObjServer, aSaveInfo, sErrDescription)
aSaveInfo(B_ACTION_NEW_FOLDER_SAVE)
CreateNewFolder(aConnectionInfo, oObjServer, aSaveInfo, sErrDescription)
LoadFolderInformation(aConnectionInfo, oObjServer, aFolderInfo, oFolderXML,sErrDescription)
aSaveInfo(B_ACTION_SAVE) or aSAVEINFO(B_OVERWRITE_SAVE)
SaveObject(aConnectionInfo, oSesion, aSaveInfo, sErrDescription)
Save Form
Save Confirmation
Len(aSaveInfo(S_NEW_REPORT_ID_SAVE)) > 0
SaveAs.asp 65
ARCHITECTURE
Page variables
Name Purpose Comments
aFolderInfo() Array. Folder properties.
S_FOLDER_ID_FOLDER = 0
From ObjectLoadersCuLib.asp
S_NAME_FOLDER = 1
From ObjectLoadersCuLib.asp
S_DESCRIPTION_FOLDER = 2
From ObjectLoadersCuLib.asp
S_PAGE_FOLDER = 3
From ObjectLoadersCuLib.asp
S_ROOT_ID_FOLDER = 4
From ObjectLoadersCuLib.asp
S_ROOT_NAME_FOLDER = 5
From ObjectLoadersCuLib.asp
N_REPORTS_FOLDER = 6
From ObjectLoadersCuLib.asp
N_DOCUMENTS_FOLDER = 7
From ObjectLoadersCuLib.asp
N_FOLDERS_FOLDER = 8
From ObjectLoadersCuLib.asp
S_VIEW_MODE_FOLDER = 9
From ObjectLoadersCuLib.asp
S_HTML_FOLDER = 10
From ObjectLoadersCuLib.asp
aSaveInfo() Array. Save properties.
S_NAME_SAVE = 0 From SaveAsCuLib.asp
S_DESCRIPTION_SAVE = 1
From SaveAsCuLib.asp
66 Chapter 2 ASP pages
ARCHITECTURE
S_FOLDER_ID_SAVE = 2
From SaveAsCuLib.asp
S_MSG_ID_SAVE = 3 From SaveAsCuLib.asp
S_FOLDER_NAME_SAVE = 4
From SaveAsCuLib.asp
S_FOLDER_DESCRIPTION_SAVE = 5
From SaveAsCuLib.asp
S_VIEW_MODE_SAVE = 6
From SaveAsCuLib.asp
S_PROMPT_OPTION_SAVE = 7
From SaveAsCuLib.asp
B_PUBLISH_MODE_SAVE = 8
From SaveAsCuLib.asp
B_OVERWRITE_SAVE = 9
From SaveAsCuLib.asp
B_PROMPTED_SAVE = 10
From SaveAsCuLib.asp
B_ACTION_SAVE = 11
From SaveAsCuLib.asp
B_ACTION_NEW_FOLDER_SAVE = 12
From SaveAsCuLib.asp
B_ACTION_CANCEL_SAVE = 13
From SaveAsCuLib.asp
S_ORIGINAL_NAME_SAVE = 14
From SaveAsCuLib.asp
N_STATE_ID_SAVE = 15
From SaveAsCuLib.asp
S_PAGE_ALIAS_SAVE = 16
From SaveAsCuLib.asp
B_REPORT_EXISTS_SAVE = 17
From SaveAsCuLib.asp
Name Purpose Comments
SaveAs.asp 67
ARCHITECTURE
Search.asp
Page layoutThe Search.asp page has the following layout:
S_NEW_REPORT_ID_SAVE = 18
From SaveAsCuLib.asp
aObjectInfo() Array. Object properties.
S_OBJECT_ID_OBJECT = 0
From ObjectLoadersCuLib.asp
S_NAME_OBJECT = 1
From ObjectLoadersCuLib.asp
S_TYPE_OBJECT = 2 From ObjectLoadersCuLib.asp
S_ROOT_ID_OBJECT = 3
From ObjectLoadersCuLib.asp
S_ROOT_NAME_OBJECT = 4
From ObjectLoadersCuLib.asp
S_FOLDER_ID_OBJECT = 5
From ObjectLoadersCuLib.asp
S_PARENT_ID_OBJECT = 6
From ObjectLoadersCuLib.asp
S_PAGE_OBJECT = 7 From ObjectLoadersCuLib.asp
oObjectXML Microsoft.XMLDOM object. Object contents
oFolderXML Microsoft.XMLDOM object. Folder contents
Name Purpose Comments
68 Chapter 2 ASP pages
ARCHITECTURE
Page flow
'DWD�
Page variables
Name Purpose Comments
aSearchInfo () Array. Export request properties.
S_NAME_SEARCH = 1
_too
lbar
_sea
rch.
asp
GenericHeader.asp
GenericFooter.asp
SearchForm.asp
SearchResults.asp/SearchNoResults.asp
searchCuLib.asp
CommonDeclarations.asp
ReceiveSearchRequest(oRequest, aSearchInfo)
CO_SearchObject(aConnectionInfo, oSession, oObjServer, aSearchInfo, sMyreportsID,sPublicReportsID, sErrDescription)
RetreiveResults(aConnectionInfo, oObjectServer, aSearchInfo, oSearchResultsXML,sErrDescription)
Search.asp 69
ARCHITECTURE
L_NAME_WILDCARD_SEARCH = 2
L_FOLDER_TYPE_SEARCH = 3
L_DATE_TYPE_SEARCH = 4
L_DATE_SUBTYPE_SEARCH = 5
S_START_DATE_SEARCH = 6
S_END_DATE_SEARCH = 7
S_TIME_INTERVAL_SEARCH = 8
L_INTERVAL_UNIT_SEARCH = 9
L_CREATED_SEARCH = 10
L_OWNER_TYPE_SEARCH = 11
L_OBJECT_TYPE_SEARCH = 12
S_DESCRIPTION_SEARCH = 13
L_MODE_SEARCH = 14
S_SEARCH_ID = 15
S_FOLDER_ID_SEARCH = 16
L_TIMEOUT_SEARCH = 17
Name Purpose Comments
70 Chapter 2 ASP pages
ARCHITECTURE
Serverprop.asp
Page layoutThe Serverprop.asp page has the following layout:
L_STATUS_SEARCH = 18
L_WAIT_SEARCH = 19
sPublicReportsID
ID of parent folder
sMyReportsID ID of my reports folder
lTotalObjectCount
Number of search results
oSearchResultsXML
XML of search results
sSearchError Error string
Name Purpose Comments
_too
lbar
_adm
in.a
sp
Project list tabs
Server property box
GenericFooter.asp
Serverprop.asp 71
ARCHITECTURE
Page flow
'DWD�
+70/�
Page variables
Name Purpose Comments
oNode temp variable
oServerxXML Server collection DOM object
oServerXML Server DOM object
AdminCuLib.asp
CommonLib.asp
CommonDeclarations.asp
Receive and process request
Display server property box
Display server property editor
72 Chapter 2 ASP pages
ARCHITECTURE
UserOptions.asp
Page layoutThe UserOptions.asp page has the following layout:
Page flow
'DWD�
_too
lbar
_opt
ions
.asp
GenericHeader.asp
GenericFooter.asp
Options
UserOptionsCuLib.asp
optionsCuLib.asp
CommonDeclarations.asp
LoadUserOptionsKeys(aConnectionInfo(S_IP_ADDRESS_CONNECTION),asOptionsKey, asOptions, asGlobalOptions)
SetCurrentUserOptions(aConnectionInfo, oRequest, asOptions,oSession)
SetOptionsSections(oRequest, aConnectionInfo, asOptions,asSections, iSelectedSection)
UserOptions.asp 73
ARCHITECTURE
Page variables
Name Purpose Comments
asOptions() GRID_STYLE_NDX = 1
From optionsCuLib.asp
GRID_ROWS_NDX = 2
GRID_COLUMNS_NDX = 3
LOCALE_NDX = 4
EXPORT_FORMAT_NDX = 5
USER_HEADER_NDX = 6
USER_FOOTER_NDX = 7
PRINT_ROWS_NDX = 8
PRINT_COLUMNS_NDX = 9
START_PAGE_NDX = 10
CANCEL_JOBS_NDX = 11
DELETE_JOBS_NDX = 12
SAVE_PWD_NDX = 13
ALLOW_GUEST_NDX = 14
INBOX_EXPIRES_NDX = 15
74 Chapter 2 ASP pages
ARCHITECTURE
INBOX_MAX_JOBS_NDX = 16
INBOX_MAX_SIZE_NDX = 17
GRAPH_SIZE_NDX = 18
GRAPH_HEIGHT_NDX = 19
GRAPH_WIDTH_NDX = 20
OBJECT_BROWSING_NDX = 21
EXPORT_NEW_WINDOW_NDX = 22
PAGE_NUMBERING_NDX = 23
PAGE_LAYOUT_NDX = 24
ADMIN_HEADER_NDX = 25
ADMIN_FOOTER_NDX = 26
MAX_EXPORT_COLS_NDX = 27
EXPORT_CSS_NDX = 28
GRID_CSS_NDX = 29
MAX_EXPORT_ROWS_NDX = 30
MAX_EXPORT_ROWS_TEXT_NDX = 31
Name Purpose Comments
UserOptions.asp 75
ARCHITECTURE
NT_AUTHENTICATION_NDX = 32
DRILL_MODE_NDX = 33
PIVOT_MODE_NDX = 34
FILTER_DETAILS_MODE_NDX = 35
INBOX_SORT_NDX = 36
CANCEL_JOBS_PROMPT_NDX = 37
DELETE_JOBS_PROMPT_NDX = 38
USE_SECURITY_PLUGIN_NDX = 39
SECURITY_PLUGIN_CLASS_NDX = 40
SECURITY_PLUGIN_FREQ_NDX = 41
PROMPT_ON_PRINT_NDX = 42
PROMPT_ON_EXPORT_NDX = 43
EXECUTION_MODE_NDX = 44
FILTER_DETAILS_SIZE_NDX = 45
EXECUTION_WAIT_TIME_NDX = 46
FILTER_DETAILS_POSITION_NDX = 47
Name Purpose Comments
76 Chapter 2 ASP pages
ARCHITECTURE
PRINT_FILTER_DETAILS_NDX = 48
EXPORT_FILTER_DETAILS_NDX = 49
ELE_PROMPT_BLOCK_COUNT_NDX = 50
EXPORT_SECTION_NDX = 51
SHOW_DATA_NDX = 52
SHOW_TOOLBAR_NDX = 53
SHOW_HELP_NDX = 54
WAIT_TIME_IN_WAIT_PAGE_NDX = 55
ADMIN_DELETE_JOBS_NDX = 56
OBJ_PROMPT_BLOCK_COUNT_NDX = 57
FORM_METHOD_NDX = 58
MAX_PRINT_ROWS_NDX = 59
MAX_PRINT_COLUMNS_NDX = 60
USE_DEFAULT_GRID_STYLE_NDX = 61
DEFAULT_START_DOCUMENT_NDX = 62
ADMIN_CANCEL_JOBS_NDX = 63
Name Purpose Comments
UserOptions.asp 77
ARCHITECTURE
ICON_VIEW_MODE_NDX = 64
MAX_SEARCH_RESULTS_NDX = 65
SEARCH_TIMEOUT_NDX = 66
DEFAULT_OBJECT_NAME_NDX = 67
MAX_PROJECT_NAME_NDX = 68
PROJECT_ALIAS_NDX = 69
MAX_PROJECT_TABS_NDX = 70
SHOW_TAB_NDX = 71
ADD_TO_MY_HISTORY_LIST_MODE_NDX = 72
USE_EXPORT_TEMP_FILES_NDX = 73
ORIENTATION_PREVIEW_NDX = 74
PAPER_SIZE_PREVIEW_NDX = 75
ADMIN_CONTACT_INFO_NDX = 76
USE_DHTML_PROMPTS_NDX = 77
AsSections() Array From UserOptionsLib.asp
DISPLAY_GRID_SECTION = 1
Name Purpose Comments
78 Chapter 2 ASP pages
ARCHITECTURE
DISPLAY_FILTER_SECTION = 2
DISPLAY_PREVIEW_SECTION = 3
DISPLAY_EXPORT_SECTION = 4
DISPLAY_LOGOUT_SECTION = 5
DISPLAY_MISC_SECTION = 6
lErrorMessageID Error number
iSelectedSection Section of options to display
Name Purpose Comments
UserOptions.asp 79
ARCHITECTURE
80 Chapter 2 ASP pages
C H A P T E R 3
ARCHITECTURE
Custom library
AboutCuLib.asp
AdminCuLib.asp
Function Parameters Comments
DisplayAboutTable sWebisimos, sIPAddress Purpose: Display the about table
Inputs: sWebisimos, sIPAddress
Outputs: Err.number
ReceiveRequest oRequest, sIPAddress, sWebisimos, sTeamMember
Purpose: Get input parameters from GET/POST collection
Inputs: oRequest, sIPAddress
Outputs: sWebisimos, sTeamMember
ShowTeamMemberProfile sIPAddress, iTeamMember, sErrDescription
Purpose: Display the team member profile
Inputs: iTeamMember
Outputs: aConnectionInfo, sErrDescription, Err.number
ShowSpecialThanks sIPAddress, sErrDescription
Purpose: Display the Special Thanks section
Inputs: sIPAddress
Outputs: sErrDescription, Err.number
81
ARCHITECTURE
AdminHeaderCuLib.asp
AdminOptionsCuLib.asp
Function Parameters Comments
GetServers oServers Purpose: Get all available servers
Inputs: none
Outputs: oServers (XML DOM object storing all servers)
Function Parameters Comments
DisplayProjectsList aPageInfo, nDisplayStart, aConnectionInfo, sAutologin
Purpose: Display the project list and redirect to FastLogin.asp
Inputs:aPageInfo, nDisplayStart, aConnectionInfo, sAutologin
Outputs: none
GetExpressLoginOptions asServer, asProject, asPort, asProjectAlias, lElements
Purpose: Get the Express login options
Inputs: none
Outputs: asServer, asProject, asPort, asPorjectAlias, lElements
Function Parameters Comments
CreateNewNode oXML, sNewNode, sProject, sServer, aConnectionInfo
Purpose: Create a new settings node in the xml file
Inputs: oXML, sNewNode, sProject, sServer, aConnectionInfo
Outputs: none
DeleteOptions aConnectionInfo, nScope, oXML
Purpose: Delete the admin options from the xml
Inputs: aConnectionInfo, nScope, oXML
Outputs: none
82 Chapter 3 Custom library
ARCHITECTURE
GetAdminOptionsNode aConnectionInfo, oXML, oNode, oNodeForAll
Purpose: Returns the relevant node from the admin options cml
Inputs: aConnectionInfo, oXML, bApplyToAll
Outputs: oNode
SaveAdminOption nIndex, oXML, oNode, sIPAddress
Purpose: Save the setting into the xml file containing the user options
Inputs: nIndex, oXML, nNode, sIPAddress
Outputs: none
SaveSingleUserSetting sOptionValue, sOptionName, oNode, sIPAddress
Purpose: Save a single setting into the xml file containing the user options
Inputs: sOptionValue, sOptionName, oNode, sIPAddress Outputs: none
SetCurrentUserOptions oRequest, asOptions, aConnectionInfo, oSession
Purpose: Receives the request, if the first time save the whole options to the cookie, if not just the changes
Inputs: oRequest, asOptions, aConnectionInfo, oSession Outputs: none
SetOptionsSections oRequest, aConnectionInfo, asOptions, asSections, iSelectedSection
Purpose: Display the set of options that corresponds to the selection in the toolbar
Inputs: oRequest, aConnectionInfo, asOptions
Outputs: asSections, iSelectedSection
SetProjectAlias aConnectionInfo, sProjectAlias, bApplyToAll
Purpose: Sets the alias for the project into a cookie
Inputs: aConnectionInfo, sProjectAlias
Outputs: none
SetSingleAdminOption sOptionValue, sOptionName, sServer, sProject, sIPAddress
Purpose: Receives the admin option and its value. Save the value in AdminOptions.xml
Inputs: sOptionValue, sOptionName, sServer, sProject, sIPAddress
Outputs: none
ReplaceUserOptions aConnectionInfo, oRequest, asOptions, i, bApplyToAll
Purpose: Replaces the option set by the user by the admin option when the user cannot set this value anymore
Inputs: i, asOptions
Outputs: True/False
Function Parameters Comments
AdminOptionsCuLib.asp 83
ARCHITECTURE
AppliesToAll i, asOptions, bApplyToAll Purpose: Even if the apply to all checkbox was checked, some function cannot apply to all projects
This function will return True for those options
Inputs: i, asOptions
Outputs: True/False
ValidateStartPageOptions i, oRequest, asOptions Purpose: Validates the start page options.
Inputs: i, oRequest, asOptions
Outputs: asOptions
ValidateLoginModeOptions i, asOptions 'Purpose: Validates the login mode options.
Inputs: i, asOptions
Outputs: asOptions
ReplaceUserOptions aConnectionInfo, oRequest, asOptions, i, bApplyToAll
Purpose: Replaces the option set by the user by the admin option when the user cannot set this value anymore
Inputs: i, asOptions
Outputs: True/False
AppliesToAll i, asOptions, bApplyToAll Purpose: Even if the apply to all checkbox was checked, some function cannot apply to all projects. This function will return True for those options
Inputs: i, asOptions
Outputs: True/False
ValidateStartPageOptions i, oRequest, asOptions Purpose: Validates the start page options.
Inputs: i, oRequest, asOptions
Outputs: asOptions
ValidateLoginModeOptions i, asOptions Purpose: Validates the login mode options.
Inputs: i, asOptions
Outputs: asOptions
PreviousChanged i, asOptions, asPreviousOptions
Purpose: Validates the login mode options.
Inputs: i, asOptions
Outputs: asOptions
Function Parameters Comments
84 Chapter 3 Custom library
ARCHITECTURE
ChangePasswordCulib.asp
Function Parameters Comments
AttemptToChangePassword aConnectionInfo, aChangePwdRequest, sErrDescription
Purpose: Change the password for the current user-project and updates the session variables
Inputs: aConnectionInfo, aChangePwdRequest
Outputs: Err.number, sErrDescription
ChangeUserPassword aChangePwdRequest, aiQuestions, aConnectionInfo, sUserFullName, lErrNumber, sErrDescription
Purpose: Change the user's password or display the appropriate error message to the end user
Inputs: aChangePwdRequest, aiQuestions
Outputs: aConnectionInfo, sUserFullName, sErrDescription
GetLogoutFlag lSessionFlag Purpose: Get the session flag to delete messages and cancel active jobs
Inputs: None
Outputs: lSessionFlag, Err.number
GetRequest oRequest, aConnectionInfo, aChangePwdRequest
Purpose: Obtain a sServerName, sProject, sServerPort, sUid, sOldPwd, sNewPwd, sCheckPwd
Inputs: oRequest
Outputs: Err.number, aConnectionInfo, aChangePwdRequest
PutDefaultUserName sUId Purpose: Puts the default user id in case there is no cookie for a project
Inputs: sUId
Outputs: Err.number
PutUserInfo aConnectionInfo Purpose: Put the id, pwd & token in the dynamic serverName+project+port collection
Inputs: aConnectionInfo
Outputs: None
SetOptionsSections oRequest, aConnectionInfo, asSections, iSelectedSection
Purpose: Display the set of options that corresponds to the selection in the toolbar
Inputs: oRequest, aConnectionInfo
Outputs: asSections, iSelectedSection
ChangePasswordCulib.asp 85
ARCHITECTURE
ChangePwdOKCuLib.asp
CommonHeaderCuLib.asp
VerifyUserCredentials aConnectionInfo, bChangePasswordAllowed
Purpose: Verify the user credentials, so the user can only modify his own password
Inputs: aConnectionInfo
Outputs: bChangePasswordAllowed, Err.number
Function Parameters Comments
SetOptionsSections oRequest, aConnectionInfo, asSections, iSelectedSection
Purpose: Display the set of options that corresponds to the selection in the toolbar
Inputs: oRequest, aConnectionInfo
Outputs: asSections, iSelectedSection
Function Parameters Comments
CheckPageRequirements oRequest, aConnectionInfo, sPageName
Purpose: Veifies there is a connection to the MicroStrategy Server. Checks the parameters in the URL, so the page can be displayed properly
Inputs: oRequest, aConnectionInfo, sPageName
Outputs: None
GetPageWithoutPath sPageNameWithPath Purpose: Get the path for the current page
Inputs: sPageNameWithPath
Outputs: Path for the current page
GetServerProjects sIPAddress, oServerProjectsXML, lTotalNumberOfProjects, sErrDescription, sServersDown
Purpose: Get all the projects from the different servers configured in the Admin interface
Inputs: sIPAddress || 'Outputs: oServerProjectsXML, lTotalNumberOfProjects, sErrDescription, sServersDown
Function Parameters Comments
86 Chapter 3 Custom library
ARCHITECTURE
CommonLib.asp
SaveExpressLoginOptions oServerProjectsXML, lTotalNumberOfProjects, sIPAddress
Purpose: Save the Express login options in cookies. If there are not any servers, clear the collection
Inputs: oServerProjectsXML, lTotalNumberOfProjects, sIPAddress
Outputs: None
Function Parameters Comments
AddInputsToXML oXML, asDictionary, sIPAddress, sErrDescription
Purpose: Receives a dictionary object and inserts it on a loaded XML object. If an error occurs the execution continues and the error is logged.
Inputs: oXML, oDictionary
Outputs: Err.number
CancelThisRequest sMsgID, aConnectionInfo, oSession, sErrDescription
Purpose: Cancel a particular message
Inputs: sMsgID, sToken, oSession, sIPAddress
Outputs: Err.number, sErrDescription
Ceiling n Purpose: Returns the greatest whole number less than the input
Inputs: n
CheckURLParameters oRequest, lParameters Purpose: Verify that the parameters in the URL are enough to run the page
Inputs: oRequest, lParameters
Outputs: True/False
CleanFromCookieCollection sCollectionName, sCookieToDelete
Purpose: Delete "sCookieToDelete" form the "sCollectionName" collection
Inputs: sCollectionName, sCookieToDelete
Outputs: None
CleanPath sFolderID, sIPAddress, sRootFolderName, oFolderXML
Purpose: Clean from the path the parent folders for the special folders. We don't want to show the "profiles" folder.
Inputs: sFolderID, sIPAddress, sRootFolderName, oFolderXML
Outputs: oFolderXML
Function Parameters Comments
CommonLib.asp 87
ARCHITECTURE
CleanString sSource Purpose: Replace &, <, and " in a string
Inputs: sSource
Outputs: The new string
CO_CancelRequest aConnectionInfo, oSession, sMsgID, sErrDescription
Purpose: Cancel a particular message
Inputs: sMsgID, sToken, oSession, sIPAddress
Outputs: Err.number, sErrDescription
DecideFormMethod () Purpose: Based on the options decides whether to use get or post method in the forms
Inputs: None
Outputs: DecideFormMethod "POST/GET"
DisplayBackToLink sName, sURL Purpose: Display a link back to the last report, document or folder
Inputs: sName, sURL
DisplayContactInformation sMessage Purpose: Add to the input message the information of the contact set by the administrator
Inputs: sMessage
Outputs: sMessage
DisplayDateAndTime vDate, vTime Purpose: Return a string with a localized Date and Time || 'Inputs: vDate, vTime || 'Outputs: A localized string with Date and Time || ' * ||
DisplayError sTitle, sErrDescription Purpose: Display the error message. lErrTitle is the index of the error title, then if an error message index is sent will display it, if not it will display the error description sent.
Inputs: sTitle, sErrDescription
DisplayObjectBrowser aConnectionInfo, oXML, sObjectID, sURL, sObjectURL
DisplayPath aConnectionInfo, oObjServer, oXML, sRootFolderID, sRootFolderName, sPageAlias, sURL
FillComboFromXML sKey, sXMLFile, sIPAddress
Purpose: Inserts the options for the selection of the grid Auto-styles
Inputs: asOptions, nIndex, sXMLFile, sIPAddress
Outputs: Err.Number
Function Parameters Comments
88 Chapter 3 Custom library
ARCHITECTURE
Floor n Purpose: Returns the greatest whole number less than the input
Inputs: n
GetCurrentConnectionInfo aConnectionInfo Purpose: To read the server name, port & project from Cookies for the current server, port, & project in the ConnectionInfo collection
Inputs: sIPAddress
Outputs: sServer, sProject, sPort, lErrNumber
GetDocServer oSession, sIPAddress, oRepServer, sErrDescription
Purpose: Get an instance of the DocumentServer object
Inputs: oSession, sIPAddress
Outputs: oRepServer, sErrDescription
GetDSSSession aConnectionInfo, oSession, sErrDescription
Purpose: do a server.createobject on MSIXML, set the server name & port to the given parameters
Inputs: serverName, port
Outputs: oSession: MSIXML object
GetGeneralParasinURL oRequest, sURL Purpose: put basic parameters in oRequest in sURL MsgID, page, ReportID, view, Server, Uid, Project, Port
Inputs: oRequest
Outputs: sURL
GetLastFolderLink sPathXML, oRequest, sLastFolderLink
Purpose: Get previous folder link
Inputs: sPathXML, oRequest
Outputs: sLastFolderLink
GetObjServer oSession, sIPAddress, oObjServer, sErrDescription
Purpose: get an instance of the ObjectServer object
Inputs: oSession, sIPAddress
Outputs: oObjServer, sErrDescription, Err.number
GetPath sReportID, iObjectType, aConnectionInfo, oSession, sPathXML, sErrDescription
Purpose: Geth the path for the given report
Inputs: sReportID, iObjectType, sToken, oSession, sIPAddress
Outputs: sPathXML, sErrDescription
GetReportPathXML sReportID, iObjectType, sPage, aConnectionInfo, oSession, sErrDescription, sPathXML
Purpose:
Inputs: sReportID, iObjectType, sPage, sToken, oSession, sErrDescription
Outputs: sPathXML
Function Parameters Comments
CommonLib.asp 89
ARCHITECTURE
GetRepServer oSession, sIPAddress, oRepServer, sErrDescription
Purpose: Get an instance of the ReportServer object
Inputs: oSession, sIPAddress
Outputs: oRepServer, sErrDescription
GetStartPageURL oRequest, sName, sStartPageURL
Purpose: Assemble the start page URL to pass to options page
Inputs: oRequest, sName
Outputs: sStartPageURL
GetUserInfo aConnectionInfo, sUID, sPwd, nUMode, sToken
Purpose: To read the id, pwd & token from the dynamic serverName+project+port collection
Inputs: sServer, sProject, sIPAddress
Outputs: sUID, sPwd, sToken
GetXMLDOM sIPAddress, oXMLDOM, sErrDescription
Purpose: get an instance of the ObjectServer object
Inputs: oSession
Outputs: oObjServer
IdleProject lErrNumber Purpose: Indicates if an error number is due to an invalid session.
Inputs: lErrNumber
Outputs:True/False
InvalidSession lErrNumber Purpose: Indicates if an error number is due to an invalid session.
Inputs: lErrNumber
Outputs: True/False
IsDocCommonError lErrNumber) Purpose: Verify the error is not one of the common errors
Inputs: lErrNumber
Outputs: True/False
LoadAllUserPrivileges oUserPrivileges, aConnectionInfo
Purpose: Read user's privileges from XML API, store them in Cookies
Inputs: sServerName, sProject, sServerPort
Outputs: Err.number (0=no error)
LoadDescriptors sLanguage, sIPAddress Purpose: Load the descriptors from the text file and store them into the global array
Inputs: sLanguage, sIPAddress
Function Parameters Comments
90 Chapter 3 Custom library
ARCHITECTURE
LoadRootFolderInfo aConnectionInfo, oObjServer, sPageAlias, sRootFolderID, sRootFolderName, sErrDescription
Purpose: Selects the proper root folder ID according to the requested page
Inputs: aConnectionInfo, oObjServer, aFolderInfo
Outputs: aFolderInfo, sErrDescription
LogError sErrMsg Purpose: writes to the c:\temp\qeweb.log file sErrMsg
Inputs: sErrMsg
LogErrorXML sUser, sErrID, sErrDesc, sFile, sASPFunc, sAPIFunc, sComments, iErrorLevel
Purpose: To log the different errors in XML format
Inputs: sUser(optional), sErrID, sErrDesc, sFile, sASPFunc, sAPIFunc(optional), sComments(optional), iErrorLevel(1-Error, 2-Warning, 4-Info)
MaxNumberOfJobs lErrNumber Purpose: Indicates if an error number is due to have exceeded the max number of messages
Inputs: lErrNumber
Outputs: True/False
MergeXMLNodeAndXSL oXMLRoot, sXSLFileName, sIPAddress, sErrDescription
Purpose: Merges the XML and XSL
Inputs: oXMLRoot, sXSLFileName
Outputs: Err.number
NowAsUniqueString () Purpose: To return the date and time as a unique sortable string
PrepareXMLAndDisplayPath oPathXML, sPage, sXSLName, aConnectionInfo, sErrDescription
Purpose: Send the localized strings and the data for the linf to the XML and display the path
Inputs: oPathXML, sPage, sXSLName, sProjectURL, sIPAddress
Outputs: sErrDescription
Profile sFunction, sFile, lTime Purpose: Writes how long a function took to the ProfilerLog.txt file
Inputs: sFunction, sFile, lTime
PutCurrentConnectionInfo aConnectionInfo Purpose: To put the server, port & project in the ConnectionInfo collection
Inputs: sServer, sProject, sPort, sIPAddress
Outputs: lErrNumber
putMETATagWithCharSet () Purpose: Add the HTML with the charset for the current language
Outputs: A String with the <META> tag
Function Parameters Comments
CommonLib.asp 91
ARCHITECTURE
ReadAllUserPrivileges sServer, sProject Purpose: Read all user privileges from cookies
Inputs: None
Outputs: sPrivilege, a string representing all the user privileges, Err.number (0=no error)
ReadUserPrivilege lPrivilegeName, sServer, sProject
Purpose: Read user privilege from cookies
Inputs: sPrivilegeName, the name of the privilege
Outputs: bPrivilege, a boolean varible representing yes or no, Err.number (0=no error)
RemoveParameterFromURL sURL, sParameter Purpose: Clean a parameter from a URL
Inputs: sURL, sParameter
Outputs: sURL
ReplaceURLValue oRequest, sFieldToChange, sValueToChange
ServerNotRunning lErrNumber Purpose: Indicates if an error number is due to a server down
Inputs: lErrNumber
Outputs: True/False
SetLocale sIPAddress, asDescriptors, aFontInfo
Purpose: Get the descriptor array
Inputs: sIPAddress
Outputs: asDescriptors
SetRequestUserOption sKey, oRequest, aConnectionInfo
SetStartPageInfo oRequest, sPage, sName, sIPAddress
Purpose: Set the current folder/report/document url in a cookie to be used by the start page
Inputs: oRequest
SetUserPrivilege sPrivilege, bPrivilege Purpose: Set user privileges to a string passed in
Inputs: sPrivilegeName, the string storing the user privileges; bPrivilege, a boolean value denoting a certain privilege
Outputs: Err.number (0=no error)
ShowCompletePath sReportID, iObjectType, sPage, sXSLName, aConnectionInfo, oObjServer
Purpose: Display the path at the top of the page
Inputs: sReportID, iObjectType, sPage, sXSLName, sToken, oObjServer, sProjectURL, sIPAddress
Function Parameters Comments
92 Chapter 3 Custom library
ARCHITECTURE
ShowToolbar nSection, oRequest
Sleep lIteration, SLEEP_OPTION, sIPAddress, lTimeEnlapsed, sErrDescription
Purpose: Create a delay, so we can stop the code execution for a while
Inputs: lIteration, SLEEP_OPTION, sIPAddress
Outputs: lTimeEnlapsed, Err.number, sErrDescription
SwitchToolbarURL sPageName, oRequest, sFieldToChange, sValueToChange
Purpose: Make the URL for show/hide toolbar sections
Inputs: sPageName, oRequest, sFieldToChange, sValueToChange
Outputs: SwitchToolbarURL
TransformLanguage sLanguage Purpose: Obtain the LOCALE_OPTION id of the language descriptor sent
Inputs: sLanguage
VerifyUserPrivilege sPrivilege, sRedirectPage, sServer, sProject
Purpose: Read a user's privilege, if not redirect to another page
Inputs: sPRivilege, the name of the privilege to be checked; sRedirectPage, the page to redirect to if the user does not have the privilege
Outputs: None
Returns: Err.number (0=no error)
GetGeneralParasinURLforPromptPage
oRequest, sURL Purpose: put basic parameters in oRequest in sURL MsgID, page, ReportID, view, Uid, Project, Port no server, project
Inputs: oRequest
Outputs: sURL|
GetGeneralParasinURLforPromptPage
oRequest, sURL Purpose: put basic parameters in oRequest in sURL
MsgID, page, ReportID, view, Uid, Project, Port, no server, project, port
Inputs: oRequest
Outputs: sURL
Function Parameters Comments
CommonLib.asp 93
ARCHITECTURE
ConnectCuLib.asp
Function Parameters Comments
GetConnectionInformation aConnectionInfo, oSession Purpose: Get the connection information and the oSession object. So we can use these values (and object) in the web page.
Inputs: sIPAddress, sServer?, sProject?, sPort?, sUID?, sPwd?
Outputs: sServer, sProject, sPort, sUID, sPwd, sToken, oSession
GetUserFullName oSession, aConnectionInfo, sUserFullName, sErrDescription
Purpose: Get the user full name
Inputs: oSession, aConnectionInfo
Outputs: sUserFullName, sErrDescription
receiveRequestConnection oRequest, aConnectionInfo
Purpose: Receive the request from the URL to update the local variables
Inputs: oRequest, sServer, sProject, sPort, sUID, sPwd
Outputs: sServer, sProject, sPort, sUID, sPwd
RedirectToLogin aConnectionInfo, aPageInfo, oRequest
Purpose: there was a session error, we need to redirect to the login page again, so the user can re- sing in
Inputs: oRequest, sPage, sIPAddress
Outputs: err.number
ValidateLogin aConnectionInfo, sErrDescription
Purpose: send the connection information to the security plug-in and gets the new user information from it, including if the user is allowed to access the project
Inputs: sServer, sProject, sUid, sPwd, sIPAddress
Outputs: sPlugInUid, sPlugInPwd, sErrDescription, TRUE/FALSE
verifyConnection oRequest, sPage, aConnectionInfo
Purpose: verifies if a connection is active, if not tries to connect using the parameters in the url. It only checks for the token cookie, not if the server has reset the connection
Inputs: oRequest, sPage
Outputs: aConnectionInfo, oSession, asDescriptors, aFontInfo(B_DOUBLE_BYTE_FONT), aFontInfo(N_SMALL_FONT), aFontInfo(N_MEDIUM_FONT), aFontInfo(N_LARGE_FONT)
94 Chapter 3 Custom library
ARCHITECTURE
DefaultCuLib.asp
DeleteCuLib.asp
CheckCommonErrors lErrNumber, aConnectionInfo, aPageInfo, oRequest, sErrDescription
Purpose: Check for all the different errors we might find across all the pages
Inputs: lErrNumber, aConnectionInfo, aPageInfo, oRequest
Outputs: sErrDescription
CheckCommonErrors lErrNumber, aConnectionInfo, aPageInfo, oRequest, sErrDescription
Purpose: Check for all the different errors we might find across all the pages
Inputs: lErrNumber, aConnectionInfo, aPageInfo, oRequest
Outputs: sErrDescription
Function Parameters Comments
DisplayProjects aConnectionInfo, oServerProjectsXML
Purpose: Return the HTML with the Projects configured in the MicroStrategy Server
Inputs: aConnectionInfo, oServerProjectsXML
Outputs: HTML
Function Parameters Comments
DeleteObject aConnectionInfo, oObjServer, aObjectInfo, sErrDescription
DisplayContinueButton aConnectionInfo, asObjectInfo, aDeleteRequest
DisplayDeleteButtons aConnectionInfo, aObjectInfo, aDeleteRequest
Purpose: Displays the delete form
Inputs: aConnectionInfo, aObjectInfo
Function Parameters Comments
DefaultCuLib.asp 95
ARCHITECTURE
DocumentCuLib.asp
DisplayObjectToDelete oObjectXML Purpose: Displays the object to be deleted
Inputs: oObjectXML
ReceiveRequest oRequest, aObjectInfo, aDeleteRequest
Purpose: Get input parameters from GET/POST collection
Inputs: oRequest
Outputs: aObjectInfo, aDeleteRequest
Function Parameters Comments
CheckDocumentStatus aConnectionInfo, oDocServer, aDocumentInfo, lResultFlags, sErrDescription
Purpose: Verify the status for the current report, if Ready, return the report XML
Inputs: aConnectionInfo, oDocServer, aDocumentInfo, lResultFlags
Outputs: aDocumentInfo, sErrDescription
CreateDocument aConnectionInfo, oSession, aDocumentInfo, sErrDescription
Purpose: Create a Document
Inputs: aConnectionInfo, oSession
Outputs: aDocumentInfo, sErrDescription
GetDocument aConnectionInfo, oSession, aDocumentInfo, sErrDescription
Purpose: Load the HTML for the document.
Inputs: aConnectionInfo, oSession, aDocumentInfo
Outputs: aDocumentInfo, sErrDescription
ReceiveRequest oRequest, aDocumentInfo, aObjectInfo, aFolderInfo
Purpose: Initialize parameters
Inputs: oRequest, aDocumentInfo(S_DOCUMENT_ID_DOCUMENT)
Outputs: aDocumentInfo, aFolderInfo(S_PAGE_FOLDER), Err.number
SelectURL aConnectionInfo, oRequest, aDocumentInfo
Purpose: Select the URL depending on "lStatus"
Inputs: aConnectionInfo, oRequest, aDocumentInfo
Outputs: aDocumentInfo(S_REDIRECT_URL_DOCUMENT), Err.number
Function Parameters Comments
96 Chapter 3 Custom library
ARCHITECTURE
DynamicColorsCuLib.asp
Function Parameters Comments
CleanLeftBlankSpaces sText Purpose: Search for spaces at the beginning of the string that represent the color and delete them.
Inputs: sText
Outputs: The Input text without blank spaces
GetColors oTheFile, asDictionary Purpose: Get each of the styles inside the CSS file so we can parse them.
Inputs: oTheFile
Outputs: oDictColors
GetZone oTheFile, sTheZone, asDictionary
Purpose: Get the information about the foreground and background colors inside the CSS file and put that data in the dictionary object.
Inputs: oTheFile, sTheZone
Outputs: asDictionary
OpenFileForRead sName, sPath, sIPAddress, oFileOutput, sErrDescription
Purpose: Open the CSS file so we can read the background and foreground colors
Inputs: sName, sPath, sIPAddress
Outputs: oFileOutput, sErrDescription
ParseColors sColorsForDynamicStyle, asDictionary
Purpose: Get the information about the foreground and background colors inside the dynamic CSS and put that data in the dictionary object.
Inputs: sColorsForDynamicStyle
Outputs: oDictColors
SetColorsForReport sFileName, sIPAddress, asDictionary, sErrDescription
Purpose: Get the information about the foreground and background colors inside the dynamic CSS and put that data in the dictionary object.
Inputs: sFileName, sIPAddress
Outputs: asDictionary, sErrDescription
DynamicColorsCuLib.asp 97
ARCHITECTURE
ExportCuLib.asp
Function Parameters Comments
ChooseWriteMethod sText, bUseTempFiles, oTS)
Purpose: Either display the text or write it to a file
Inputs: sText, bQuotes
CleanFileName sFileName Purpose: Return the report name formatted for filenames
Inputs: sFileName
Outputs: None
CleanTextForExport sText, bQuotes Purpose: Avoid the Excel reserved characters
Inputs: sText, bQuotes
DateStamp () Purpose: Return the current date stamp formatted for filenames
Inputs: None
Outputs: None
GenerateReportInHTML oReportXML, aOptions, oTS, sIPAddress, bUseTempFiles, sErrDescription
Purpose: Generate the HTML that corresponds to the reports XML
Inputs: oReportXML, aOptions, oTS, sIPAddress, bUseTempFiles
Outputs: sErrDescription
GenerateReportInPlainText oReportXML, sDelimiter, oTS, bUseTempFiles, bUseQuotes, sIPAddress, sErrDescription
Purpose: Display the report grid in plain text using the specified delimiter
Inputs: oReportXML, sDelimiter, oTS, bUseTempFiles, bUseQuotes, sIPAddress
Outputs: sErrDescription
OpenExportFileForWriting oFSO, oTS, sExportFileName, sFolderName, sErrDescription
Purpose: Open a file to write export text to
Inputs: oFSO, oTS, sExportFileName, sFolderName
Outputs: sErrDescription
ReadExportOptions aOptions, aExportRequest Purpose: Read the values for different GUI objects from saved options
Inputs: aExportRequest
Output: aOptions
98 Chapter 3 Custom library
C H A P T E R 3
ARCHITECTURE
ceiveRequestExport from GET/POST
nctionL oRepServer, s
aConnectionInoSession, oReaExportRequesErrDescriptio
et the XML of the Re
pServer, sMsgID, aCxportRequest
eportXML, bWait, sE
Parameters
oRequest, aExportRequest Purpose: Get input parameterscollection
Inputs: oRequest
Outputs: aExportRequest
Parameters CommentsRetrieveReportXM
Function
MsgID, fo, portXML, st, bWait, n
Purpose: G
Inputs: oReoSession, aE
Outputs: oR
Comments
ShowFilterDetailsForHTML oReportXML, aFilterProperties, aOptions, bUseTempFiles, oTS, sIPAddress, sErrDescription
Purpose: Display the filter details in HTML
Inputs: oReportXML, aFilterProperties, aOptions, bUseTempFiles, oTS, sIPAddress
Outputs: sErrDescription
ShowFilterDetailsForPlaintext
oReportXML, aFilterProperties, bUseTempFiles, oTS, sIPAddress, sErrDescription
Purpose: Display the filter details in Plaintext
Inputs: oReportXML, aFilterProperties, bUseTempFiles, oTS, sIPAddress
Outputs: sErrDescription
ShowPageByForHTML oReportXML, aOptions, bUseTempFiles, oTS
Purpose: Display the page by information
Inputs: oReportXML, bUseTempFiles, oTS
ShowPageByForPlaintext oReportXML, bUseQuotes, bUseTempFiles, oTS
Purpose: Display the page by information
Inputs: oReportXML, bUseQuotes, bUseTempFiles, oTS
ShowTitleForHTML oReportXML, bUseTempFiles, oTS
Purpose: Display the Title of the Report
Inputs: oReportXML, bUseTempFiles, oTS
ShowTitleForPlaintext oReportXML, bUseQuotes, bUseTempFiles, oTS
Purpose: Display the Title of the Report
Inputs: oReportXML, bUseQuotes, bUseTempFiles, oTS
Function Parameters Comments
99
ARCHITECTURE
ExportPlainTextCuLib.asp
Function Parameters Comments
CheckNeedSort oNode Purpose: Does the node need to be sorted
Inputs: oNode
CleanExportOutput sOutput Purpose: Remove any HTML characters
Inputs: sOutput
DisplayColumnHeaders oXML, bUseTempFiles, oTS
Purpose: Display the column headers
Inputs: oXML, bUseTempFiles, oTS
DisplayColumnHeaderTitle oNode, oXML, sOutput Purpose: Display the column header title (usually "Metrics")
Inputs: oNode, oXML, sOutput
DisplayHeader sText, sOutput Purpose: Display the header
Inputs: sText, sOutput
Outputs: sOutput
DisplayRowHeaderTitle oXML, oNode, sOutput Purpose: Display the row header title
Inputs: oXML, oNode, sOutput
DisplayRows oXML, bUseTempFiles, oTS
Purpose: Display the rows
Inputs: oXML, bUseTempFiles, oTS
DisplayValue oNode, sOutput Purpose: Display the metric values
Inputs: oNode, sOutput
Outputs: sOutput
PlaintextTransform oXML, bUseQuotes, sDelimiter, bUseTempFiles, oTS
Purpose: Transform the XML into plaintext
Inputs: oXML, bUseQuotes, sDelimiter, bUseTempFiles, oTS
PTColumnSpan oXML, iTimes, sOutput Purpose: Add tabs for columns span
Inputs: oXML, iTimes, sOutput
Outputs: sOutput
RepeatPTColumns oXML, oNode, sOutput Purpose: Repeat Columns
Inputs: oXML, oNode, sOutput
Outputs: sOutput
100 Chapter 3 Custom library
ARCHITECTURE
FastLoginCuLib.asp
TransformTab sDelimiter Purpose: Set the tab based on the delimiter
Inputs: sDelimiter
Function Parameters Comments
CloseOldSession oSession, aConnectionInfo, sErrDescription
Purpose: Close the current session
Inputs: oSession, aConnectionInfo
Outputs: sErrDescription, Err.number
DecideLoginAction aConnectionInfo, aFastLoginInfo
Purpose: Decide what to do depending on the input parameters
Inputs: aConnectionInfo
Outputs: aFastLoginInfo, aConnectionInfo
GetRequest oRequest, aConnectionInfo, aFastLoginInfo
Purpose: Obtain a sServer, sProject, sPort, sUid, sPwd, bSavePwd, sAutologin, bGuest, bNT, sPage, sRequest, sMsg
Inputs: oRequest
Outputs: aConnectionInfo, aFastLoginInfo
Login aConnectionInfo, aFastLoginInfo, oSession, sErrDescription
Purpose: Obtain a valid token to log in and store it in a cookie.
Inputs: aConnectionInfo, aFastLoginInfo, oSession
Outputs: Err.number, sErrDescription
PutDefaultUserName sUId Purpose: Puts the default user id in case there is no cookie for a project
Inputs: sUId
Outputs: Err.number
PutUserID aConnectionInfo Purpose: Put the sUid, token for the dynamic project
Inputs: aConnectionInfo
Outputs: lErrNumber
PutUserInfo aConnectionInfo, aFastLoginInfo
Purpose: Put the id, pwd & token in the dynamic serverName+project+port collection
Inputs: aConnectionInfo, aFastLoginInfo
Function Parameters Comments
FastLoginCuLib.asp 101
ARCHITECTURE
FilterDetailsCuLib.asp
FolderCuLib.asp
ReadLoginOptions aConnectionInfo, aFastLoginInfo, sErrDescription
Purpose: Read the values for different GUI objects from saved options
Inputs: aConnectionInfo
Outputs: aFastLoginInfo, sErrDescription, Err.number
Function Parameters Comments
ShowMultipleFilterDetails oReportXML, sPaperWidth, aPreviewRequest, sIPAddress, sErrDescription
Purpose: Show the filter details in multiple pages for print preview
Inputs: oReportXML, sPaperWidth, aPreviewRequest, sIPAddress
Outputs: sErrDescription
Function Parameters Comments
DisplayFolderGUIError sPage, sErrDescription Purpose: Display the error generated by calling DisplayError()
Inputs: sPage, sErrDescription
ReceiveRequest oRequest, aFolderInfo Purpose: Get input parameters from GET/POST collection
Inputs: oRequest
Outputs: aFolderInfo
Function Parameters Comments
102 Chapter 3 Custom library
ARCHITECTURE
GenericHeaderCuLib.asp
GridReportCuLib.asp
Function Parameters Comments
DisplayProjectsList aPageInfo, nDisplayStart, aConnectionInfo, sAutologin
Purpose: Display the project list and redirect to FastLogin.asp
GetExpressLoginOptions asServer, asProject, asPort, asProjectAlias, lElements
Purpose: Get the Express login options
Outputs: asServer, asProject, asPort, lElements
Function Parameters Comments
ConvertColorDecimalToHex lColorDecimal, sHexidecimal
Purpose: Convert a color ID from XML into a hex color string for HTML display.
Input: lColorDecimal - color ID from Desktop metadata (example: 255 = red)
Output: sHexidecimal - hex color string for HTML display (example: #FF0000 = red)
DisplayGridReport aConnectionInfo, nShowFlags, sURL, sCSSFile, oReportXML
Purpose: Display the report
Inputs: aConnectionInfo, sURL, oReportXML
DisplayTD sNoWrap, sClassName, IN_BG, IN_FG, IN_FW, IN_FS, sData, sRowSpan, sColSpan, sHexidecimal, sReportHTML
Purpose: Display a TD
Inputs: sNoWrap, sClassName, IN_BG, IN_FG, IN_FW, IN_FS, sData, sRowSpan, sColSpan, sHexidecimal
Outputs: sReportHTML
ExpandFV nShowFlags, sURL, oReportXML, oRW, bEven, sReportHTML
Purpose: Show the report data using table style for non-empty reports
Inputs: nShowFlags, sURL, oReportXML, oRW, bEven
Outputs: sReportHTML
RepeatColumns nShowFlags, sURL, oReportXML, oCHH, sDPT, sO, sReportHTML
Purpose: Repeat the column headers for the report
Inputs: sURL, oReportXML, oCHH, sDPT, sO
Outputs: sReportHTML
GenericHeaderCuLib.asp 103
ARCHITECTURE
GridReportToFileCuLib.asp
ShowCHT nShowFlags, sURL, oReportXML, oColTitle, lColCount, sReportHTML
Purpose: Show the column header titles
Inputs: nShowFlags, sURL, oReportXML, oColTitle, lColCount
Outputs: sReportHTML
ShowColumnHeaders nShowFlags, sURL, oReportXML, sReportHTML
Purpose: Show the column headers
Inputs: nShowFlags, sURL, oReportXML
Outputs: None
ShowRowTitles nShowFlags, sURL, oReportXML, sReportHTML
Purpose: Show the row titles
Inputs: nShowFlags, sURL, oReportXML
Outputs: sReportHTML
ShowTableData nShowFlags, sURL, oReportXML, sReportHTML
Purpose: Show the report data using table style
Inputs: sURL, oReportXML
Outputs: sReportHTML
Function Parameters Comments
ConvertColorDecimalToHexToFile
lColorDecimal, sHexidecimal
Purpose: Convert a color ID from XML into a hex color string for HTML display.
Input: lColorDecimal - color ID from Desktop metadata (example: 255 = red)
Output: sHexidecimal - hex color string for HTML display (example: #FF0000 = red)
DisplayGridReportToFile aConnectionInfo, nShowFlags, sURL, sCSSFile, oReportXML, oTS
Purpose: Display the report
Inputs: aConnectionInfo, sURL, oReportXML
DisplayTDToFile sNoWrap, sClassName, IN_BG, IN_FG, IN_FW, IN_FS, sData, sRowSpan, sColSpan, sHexidecimal, oTS
Purpose: Display a TD
Inputs: sNoWrap, sClassName, IN_BG, IN_FG, IN_FW, IN_FS, sData, sRowSpan, sColSpan, sHexidecimal
Outputs: oTS
Function Parameters Comments
104 Chapter 3 Custom library
ARCHITECTURE
HelpCuLib.asp
ExpandFVToFile nShowFlags, sURL, oReportXML, oRW, bEven, oTS
Purpose: Show the report data using table style for non-empty reports
Inputs: nShowFlags, sURL, oReportXML, oRW, bEven
Outputs: oTS
RepeatColumnsToFile nShowFlags, sURL, oReportXML, oCHH, sDPT, sO, oTS
Purpose: Repeat the column headers for the report
Inputs: sURL, oReportXML, oCHH, sDPT, sO
Outputs: oTS
ShowCHTToFile nShowFlags, sURL, oReportXML, oColTitle, lColCount, oTS
Purpose: Show the column header titles
Inputs: nShowFlags, sURL, oReportXML, oColTitle, lColCount
Outputs: oTS
ShowColumnHeadersToFile nShowFlags, sURL, oReportXML, oTS
Purpose: Show the column headers
Inputs: nShowFlags, sURL, oReportXML
ShowRowTitlesToFile nShowFlags, sURL, oReportXML, oTS
Purpose: Show the row titles
Inputs: nShowFlags, sURL, oReportXML
Outputs: oTS
ShowTableDataToFile nShowFlags, sURL, oReportXML, oTS
Purpose: Show the report data using table style
Inputs: sURL, oReportXML
Outputs: oTS
Function Parameters Comments
DisplayContentHelp aHelpProperties, sIPAddress, sErrDescription
Purpose: Display the Content files
Inputs: aHelpProperties, sIPAddress
Outputs: sErrDescription, Err.number
DisplayFAQsHelp aHelpProperties, sIPAddress, sErrDescription
Purpose: Display the FAQs files
Inputs: aHelpProperties, sIPAddress
Outputs: sErrDescription, Err.number
Function Parameters Comments
HelpCuLib.asp 105
ARCHITECTURE
DisplayIndexHelp aHelpProperties, sIPAddress, sErrDescription
Purpose: Display the indexed files
Inputs: aHelpProperties, sIPAddress
Outputs: sErrDescription, Err.number
DisplayIndexSections aHelpProperties, sIPAddress, sErrDescription
Purpose: Display the Index files linked to the letters at the top of the page
Inputs: aHelpProperties, sIPAddress
Outputs: sErrDescription, Err.number
DisplayIndexTable () Purpose: Display the letters that will be linked to the sections
Outputs: Err.number
DisplayListOfTopics oXML, aHelpProperties, sIPAddress, sErrDescription
Purpose: Display a list of the topics stored in the XML
Inputs: oXML, aHelpProperties, sIPAddress
Outputs: sErrDescription, Err.number
GetTopicsFiles oXML, iSelectedTopic, sLanguage, sIPAddress, asFileNames, sErrDescription
Purpose: Display a list of the topics stored in the XML
Inputs: oXML, iSelectedTopic, sIPAddress
Outputs: asFileNames, sErrDescription, Err.number
GetTopicsXML sXMLPath, sIPAddress, oXML, sErrDescription
Purpose: Load the XML with the list of topics to be displayed in the Online help page
Inputs: sXMLPath, sIPAddress
Outputs: oXML, sErrDescription, Err.number
ReadHelpFile sPathAndNameForFileToRead, sIPAddress, sFileContents, sErrDescription
Purpose: Read the contents of the help file and store the in the string variable
Inputs: sPathAndNameForFileToRead, sIPAddress
Outputs: sFileContents, sErrDescription, Err.number
RecieveRequest oRequest, aHelpProperties Purpose: Get input parameters from GET/POST collection
Inputs: oRequest
Outputs: aHelpProperties, Err.number
Function Parameters Comments
106 Chapter 3 Custom library
ARCHITECTURE
InboxCuLib.asp
Function Parameters Comments
DisplayInboxRow aConnectionInfo, sRedirectURL, sImage, sObjectDescription, sExpandImage, sExpandDescription, sExpandURL,
DisplayInboxTable oInboxXML, aInboxRequest, aConnectionInfo, sErrDescription
Purpose: Add parameters to the XML, so the XSL can parse the variables
Inputs: oInboxXML, aInboxRequest, aConnectionInfo
Outputs: sErrDescription, lErrNumber
GetAttributeValue vItem, sOId, sMsgID, iRequestStatus, iRequestType, sMessageTitle,
GetErrorMessageForMsgID sMsgID, aConnectionInfo, oSession, sErrorMessage, sErrDescription
Purpose: Get the Error Message from Inbox
Inputs: sMsgID, aConnectionInfo, oSession
Outputs: sErrorMessage, lErrNumber, sErrDescription
Comments: This function is used by JobError.asp
GetInbox oRequest, aInboxRequest, aConnectionInfo, oSession, oInboxXML, aErrNumber, lErrNumber, aErrDescription, sErrDescription
Purpose: Get Inbox messages, also deletes and changes message status
Inputs: oRequest, aInboxRequest, aConnectionInfo, oSession, oInboxXML
Outputs: oInboxXML, aErrNumber, lErrNumber, aErrDescription, sErrDescription
GetInboxLinks aInboxRequest, iRequestStatus, iRequestType, iReportType, sMsgID, sOId, sDocumentToExpand, sURL, iMsgStatus, sStateID, bCollapse,
InboxCuLib.asp 107
ARCHITECTURE
GetInboxMsgsXML lFlags, blockBegin, blockCount, aConnectionInfo, oInbox, oInboxXML, sErrDescription)
Purpose: Use XML API GetInboxMessages
Inputs: lFlags, blockBegin, blockCount, aConnectionInfo, oInbox
Outputs: oInboxXML, lErrNumber, sErrDescription
GetReportStatus iRequestStatus, sStatus Purpose: Get The Report Status
Inputs: iRequestStatus
Outputs: sStatus, Err.number
GetReportType sReportType, iReportType Purpose: Return the report type
Inputs: sReportType
Outputs: Err.number, iReportType
GetRequest oRequest, sProject, aInboxRequest
Purpose: Get the parameters from oRequest
Inputs: oRequest, sProject
Outputs: aInboxRequest, Err.number
ShowInboxHeaders aInboxRequest, aConnectionInfo, sSortImg, sSortLabel
Purpose: Display the Table Headers for our Inbox
Inputs: aInboxRequest, aConnectionInfo, sSortImg, sSortLabel
Outputs: Err.number
ShowInboxMessages oInboxXML, sDocumentToExpand, bCollapse, aConnectionInfo
Purpose: Display all the messages in Inbox
Inputs: oInboxXML, sDocumentToExpand, bCollapse, aConnectionInfo
Outputs: Err.number
SortInbox sIPAddress, sXSLFileName, oXMLRoot, sErrDescription
Purpose: Sort Inbox XML and return it as an object
Inputs: sIPAddress, sXSLFileName, oXMLRoot
Outputs: oXMLRoot, sErrDescription, lErrNumber
TransformInboxXMLToHTML oInboxXML, aInboxRequest, aConnectionInfo, sErrDescription
Purpose: Transform inbox XML into HTML
Inputs: oInboxXML, aInboxRequest, aConnectionInfo
Outputs: sErrDescription, Err.number
Function Parameters Comments
108 Chapter 3 Custom library
ARCHITECTURE
JobDetailsCuLib.asp
JobErrorCuLib.asp
Function Parameters Comments
DisplayDetailedPath aConnectionInfo, oXML Purpose: Diaplay detailed path
Inputs: aConnectionInfo, oXML
Outputs: Err.number
DisplayReturnLink aJobDetailsRequest, aConnectionInfo, aJobAttributes
Purpose: Diaplay detailed path
Inputs: aJobDetailsRequest, aConnectionInfo, aJobAttributes
Outputs: Err.number
LoadJobDetails aConnectionInfo, oSession, aJobDetailsRequest, aJobAttributes, sErrDescription
Purpose: Load the Job Details
Inputs: aConnectionInfo, oSession, aJobDetailsRequest
Outputs: aJobAttributes, sErrDescription
ReceiveRequest oRequest, aJobDetailsRequest
Purpose: get the local varables values from the request
Inputs: oRequest
Outputs: aJobDetailsRequest, Err.number
Function Parameters Comments
ReceiveRequest oRequest, aJobErrorRequest, aObjectInfo, aFolderInfo
Purpose: Read the variables from the request object
Inputs: oRequest
Outputs: aJobErrorRequest, aObjectInfo, aFolderInfo
JobDetailsCuLib.asp 109
ARCHITECTURE
JobExpiredCuLib.asp
LoginCuLib.asp
Function Parameters Comments
ReceiveRequest oRequest, aJobExpiredInfo, aObjectInfo, aFolderInfo
Purpose: Get input parameters from GET/POST collection
Inputs: oRequest
Outputs: aJobExpiredInfo, aObjectInfo, aFolderInfo, Err.number
RemoveErrorMessage oSession, aConnectionInfo, sMsgID, sErrDescription
Purpose: Remove an error message from History List (if any)
Inputs: oSession, aConnectionInfo, sMsgID
Outputs: lErrNumber, sErrDescription
RemoveErrorMessage oSession, aConnectionInfo, sMsgID, sErrDescription
Purpose: Remove an error message from History List (if any)
Inputs: oSession, aConnectionInfo, sMsgID
Outputs: lErrNumber, sErrDescription
Function Parameters Comments
DeleteBackToCookies () Purpose: Delete the return cookies at login
GetDefaultUserName sUId Purpose: Gets the default user id in case there is no cookie for a project
Outputs: sUId, err.number
GetRequest oRequest, aConnectionInfo, aLoginInfo
Purpose: Get the local variables values from the request object
Inputs: oRequest
Outputs: aConnectionInfo, aLoginInfo
ReadLoginFormOptions aConnectionInfo, aLoginInfo
Purpose: Read the values for different GUI objects from saved options
Inputs: aConnectionInfo
Outputs: aLoginInfo, Err.number
110 Chapter 3 Custom library
ARCHITECTURE
LogoutCuLib.asp
Function Parameters Comments
ChangeLogoutOptions sProject, sPromptDelete, sPromptCancel, iRemoveRead, iCancelExecution
Purpose: Overwrite the values of the prompt cookies
Inputs: sProject, sPromptDelete, sPromptCancel, iRemoveRead, iCancelExecution (The new value for the cookies)
Outputs: Err.number
CloseAllMySessions lFlags, sIPAddress, sErrDescription
Purpose: Close all of the DSS Server Sessions
Inputs: lFlags, sIPAddress
Outputs: Err.number, sErrDescription
DeleteTempFolder sIPAddress, sFolderName, sErrDescription
Purpose: Delete the temp files that correspond to this session from the Web Server
Inputs: sIPAddress, sFolderName
Outputs: sErrDescription
GetUserSettings bFlagsFoundDelete, bFlagsFoundCancel, lFlags
Purpose: Read the logout options from the cookies
Inputs: bFlagsFoundDelete, bFlagsFoundCancel, lFlags (the value of this variables may change inside of this function)
Outputs: bFlagsFoundDelete, bFlagsFoundCancel, lFlags, Err.number
ProcessLogoutRequest oRequest, aConnectionInfo, bPromptUser, sErrDescription
Purpose: Process a log out request according to the flags
Inputs: oRequest, aConnectionInfo
Outputs: bPromptUser, Err.number,sErrDescription
PutUserID sProject, sUid, sIPAddress Purpose: Put the id, token in the dynamic serverName+project+port collection
Inputs: sProject, sUid, sIPAddress
Outputs: lErrNumber
ReceiveRequestFlags oRequest, lFlags, bFlagsFoundDelete, bFlagsFoundCancel, bDontPromptAgain, iRemoveRead, iCancelExecution
Purpose: Get the flags from the URL
Inputs: oRequest
Outputs: lFlags, bFlagsFoundDelete, bFlagsFoundCancel, bDontPromptAgain, iRemoveRead, iCancelExecution, Err.number
LogoutCuLib.asp 111
ARCHITECTURE
ObjectLoadersCuLib.asp
OptionsCuLib.asp
Function Parameters Comments
DisplayObjectBrowserIconView
oXML, aConnectionInfo, sFolderID, sURL
Purpose: Display the contents of the folder using the icon view mode
Inputs: oXML, aConnectionInfo, sFolderID, sURL
DisplayObjectBrowserListView
oXML, aConnectionInfo, sFolderID, sURL
Purpose: Display the contents of the folder using the list view mode
Inputs: oXML, aConnectionInfo, sFolderID, sURL
GetFolder aConnectionInfo, oObjServer, aFolderInfo, oFolderXML, sErrDescription
Purpose: Fills the folder array with the and the folder xml. If nothing is sent as parameter inside the array the contents of shared reports will be retrieved.
Inputs: aConnectionInfo, oObjServer, aFolderInfo
Outputs: oFolderXML, sErrDescription
GetObject aConnectionInfo, oObjServer, aObjectInfo, oObjectXML, sErrDescription
Purpose: Fills the object array with the and the folder xml.
Inputs: aConnectionInfo, oObjServer, aObjectInfo
Outputs: oObjectXML, sErrDescription
Function Parameters Comments
CacheUserOptions asOptions, sIPAddress Purpose: Write options to cookies
Inputs: asOptions, sIPAddress
FillComboFromXMLForStartPage
sKey, sXMLFile, sHTML, sIPAddress
Purpose: Inserts the options for the selection of the start pge
Inputs: sKey, sXMLFile, sIPAddress
Outputs: sHTML
GetObjectNameFromURLinXML
sURL, sXMLFile, sIPAddress, sDesc
Purpose: Gets the description that corresponds to a URL, used with start page option
Inputs: sURL, sXMLFile, sIPAddress
Outputs: sDesc
112 Chapter 3 Custom library
ARCHITECTURE
PreviewCuLib.asp
ObjectIsInXML sObject, sXMLFile, sIPAddress
Purpose: Determines whether the object is in an xml file, used with start page option
Inputs: sObject, sXMLFile, sIPAddress
Relogin aConnectionInfo, oSession, sPage
Purpose: For LOCALE_OPTION change we need to log out and login again
Inputs: aConnectionInfo, oSession, sPage
ShowMessages lErrorMessageIDSet Purpose: Prints the messages that may occur during processing user options
Inputs: lErrorMessageIDSet
ValidateRequest oRequest, sIPAddress Purpose: Validates the options in a request
Inputs: oRequest, sIPAddress
Function Parameters Comments
DisplayGraph oReportXML, sToken, aPreviewRequest, sWindowSettings, sIPAddress, sErrDescription
Purpose: Display the graph
Inputs: oReportXML, sToken, aPreviewRequest, sWindowSettings, sIPAddress
Outputs: sErrDescription
DisplayReportInPreviewMode
oReportXML, aPreviewRequest, sIPAddress, sErrDescription
Purpose: Display a section of the report
Inputs: oReportXML, aPreviewRequest, sIPAddress
Outputs: sErrDescription
GetAdminHeaderAndFooter aOptions, sIPAddress, sAdminHeaderContents, sAdminFooterContents, sErrDescription
Purpose: Get the administrator header and footer contents
Inputs: aOptions, sIPAddress
Outputs: sAdminHeaderContents, sAdminFooterContents, sErrDescription
GetCSSFromXML oReportXML, sIPAddress, sErrDescription
Purpose: Get the web properties (with the dynamic style) from the report XML
Inputs: oReportXML, sIPAddress
Outputs: sErrDescription
Function Parameters Comments
PreviewCuLib.asp 113
ARCHITECTURE
GetInitialReportResults oRepServer, aPreviewRequest, lFlags, oSession, aConnectionInfo, oReportXML, sErrDescription
Purpose: Get a basic report xml back to calculate number of rows/cols/etc.
Inputs: oRepServer, aPreviewRequest, lFlags, oSession, aConnectionInfo
Outputs: oReportXML, sErrDescription
PrintFooters sAdminFooterContents, aPreviewRequest, bPrintPageNumbering, lTotalNumOfPages, sPaperWidth
Purpose: Display the administrator footer and user footer in the filter details page
Inputs: sAdminFooterContents, aPreviewRequest, bPrintPageNumbering, lTotalNumOfPages, sPaperWidth
PrintHeaders sAdminHeaderContents, sPaperWidth, aPreviewRequest
Purpose: Display the administrator header and user header in the filter details page
Inputs: sAdminHeaderContents, sPaperWidth, aPreviewRequest
ReadPrintOptions aOptions Purpose: Read the values from saved options
Output: aOptions
ReceiveRequest oRequest, aOptions, aPreviewRequest
Purpose: Get input parameters from GET/POST collection
Inputs: oRequest, aOptions
Outputs: aPreviewRequest
SavePrintOptionsInCookies sProject, aPreviewRequest Purpose: Save the print options used in the form into cookies in case the user doesn't want to be asked again.
Inputs: sProject, aPreviewRequest
SetPaperSizes aPreviewRequest, sPaperWidth, sPaperHeight, sBGImage
Purpose: Set the dimension of the page depending on the user options
Inputs: aPreviewRequest
Outputs: sPaperWidth, sPaperHeight, sBGImage
SetPreviewFlags aPreviewRequest, aOptions, lFlags, bNeedProperties
Purpose: Set the appropriate flags
Inputs: aPreviewRequest, aOptions
Outputs: lFlags, bNeedProperties
ShowLinksForMoreGraphDataPreviewPages
aPreviewRequest, bPrevLinkSameBlock, lNextLinkStartVertBlock, lNextLinkStartHoriBlock,
lVerticalGridBlocksPerGraphBlock, lHorizontalGridBlocksPerGraphBlock, lTotalNumOfPages, sURL, sPaperWidth)
Function Parameters Comments
114 Chapter 3 Custom library
ARCHITECTURE
ShowLinksForMoreGraphPreviewPages
aPreviewRequest, lTotalNumOfPages, sURL, sPaperWidth
Purpose: Display the link for more pages (kind of Inc. Fetch) after displaying the pages for the current block.
Inputs: aPreviewRequest, lTotalNumOfPages, sURL, sPaperWidth
ShowLinksForMoreGridPreviewPages
aPreviewRequest, lTotalNumOfPages, sURL, sPaperWidth
Purpose: Display the link for more pages (kind of Inc. Fetch) after displaying the pages for the current block
Inputs: aPreviewRequest, lTotalNumOfPages, sURL, sPaperWidth
ShowPageByforPreview oReportXML Purpose: Display the page by information
Inputs: oReportXML
ShowPageNumber lNumberOfPage, lTotalNumberOfPages, lPageStyle
Purpose: Display the page number using different styles
Inputs: lNumberOfPage, lTotalNumberOfPages, lPageStyle
ShowPreviewOfGraph oRepServer, aPreviewRequest, oReportXML, lFlags, sIPAddress, sPaperWidth, sPaperHeight, sErrDescription
Purpose: Show the appropriate graph pages
Inputs: oRepServer, aPreviewRequest, oReportXML, lFlags, sIPAddress, sPaperWidth, sPaperHeight
Outputs: sErrDescription
ShowPreviewOfGraphWithData
oRepServer, aPreviewRequest, oReportXML, lFlags, sIPAddress, sPaperWidth, sPaperHeight, sErrDescription
Purpose: Show the appropriate graph page with the corresponding grid page(s)
Inputs: oRepServer, aPreviewRequest, oReportXML, lFlags, sIPAddress, sPaperWidth, sPaperHeight
Outputs: sErrDescription
ShowPreviewOfGrids oRepServer, aPreviewRequest, oReportXML, lFlags, sIPAddress, sPaperWidth, sPaperHeight, sErrDescription
Purpose: Show the appropriate grid pages
Inputs: oRepServer, aPreviewRequest, oReportXML, lFlags, sIPAddress, sPaperWidth, sPaperHeight
Outputs: sErrDescription
ShowReport oReportXML, sToken, bGraph, aPreviewRequest, sWindowSettingXML, sPaperWidth, sPaperHeight, sIPAddress, sErrDescription
Purpose: Display the report in grid or graph format depending on the view mode
Inputs: oReportXML, sToken, bGraph, aPreviewRequest, sWindowSettingXML, sPaperWidth, sPaperHeight, sIPAddress
Outputs: sErrDescription
Function Parameters Comments
PreviewCuLib.asp 115
ARCHITECTURE
PromptCuLib.asp
ShowTitle oReportXML Purpose: Display the Title of the Report
Inputs: oReportXML
Function Parameters Comments
CheckNeedProcess aConnectionInfo, oRequest, bNeedProcess
Purpose: Check from oRequest to see if need processing later
Inputs: aConnectionInfo, oRequest
Outputs: bNeedProcess
Clean aConnectionInfo Purpose: Clean up memory
Inputs: aConnectionInfo
GetPromptAnswersXMLForJob
aConnectionInfo, sMsgID, aPromptInfo, oPromptQuestionsXML, oPromptAnswersXML, sErrDescription
Purpose: load the promptAnswersXML that we've created so far from a disk file into DOM object.
Inputs: aConnectionInfo, sMsgID, aPromptInfo, oPromptQuestionsXML
Outputs: oPromptAnswersXML, sErrDescription
LoadPromptInformation aConnectionInfo, sDHTML, sErrDescription
Purpose: load all prompt information before displaying
Inputs: aConnectionInfo
Outputs: global variables
LoadPromptQuestionsXMLForJob
aConnectionInfo, sMsgID, bIsDoc, oSession, oPromptQuestionsXML, lMaxPin, aPromptInfo, sErrDescription
Purpose: Get oPromptQuestionsXML from file or from XML API
Inputs: aConnectionInfo, sMsgID, bIsDoc, oSession
Outputs: lMaxPin, aPromptInfo, sErrDescription
LogTimeInfo aConnectionInfo, sFile, sASPFunc, sAPIFunc, sComment
Purpose: To log the different errors in XML format
Inputs: aConnectionInfo, sFile, sASPFunc, sAPIFunc, sComment
Output: Err.Number
PrepareLastFolderLink aConnectionInfo, sReportID, sDocumentID, oRequest, sToken, oSession, sLastFolderLink
Purpose: Get Last Folder Link
Inputs: aConnectionInfo, sReportID, sDocumentID, oRequest, sToken, oSession
Outputs: sLastFolderLink
Function Parameters Comments
116 Chapter 3 Custom library
ARCHITECTURE
PromptDisplayCuLib.asp
ProcessCancelButton aConnectionInfo, sMsgID, bIsDoc, sReportID, sDocumentID, sViewMode, sPage, oRequest, oSession, oPromptQuestionsXML, sErrDescription
Purpose: process cancel button on prompt page
Inputs: aConnectionInfo, sMsgID, bIsDoc, sReportID, sDocumentID, sViewMode, sPage, oRequest, oSession, oPromptQuestionsXML
Outputs: sErrDescription
ReceiveRequest oRequest, sMsgID, bIsDoc, sReportID, sDocumentID, sViewMode, sPage, aObjectInfo, aFolderInfo, bIsMessageSaved
Purpose: Receive request parameters from oRequest
Inputs: oRequest
Outputs: sMsgID, bIsDoc, sReportID, sDocumentID, sViewMode, sPage, aObjectInfo, aFolderInfo
setDHTML sDHTML Purpose: set global variable sDHTML from options
Outputs: sDHTML
Function Parameters Comments
AddSingleAttributeFormtoDisplayXML
aConnectionInfo, sATName, sATDID, oFM, oAvailable
Purpose: Add Single Attribute Form to DisplayXML
Input: aConnectionInfo, sATName, sATDID, oFM, oAvailable
Output: oAvailable
AddSingleAttributetoDisplayXML
aConnectionInfo, sATName, sATDID, oAvailable
Purpose: Add Single Attribute Form to DisplayXML
Input: aConnectionInfo, sATName, sATDID, oFM, oAvailable
Output: oAvailable
BuildAvailableforElementPrompt
aConnectionInfo, sToken, oSession, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, sSearch, oAvailable
Purpose: build <available> tag for displayXML for Element prompt
Input: aConnectionInfo, sToken, oSession, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, sSearch
Output: oAvailable
Function Parameters Comments
PromptDisplayCuLib.asp 117
ARCHITECTURE
BuildAvailableforExpressionPrompt
aConnectionInfo, sToken, oSession, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oAvailable
Purpose: create <available> part of display XML for expression prompt from oSinglePromptQuestionXML
Input: aConnectionInfo, sToken, oSession, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oAvailable
Output: oAvailable
BuildAvailableforHierachicalPrompt
aConnectionInfo, sToken, oSession, aPromptInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oAvailable
Purpose: create <available> part of display XML for hierachical prompt from oSinglePromptQuestionXML
Input: aConnectionInfo, sToken, oSession, aPromptInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oAvailable
Output: oAvailable
BuildAvailableforHIPrompt aConnectionInfo, sToken, oSession, aPromptInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oAvailable
Purpose: create <available> part of display XML for HI prompt from oSinglePromptQuestionXML
Input: aConnectionInfo, sToken, oSession, aPromptInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Output: oAvailable
BuildAvailableforLevelPromptFromQuestion
aConnectionInfo, oSinglePromptQuestionXML, sToken, lBlockBegin, lBlockCount, oAvailable
Purpose: build <available> tag for displayXML for Level prompt directly from questionXML
Input: aConnectionInfo, oSinglePromptQuestionXML, sToken, lBlockBegin, lBlockCount
Output: oAvailable
BuildAvailableforLevelPromptFromSearch
aConnectionInfo, oSinglePromptQuestionXML, lBlockBegin, lBlockCount, sSearchResult, oAvailable
Purpose: build <available> tag for displayXML for Level prompt from search result
Input: aConnectionInfo, oSinglePromptQuestionXML, lBlockBegin, lBlockCount, sSearchResult, oAvailable
Output: oAvailable
BuildAvailableforObjectPromptFromQuestion
aConnectionInfo, oSinglePromptQuestionXML, sToken, lBlockBegin, lBlockCount, oAvailable
Purpose: build <available> tag for displayXML for Object prompt
Input: aConnectionInfo, oSinglePromptQuestionXML, sToken, lBlockBegin, lBlockCount
Output: oAvailable
Function Parameters Comments
118 Chapter 3 Custom library
ARCHITECTURE
BuildAvailableforObjectPromptFromSearch
aConnectionInfo, oSinglePromptQuestionXML, lBlockBegin, lBlockCount, sSearchResXML, oAvailable
Purpose: Build available part of object prompt displayXML, when it involves a search
Inputs: aConnectionInfo, oSinglePromptQuestionXML, lBlockBegin, lBlockCount, sSearchResXML
Outputs: oAvailable
BuildDefaultSelectionsforExpressionPrompt
aConnectionInfo, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oAvailable
Purpose: Set default selected items in display XML for expression prompt from oSinglePromptQuestionXML
Input: aConnectionInfo, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oAvailable
Output: oAvailable
BuildExpItemforQual aConnectionInfo, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oNode, sFlag, oExpItem
Purpose: Build Exp Item for AQ / MQ
Inputs: aConnectionInfo, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oNode, sFlag
Outputs: oExpItem
BuildHiBrowsingforObjectPrompt
aConnectionInfo, sToken, oSession, sPin, oSinglePromptAnswerXML, oSinglePromptQuestionXML, sSearchResult, sSearchResultFolder, oRequest, oNewAnswer
Purpose: Build hi browsing / search field part for object prompt displayXML
Inputs: aConnectionInfo, sToken, oSession, sPin, oSinglePromptAnswerXML, oSinglePromptQuestionXML, sSearchResult, sSearchResultFolder, oRequest
Outputs: oNewAnswer
BuildHILinksforObjectPrompt
aConnectionInfo, sPin, oSinglePromptQuestionXML, oSearchRes, oHILinks
Purpose: build HI links for object prompt
Inputs: aConnectionInfo, sPin, oSinglePromptQuestionXML, oSearchRes
Outputs: oHILinks
BuildHIPathforObjectPrompt
aConnectionInfo, sToken, oSession, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oSO, oHIpath
Purpose: build <hipath> And <link>s under it for object prompt
Inputs: aConnectionInfo, sToken, oSession, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oSO
Outputs: oHIPath
Function Parameters Comments
PromptDisplayCuLib.asp 119
ARCHITECTURE
BuildIncreFetchforBrowsing aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, lTotalCount, oRequest, lLock_Limit, lBlockCountPromptType, oIncreFetch
Purpose: create <increfetch> part of display XML for prompt
Input: aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, lTotalCount, oRequest, lLock_Limit, lBlockCountPromptType
Output: oIncreFetch
BuildInfoforPrompt aConnectionInfo, lPin, aPromptInfo, oSinglePromptAnswerXML, oInfo
Purpose: create <info> part of display XML for prompt
Input: aConnectionInfo, lPin, aPromptInfo, oSinglePromptAnswerXML
Output: oInfo
BuildInputNode aConnectionInfo, oPromptQuestionsXML, sDHTML, oInputs
Purpose: Build <inputs> for displayXML
Input: aConnectionInfo, oPromptQuestionsXML
Output: oInputs
BuildSelectedforElementPrompt
aConnectionInfo, oSinglePromptAnswerXML, oSinglePromptQuestionXML, oSelected
Purpose: build <selected> tag for displayXML for Element prompt
Input: aConnectionInfo, oSinglePromptAnswerXML, oSinglePromptQuestionXML
Output: oSelected
BuildSelectedforExpressionPrompt
aConnectionInfo, aPrompInfo, sPin, sRes, oSinglePromptAnswerXML, oSinglePromptQuestionXML, oSelected
Purpose: create <selected> part of display XML for expression prompt.
Input: aConnectionInfo, aPromptInfo, sPin, sRes, oSinglePromptAnswerXML, oSinglePromptQuestionXML
Output: oSelected
BuildSelectedforLevelPrompt
aConnectionInfo, oSinglePromptAnswerXML, oSinglePromptQuestionXML, oSelected
Purpose: build <selected> tag for displayXML for Level prompt
Input: oaConnectionInfo, oSinglePromptAnswerXML, oSinglePromptQuestionXML
Output: oSelected
BuildSelectedforObjectPrompt
aConnectionInfo, oSinglePromptAnswerXML, oSinglePromptQuestionXML, oSelected
Purpose: build <selected> tag for displayXML for Object prompt
Input: aConnectionInfo, oSinglePromptAnswerXML, oSinglePromptQuestionXML
Output: oSelected
Function Parameters Comments
120 Chapter 3 Custom library
ARCHITECTURE
ChangeElementDisplayXML
aConnectionInfo, aPromptInfo, sPin, oAvailable, oSelected
Purpose: change the displayXML structure to save XSL transform time
Inputs: aConnectionInfo, aPromptInfo, sPin, oAvailable, oSelected
Outputs: oAvailable, oSelected
ChangeHIDisplayXML aConnectionInfo, oAvailable, oSelected
Purpose: change the displayXML structure to save XSL transform time
Inputs: aConnectionInfo, oAvailable, oSelected
Outputs: oAvailable, oSelected
ChangeLevelDisplayXML aConnectionInfo, oAvailable, oSelected
Purpose: change the displayXML structure to save XSL transform time
Inputs: aConnectionInfo, oAvailable, oSelected
Outputs: oAvailable, oSelected
ChangeObjectDisplayXML aConnectionInfo, oAvailable, oSelected
Purpose: change the displayXML structure to save XSL transform time
Inputs: aConnectionInfo, oAvailable, oSelected
Outputs: oAvailable, oSelected
CreateDisplayXMlforAllDimensions
aConnectionInfo, sToken, oSession, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oPickHier
Purpose: Create DisplayXML for browsing all dimensions
Inputs: aConnectionInfo, sToken, oSession, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Outputs: oPickHier
CreateDisplayXMLForConstantPrompt
aConnectionInfo, sPin, aPromptInfo, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oDisplayXML
Purpose: create display XML for constant prompt
Input: aConnectionInfo, sPin, aPromptInfo, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Output: oDisplayXML
CreateDisplayXMLForElementPrompt
aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oDisplayXML
Purpose: create display XML for element prompt.
Input: aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Output: oDisplayXML
Function Parameters Comments
PromptDisplayCuLib.asp 121
ARCHITECTURE
CreateDisplayXMLForExpressionPrompt
aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oDisplayXML
Purpose: create display XML for expression prompt.
Input: aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Output: oDisplayXML
CreateDisplayXMLForHierachicalPrompt
aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oDisplayXML
Purpose: create display XML for hierachical prompt
Input: aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Output: oDisplayXML
CreateDisplayXMLForLevelPrompt
aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oDisplayXML
Purpose: create display XML for level prompt.
Input: aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Output: oDisplayXML
CreateDisplayXMLForObjectPrompt
aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oDisplayXML
Purpose: create display XML for object prompt.
Input: aConnectionInfo, sToken, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Output: oDisplayXML
DisplayAllPromptsForJob aConnectionInfo, oSession, aPromptInfo, oPromptQuestionsXML, oPromptAnswersXML, oRequest, sDHTML, sErrDescription
Purpose: display all the prompts for the job.
Inputs: aConnectionInfo, oSession, aPromptInfo, oPromptQuestionsXML, oPromptAnswersXML, oRequest
Outputs: sErrDescription
DisplayPromptIndex bIsDoc, aPromptInfo, oPromptQuestionsXML
Purpose: Display prompt index part for whole prompt page
Inputs: bIsDoc, aPromptInfo, oPromptQuestionsXML
Outputs: Err.Number
Function Parameters Comments
122 Chapter 3 Custom library
ARCHITECTURE
DisplaySinglePromptForJob aConnectionInfo, oSession, aPromptInfo, sPin, sPType, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oInputs
Purpose: display a single prompt.
Inputs: aConnectionInfo, oSession, aPromptInfo, sPin, sPType, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oInputs
Outputs: Err.Number
ExecuteSearchforLevelPrompt
aConnectionInfo, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oSO, sSearchPattern, lBlockBegin, lBlockCount, sSearchResult
Purpose: execute search for a level prompt
Input: aConnectionInfo, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oSO, sSearchPattern, lBlockBegin, lBlockCount,
Output: sSearchResult
ExecuteSearchforObjectPrompt
aConnectionInfo, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oSO, sSearchPattern, lBlockBegin, lBlockCount, sSearchResult, sSearchResultFolder
Purpose: execute search for object prompt
Inputs: aConnectionInfo, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oSO, sSearchPattern, lBlockBegin, lBlockCount
Outputs: sSearchResult, sSearchResultFolder
GetDerivedListForElementPromptFromQuestion
aConnectionInfo, sToken, oSession, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, lBlockBegin, lBlockCount, oIDLAnswerXML
Purpose: create Derived Answer list of lBlockCount Elements beginning at lBlockBegin, from oSinglePromptQuestionXML
Input: aConnectionInfo, sToken, oSession, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, lBlockBegin, lBlockCount
Output: oIDLAnswerXML
GetDerivedListForElementPromptFromServer
aConnectionInfo, sToken, oSession, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, lBlockBegin, lBlockCount, oIDLAnswerXML
Purpose: create Derived Answer list of lBlockCount Elements beginning at lBlockBegin, from oElemServer
Input: aConnectionInfo, sToken, oSession, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, lBlockBegin, lBlockCount
Output: oIDLAnswerXML
Function Parameters Comments
PromptDisplayCuLib.asp 123
ARCHITECTURE
GetDerivedListForExpressionPromptFromQuestion
aConnectionInfo, oSinglePromptQuestionXML, lBlockBegin, lBlockCount, oAnswerXML
Purpose: create Derived Answer list XML, from lBlockBegin
Input: ConnectionInfo, oSinglePromptQuestionXML, lBlockBegin, lBlockCount
Output: oAnswerXML
GetDerivedListForExpressionPromptFromServer
aConnectionInfo, oSinglePromptQuestionXML, sToken, oSession, lBlockBegin, lBlockCount, lFlag, oIDLAnswerXML
Purpose: create Derived Answer list XML by calling XML API
Input: aConnectionInfo, oSinglePromptQuestionXML, sToken, oSession, lBlockBegin, lBlockCount, lFlag
Output:oIDLAnswerXML
GetDerivedListForObjectPromptFromQuestion
aConnectionInfo, oSinglePromptQuestionXML, lBlockBegin, lBlockCount, oIDLAnswerXML
Purpose: create Derived Answer list XML for object prompt, starting from lBlockBegin
Input: aConnectionInfo, oSinglePromptQuestionXML, lBlockBegin, lBlockCount
Output: oIDLAnswerXML
GetDerivedListForObjectPromptFromServer
aConnectionInfo, oSinglePromptQuestionXML, sToken, oSession, lBlockBegin, lBlockCount, oIDLAnswerXML
Purpose: create Derived Answer list XML by calling XML API
Input: aConnectionInfo, oSinglePromptQuestionXML, sToken, oSession, lBlockBegin, lBlockCount
Output: oIDLAnswerXML
GetExpressionTextforQual aConnectionInfo, oExpItem, sFlag, sExpItemText
Purpose: Get Exp Item Text for AQ / MQ
Inputs: aConnectionInfo, oExpItem, sFlag
Outputs: sExpItemText
GetExpressionTextfromExpItem
aConnectionInfo, oExpItem, sExpItemText
Purpose: Build an expression text from attributes of oExpItem node
Inputs: aConnectionInfo, oExpItem
Outputs: sExpItemText
GetOperatorName sOP, sOperatorName Purpose: Display prompt index part for whole prompt page
Inputs: sOP
Outputs: sOperatorName
GetPredefinedListForElementPrompt
aConnectionInfo, oSinglePromptQuestionXML, oILAnswerXML
Purpose: create Derived Answer list of lBlockCount Elements beginning at lBlockBegin, from oSinglePromptQuestionXML
Input: aConnectionInfo, oSinglePromptQuestionXML
Output: oILAnswerXML
Function Parameters Comments
124 Chapter 3 Custom library
ARCHITECTURE
GetPredefinedListForLevelPrompt
aConnectionInfo, oSinglePromptQuestionXML, oILAnswerXML
Purpose: create Predefined Answer list XML for Level prompt, from lBlockBegin
Input: aConnectionInfo, oSinglePromptQuestionXML
Output: oILAnswerXML
GetPredefinedListForObjectPrompt
aConnectionInfo, oSinglePromptQuestionXML, oILAnswerXML
Purpose: create Predefined Answer list XML, from lBlockBegin
Input: aConnectionInfo, oSinglePromptQuestionXML
Output: oILAnswerXML
MapPromptXSL aConnectionInfo, sXSL, oSinglePromptXSL
Purpose: map sXSL into XSL object defined in global.asa
Inputs: aConnectionInfo, sXSL
Outputs: oSinglePromptXSL
NewExpItemforExpressionPrompt
aConnectionInfo, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oNode, oExpItem
Purpose: create one <expitem> tag for oNode in <selected> part of an expression prompt displayXML
Input: aConnectionInfo, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oNode
Output: oExpItem
SetAllFormInfoforSingleElement
aConnectionInfo, oE Purpose: put all form values in an attribute of oE
Inputs: aConnectionInfo, oE
Outputs: oE
WritePromptGeneralError sErrorMesg Purpose: Display general error for whole prompt page
Inputs: sErrorMesg
Outputs: Err.Number
GetOperatorID sOperatorName, sOP Purpose: get operator ID from operator name
Inputs: sOperatorName
Outputs: sOP
Function Parameters Comments
PromptDisplayCuLib.asp 125
ARCHITECTURE
PromptProcessCuLib.asp
Function Parameters Comments
AddSelectionsToElementPrompt
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: read all the selections in oRequest For a given element prompt, add them to oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
AddSelectionsToExpressionPrompt
aConnectionInfo, oRequest, aPromptInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: Add user selections to oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, aPromptInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
AddSelectionsToLevelPrompt
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: read all the selections in oRequest For a given level prompt, add them to oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
AddSelectionsToObjectPrompt
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: read all the selections in oRequest For a given object prompt, add them to oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
BuildElementAnswerFromUserSelections
aConnectionInfo, oRequest, sPin, sElementSelections, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: read all the selections in oRequest For a given element prompt, add them to oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, sElementSelections, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
BuildExpressionAnswerFromUserSelections
aConnectionInfo, oRequest, sPin, sRes, sExpressionSelections, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: Build answerXML from sUserSelections for Expression prompt
Inputs: aConnectionInfo, oRequest, sPin, sRes, sExpressionSelections, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
126 Chapter 3 Custom library
ARCHITECTURE
BuildExpressionNode_AttributeQual
aConnectionInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oHierachy, sFlag, oEXP
Purpose: Build an expression <nd> For AttributeIDQual Or AttributeDESCQual Expression Type
Inputs: aConnectionInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oHierachy, sFlag
Outputs: oEXP
BuildExpressionNode_AttributeQual_Textbox
aConnectionInfo, aPromptInfo, sPin, sRes, oSinglePromptQuestionXML, oRequest, oHierachy, sFlag, oSinglePromptAnswerXML
Purpose: Build an expression <nd> For AQ with textbox style
Inputs: aConnectionInfo, sPin, sRes, oSinglePromptQuestionXML, oRequest, oHierachy, sFlag, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
BuildExpressionNode_HierElem
aConnectionInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oHierachy, oEXP
Purpose: Build an expression node for selecting elements in hierachical prompt
Inputs: aConnectionInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oHierachy
Outputs: oEXP
BuildExpressionNode_HierElemFromUserSelection
aConnectionInfo, sPin, sATName, sATDID, asSelectionArray, lBeginIndex, lEndIndex, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oHierachy, oEXP
Purpose: From sUserSelections, build an expression <nd> for selecting elements in Hierachical prompt
Inputs: aConnectionInfo, sPin, sATName, sATDID, asSelectionArray, lBeginIndex, lEndIndex, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oHierachy
Outputs: oEXP
BuildExpressionNode_HierPrompt
aConnectionInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oCurExp, bNeedChange
Purpose: Build an expression <nd> For Hierachical Prompt (either Elem Or Qual)
Inputs: aConnectionInfo, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Outputs: oCurExp, bNeedChange
BuildExpressionNode_HierPromptFromUserSelection
aConnectionInfo, sPin, sRes, asSelectionArray, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, bNeedChange
Purpose: From sUserSelections, build an expression <nd> For Hierachical Prompt (either Elem Or Qual)
Inputs: aConnectionInfo, sPin, sRes, asSelectionArray, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, bNeedChange
Outputs: oSinglePromptAnswerXML
Function Parameters Comments
PromptProcessCuLib.asp 127
ARCHITECTURE
BuildExpressionNode_SingleMetricQual
aConnectionInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oEXP
Purpose: Build an expression <nd> For SingleMetricQual Expression Type
Inputs: aConnectionInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Outputs: oEXP
BuildObjectAnswerFromUserSelections
aConnectionInfo, oRequest, sPin, sObjectSelections, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: read all the selections in oRequest For a given object prompt, add them to oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, sObjectSelections, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
CheckUnsubmited aConnectionInfo, oRequest, oPromptAnswersXML
Purpose: check unsubmitted form components, like FilterOP: And/or
Inputs: aConnectionInfo, oRequest, oPromptAnswersXML
Outputs: oPromptAnswersXML
ClearAllSelectionsForElementPrompt
aConnectionInfo, oSinglePromptAnswerXML
Purpose: clear all selections in oSinglePromptAnswerXML of element prompt
Inputs: aConnectionInfo, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ClearAllSelectionsForLevelPrompt
aConnectionInfo, oSinglePromptAnswerXML
Purpose: clear all selections in oSinglePromptAnswerXML of level prompt
Inputs: aConnectionInfo, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ClearAllSelectionsForObjectPrompt
aConnectionInfo, oSinglePromptAnswerXML
Purpose: clear all selections in oSinglePromptAnswerXML of object prompt
Inputs: aConnectionInfo, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ProcessAllPromptSelectionsForJob
aConnectionInfo, oSession, lMaxPin, aPromptInfo, oPromptQuestionsXML, oRequest, sDHTML, oPromptAnswersXML, sCurPin
Purpose: process all prompts; build oPromptAnswersXML
Inputs: aConnectionInfo, oSession, lMaxPin, aPromptInfo, oPromptQuestionsXML, oRequest
Outputs: oPromptAnswersXML, sCurPin
Function Parameters Comments
128 Chapter 3 Custom library
ARCHITECTURE
ProcessSelectionsForConstantPrompt
aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sUserSelections, oSinglePromptAnswerXML
Purpose: read what the user typed into the textbox, And update the oSinglePromptAnswerXML
Inputs: aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sUserSelections, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ProcessSelectionsForElementPrompt
aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sElementSelections, oSinglePromptAnswerXML
Purpose: read user selections, And update the oSinglePromptAnswerXML
Inputs: aConnectionInfo, sPin, aPromptInfo, oSinglePromptQuestionXML, oRequest, sElementSelections, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ProcessSelectionsForExpressionPrompt
aConnectionInfo, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sUserSelections, sDHTML, oSinglePromptAnswerXML
Purpose: read user selections, And update the oSinglePromptAnswerXML for expression prompt
Inputs: aConnectionInfo, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sUserSelections, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ProcessSelectionsforHierachicalPrompt
aConnectionInfo, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sUserSelections, oSinglePromptAnswerXML
Purpose: Process Hierachical prompt
Inputs: aConnectionInfo, oSession, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sUserSelections, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ProcessSelectionsForLevelPrompt
aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sUserSelections, oSinglePromptAnswerXML
Purpose: read user selections, And update the oSinglePromptAnswerXML
Inputs: aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sLevelSelections, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ProcessSelectionsForObjectPrompt
aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sObjectSelections, oSinglePromptAnswerXML
Purpose: read user selections, And update the oSinglePromptAnswerXML
Inputs: aConnectionInfo, aPromptInfo, sPin, oSinglePromptQuestionXML, oRequest, sObjectSelections, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
Function Parameters Comments
PromptProcessCuLib.asp 129
ARCHITECTURE
ProcessSinglePromptSelectionsForJob
aConnectionInfo, oSession, aPromptInfo, sPin, sPType, oSinglePromptQuestionXML, oRequest, sUserSelections, oSinglePromptAnswerXML
Purpose: build oSinglePromptAnswerXML For a single prompt question
Inputs: aConnectionInfo, oSession, aPromptInfo, sPin, sPType, oSinglePromptQuestionXML, oRequest, sUserSelections
Outputs: oSinglePromptAnswerXML
RemoveSelectionsFromAQMQPrompt
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: Remove user selections from oSinglePromptAnswerXML For AQ/MQ expression prompt
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
RemoveSelectionsFromElementPrompt
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: read all the selections in oRequest For a given element prompt, remove them from oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
RemoveSelectionsFromExpressionPrompt
aConnectionInfo, oRequest, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: Remove user selections from oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, sRes, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
RemoveSelectionsFromHIPrompt
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: Remove user selections from oSinglePromptAnswerXML For Hierachical expression prompt
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
RemoveSelectionsFromLevelPrompt
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: read all the selections in oRequest For a given level prompt, remove them from oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML Outputs: oSinglePromptAnswerXML
Function Parameters Comments
130 Chapter 3 Custom library
ARCHITECTURE
PromptSearchCuLib.asp
PromptValidateCuLib.asp
RemoveSelectionsFromObjectPrompt
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: read all the selections in oRequest For a given object prompt, remove them from oSinglePromptAnswerXML
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
UpdateExpressionNode_HierElem
aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oNode
Purpose: update oSinglePromptAnswerXML For a Hier AQ, insert current element selections
Inputs: aConnectionInfo, oRequest, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oNode
Outputs: oNode
Function Parameters Comments
BuildFilterXMLforDrillinHIPrompt
aConnectionInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oHierachy, oFilterXML
Purpose: Create a FilterXML for Drill, ex Year in (2000, 2001)
Input: aConnectionInfo, sPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest, oHierachy
Output: oFilterXML
Function Parameters Comments
ValidateAllPromptAnswers aConnectionInfo, bIsDoc, aPromptInfo, oPromptQuestionsXML, oPromptAnswersXML, oRequest, bRemoveTemp
Purpose: validate prompt answers
Inputs: aConnectionInfo, bIsDoc, aPromptInfo, oPromptQuestionsXML, oPromptAnswersXML, oRequest, bRemoveTemp
Outputs: Err.Number
Function Parameters Comments
PromptSearchCuLib.asp 131
ARCHITECTURE
ReadOptionsCuLib.asp
ValidateConstantPromptAnswer
aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: validate constant prompt answers - remove leading/ending spaces
Inputs: aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ValidateElementPromptAnswer
aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: validate element prompt answers - min/max
Inputs: aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ValidateExpressionPromptAnswer
aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Purpose: validate expression prompt answers
Inputs: aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML, oRequest
Outputs: oSinglePromptAnswerXML
ValidateLevelPromptAnswer
aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: validate level prompt answers - min/max
Inputs: aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
ValidateObjectPromptAnswer
aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Purpose: validate object prompt answers - min/max
Inputs: aConnectionInfo, aPromptInfo, lPin, oSinglePromptQuestionXML, oSinglePromptAnswerXML
Outputs: oSinglePromptAnswerXML
Function Parameters Comments
CacheCurrentUserOptions aConnectionInfo Purpose: Caches the user options to cookies
Inputs: aConnectionInfo
GetDefaultUserOption sIPAddress, sOptionsKey Purpose: Get default values for an specific user option
Inputs: sIPAddress, sOptionsKey
Function Parameters Comments
132 Chapter 3 Custom library
ARCHITECTURE
RebuildReportCuLib.asp
LoadUserOptionsKeys sIPAddress, asOptionsKey Purpose: Initializes the array containing the key to be stored as options in the options cookie
Inputs: sIPAddress
Outputs: asOptionsKey
OpenXMLDocumentRead oXML, sIPAddress Purpose: Opens the XML settings document, returning node and connection information
Inputs: oXML, sIPAddress
ReadUserOption sOptionKey Purpose: Retrieves the value of a certain option from the cookie
Inputs: sOptionKey
SearchUserOption sProject, sServer, sOptionKey, nScope, oXML
Purpose: Retrieves the value of a certain option depending on the nScope level
Inputs: sProject, sServer, sOptionKey, nScope, oXML
SetUserOption sOptionsKey, sOption, sProject
Purpose: Sets the value of a certain option in the user cookie
Inputs: sOptionsKey, sOption, sProject
Function Parameters Comments
CheckReportStatus aConnectionInfo, oRepServer, aRebuildRequest, lResultFlags, sWindowSettingXML, sResultsXML, sErrDescription
Purpose: Verify the status for the current report. If Ready, return the report XML
Inputs: aConnectionInfo, oRepServer, aRebuildRequest, lResultFlags, sWindowSettingXML
Outputs: aRebuildRequest(L_STATUS_REBUILD), sResultsXML, sErrDescription, Err.number
cleanMem oRequest, oSession, oRepServer, oTempXML, aiQuestions
Purpose: Clean the memory from the objects that we will not use any more
Inputs: oRequest, oSession, oRepServer, oTempXML
Function Parameters Comments
RebuildReportCuLib.asp 133
ARCHITECTURE
RefreshCuLib.asp
GetReport aConnectionInfo, oSession, oRequest, oRepServer, oXML, aRebuildRequest, sManipulationError, sErrDescription
Purpose: Get the XML for the modified report
Inputs: aConnectionInfo, oSession, oRequest, oRepServer, oXML, asDescriptors
Outputs: aRebuildRequest, sManipulationError, sErrDescription, Err.number
ReceiveRequest oRequest, aRebuildRequest
Purpose: Get all the different values from the oRequest object
Inputs: oRequest
Outputs: aRebuildRequest
ReportManipulation aRebuildRequest, lResultFlags, sDeltaXML, aConnectionInfo, oRepServer, bPivot, sErrDescription
Purpose: Rebuilds an existing report
Inputs: aRebuildRequest, lResultFlags, sDeltaXML, aConnectionInfo, oRepServer, asDescriptors, bPivot
Outputs: Err.number, sErrDescription
Function Parameters Comments
ReceiveRequest oRequest, aRefreshRequest, aConnectionInfo
Purpose: Get input parameters from GET/POST collection
Inputs: oRequest
Outputs: aRefreshRequest, aConnectionInfo, Err.number
RefreshReport aConnectionInfo, aRefreshRequest, oSession, sErrDescription
Purpose: Refresh the report
Inputs: aConnectionInfo, aRefreshRequest, oSession
Outputs: sErrDescription, Err.number
Function Parameters Comments
134 Chapter 3 Custom library
ARCHITECTURE
RefreshDocCuLib.asp
ReportCuLib.asp
Function Parameters Comments
ReceiveRequest oRequest, aRefreshDocRequest
Purpose: Get values from the request object
Inputs: oRequest
Outputs: aRefreshDocRequest, Err.number
RefreshDocument aConnectionInfo, aRefreshDocRequest, oSession, sErrDescription
Purpose: Refresh the report
Inputs: aConnectionInfo, aRefreshDocRequest, oSession
Outputs: Err.number, sErrDescription
Function Parameters Comments
CheckReportStatus aConnectionInfo, oRepServer, aReportInfo, lResultFlags, oResultsXML, sErrDescription
Purpose: Verify the status for the current report. If Ready, return the report XML
Inputs: aConnectionInfo, oRepServer, aReportInfo, lResultFlags
Outputs: oResultsXML, aReportInfo(N_STATUS_REPORT), sErrDescription
CreateNewJob aConnectionInfo, oRepServer, aReportInfo, sErrDescription
Purpose: Create a new job
Inputs: aConnectionInfo, oRepServer, aReportInfo
Outputs: aReportInfo(S_MSG_ID_REPORT), sErrDescription
CreateReport aConnectionInfo, oSession, aReportInfo, sErrDescription
Purpose: Create a Castor Web Report
Inputs: aConnectionInfo, oSession, aReportInfo
Outputs: aReportInfo, sErrDescription
DisplayGraph aConnectionInfo, aReportInfo
Purpose: Show the report in graph mode
Inputs: aConnectionInfo, aReportInfo
Outputs: sGraph
RefreshDocCuLib.asp 135
ARCHITECTURE
DisplayIncrementalFetchOnColumnsLeftPart
aConnectionInfo, aReportInfo
Purpose: Display incremental fetch links for the columns in the left side
Inputs: aConnectionInfo, aReportInfo
Outputs: sArrows
DisplayIncrementalFetchOnColumnsRightPart
aConnectionInfo, aReportInfo
Purpose: Display incremental fetch links for the columns in the right side
Inputs: aConnectionInfo, aReportInfo
Outputs: sArrows
DisplayIncrementalFetchOnRows
aConnectionInfo, aReportInfo
Purpose: Display the incremental fetch links for the rows
Inputs: aConnectionInfo, aReportInfo)
Outputs: sArrows
DisplayMajorTypes oXMLRoot, aReportInfo, sProjectURL, sIPAddress, sErrDescription
Purpose: Display the major types for the graph
Inputs: oXMLRoot, aReportInfo, sProjectURL, sIPAddress
Outputs: sErrDescription
DisplayMinorTypes oXMLRoot, aReportInfo, sProjectURL, sIPAddress, sErrDescription
Purpose: Display the minor types for the graph
Inputs: oXMLRoot, aReportInfo, sProjectURL, sIPAddress
Outputs: HTML for minor types
DisplayNumberOfRowsAndColumns
aReportInfo Purpose: Show the number of rows and coulmns
Inputs: aReportInfo
Outputs: sData
DisplayReport aConnectionInfo, aReportInfo, oReportXML
Purpose: Display the report
Inputs: aConnectionInfo, aReportInfo, oReportXML
Outputs: Err.number
DisplayReportStyles aConnectionInfo, aReportInfo
Purpose: Show a pulldown which lists the available autostyles; have it automatically select the current style
Inputs: aConnectionInfo, aReportInfo
Outputs: Err.number
drillToolbarText sOptionValue Purpose: Get the drilling toolbar text
Inputs: sOptionValue
Outputs: drilling toolbar text
Function Parameters Comments
136 Chapter 3 Custom library
ARCHITECTURE
filterToolbarText sOptionValue Purpose: Get the filter toolbar text
Inputs: sOptionValue
Outputs: Filter toolbar text
GetColorFromCSSFile sIPAddress, sFileName, asDictionary, sErrDescription
Purpose: Get the colors from the CSS file
Inputs: sIPAddress, sFileName
Outputs: asDictionary, sErrDescription
GetGraphMaxRowCol oReportXML, aReportInfo Purpose: save graph max row and max column to cookie, so that grid can match it
Inputs: oReportXML
Outputs: aReportInfo
GetMajorTypesHTML oXML, sSelectedMajorType, iAvailableCharts, sURL
Purpose: Display the major types for the graph
Inputs: oXML, sSelectedMajorType, sAvailableCharts, sURL
Outputs: sMajorTypes
GetMinorTypesHTML oXML, sSelectedMajorType, sSelectedMinorType
Purpose: Display the minor types for the graph
Inputs: oXML, sSelectedMajorType, sSelectedMinorType
Outputs: sMinorTypes
GetReport aConnectionInfo, oSession, aReportInfo, oReportXML, sErrDescription
Purpose: Load the XML for a Castor Web Report
Inputs: aConnectionInfo, oSession, aReportInfo
Outputs: oReportXML, sErrDescription
GetXMLForGraphTypes oGraphTypesXML, sIPAddress, sErrDescription
Purpose: Display the major types for the graph
Inputs: sIPAddress
Outputs: oGraphTypesXML, sErrDescription, lErrNumber
GraphDataToolbarText sOptionValue Purpose: Get the Graph data toolbar text
Inputs: sOptionValue
Outputs: Graph data toolbar text
pivotToolbarText sOptionValue Purpose: Get the pivot toolbar text
Inputs: sOptionValue
Outputs: pivot toolbar text
Function Parameters Comments
ReportCuLib.asp 137
ARCHITECTURE
SaveAsCuLib.asp
ReceiveRequest aConnectionInfo, oRequest, aReportInfo
Purpose: Receive all the different parameters in the request object and store them in variables
Inputs: aConnectionInfo, oRequest
Outputs: aReportInfo, aConnectionInfo(S_PROJECT_URL_CONNECTION)
SelectURL aConnectionInfo, oRequest, aReportInfo
Purpose: Select a URL depending on lStatus (Error, Prompt, Not Ready)
Inputs: aConnectionInfo, oRequest, aReportInfo
Outputs: aReportinfo(S_REDIRECT_URL_REPORT), Err.number
SetFeaturesToShow aConnectionInfo, aReportInfo
Purpose: Turn on and off all the features in the report page
Inputs: aConnectionInfo, aReportInfo
Outputs: aReportInfo(N_FEATURES_REPORT)
Function Parameters Comments
CheckReportStatus oSession, aConnectionInfo, aSaveInfo, lResultFlags, sErrDescription
Purpose: Verify the status for the current report. If Ready, return the report XML
Inputs: oSession, aConnectionInfo, aSaveInfo, lResultFlags
Outputs: aSaveInfo(N_STATUS_SAVE), aSaveInfo(B_WAIT_SAVE). lErrNumber, sErrDescription
CreateNewFolder aConnectionInfo, oObjServer, aSaveInfo, sErrDescription
Purpose: Saves the new object to metadata
Inputs: aConnectionInfo, oObjServer, aSaveInfo
Outputs: sErrDescription
DisplayHiddenConnectionInfo
aConnectionInfo
DisplayHiddenReportInfo aSaveInfo
DisplaySaveAsPath aConnectionInfo, oXML, aSaveInfo, sRootFolderID, sRootFolderName, sURL
Function Parameters Comments
138 Chapter 3 Custom library
ARCHITECTURE
SaveNewReportCuLib.asp
DisplaySmallObjectBrowser oXML, aConnectionInfo, aSaveInfo, sURL
Purpose: Display the contents of the folder using the icon view mode
Inputs: oXML, aConnectionInfo, sFolderID, sURL
ReceiveRequest oRequest, aConnectionInfo, aSaveInfo, aObjectInfo, aFolderInfo
Purpose: gets all the attributes from the request object
Inputs: oRequest, aConnectionInfo, aSaveInfo, aObjectInfo, aFolderInfo
Outputs: err.number
SaveObject aConnectionInfo, oSession, aSaveInfo, sErrDescription
Purpose: Saves the new object to metadata
Inputs: aConnectionInfo, oSession, aSaveInfo
Outputs: sErrDescription
SelectSaveRoot aConnectionInfo, oObjServer, aSaveInfo, sErrDescription
SelectURL aConnectionInfo, oRequest, aSaveInfo
Purpose: Select the URL to redirect to.
Inputs: aConnectionInfo, oRequest, aSaveInfo
Outputs: aSaveInfo(S_REDIRECT_URL_SAVE)
Function Parameters Comments
ReExecuteReport aConnectionInfo, oSession, sReportID, sMsgID, sViewMode, sPage, sErrDescription
Purpose: ReExecute the report, give normal execution flag
Inputs: aConnectionInfo, oSession, sReportID, sMsgID, sViewMode
Outputs: sErrDescription
Function Parameters Comments
SaveNewReportCuLib.asp 139
ARCHITECTURE
SaveToInboxCuLib.asp
SearchCuLib.asp
Function Parameters Comments
ReceiveRequest oRequest, aSaveToInboxRequest, aConnectionInfo
Purpose: Get values from the request object
Inputs: oRequest
Outputs: aSaveToInboxRequest, aConnectionInfo(S_PROJECT_URL_CONNECTION), Err.number
SaveToInbox oSession, aConnectionInfo, aSaveToInboxRequest, sErrDescription
Purpose: Save the message in the user's History List
Inputs: oSession, aConnectionInfo, aSaveToInboxRequest
Outputs: sErrDescription, lErrNumber
Function Parameters Comments
DisplayIncrementalFetchOnObjects
lNumberOfObjects, lTotalObjectCount, sSearchID, sIPAddress
Purpose: Display Incremental Fetch On the objects returned by the search.
Inputs: lNumberOfObjects, lTotalObjectCount, sSearchID, sIPAddress
ReceiveSearchRequest oRequest, aSearchInfo Purpose: Gets all the attributes from the request object
Inputs: oRequest
Outputs: aSearchInfo
ShowSearchDetails aSearchInfo, sMyReportsID, sPublicReportsID, sFolderID, aConnectionInfo, oObjServer
Purpose: Displays the details of the criteria used for the search.
Inputs: aSearchInfo, sMyReportsID, sPublicReportsID, sFolderID, aConnectionInfo, oObjServer
SwitchSearchMode oRequest, aSearchInfo Purpose: adds a search id argument to the request, replaces the previous one, if any, and switch the current search mode in the url.
Inputs: oRequest, aSearchInfo
140 Chapter 3 Custom library
ARCHITECTURE
ShowErrorsCuLib.asp
UnableToExportCuLib.asp
UserOptionsCuLib.asp
RetrieveResults aConnectionInfo, oObjServer, sSearchInfo, oSearchResultsXML, sErrDescription
Purpose: retrieve the search results
Inputs: aConnectionInfo, oObjServer, sSearchInfo Outputs: oSearchResultsXML, sErrDescription
Function Parameters Comments
isValidDate iDay, iMonth, iYear Purpose: Validate a date
Inputs: iDay, iMonth, iYear
Outputs: isValidDate
RecieveShowErrorsRequest
oRequest, sSort, sWarn, sErr, sMessage, iFirstIndex, iLastIndex, sDay, sMonth, sYear, bReturn)
Function Parameters Comments
ReceiveRequest oRequest, aObjectInfo, aFolderInfo, bPlaintextOK
Purpose: Receive the request object
Inputs: oRequest, aObjectInfo, aFolderInfo
Function Parameters Comments
DeleteOptions sProject, nScope Purpose: Delete the options stored in cookies
Inputs: sProject, nScope
Function Parameters Comments
ShowErrorsCuLib.asp 141
ARCHITECTURE
WaitCuLib.asp
SaveUserOption aConnectionInfo, nOptionKey, bApplyToAll
Purpose: Save a particular user option to a cookie
Inputs: aConnectionInfo, nOptionKey, bApplyToAll
SetCurrentUserOptions aConnectionInfo, oRequest, asOptions, oSession
Purpose: Set the options that the user has selected
Inputs: aConnectionInfo, oRequest, oSession
Outputs: asOptions
SetOptionsSections oRequest, aConnectionInfo, asOptions, asSections, iSelectedSection
Purpose: Display the set of options that corresponds to the selection in the toolbar
Inputs: oRequest, aConnectionInfo, asOptions
Outputs: asSections, iSelectedSection
AppliesToAll i, asOptions, bApplyToAll Purpose: Even if the apply to all checkbox was checked, some function cannot apply to all projects. This function will return True for those options.
Inputs: i, asOptions
Outputs: True/False
ValidateStartPageOptions i, oRequest, asOptions Purpose: Validates the start page options
Inputs: i, oRequest, asOptions
Outputs: asOptions
Function Parameters Comments
ReceiveRequest oRequest, oSession, aConnectionInfo, aObjectInfo, aFolderInfo, aWaitRequest
Purpose: get the local varables values from the request
Inputs: oRequest
Outputs: aObjectInfo, aFolderInfo, aWaitRequest
Function Parameters Comments
142 Chapter 3 Custom library
ARCHITECTURE
WaitCuLib.asp 143
ARCHITECTURE
144 Chapter 3
S E C T I O N I
How do I...?
OW
D
H
O
I
Topics in this section include:
• How do I...?
145
HOW
DO
I
146 Section I How do I...?
C H A P T E R 1
Miscellaneous Tasks
H
OWDO
I
Start Object Browsing in different folders
6WHSV
�� Select User Options from the main toolbar.
�� Click More Options in the left toolbar.
�� Use the Default Start Page option to select the first page you want to display when you log into a specific project.
1RWHV
• You can use the dropdown list with a few common options such as Shared Reports, My Reports, Create Reports, History List and Home.
• You can also select the last report, document or folder you visited as your default start page.
Default to List View
6WHSV�
�� Locate the following two lines of code from the ReadOptionsCuLib.asp file in the CustomLib folder:
◊ Case ICON_VIEW_MODE_OPTION
◊ GetDefaultUserOption = CStr(1)
�� In the second line of code, select 2 (List View).
147
HOW
DO
I
Add a new option to the User Option page.
7LSV
If you choose to use a function call in the Web API that is currently not used, and you want to add options to the user pages you must change the following two files in the CustomLib folder:
• ReadOptionsCuLib.asp
• OptionsCuLib.asp
6WHSV
�� Change ReadOptionsCuLib.asp as follows:
◊ Increase the OPTIONS constant at the top of ReadOptionsCuLib.asp by the number of options you want to add.
�� Add your new options to the bottom of the list directly below, continuing the value pattern, ie "aa", "ab", ..., "az", "ba", etc.
�� Give your new options default values in GetDefaultUserOption by adding the follwoing two lines to the bottom of the function:
◊ Case MY_NEW_OPTION
◊ GetDefaultUserOption = CStr(xxx)
(MY_NEW_OPTION is the name of your option and xxx is the default value you want to assign it.)
�� In LoadUserOptionsKey, follow the pattern by adding the following line to the the function:
asOptionsKey(n) = MY_NEW_OPTION
(n is one number greater than the number in the line above it and MY_NEW_OPTION is the name of your option.)
�� Add your option to the end of the list at the top of OptionsCuLib.asp. as follows:
◊ Private Const MY_NEW_OPTION_NDX = n
(n is one greater than the value in the line above.)
�� Add your function name to one of the validation cases in ValidateRequest (validations vary according to whether they are based on integers, strings, radio buttons, and so on)
148 Chapter 1 Miscellaneous Tasks
HOW
DO
I
Notes:
• Your option should have a suffix different from that of the option in ReadOptionsCuLib.asp.
• ReadOptionsCuLib.asp has _OPTION suffixes; ReadOptionsCuLib.asp has _NDX suffixes.
Add a new paper size for print preview
6WHSV
�� Go to the PaperSizes.xml file.
�� Add a new element in the XML code:
◊ enter for the desc attribute any text that is valid for XML (if you do not provide a value for the desc_id attribute, this information is going to be displayed as the name of the new paper size.
◊ provide as the key, separated by commas, the paper size, and the width and height of the paper in pixels, in the specified the specified order.
Note: If you do not have a descriptor for this paper size, leave the desc_id attribute in blank. See how to add a new descriptor if you have already one.
�� replace XXX in the name of the image (PaperXXXLandscape.gif) with the name of the paper size given in the key XML attribute.
Add a new paper size for print preview 149
HOW
DO
I
Notes:
• Image file dimensions must correspond with the ones specified in the key attribute of the XML.
• Images must be white, with a 1-pixel black upper border and a 1-pixel black left border. Use the image files provided with the product as a reference.
Create headers and footersFor print preview:
If you have Administrator privileges, you can add headers and footers as follows:
6WHSV
�� Create a new HTML file.
�� Add the file you have created in a specific location.
�� Change Project Defaults to retrieve the new files, setting the same location for the header and footer fields.
Note: It is important that the files be HTML, since the code treats them as such.
For general Graphic Interface use:
You must use the following two files for this purpose:
• GenericHeader.asp
• GenericFooter.asp
150 Chapter 1 Miscellaneous Tasks
HOW
DO
I
6WHSV
�� Enter in GenericHeader.asp the layout of the top section. This file is structured as follows:
◊ an area for validation of input parameters (the page checks for the values stored in this variable and assigns default values if needed)
◊ a table with 2 rows, one with the product logo and the logout button, the second with the project tabs
◊ a table that includes the page name and the subtabs
�� GenericFooter.asp contains product copyright information and the MicroStrategy logo; you do not need to make any entries in it.
Customize the error page
Note:You must have Administrator privileges to perform this task.
6WHSV
�� Access the Projects Default page.
�� Enter in the Contact Information section the information you want displayed on the error page (this information appears when there is a message, originated by MicroStrategy Web 7,advicing the user to contact the System Administrator).
Note:To add HTML code information for the JobError.asp file, enter it before the <FORM> tag that holds the Back to parent folder button.
Customize the error page 151
HOW
DO
I
Disable the top menu when viewing a document?
6WHSV
�� Remove from Document.aspthe HTML line that includes GenericHeader.asp .
Customize the appearance of the prompt page
6WHSV
�� Customize the overall layout by modifying prompt.asp
�� Customize a single prompt (with a specific type and style) by modifying the corresponding XSL file.
Notes
• The Prompt page is composed of:
◊ genericHeader.asp (top)
◊ _toolbar_prompt.asp (left)
◊ prompt widget.
• The Prompt widget contains the report/document title bar, prompt index section, and each single prompt.
• Each prompt contains a title bar with a yellow background, a description on the left pane, and the real question on right pane.
7LS
If you want the element prompt shopping cart to have a larger listbox on the left, edit PromptElement_cart.xsl (directly under webserver virtual), as follows.
�� Find the line of code:
• <!-- available list -->
• <SELECT SIZE="10" MULTIPLE="1">
152 Chapter 1 Miscellaneous Tasks
HOW
DO
I
�� Change the SIZE attribute from 10 to 20.
Use required and optional prompts
1RWHV
• The display order of prompts in a report or document is determined by the report designer.
• The prompt title bar shows the index of the prompt, the required/optional property, and the prompt title.
• DisplayAllPromptsForJob( ) in PromptDisplayCuLib.asp (under CustomLib directory) has the following loop:
For Each oSinglePromptQuestionXML In oQuestionPIFs
...
lResult = DisplaySinglePromptForJob( ... )
...
Next
The following procedure yields the display of required prompts and then all the optional prompts:
Use required and optional prompts 153
HOW
DO
I
6WHSV
�� Use the following two loops:
• For Each oSinglePromptQuestionXML In oQuestionPIFs
....
If aPromptInfo(lPin, PROMPTINFO_REQUIRED) then
lResult = DisplaySinglePromptForJob( ... )
End If
...
Next
• For Each oSinglePromptQuestionXML In oQuestionPIFs
....
If not aPromptInfo(lPin, PROMPTINFO_REQUIRED) then
lResult = DisplaySinglePromptForJob( ... )
End If
...
Next
See default prompt answers
Notes
• The initial prompt answerXML is created by: CO_BuildShellForAllAnswers( ) function in PromptCoLib.asp.
• CO_BuildShellForAllAnswers( ) calls: CO_AddDefaultToSinglePromptAnswerXML( ) to add current, previous, or default answers to the answerXML.
154 Chapter 1 Miscellaneous Tasks
HOW
DO
I
6WHSV
�� To see the default answers (rather than the previous answer), comment outprevious-answer code (referred as variable oPaip) for the following functions:
• CO_AddDefaultToConstantPromptAnswerXML( )
• CO_AddDefaultToObjectPromptAnswerXML( )
• CO_AddDefaultToElementPromptAnswerXML( )
• CO_AddDefaultToExpressionPromptAnswerXML( )
Have additional validation for a prompt
Notes:
• ValidateAllPromptAnswers( ) in PromptValidateCuLib.asp calls validation code for each different type of prompt to check if the current user answer satisfies the required/optional property and the min/max restriction, as follows:
◊ ValidateConstantPromptAnswer( )
◊ ValidateObjectPromptAnswer( )
◊ ValidateElementPromptAnswer( )
◊ ValidateExpressionPromptAnswer( )
6WHSV
�� For additional prompt-type validation, modify the corresponding function (see example below).
Have additional validation for a prompt 155
HOW
DO
I
([DPSOH
To restrict the number of values typed in for IN operator to less than 10 in a qualification, you can add pseudo code as follows:
...If oROOTNode.getAttribute("et") = CStr(ND_ExpressionType_BranchQual) Then
For each oNode in oRootNode.selectNodes("./nd")
If not CheckINOperator(oNode) Then
Call CO_SetPromptError(oSinglePromptAnswerXML, ERR_TOOMANY_VALUES_IN_OPERATOR)
End If
Next
Else
If not CheckINOperator(oNode) Then
Call CO_SetPromptError(oSinglePromptAnswerXML, ERR_TOOMANY_VALUES_IN_OPERATOR)
End If
End If
...
Function CheckINOperator(oNode)
Dim bValid
bValid = True
sOP = oNode.selectSingleNode("./op").getAttribute("fnt")'you need to understand the structure of prompt XML
If sOP = CStr(OP_FunctionType_In) Then
If oNode.selectNodes("./nd").length>=10 Then
bValid = false
End If
End If
CheckINOperator = bValid
End Function
156 Chapter 1 Miscellaneous Tasks
HOW
DO
I
Add a new style to a project
6WHSV
�� On the Desktop, right-click the Project name,
�� Go to: Configure Project /Advanced tab /Modify Styles button /add button
�� Enter the new style name, XSL, description, and cart property in the Prompt Style Editor
�� Create the corresponding XSL file (remember to use the same naming conventions as the system-provided styles, so as to minimize the code change)
�� Customize ASP code to handle the HTMK components in the XSL file.
Add a new styleto a report
Note:ReportStyles.xml contains the information needed for every report style.
6WHSV
�� To add more styles, add a new element node.
Add a new style to a project 157
HOW
DO
I
7LSV�
There are four attributes as part of the element node:
• StyleName: the name of the report style; used for searching purposes.
• xsl: attribute that contains the name of the xsl file (if any) that parses the XML to display the report grid.
• css: file that contains the grid format, colors, and fonts.
• ASPStyle: provides report customization.
Notes:
• The report grid can be rendered using two different technologies ASP or XSL. The product supports the use of XSL, so developers can customize the report styles in an easy way. However, ASP offers a better performance and allows developers to do more complex routines. For this reason, it is recommended the use of this technology
• ASPStyleit can be either TABLE or BANDING, iondicating whether he API should bring back a report with or without the row headers repeated.
• If you use XSL, ASPStyle should be an empty string.
158 Chapter 1 Miscellaneous Tasks
HOW
DO
I
7LSV
• The following four attributes are needed within the display node:
◊ key: Should contain a combination of either ASPStyle,css (key="TABLE,MyCSSFile.css" or key="BANDING,MyCSSFile.css") or xsl,css (key="MyXSLFile.xsl,MyCSSFile.css")
◊ desc: The description you want to show in the Report Style combo.
◊ desc_id: In case you want to have the description in all the different languages the product supports, you will need to use this attribute. (the descriptor number should be inserted in this attribute; for example, desc_id="125")
◊ selected: Add the "selected" attribute. Example: selected=""
• The following is an example of an XSL node:
<element styleName="Classic" xsl="MyXSLFile.xsl" css="Classic.css" ASPStyle="" >
<display key="MyXSLFile.xsl,Classic.css" desc="Classic" desc_id="125" selected="" />
</element>
Note:There is no XSL provided for this purpose; you must write this code yourself.
• The following is an example of an ASP node::
<element styleName="Classic" xsl="" css="Classic.css" ASPStyle="TABLE" >
<display key="TABLE,Classic.css" desc="Classic" desc_id="125" selected="" />
</element>
Disable the wait pageThe following two settings control the number of milliseconds the application waits before showing the wait page:
• lExecCycleSynchTime: This setting indicates the number of milliseconds that the ASP page waits before showing the wait page.
Disable the wait page 159
HOW
DO
I
• lExecCycleSleepTime: This setting indicates the number of milliseconds the page waits before polling again for the result of an API call.
Note:By default, lExecCycleSynchTime = 500 and lExecCycleSleepTime = 100 (milliseconds).
To change this setting complete the following:
6WHS
Add the following keys in the registry:
\HKEY_LOCAL_MACHINE\SOFTWARE\MicroStrategy\DSS Web\7.00.0000\ExecCycleSleepTime
\HKEY_LOCAL_MACHINE\SOFTWARE\MicroStrategy\DSS Web\7.00.0000\ExecCycleSynchTime
1RWHV
• Remember lExecCycleSynchTime must be greater than lExecCycleSleepTime.
• If lExecCycleSynchTime contains a very high value, the wait page will not show up.
• By changing this setting the ASP pages might reach a time out.
• By default, an ASP request times out after 90 secs. You can configure this setting using IIS.
Perform multiple report manipulations
6WHS
Add more units to the delta XML.
([DPSOH
160 Chapter 1 Miscellaneous Tasks
HOW
DO
I
If you want to execute two pivot operations at the same time, then you could include two "pu" (pivot unit) nodes as part of the view settings, as follows:
<vss>
<vpr vdx="""">
<dlt>
<td>
<pu fa="1" fps="1" ta="2" tps="1" />
<pu fa="1" fps="2" ta="2" tps="2" />
</td>
</dlt>
</vpr>
</vss>
1RWH
The view settings XML should look as follows:
<vss>
<vpr vdx="""">
<dlt>
<td>
<pu fa="" fps="" ta="" tps="" />'pivot
<sce fa="" fps="" o="" />'page by
<ssc dpt="" o="" asc=" />'sort
</td>
</dlt>
<gpp gh="" gw="" gat="" git="" />
<gdp gds=""" />
</vpr>
</vss>
Perform multiple report manipulations 161
HOW
DO
I
Retrieve a fresh report instead of a cached report
6WHS
Use the DssXmlExecutionFresh flag when executing the report or document. Do not use any of the following cache flags:
• DssXmlExecutionUseCache
• DssXmlExecutionUseWebCacheOnly
• DssXmlExecutionCheckWebCache.
162 Chapter 1 Miscellaneous Tasks
Appendices
APPENDICES
Topics in this section include:
• XML structure
• Report XML customization
163
APPENDICES
164 Appendices
APPENDICES
Appendix A: XML structure
AdminOptions XML
AdminOptions XML
Node Name Meaning Attributes
ADMIN_OPTIONS Root node for AdminOptions XML
None
ADMIN_OPTION Set of default preferences either for an specific project or all the available Microstrategy Projects
SERVER: Microstartegy Intelligence Server where the project resides
PROJECT: Microstrategy project
AA Grid style None.
AB Default grid style None.
AC Maximum number of rows per page.
None.
PROJECT SERVERAA
CY
ADMIN_OPTIONS
ADMIN_OPTION
165
APPENDICES
AD Maximum number of columns per page.
None.
AE Locale None.
AF Export format None.
AG User print preview header
None.
AH User print preview footer
None.
AI Rows in print preview mode
None.
AJ Columns in print preview mode
None.
AK Maximum rows in print preview mode
None.
AL Maximum columns in print preview mode
None.
AM Start Page None.
AN Cancel pending jobs on logout
None.
AO Delete read jobs on logout
None.
AP Allow save password feature
None.
AQ Allow guest sign in None.
AR Reserved None.
AS Reserved None.
AT Reserved None.
AU Graph sizing option None.
Node Name Meaning Attributes
166 Appendices
APPENDICES
AV Graph height None.
AW Graph width None.
AX Reserved None.
AY Export in new window
None.
AZ Page numbering style
None.
BA Reserved None.
BB Default print preview header
None.
BC Default print preview footer
None.
BD Maximum columns on export
None.
BE CSS support for print preview
None.
BF CSS support for reports
None.
BG Maximum formatted rows on export
None.
BH Maximum non-formated rows on export
None.
BI Allow NT Authentication sign in
None.
BJ Drill mode None.
BK Pivot mode None.
BL Filter details mode None.
Node Name Meaning Attributes
Appendix A 167
APPENDICES
BM Inbox last sorted column
None.
BN Prompt for canceling jobs on logout
None.
BO Prompt for deleting jobs on logout
None.
BP Use security plug-in None.
BQ Security plug-in class
None.
BR Reserved None.
BS Prompt options on print
None.
BT Prompt options on export
None.
BU Reserved None.
BV Reserved None.
BW Reserved None.
BX Filter details position None.
BY Print filter details None.
BZ Export filter details None.
CA Prompts block count (element)
None.
CB Export section None.
CC Show data option None.
CD Show toolbar section None.
CE Show help section None.
CF Wait page refresh time
None.
Node Name Meaning Attributes
168 Appendices
APPENDICES
CG Delete jobs on logout (default)
None.
CH Prompts block count (object)
None.
CI Forms post method None.
CJ Default start object None.
CK Cancel jobs on logout (default)
None.
CL Folder view style None.
CM Maximum search size
None.
CN Search time out None.
CO Start object name None.
CP Maximum project name size
None.
CQ Project alias None.
CR Maximum number of project tabs
None.
CS Show tab options None.
CT Add to History List option
None.
CU Reserved None.
CV Paper orientation None.
CW Paper size None.
CX Administrator contact information
None.
CY Reserved None.
CZ Start page option None.
Node Name Meaning Attributes
Appendix A 169
APPENDICES
DA Predefined start page
None.
DB Current start page name
None.
DC Current start page URL
None.
DD New start page name
None.
DE New start page URL None.
DF Actual start page URL
None.
DG Actual start page name
None.
DH Cancel jobs on logout Administrator prompt
None.
DI Delete jobs on logout Administrator prompt
None.
DJ Allow export method selection
None.
DK Allow DHTML option None.
DL Keep parent while drilling
None.
DM Export method None.
DN DHTML option None.
DO Working set size None.
DP Drill privilege None.
Node Name Meaning Attributes
170 Appendices
APPENDICES
Prompt Display XML
Constant Propmpt
Object Prompt
Node Name Meaning Attributes
PA Prompt Answer ISCUR: Flag for display XML
INFO Information message MSG: min/max message
STEP: step # and required or optional message
Info
PA(iscur=1)
Available SearchSelected
Prev
PA(iscur=1)
Info Increfetch
Curr NextCYFCT
F/AT/MT/... F/AT/MT/...
Appendix A 171
APPENDICES
Node Name Meaning Attributes
PA Prompt Answer ISCUR: Flag for display XML
SELECTED Selected objects referenced in display XML
None.
AVAILABLE Available object referenced in the display XML including selected objects
availablecount: # of available objects in the current page.
SEARCH Search Contents detailing specifics of the search
Text: search pattern string
F/AT/MT/… Filter/Attribute/Metrics/…
RFD: Reference ID.
DID: DSS ID used be Server
TP: Flag for type
NOTSELECTED: flag for displaying highlight for items
FCT Folder contents CC: child count , the number of items
INFO Information message MSG: min/max message
STEP: step # and required or optional message
INCREFETCH Information for increment fetch
PIN: prompt index
PREV Information for displaying previous arrow button
LINK: block begin
Count: block count
TITLE: message for help
CURR Information for displaying current status of increment fetch
START: block begin
END: block end
TOTAL: total # of items
TITLE: message for help
NEXT Information for displaying next arrow button
LINK: block begin
Count: block count
TITLE: message for help
172 Appendices
APPENDICES
Element Prompt
Node Name Meaning Attributes
PA Prompt Answer ISCUR: Flag for display XML
SELECTED Selected objects referenced in display XML
None.
AVAILABLE Available object referenced in the display XML including selected objects
availablecount: # of available objects in the current page.
SEARCH Search Contents detailing specifics of the search
Text: search pattern string
ES Elements CC: child count , total number of items
PCC: partial child count
STE: starting element
BS: block size
Selected
FORMS
InfoForm Available Search Increfetch
CurrPrev NextES ES
AT E AT E
FV
PA(iscur=1)
Appendix A 173
APPENDICES
E Element EI: Element ID
EMT: Element Type
ART: The arity of an element (i.e., the number of ID base forms).
NOTSELECTED: flag for displaying highlight for items
ALLFV: display text for the item
ALLFV2: internal value for the item.
ALLBFI: internal value for browse form.
AT Attribute RFD: Reference ID.
INFO Information message MSG: min/max message
STEP: step # and required or optional message
INCREFETCH Information for increment fetch
PIN: prompt index
PREV Information for displaying previous arrow button
LINK: block begin
Count: block count
TITLE: message for help
CURR Information for displaying current status of increment fetch
START: block begin
END: block end
TOTAL: total # of items
TITLE: message for help
NEXT Information for displaying next arrow button
LINK: block begin
Count: block count
TITLE: message for help
Node Name Meaning Attributes
174 Appendices
APPENDICES
Attribute Qualification Prompt
Node Name Meaning Attributes
PA Prompt Answer ISCUR: Flag for display XML
SELECTED Selected objects referenced in display XML
textbox. Input string for textbox style
AVAILABLE Available object referenced in the display XML including selected objects
single: flag for single or multiple attributes.
RES type of the expression. None.
EXP Expressions OP: operator
Available RESSelected
Prev
PA(iscur=1)
Info Increfetch
Curr NextCurrentEXP
EXPITEM
AT FM
Appendix A 175
APPENDICES
EXPITEM Expression Item RES: type of the expression.
OP: operator
CST1: constant1
CST2: constant2
AT: attribute
FM: form
MT: metrics
RANK: flag for rank operator
PERC: flag for percentage operator
ITEMVALUE: internal value for the expression item
AT Attribute ATNAME: attribute name
ATDID: attribute ID
SEL: flag for selected
FM Form ATNAME: attribute name
ATDID: attribute ID
FMNAME: form name
FMDID: form ID
SEL: flag for selected
CURRENT Current operator information
OP: operator
RANK: flag for rank operator
PERC: flag for percentage operator
INFO Information message MSG: min/max message
STEP: step # and required or optional message
INCREFETCH Information for increment fetch
PIN: prompt index
PREV Information for displaying previous arrow button
LINK: block begin
Count: block count
TITLE: message for help
Node Name Meaning Attributes
176 Appendices
APPENDICES
Metrics Qualification Prompt
CURR Information for displaying current status of increment fetch
START: block begin
END: block end
TOTAL: total # of items
TITLE: message for help
NEXT Information for displaying next arrow button
LINK: block begin
Count: block count
TITLE: message for help
Node Name Meaning Attributes
PA Prompt Answer ISCUR: Flag for display XML
SELECTED Selected objects referenced in display XML
textbox. Input string for textbox style
AVAILABLE Available object referenced in the display XML including selected objects
single: flag for single or multiple metrics.
RES type of the expression. None.
EXP Expressions OP: operator
Node Name Meaning Attributes
Available RESSelected
Prev
PA(iscur=1)
Info Increfetch
Curr NextCurrentEXP
EXPITEM
FCT MT
EXPITEM
Appendix A 177
APPENDICES
EXPITEM Expression Item RES: type of the expression.
OP: operator
CST1: constant1
CST2: constant2
AT: attribute
FM: form
MT: metrics
RANK: flag for rank operator
PERC: flag for percentage operator
ITEMVALUE: internal value for the expression item
MT Metric RFD: Reference ID.
SEL: flag for selected
FCT Folder contents CC: child count , the number of items
CURRENT Current operator information
OP: operator
RANK: flag for rank operator
PERC: flag for percentage operator
INFO Information message MSG: min/max message
STEP: step # and required or optional message
INCREFETCH Information for increment fetch
PIN: prompt index
PREV Information for displaying previous arrow button
LINK: block begin
Count: block count
TITLE: message for help
CURR Information for displaying current status of increment fetch
START: block begin
END: block end
TOTAL: total # of items
TITLE: message for help
NEXT Information for displaying next arrow button
LINK: block begin
Count: block count
TITLE: message for help
Node Name Meaning Attributes
178 Appendices
APPENDICES
Hierarchy Prompt
Node Name Meaning Attributes
PA Prompt Answer ISCUR: Flag for display XML
SELECTED Selected objects referenced in display XML
PIN: Prompt Index
textbox. Input string for textbox style
AVAILABLE Available object referenced in the display XML including selected objects
single: flag for single or multiple attributes.
RES type of the expression. None.
DRILL Information for drill PIN: Prompt Index
DOWN Information for drill down
N: attribute name
DID: attribute ID
PA(iscur=1)
Selected
Prev
DrillInfo Available RES Increfetch
Curr NextElementsAttributesCurrentEXPDownUp
AT AT EXPITEM AT ES
FORM AT E
FV
Appendix A 179
APPENDICES
UP Information for drill up N: attribute name
DID: attribute ID
SEARCH Search Contents detailing specifics of the search
Text: search pattern string
EXP Expressions OP: operator
EXPITEM Expression Item RES: type of the expression.
OP: operator
CST1: constant1
CST2: constant2
AT: attribute
FM: form
MT: metrics
RANK: flag for rank operator
PERC: flag for percentage operator
ITEMVALUE: internal value for the expression item
AT Attribute N: attribute name
DID: attribute ID
SEL: flag for selected
IEP: flag for entry point
RFD: Reference ID.
ES Elements CC: child count , total number of items
PCC: partial child count
STE: starting element
BS: block size
Node Name Meaning Attributes
180 Appendices
APPENDICES
E Element EI: Element ID
EMT: Element Type
ART: The arity of an element (i.e., the number of ID base forms).
NOTSELECTED: flag for displaying highlight for items
ALLFV: display text for the item
ALLFV2: internal value for the item.
ALLBFI: internal value for browse form.
FV Form Value BFI: Base Form ID
FORM Form N: form name
DID: form ID
SEL: flag for selected
CURRENT Current operator information
OP: operator
RANK: flag for rank operator
PERC: flag for percentage operator
INFO Information message MSG: min/max message
STEP: step # and required or optional message
INCREFETCH Information for increment fetch
PIN: prompt index
PREV Information for displaying previous arrow button
LINK: block begin
Count: block count
TITLE: message for help
CURR Information for displaying current status of increment fetch
START: block begin
END: block end
TOTAL: total # of items
TITLE: message for help
NEXT Information for displaying next arrow button
LINK: block begin
Count: block count
TITLE: message for help
Node Name Meaning Attributes
Appendix A 181
APPENDICES
Questions XML
Questions XML
Node Name Meaning Attributes
MI Microstrategy Item. Start node for most MicroStrategy objects.
mxri: maximum reference identifier;
mnri: minimun reference identifier;
rfd: unique reference identifier
IN Information on objects referenced in the current MI.
NONE.
MI
RSL
IN
MI
OI(tp=10)
IN PIF
OI PA RES MIN MAX OR LOC PRS
... F SO AT DM MT SF SO PR
182 Appendices
APPENDICES
OI Object Information for a specific object.
Refer to MicroStrategy SDK Help
RSL The Resolution Object storing the answers to prompts
rfd: unique reference identifier
PIF Main information tag for prompt.
Refer to MicroStrategy SDK Help
MIN Minimum property of the prompt
NONE
MAX Maximum property of the prompt
NONE
PA It holds a possible answer for this prompt.
ia: current answer of the prompt;
isd: default answer of the prompt;
idl: derived answer(s) of the prompt;
il: listed answer(s) of the prompt;
ip: previous answer of the prompt
RES Restriction property of the prompt
NONE
OR Origin property of the prompt.
NONE
PRS A collection of properties
NONE
LOC It represents a location of a prompt. It records the DSS Object that contained the prompt, and an index number inside it.
did: Object ID;
ipm: is primary location of the prompt or not;
pin: index number of this prompt in its container;
tp: object type
F Information about a filter.
did: Object ID
rfd: unique reference identifier
Node Name Meaning Attributes
Appendix A 183
APPENDICES
SO Specify a search object.
rfd: unique reference identifier
AT Information about an attribute.
rfd: unique reference identifier
DM Reference to a dimension.
rfd: unique reference identifier
MT Information about an metric.
did: Object ID
rfd: unique reference identifier
SF Search_Folder: contains the result of a search
rfd: unique reference identifier
SO Search_Object: specifies a search
rfd: unique reference identifier
PR Information about a specific property
dt: type of this property;
n: name of the property;
pps: name of the property set that contains this property;
v: value of the property
Node Name Meaning Attributes
184 Appendices
APPENDICES
Answer XML
Answer XML
Constant Prompt
IN
MI
OI(tp=10)
IN
OI LOC
PIF(ia-1)
PA
MI
PA
Appendix A 185
APPENDICES
Object Prompt
Element Prompt
MI
PA
IN
OI
FCT
AT/MT/F/...
MI
PA
IN ES
EATOI
FV
186 Appendices
APPENDICES
Expression/Hierachial Prompt
Node Name Meaning Attributes
MI Microstrategy Item. Start node for most MicroStrategy objects.
mxri: maximum reference identifier;
mnri: minimun reference identifier;
rfd: unique reference identifier
IN Information on objects referenced in the current MI.
NONE.
OI Object Information for a specific object.
Refer to MicroStrategy SDK Help
PIF Main information tag for prompt.
Refer to MicroStrategy SDK Help
PA
EXP
ND
DMYND
OPND
AT/MT/CST/MI...
Appendix A 187
APPENDICES
PA It holds a possible answer for this prompt.
ia: current answer of the prompt;
isd: default answer of the prompt;
idl: derived answer(s) of the prompt;
il: listed answer(s) of the prompt;
ip: previous answer of the prompt
LOC It represents a location of a prompt. It records the DSS Object that contained the prompt, and an index number inside it.
did: Object ID;
ipm: is primary location of the prompt or not;
pin: index number of this prompt in its container;
tp: object type
AT Information about an attribute.
rfd: unique reference identifier
MT Information about an metric.
rfd: unique reference identifier
F Information about a filter.
rfd: unique reference identifier
ES A collection of element tags.
NONE
E A single element ei: unique element ID;
emt: element type;
art: arity of the element (i.e the number of id base forms)
FV Form value of the element.
bfi: base form id
EXP Main tag of an expression.
NONE
ND A node in the expression.
et: expression type;
nt: node type;
dmt: dimensionality_type
Node Name Meaning Attributes
188 Appendices
APPENDICES
DMY dimensionality value in an expression
cct: boolean property;
dmt: dimensionality type;
fr: boolean property
OP Represents a function fnt: enumeration constant
CST A constant data value ddt: data type
Node Name Meaning Attributes
Appendix A 189
APPENDICES
190 Appendices
APPENDICES
Appendix B: Report XML customization
IntroductionThis document describes the format of the report XML structure used to model report objects in MicroStrategy Web 7, as well as common customizations that could be done to render the XML data into different HTML. We assume that the reader has some basic knowledge with the MicroStrategy 7 objects and is also familiar with XML. In this document we use the term tag for an XML element in order to avoid confusion with elements of MicroStrategy 7 objects.
OrganizationThis document will break into the following sections to show the report instance XML structure in MicroStrategy Web 7:
• Overview: a list of all of the tags in the document; a diagram showing how they are organized into a tree.
• Tags: Detailed information for each tag
• Optional information: Options available to modify the content of the XML
• Blocks: How the XML is broken up into ‘blocks’ for use when a large object is divided into several smaller objects
• Example: A fragment of XML meeting the specification
To make this document both legible and useful practically, we give both the text description as well as the actual node name of XML tags and attributes when they are first mentioned. The names are in Courier New font with the actual XML node name in parenthesis following, like report_instance(rit).
Appendix B 191
APPENDICES
BlocksOne problem with XML documents is that the entire document may be too large to render quickly. Thus we introduce the concept of blocks. A document is divided into blocks, in a manner appropriate for the document. Each block is given an integer number, starting from one. When the user asks to object a document the user can specify a range of blocks that the user wants to see.
If the user asks for a range of blocks then the user is only given a partial document. Some parts of the document are always included, regardless of the block range, so that the document remains meaningful regardless of the chosen range of blocks.
Report InstanceA MicroStrategy Report Instance object is created whenever a report is executed. It contains all of the information associated with an execution action. This includes the objects used to define the report, the answers used for prompts in the reports, SQL generated to execute the report, the raw data returned from the RDMBS and one or more formatted views of the results.
The XML document representation of a report instance usually contains a subset of this information. One particular use is that it contains one (or more) views of the results of a report execution. In order to display these results it is not necessary to have access to the raw RDBMS, or indeed much else that is contained in the full report instance. Given the current limitations of web technologies to render HTML from XML, and given the requirement to reduce bandwidth, it is not advisable to convert the entire report instance into XML.
OverviewIn this Section we give an overview of the XML representation of a report instance. In the following section we will specify in detail the tags and attributes used to represent a report instance.
192 Appendices
APPENDICES
The report_instance XML adheres to the XML Guidelines specification. For a complete discussion, see that document. Briefly, an XML document is made up of a parent tag, msi_document(md), and at least one msi_item(mi) tag. A msi_item is made up of an information, ancestors, dependants, and instance specific tags. The information(in) tag contains information (mostly about display styles) that we need to normalize out of the grid in order to keep the XML relatively short. It also contains MicroStrategy IDs and other information about objects that appear inside the report instance. This information is used to relate the report instance to other MicroStrategy Objects in the project. For a report instance, the report_instance tag is the instance specific tag.
A report_instance tag could contain an entire report instance. However we expect complete report instances to be fairly unusual since they contain a large amount of redundant information.
msi_item(mi)
msi_document
information(in) report_instance(rit)
folder(fd)
viewtemplate
(tm)resolution
(rsl)sqls
(sqls)filter (f)
original_report_definition (ord)
report_definition(rd)
msi_item(mi)
msi_item(mi)
msi_item(mi)
msi_item(mi)
ancestors(a)Folder_contents
(fct)
msi_item(mi)
msi_item(mi)
sql(sql)
report_instance (rit)
Appendix B 193
APPENDICES
At the top of a report_instance(rit) we find the major objects of the report. All of these objects are optional. A report_definition tag is used to identify the report as a whole. An orginal_report_definition(ord) tag is used to identify the original report definition for a report contains prompts or for a drill instance. If only appears when the original report definition is not the same as the current report definition. A folder tag is optional and it only presents when the DssReportXmlResultFolder flag is set. It gives the folder path and the folder contents of the original report definition. A resolution(rsl) tag used to store the answers used for prompts that appear in the report, or (before the prompts are answered) to store information about the potential answers to the prompts. A filter(f) tag is used to store the filter condition for the report. This may be displayed as 'filter details'. In theory we could put a data template here as well, but this is unlikely to be needed. We also find one of more view(vw) tags.
A view tag contains a single view of the data. It will (usually) contain a template, which defines the view. By a view we mean a set of template units organized into axes, along with subtotals and sorts. It may also have one or more representations of the view. For the time being the only representation we support in XML are a grid and an graph reference. The grid tag contains the grid of data that we want to display, and the graph reference contains the image file name for a graph.
graph(grh) view setting(vws) grid(gr)
view(vw)
194 Appendices
APPENDICES
We divide the grid itself into several parts. Each of these parts represents a particular part of the grid. Because of the necessity of being able to quickly render a grid, we have to organize the XML in the same set of cells that we want to appear in the table, and each part needs to go left to right through the cells. We have the following main tags: -
• layout: Lists the template units on each axis. Each ëunití actually represents a separate cell. They do not precisely correspond to the template units in the template.
• row_headers: This tag contains a row tag for each row. A row is a list of header cells followed by value cells.
• column_headers: This tag contains rows of column headers.
• page_headers: This tag is organized in the same manner as the column_headers tag, but it contains information for the ëpageí axis instead.
The layout tag contains a list of titles for each of the three axes. These are organized in row_titles, column_titles and page_titles tags. Each tag contains a list of title tags. A title tag corresponds roughly to a template unit, in the sense that each template unit produces at least one title. However it is possible that a template unit can generate several rows of header cells When this happens the XML may contain a title that spans several rows of header cells, or may contain several titles. The choice depends on whether or not the report contains separate titles for each row of headers. The title will usually contain a refid attribute, to relate it back to an information node.
grid (gr)
layout (ly) column_headers (chs)
row_headers (rh)
page_headers (phs)
Appendix B 195
APPENDICES
Under each title, we list the collection of drill paths available from that title. We use a drill_path tag to represent each drill path. This tag contains information (name, description, etc.) that describes the drill path in a manner suitable to be shown to the user. It also contains a drill_action tag. This tag contains the information that describes the drill itself. When an application of the web API wants to perform a drill, it describes it using a drill_action. It may simply copy out the action from a drill path, or specify one of its own. We also have drill paths under the layout itself ñ these are paths that apply to the template as a whole.
As usual when a user asks to make a report instance, she can choose whether or not to include drill paths. We have three levels of drill path (called the importance of the path). The caller can select between no paths, high importance only, medium and high or all drill paths.
The column_headers tag is just a list of column_header tags. A column_header is a list of cells that head a column of data. The cells are listed along a row. Each cell is represented using an instance of the header tag. The column header is header by a title tag. The tag contains the same information as in the layout. It is needed to speed rendering of the grid.
layout (ly)
page_titles (pts)column_titles (cht)
title (t)
row_titles (rt)
title (t) title (t)
drill_path (dp)drill_path (dp)
drill_action (da) drill_action (da)
layout (ly)title (t)
196 Appendices
APPENDICES
A header object represents a single cell of the grid. These typically correspond to MicroStrategy Elements of the API. However in some cases we may decide that one MicroStrategy Element of the report should be split into two cells on the table (to represent multiple forms that donít make sense to go into a single cell). If this happens we will get two header tags. In the case of column headers, elements split in this way will appear as cells in extra header rows. For row elements the extra cells will appear in additional columns.
Each header usually has a refid attribute to relate it back to an information node. This node is used to describe the appearance of the cell. The header also has row_span and column_span attributes to record how many cells of the table the object spans.
We also need to handle the L-shaped cell that appears in consolidations and custom groups. This cell is used to represent an element that has its own data, but is also a parent of other elements of the same template unit. Since ëL-shapedí cells are hard to describe in HTML we propose to handle this feature by leaving the lower cell blank.
Each header needs to contain data. This data is held in a list of one or more form values. Each form_value may have an id (so we have the option of formatting forms in many different ways). The form will contain one value. The form will have an attribute (semantics) to indicate the semantics of the form. A form could hold a string, number, date, URL, image etc. We also have semantics to indicate that the header cell is empty.
column_header (ch)
title (t)
column_headers (chs)
header (h)
form_value (fv)
header (h)
Appendix B 197
APPENDICES
The row_headers tag is not held in the same way as the column_headers tag. This is because we need to represent the XML along each row. So a row_headers tag contains a list of row tags. Each row tag contains header tags (for headers of the rows) and metric_value, subtotal_value tags for the data that appears inside the grid. These nodes appear in order along each row.
When a header cell spans several rows then it is missed out of subsequent rows. The HTML table rendering code is able to fill in cells whose value was described from earlier in the table. The metric_value and subtotal_value tags never span more than one cell in the table.
The page_headers tag is structured in exactly the same manner as the column_headers tag. However we expect it to be rendered in a totally different manner, where each page_header is written into a combo box. We need to use an attribute to indicate the current element(s) of each unit.
BlocksA report instance document contains blocks. Each row (column) of the document (that is a row tag (column tag) in the document) is considered to be a block. They are assigned numbers in the order that they appear in the document.
Thus if a user asks to see blocks 50 to 99 in a report instance object, they will be given a document in which only rows (columns) 50 to 99 of the original document appear. This document will have all of the columns of the full document. All of the information part of the full document that is needed for the rows in the partial document will appear. It is acceptable for an implementation of a partial document to only differ from the full document by removing some of the row tags.
row (rw)
row_headers (rh)
metric_value (mv)header (h) subtotal_value (sv)
198 Appendices
APPENDICES
We support both row and column incremental fetch. In order to support incremental fetch, user needs to specify the start block index and the maximum number of blocks. Start block index starts from 1 and any non-positive value will be interpreted as 1. The maximum number of blocks is a positive number and any non-positive value will return all the rows (columns) of the result set. IDSSXMLContext interface provides four methods for row and column incremental fetch (StartRow, MaxRows, StartCol, and MaxCols)
Optional informationIn this Section we list setting that can be used to vary the amount of information that appears in an XML document of a report instance. For example a user may or may not be interested in seeing all of the properties of objects that appear in a report instance.
Unlike the use of blocks which actually exclude part of the contents of the report instance, (namely some of its rows) these settings change whether or not certain optional information is included in the document
Constant Name Meaning
DssReportXmlDefinition Include the defining objects of the report instance. This is the report definition, filter, template(s) and resolution object
DssReportXmlAppObjs Include all of the objects in the application objects table. (Some of these objects are only needed indirectly, and will not be included unless requested.)
DssReportXmlSQL Include the SQL generated (if any)
DssReportXmlData Include the XTab data (if any)
DssReportXmlID Include the ID part of referenced objects. This means the dss_id attributes, etc.
DssReportXmlDates Include the Dates part of referenced objects
Appendix B 199
APPENDICES
DssReportXmlBrowser Include the browser part of referenced objects. Note that if the object_info appears the name is always shown.
DssReportXmlDisplayProperties Include the properties part of referenced objects. Only those properties used to effect the display the results are included.
DssReportXmlProperties Include all properties of referenced objects. This setting takes precedence over the DssReportXmlDisplayProperties setting.
DssReportXmlTemplates Include all the templates in the report instance XML. We only include enough of the template to meet the needs of current web design.
DssReportXmlFilter Include the filter in the report instance XML.
DssReportXmlIndexElements Do we include depth and ordinal fields in header elements. These are not needed if the user does not want to manipulate the report.
DssReportXmlDrillHigh
DssReportXmlDrillMedium
DssReportXmlDrillLow
At most one of these three options can be used. They take up two bits. If none of them is used, the report instance does not contain any drill instances. If one is used, it specifies the importance level of drill paths to include. The lower the setting, the more drill paths there will be. There is never more than one path for each template unit at the high importance level.
DssReportXmlBandingStyle The report XML will be in the banding style, i.e., each row header will be repeated with width set to be 1.
DssReportXmlResultFolder It will return the folder structure for the original report definition.
Constant Name Meaning
200 Appendices
APPENDICES
tagsIn this section we list all of the tags that can appear in a report instance document. We describe the meaning of each tag, and list the attributes that the tag can have. We will not include those tags (msi_document, msi_item, information, object_info,ancestors,ancestor) that are covered in the XML Guidelines document. These tags have the same attributes in any document in which they appear.
DssReportXmlRelatedReports It will return the contents of the folder for the original report definition. (the flag DssReportXmlResultFolder should also be set)
Tag Name Tag Description Meaning
rit report_instance The root tag of a report instance document.
rd report_definition Introduces the report definition object that defines the report instance.
ord original_report_definition
Introduces the original report definition object. It is used for reports with prompt or drill instance
vw view Contains a view template (i.e. a formatted result set).
gr grid Introduces the part of a report instance that is laid out like the result grid.
Constant Name Meaning
Appendix B 201
APPENDICES
ly layout Lists the titles of header elements.
rt row_titles Lists the titles of row headers.
cts column_titles Lists the titles of column headers.
pts page_titles Lists the titles of page headers.
t title Contains a title of a header.
rh row_headers Introduces the list of rows in the report instance.
rw row A row in the report instance. A row contains row headers and the data in the body of the grid.
h header A header cell. Contains at least one form value.
fv form_value A value (text, number, date, URL, picture) etc that appears in a header cell.
mv metric_value An ordinary value in the body of a grid.
sv subtotal_value A value in the body of a grid that was calculated as part of a subtotal by the MicroStrategy Analytical Engine.
chs column_headers Introduces the list of rows of column headers.
ch column_header Introduces a row of column header cells.
phs page_headers Introduces the list of rows of page headers.
ph page_header Introduces a row of page header cells.
Tag Name Tag Description Meaning
202 Appendices
APPENDICES
report_instanceThe root tag of a report instance document.
$WWULEXWHV
• name = The name of the report definition object in the report instance
• message_id = The index to Inbox message attached to the reportinstance
• result_update_time = The latest time that the report result has been updated
dp drill_path Describes (for a user) a way to drill a report.
da drill_action Describes (for the report server) the way to drill a report.
f filter A MicroStrategy Object
tm Template A MicroStrategy Object
rsl Resolution A MicroStrategy Object
gpp Graph_properties Introduce properties for web graph report, including a image file reference to a report (view) graph representation, plus some setting from propertyset set by Agent and current settting, i.e. graph type, size, data range.
gdp Grid_properties Introduce properties for web grid reprot, including current data window, data range and grid style
vws View_setting Describe the current view properties for Web report
Tag Name Tag Description Meaning
Appendix B 203
APPENDICES
3DUHQW�WDJV
msi_item
&KLOG�WDJV
report_definition, view
report_definitionIntroduces the report definition object that defines the report instance.
$WWULEXWHV
None
3DUHQW�WDJV
report_instance
&KLOG�WDJV
object_info
original_repor_definitionIntroduces the original report definition object. The tag will only present when the object is not the same as the current report definition. It is used mainly for reports with prompt and drill instance so that we can find the original report definition.
$WWULEXWHV
None
3DUHQW�WDJV
report_instance
204 Appendices
APPENDICES
&KLOG�WDJV
object_info
viewContains a view template (i.e. a formatted result set).
A report instance uses a view to give a grid formatted in a manner that can be easily rendered to HTML. A report instance may contain more than one view. Each view has a template, used to identify the view.
$WWULEXWHV
None
3DUHQW�WDJV
report_instance
&KLOG�WDJV
object_info
gridIntroduces the part of a report instance that is laid out like the result grid.
$WWULEXWHV
• body_row_count = Number of rows for a complete body data.
• body_column_count = Number of columns for a complete body data.
• body_page_count = Number of pages for a complete body data.
• banding_style = Optional boolean property (0/1). ì1î indicates the grid is in the banding style while ì0î indicates itís in normal style. It the attribute is omitted, it defaults to the normal style.
3DUHQW�WDJV
view
Appendix B 205
APPENDICES
&KLOG�WDJV
layout, row_headers, column_headers, page_headers
layoutLists the titles of header elements.
$WWULEXWHV
None
3DUHQW�WDJV
grid
&KLOG�WDJV
row_titles, column_titles, page_titles, drill_path
row_titlesLists the titles of row headers.
$WWULEXWHV
• count = Number of row headers in the report instance.
• count_minus = Number of row headers, minus one, in the report instance1.
3DUHQW�WDJV
layout
&KLOG�WDJV
title
1. It is faster to load an XML document containing the redundant count_minus attribute than it is to use script to calculate the value
when the document is rendered.
206 Appendices
APPENDICES
column_titlesLists the titles of column headers.
$WWULEXWHV
• count = Number of column headers in the report instance.
• count_minus = Number of column headers, minus one, in the report instance.
3DUHQW�WDJV
layout
&KLOG�WDJV
title
page_titlesLists the titles of page headers.
$WWULEXWHV
• count = Number of page headers in the report instance.
• count_minus = Number of page headers, minus one, in the report instance.
3DUHQW�WDJV
layout
&KLOG�WDJV
title
titleContains a title of a header.
Appendix B 207
APPENDICES
For example if the ìCityî attribute appears in a report instance then there will be header tags for each city (ìNew Yorkî, ìNew Havenî etc.) that appears on the report instance. There will also be a single title tag introducing the row of headers. This tag will contain the string ìCityî.
If a report instance shows multiple forms of some attribute, and if the forms cannot easily be merged into a single cell then one template unit may have several titles. Each title will contain the name of the attribute, and the name of the form of the attribute that we want to display. For example, we might want ìCity Nameî and ìCity IDî to appear in different header cells.
$WWULEXWHV
• id = Local id number assigned to this object. This number is used to identify the object within the document. It is a small positive integer.
• span = Number of rows of header cells that will correspond to this title. Usually this is ë1í. If this title is a consolidation or a custom group it is possible that it corresponds to several rows of headers. This happens when the template unit has non-trivial depth; in other words the user wants to see a hierarchy of elements within the template unit.
• unit_index = The index value of the unit in the axis. Need this info for pivoting.
• type = The type of the unit, such as metrics, attribute, consolidation, customgroup and dimension.
◊ ì0î = attribute, if type is absent, it represents an attribute,
◊ ì1î = metrics,
◊ ì2î = consolidation,
◊ ì3î = customgroup,
◊ ì4î = dimension.
3DUHQW�WDJV
row_titles, column_titles, page_titles, column_header
&KLOG�WDJV
drill_path
208 Appendices
APPENDICES
row_headersIntroduces the list of rows in the report instance.
$WWULEXWHV
• count = Number of row headers in the complete report instance.
• partial_count = Number of row headers in this document. This number can differ from count if some rows are missing from the report instance because this is a partial document.
• partial_initial = The index number that the first row of this document would have if this document were the entire report instance.
3DUHQW�WDJV
grid
&KLOG�WDJV
row
rowA row in the report instance. A row contains row headers and the data in the body of the grid.
$WWULEXWHV
• ordinal = The index number of this row. The number starts from 1 and increases in the grid. This remains true even if the block method was used to make a partial report instance.
3DUHQW�WDJV
row_headers
&KLOG�WDJV
header, metric_value, subtotal_value
Appendix B 209
APPENDICES
headerA header cell. Contains at least one form value.
$WWULEXWHV
• column_span = The number of columns of the grid spanned by this header cell. Note that this attribute always refers to columns, regardless of whether the header appears on the row or column axis.
• id = Local id number assigned to this object. In general a header does not have an id of its own. For example all of the elements of an attribute are instances of the same MicroStrategy Object, whose id is recorded in the title for the header.. However in some cases (e.g. consolidation elements and subtotals) we do assign an id to a header element that is distinct from the ids of other headers in the same row.
• row_span = The number of rows of the grid spanned by this header cell. Note that this attribute always refers to rows, regardless of whether the header appears on the row or column axis.
• ordinal = The ordinal index number of this header cell.
• depth = The depth of this cell in its axis.
• sort_position = Number property, usually absent. If this is a bottom level cell (i.e. it has no children) in the column axis and if the rows are sorted by the data in this column, and if there are no complex sorts applied before this one, then it gives this cell's sort position. We also use this property on the first cell on a row header, if the sort is on the attribute form data in the column of headers under this one.
• sort_ascending = Boolean property (0/1). If this cell has a sort_position, then we also give it this attribute, to indicate the direction of the sort. If there is no sort position, then this attribute is not supplied.
• Current_element = Optional boolean property (0/1). ì1î indicates the cell is a current element. Only used for page axis.
• Total = Optional boolean property (0/1). ì1î indicates the cell is a subtotal.
3DUHQW�WDJV
row, column_header, page_header
210 Appendices
APPENDICES
&KLOG�WDJV
form_value
form_valueA value (text, number, date, URL, picture) etc that appears in a header cell.
The contents of this tag is the value itself.
$WWULEXWHV
• id = Local id number assigned to this object. In general a form_value does not have an id of its own. If it does have an id, then it will be that of a form tag. This gives us the option of applying special formatting to each form in a header cell.
semantics = The meaning of this form value. This implies, but is not the same as data type."1"= DateTime"2" = Number"3"= Text"4" = Picture"5" = URL
"6" = Email
"7" = HTMLTag
"8" = Date
"9" = Time.
3DUHQW�WDJV
header
&KLOG�WDJV
None
Appendix B 211
APPENDICES
metric_valueAn ordinary value in the body of a grid.
$WWULEXWHV
• cell_color = Optional integer value indicating the color of the cell. Default to be black..
3DUHQW�WDJV
row
&KLOG�WDJV
None
Subtotal_valueA value in the body of a grid that was calculated as part of a subtotal by the MicroStrategy Analytical Engine.
$WWULEXWHV
None
3DUHQW�WDJV
row
&KLOG�WDJV
None
column_headersIntroduces the list of rows of column headers.
212 Appendices
APPENDICES
$WWULEXWHV
• count = Number of column headers in the complete report instance. Since a partial report instance still contains all of the columns in the entire document, there is no need for a partial_count attribute.
• partial_count = Number of column headers in this document. This number can differ from count if some column are missing from the report instance because this is a partial document.
• partial_initial = The index number that the first column of this document would have if this document were the entire report instance.
3DUHQW�WDJV
grid
&KLOG�WDJV
column_header
column_headerIntroduces a row of column header cells.
$WWULEXWHV
None
3DUHQW�WDJV
column_headers
&KLOG�WDJV
title, header
page_headersIntroduces the list of rows of page headers.
Appendix B 213
APPENDICES
$WWULEXWHV
• count = Number of page headers in the complete report instance. Since a partial report instance still contains all of the pages in the entire document, there is no need for a partial_count attribute.
3DUHQW�WDJV
grid
&KLOG�WDJV
• current_metric_name
• page_header
current_metric_nameIndicate the current metric selection on page axis, if the metric exists
$WWULEXWHV
None
3DUHQW�WDJV
page_headers
&KLOG�WDJV
None
page_headerIntroduces a row of page header cells.
$WWULEXWHV
None
214 Appendices
APPENDICES
3DUHQW�WDJV
page_headers
&KLOG�WDJV
header
drill_pathA drill path represents a possible drill that could be performed on a report instance. It contains attributes used to provide a description that can be read by a person. The child tag drill_action contains attributes, and other tags that describe how to actually perform the drill.
$WWULEXWHV
• name = A (short) string used to identify this drill path.
• description = A (typically longer) string used to identify this drill path.
• set_name = A name string used to group drill paths into sets.
• importance = An enumeration constant. This is used to distinguish between low, medium and high level drills. The collection will never contain more than one high level drill.
• refid= A reference to an id Currenlty this optional attribute appears in a drill path only when we have a custom path created to specify the possible drill options under Metrics template unit. If there's a compound metric on the template whose simple metrics are not on the template alrady, we present a drill path for that metric, and specify which metrich that path belongs to through this attribute.
3DUHQW�WDJV
title, layout
&KLOG�WDJV
drill_action
Appendix B 215
APPENDICES
drill_actionA drill action describes how to perform a drill. It contains the information (along with the userís selection) needed by the report server to know how to transform a report when a user drills into it. See the ìUsage of drillingî document for details about the meanings of the attributes and child tags of this tag.
$WWULEXWHV
• drill_type = An enumeration that provides a major categorization for types of drill (up / down / across / to-template / etc.)
• keep_original = Boolean (present / absent). Whether or not the original template unit remains in a report. Defaults to not keeping the original.
• sort_change = An enumeration that describes how to handle sorts in the original report.
• inline = Boolean (present / absent). If present means that we attempt to inline the changes.
• depth = Depth used for a new template unit. Usually this attribute is not used.
• filter_metrics = Boolean (present / absent). When present, unselected metrics are removed.
• user_filter = Enumeration that describes how to handle the ëfilterí represented by the userís selection.
• report_filter = Enumeration that describes how to handle the filter used to make the original report.
• qualifier_change = Enumeration that describes how to handle metric qualifications in the original report.
• use_schema = Boolean (present / absent). Describes if a separate relationship should be used.
3DUHQW�WDJV
drill_path, drill_transformation
216 Appendices
APPENDICES
&KLOG�WDJV
• filter = Filter added to report to govern this drill action.
• attribute / dimension / custom_group / metric /
consolidation = Object used in new template unit added to report.
• template = New template, if this is a drill-to-template action.
• forms = Collection of forms (optional for drill-to-attribute).
• relationship = (Optional) Used to add a relationship node to the original filter.
view_setting
$WWULEXWHV
• View mode = indicating the current viewmode of the report instance. 1 ñ Grid, 2 ñ Graph, 3 ñ Grid+Graph
&KLOG�WDJV
• grid_properties = including data window, and grid style
• graph_properties = including data window, graph type, size, available graph types for the report instance.
grid_propertiesIntroduces the part of a viewsetting that is property of the grid representation of the report instance.
Appendix B 217
APPENDICES
$WWULEXWHV
• start_row = the index of the first row that will be diaplayed on the graph image, start with 1
• Start_col = the index of the first column that will be displayed on the graph image, start with 1
• max_row = maximum number of rows that will be displayed on the graph image
• max_col = maximum number of columns that will be displayed on the graph image
• total_row = total number of rows on the report
• total_col = total number of columns on the report
• grid_style = the style that will be applied on the grid report
graph_propertiesIntroduces the part of a viewsetting that is property of the graphic representation of the report instance.
218 Appendices
APPENDICES
$WWULEXWHV
• graph_start_row = the index of the first row that will be diaplayed on the graph image, start with 1
• graph_start_col = the index of the first column that will be displayed on the graph image, start with 1
• graph_max_row = maximum number of rows that will be displayed on the graph image
• graph_max_col = maximum number of columns that will be displayed on the graph image
• graph_height = height of the graph image
• graph_width = width of the graph image
• is_chart_available = indicate whether the graph mode will be available or not in the web
• graph_types_available = Bitwise value that tell us which graph type groups should be available in the web
• graph_major_type = the major type of graph image that should be generated.
• graph_minor_type = the minor type of graph image that should be generated.
3DUHQW�WDJV
View_setting
&KLOG�WDJV
None
sqlsThe SQL statement collection of the report instance. It will be included in the report instance only is DssReportXmlSQL is set.
$WWULEXWHV
• count = number of SQL statements
Appendix B 219
APPENDICES
3DUHQW�WDJV
Report_instance
&KLOG�WDJV
sql
sqlA SQL statement.
$WWULEXWHV
None
3DUHQW�WDJV
sqls
&KLOG�WDJV
None
ExampleHere is an example of a report instance represented as an XML document.
��PL�UIG ����PQUL ����P[UL ����!
��LQ!
��RL�LG ����Q �WRS����LWHP���GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������DE ���GHV ����!�
��RL�LG ����Q �&DVWRU�(QJLQH��QR�QHZ�UHSRUWV�SOV���GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS �������VWD �������������DE ���GHV ����!�
��RL�LG �����Q �LWHP�EDVLF�VDOHV��GLG ����%)&$���'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ������������DE ���GHV ����!�
220 Appendices
APPENDICES
��RL�LG �����Q �,WHP��GLG ����%)&����'��%$%&����)�)�&�%���)��WS �����VWS �������VWD �������������DE ���GHV ����!�
��RL�LG �����Q �EDVLF�VDOHV��GLG ����%)&'���'��%$%&����)�)�&�%���)��WS ����VWS �������VWD �������������DE ���GHV ����!�
���LQ!
<rit mid="33202B8011D42836C000B38F9671554F" rut="5/15/00 10:31:06 AM">
��UG�UIG ���!
��PL�UIG ����PQUL ����P[UL ���!
��LQ!
��RL�LG ����Q �WRS����LWHP���GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������PI �����!�
���LQ!
���PL!
���UG!
��IG�UIG ���!
��PL�UIG ����PQUL ����P[UL ����!
��LQ!
��RL�LG ����Q �&DVWRU�(QJLQH��QR�QHZ�UHSRUWV�SOV���GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS �������VWD �������������PI �����!�
��RL�LG ����Q �6KDUHG�5HSRUWV��GLG ����%)%(���'��%$%&����)�)�&�%���)��WS ����VWS �������VWD ��������������!�
��RL�LG ����Q �3XEOLF�2EMHFWV��GLG ����%)%&���'��%$%&����)�)�&�%���)��WS ����VWS �������VWD ��������������!�
��RL�LG ����Q �8SJUDGHG����������GLG ����%)%&���'��%$%&����)�)�&�%���)��WS ����VWS �������VWD ��������������!�
Appendix B 221
APPENDICES
��RL�LG ����Q �GWN��GLG ����%)'�$��'��%$%&����)�)�&�%���)��WS ����VWS �������VWD ��������������!�
��RL�LG ����Q �0DOD�5HSRUW��GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS �������VWD ��������������!�
��RL�LG ����Q ��'�VLPSOHVW��GLG ��%'���((��'�$��'&����)�)��&����)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �EHWZHHQ���DQG����GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �&RS\�RI�04�VLPSOH��GLG ��&����(���'�($�%$������(�&''&)&���WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �GULOOLQJ�RQ�WZR�DWWULEXWHV��GLG �&(����%���'����'&������(��'(���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �*XHVW�8VHU�7HVW��GLG ��%�$(�����'�))��&����$�(��'(���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �04�DQG�FRQWULEXWLRQ��GLG ����%)'�)��'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �04�DQG�25��GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �04�DQG�SHQHWUDWLRQ��GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �04�VLPSOH��GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �04�VLPSOH�JDSK���GLG ������$$���'�)�'&&���'�%��&�%���)��WS ����VWS ������VWD ��������������!�
222 Appendices
APPENDICES
��RL�LG �����Q �VLPSOH�FRQWULEXWLRQ��GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �VLPSOH�SHQHWUDWLRQ��GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �VLPSOHVW��GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �WRS����LWHP���GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
��RL�LG �����Q �WRS���IRU�UHJLRQ��GLG ����%)'����'��%$%&����)�)�&�%���)��WS ����VWS ������VWD ��������������!�
���LQ!
��DV!
��D!
��IG�UIG ���!8SJUDGHG����������IG!�
��D!
��IG�UIG ���!3XEOLF�2EMHFWV��IG!�
��D!
��IG�UIG ���!5HSRUWV��IG!�
��D!
��IG�UIG ���!&DVWRU�(QJLQH��QR�QHZ�UHSRUWV�SOV���IG!�
���D!
���D!
���D!
���D!
���DV!
��IFW�IFQ ����FF �����VWR ����SIF ����SFF ����!
Appendix B 223
APPENDICES
��IG�UIG ���!GWN��IG!�
��IG�UIG ���!0DOD�5HSRUW��IG!�
��UG�UIG ���!�'�VLPSOHVW��UG!�
��UG�UIG ����!EHWZHHQ���DQG����UG!�
��UG�UIG ����!&RS\�RI�04�VLPSOH��UG!�
��UG�UIG ����!GULOOLQJ�RQ�WZR�DWWULEXWHV��UG!�
��UG�UIG ����!*XHVW�8VHU�7HVW��UG!�
��UG�UIG ����!04�DQG�FRQWULEXWLRQ��UG!�
��UG�UIG ����!04�DQG�25��UG!�
��UG�UIG ����!04�DQG�SHQHWUDWLRQ��UG!�
��UG�UIG ����!04�VLPSOH��UG!�
��UG�UIG ����!04�VLPSOH�JDSK���UG!�
��UG�UIG ����!VLPSOH�FRQWULEXWLRQ��UG!�
��UG�UIG ����!VLPSOH�SHQHWUDWLRQ��UG!�
��UG�UIG ����!VLPSOHVW��UG!�
��UG�UIG ����!WRS����LWHP���UG!�
��UG�UIG ����!WRS���IRU�UHJLRQ��UG!�
���IFW!
���PL!
���IG!
��YZ�UIG ����!
��YZV�YP ���!
��JSS�LFD ������!�
��JGS�ZVU ����ZVF ����ZPU ����ZPF ����WU ����WF ����JGV ��&XVWRP����!�
���YZV!
��JU�EUF ����EFF ���!
��O\!
224 Appendices
APPENDICES
��UW�FQ ����FP ���!
��W�UIG �����VSQ ����XL ���!,WHP��W!�
���UW!
��FWV�FQ ����FP ���!
��W�WS ����VSQ ����XL ���!0HWULFV��W!�
���FWV!
��SWV��!�
���O\!
��UK�FQ ����SL ����SF ���!
��UZ�R ���!
��K�UIG �����UV ����FVS ����GSW ����R ���!
��IY�VP ���!6KLUWV��IY!�
���K!
��K�UIG �����UV ����FVS ����GSW ����R ���!
��IY�VP ���!)RUPDO�6KLUW��IY!�
���K!
��PY!�����������PY!�
���UZ!
��UZ�R ���!
��K�UIG �����UV ����FVS ����GSW ����R ���!
��IY�VP ���!6ODFNV��IY!�
���K!
��K�UIG �����UV ����FVS ����GSW ����R ���!
��IY�VP ���!&RUGXUR\��IY!�
���K!
��PY!���������PY!�
���UZ!
��UZ�R ���!
Appendix B 225
APPENDICES
��K�UIG �����UV ����FVS ����GSW ����R ���!
��IY�VP ���!%DVNHWEDOO��IY!�
���K!
��K�UIG �����UV ����FVS ����GSW ����R ���!
��IY�VP ���!$LU-RUGDQV��IY!�
���K!
��PY!�����������PY!�
���UZ!
���UK!
��FKV�FQ ����SL ����SF ���!
��FK!
��W�WS ����VSQ ����XL ���!0HWULFV��W!�
��K�UIG �����UV ����FVS ����GSW ����R ���!
��IY�VP ���!EDVLF�VDOHV��IY!�
���K!
���FK!
���FKV!
��SKV��!�
���JU!
��SUV�WS �3URSHUW\6HW��Q �:HE3URSHUWLHV��LG �#36�:HE3URSHUWLHV�!
��SU�WS �VWULQJ��Q �:HE*ULG3URSHUWLHV��GIW ����!�
��SU�WS �VWULQJ��Q �:HE*ULG$XWR6W\OH��GIW ����!�
��SU�WS �VWULQJ��Q �*ULG6RUW,QIR��GIW ����!�
��SU�WS �VWULQJ��Q �5HSRUW6RXUFH3DJH��GIW �IROGHU���!�
��SU�WS �VWULQJ��Q �5HSRUW6W\OH��GIW ����!�
��SU�WS �VWULQJ��Q �'ULOOLQJ2SWLRQV��GIW �����!�
��SU�WS �VWULQJ��Q �'ULOOLQJ(QDEOH5HSRUW'ULOOLQJ��GIW ������!�
226 Appendices
APPENDICES
��SU�WS �VWULQJ��Q �'ULOOLQJ.HHS3DUHQW��GIW ������!�
���SUV!
���YZ!
���ULW!
�LP�PLG ������%����'�����&���%��)�������)��PVQ ����PVJW �WRS����LWHP���IGQ �&DVWRU�(QJLQH��QR�QHZ�UHSRUWV�SOV���SQ �8SJUDGHG����������RFUW �$GPLQLVWUDWRU��RGHV ���PW\ ����PVW ����FOW ����PVJFW ������������������$0��PVJPW ������������������$0��VWW ������������������$0��IW ������������������$0��UWS ����UVW ����RLG ����%)'����'��%$%&����)�)�&�%���)��SPLG �����������������������������������IGLG ����%)'����'��%$%&����)�)�&�%���)��SJG ����%)')(��'��%$%&����)�)�&�%���)��UHVI �����������VWLG ����OHQ ����UIG ���VUL ��!8VHU�UHTXHVW�LV�FRPSOHWHG�VXFFHVVIXOO\��LP!�
��PL!
Appendix B 227
APPENDICES
228 Appendices
top related