Intellicus Enterprise Reporting and Business Insights 19.1

REReqLib

0 views September 22, 2020 0

The Basics

The REReqLib.Dll contains common data structures which are commonly used by the Desktop Studio, CVista and CVistaparam. By this means it has reduced code redundancy.

ISystemParameters

This is the one of the category of parameters that has to be passed on to the user. These parameters are always present and govern the basic behaviour of report execution. E.g. which format has to be generated upon execution; whether the report has to be printed, saved or viewed; if printed then which printer to use and so on. As before, the user cannot add any new parameters but can only query the existing value or modify it.

One important note about the System parameters is that it uses an enum defined in the ReCOMCLient type library, called SYSTEM_CONSTANTS. This enum contains a list of many constants in use by System Parameters functionality. Not all constants qualify to be used as parameter names though.

Following APIs and properties are supported by ISystemParameters:

ParamNames

This get property returns a list of all parameter names as strings. I.e. it returns the list as an array of VARIANTS. Remember that the names sent here are strings, and the argument ParamName taken by PutValue method should essentially be one of the constants declared in SYSTEM_CONSTANTS. This is a slight discrepancy which will l have to be removed in the near future.

Value(long eParamName)

This get property returns the current value of the specified parameter. Remember that the argument has to be a constant belonging to the SYSTEM_CONSTANTS enum. However, also remember that all the constants in that enum are not valid parameter names. If the numeric constant specified is found to be invalid, then an exception is thrown.
Also remember, that unlike UserParameters, SortParameters, FilterParameters, a value picked from the list returned by ‘ParamNames’ will not do since ParamNames returns strings and this function takes a numeric constant. This inconsistency will be removed ASAP.

PutValue(long eParamName, BSTR bstrValue)

This method specifies the new value for a particular parameter. The parameter name has to a valid Numeric constant, if not, then an exception will be thrown. The bstrValue should be a ready to insert string. Read the paragraph above to know more about ParamConstant.

String (long eParamName)

This get property takes a valid numeric constant as a parameter. This parameter is mapped to a corresponding string and that string is then returned as a VARIANT. E.g. suppose the numeric Constant you passed was : SYSTEM_PARAM_OPERATION_TYPE then the string that you get might be : “OPERATION TYPE”. If the numeric constant passed is not correctly mapped to any corresponding string, an exception is thrown.

PrinterNames

This get property returns a list of all printer names available at the server. Any of the string can be directly used as a value for the parameter SYS_PARAMS_PRINTER_NAME.

DefaultPrinter

This get property returns a single string and this specifies the name of the server’s default printer. 

Exists (VARIANT *Number)

This get property takes a numeric constant as a parameter and verifies whether it is one of the valid System Parameter numeric constants. I.e. if it can be used to specify a system parameter. It returns a Boolean answer as a VARIANT.

GetXML

This API returns the system parameters XML.

PopulateServerPrinterList (VARIANT *varpNodeList)

This API populates the Server printer list. It takes XML DOM node pointer as input.

UpdateSystemParameters(ISystemParameters *pSysParams)

This API is deprecated.

GetParameterIndex( BSTR bstrParameterName)

This API returns the enum corresponding to parameter name. Parameter name is specified by the input parameter bstrParameterName.

IUserParameters

This is the one of the categories of parameters that have to be sent along with the execution request. By far, it is also the most complicated. These are parameters, which are dependent on the report. I.e. these parameters are specific to the report that the end-user has chosen for execution.

The object UserParameters is basically an aggregation of UserParameter objects.

This interface also provides necessary interfaces to iterate IUserParameter objects.

Following APIs and properties are supported by IUserParameters:

ParamNames

This get property, like all its counterparts in other interfaces, returns a list of valid parameter names (a safearray as a VARIANT). Any name from this list can be used to retrieve or set the value of that particular parameter.

UserParameter (VARIANT *paramName)

This get/set property returns/sets an object of the type IUserParameter. It takes a parameter name as an argument, i.e. it returns the UserParameter object corresponding to that particular parameter name. If the parameter name is not found then an exception is thrown. For details, see IUserParameter class section.

Add(IUserParameter* ptrParam, BSTR key)

This API adds a userparameter to the userparameters Collection. It takes Userparameter and key as input parameter. Key is not used but it is reserved for future use.

GetGroupedParameters(IUserParameters **pMandatoryParams,IUserParameters **pOptionalParams)

This API seperates the UserParameters Collections into two userParameters collections which are Mandatory and optional.

GetXML(BSTR *pbstrXMLString)

This API returns the UserParameters XML.

IsParametersUpdated()

This API Checks whether the values for the Parmeters collection are updated or not.

IsParametersVisible()

This API returns Weather any parameter in the parameters collection is Visible or not.

LoadXML(BSTR bstrXMLString,long eParamSource)

This API loads the userparameters XML and populates Userparameters collection.

Remove(long Index)

This API removes the userparameter from the specified index passed as input parameter.

UpdateUserParameters(IUserParameters *pUserParams)

This API Updates the UserParamters Collections with the help of UserParameters Collection passed as input Paramter to this API.

NewEnum

This property identifies an object as supporting iteration through the IEnumVARIANT interface.

Item

This property returns the IUserParameter object from specified index.  For details, see IUserParameter class section.

Count

This property returns the total number of IUserParameter objects in its collection.

IUserParameter

This interface maintains detailed information about a particular user parameter object. Although, the parameter finally evaluates to just one ‘value’, some display related information is needed for the parameter, which is what this object contains.

Following APIs and properties are supported by IUserParameter:

Name

This get/set property returns/sets the name of the parameter as a string (although not important, note that this name will be the same as the name that is used to get this user parameter object from UserParameters object).

FilterParameters

This is a get property which returns the FilterParameters object. For details, see IFilterParameters class section.

Format

Get/set property for format of input parameter.

IsParameterGrouped

This is a get bool property specifying if parameter is grouped or not.

IsRestrictToList

This is a get bool property specifying whether the user should be allowed to select a value from available values in a combo or should be allowed to key in a value that is not present in combo.

IsSearchEnabled

This is a get bool property specifying if the parameter is search parameter or not.

IsShadowParam

This is a get bool property specifying if the parameter contains shadow params.

IsTreeView

This is get bool property specifying if the parameter is of treeview type parameter or not.

ParameterGroups

This is a get property which returns the object of ParameterGroups. For details, see IParameterGroups class section.

TreeNode

This is a get property which returns TreeNode object which is used for treeview type parameter. For details, see ITreeNode class section.

UnCheckedValue

This is a get property which is used for Check box (Boolean type) parameter. If the value of UneckedValue matches with the default valur the check box parameter should be unchecked

GetEnclosedBy

This API returns the enclosedby string which is used to enclose the parameter value to separate it from other parameter values

GetSeperator

This API returns the separator

GetSQLStmt

This API returns the SQL statement contained by the userparameter

GetUpdatedValue

This API returns the updated value of the parameter

CheckedValue

This is a get property which is used for Check box (Boolean type) parameter. If the value of CheckedValue matches with the default valur the check box parameter should be checked

ComboType

This get/set property returns/sets the combo type.If the InputType property evaluates to IT_COMBO, then this property further specifies what type of combo box the parameter should be displayed with. I.e. this property returns an integer that should be compared against the constants declared in the enum ComboType. The ComboType is predefs by default, so make sure that you also check the value of InputType before reaching any conclusion about the type of input mechanism.

InputType ComboType Final Input Mechanism
IT_TEXT DON’T CARE Text Box
IT_COMBO CT_PREDEF Predefined Combo box
IT_COMBO CT_SQL Combo box populated through SQL query.
IT_OPTION CT_PREDEF Predefined RadioListBox
IT_OPTION CT_SQL RadioListBox populated through SQL query.
DataType

This get/set property returns/sets an integer as a VARIANT that specifies what the data type of the parameter is. The integer returned can be compared against an enum defined in the type library: DataType. This property can have one of the following values from enum DataType

  • DT_CHAR
  • DT_NUMBER
  • DT_DATE
  • DT_BOOL
DefaultValue

This get/set property returns/sets the default value of the parameter (if any) as a string.

InputType

This get/set property returns/sets a VARIANT containing an integer to ascertain the input type of the parameter e.g. text box or a combo box. This integer can be compared using constants declared in the enum InputType declared in type library. This property can have one of the following values from enum InputType

  • IT_TEXT
  • IT_COMBO
  • IT_OPTION
IsMandatory

This get/set property returns/sets a Boolean value which specifies whether the parameter is mandatory or not. The Boolean is returned inside a VARIANT.

IsVisible

This get/set property again, returns/sets a VARIANT containing a Boolean expression saying whether the parameter is initially visible or not.

Predefs

This get/set property returns/sets an object of type IPredefs, which contains a list of predefined values to populate the Combo box. This object is returned only if the InputType is IT_COMBO and the Combo Type is CT_PREDEF. If not, then an exception is thrown on using this property. For details, see IPredefs class section.

Prompt

This get/set property returns/sets the prompt string for the Parameter. (BSTR as a VARIANT).

Size

This get/set property returns/sets the size as an integer.

Value

This is a get/set property gets or sets the current value of the parameter. (BSTR as a VARIANT).

ValueColumn

This get/set property is available only if the user parameter is a SQL combo box. If yes, then this property returns/sets the name of the recordset column which is to be used to pick up the actual values from. It returns a string. (See next).

DisplayColumn

This get/set property is available only if the user parameter is a SQL combo box. If yes, then this property returns the name of the recordset column from which the values to display are taken.

The SQL combo box works in the following way: The combo box that is finally dislayed on the UI has a drop down menu. The menu contains strings, one of which the user will choose as the parameter value. However, these strings (the ones that are being displayed) can be mapped (one-to-one) to another list of parameters that are internally sent to the engine but are not displayed. Both the lists are lists are obtained in the form of a recordset containing two columns. Thus, the column of the recordset that contains the values to be displayed on UI is the DisplayColumn, and the column that contains the values which are actually to be sent internally is called the valueColumn. It is possible that both of these be the same if what is displayed is what is to be sent.

Combo_IsMultiselect

This get/set property sets or returns the bool value indicating whether combo type parameter is a multiselect type parameter (list box) or single select type parameter( combo box).

UpdateUserParameter

Updates the Value and default values for a parameter.

ShadowParamName

This get property returns the shadow param name.

ShadowParamValue

This put property sets the shadow param value.

IPredefs

This interface helps in maintaining a list of display string – Value pairs to be used for Combo boxes. Following APIs and properties are supported by IPredefs:

Keys

This get property returns an array of all Display Strings. I.e. an array of VARIANTS in a VARIANT. A string from this list is used to get the ‘value’ implied by the display string.

Value (VARIANT *DisplayString)

This get property returns the implied value of the given display string as a VARIANT. A list of valid display string is returned by the Keys method. An invalid display string produces an exception.

ILicenseDetails

LicenseDetails object contains information about the license. REComClient’s LicenseManager fetches the data related to License and gives the response XML to LicenseDetails object. LicenseDetails object parses the XML and Fills the information.

Following APIs and properties are supported by ILicenseDetails:

ExpiryDate

This is a get property which returns ExpiryDate of the license.

LicenseeID

This is a get property which returns Licensee ID of the license.

IsPrintSupported

This is a get property which returns a bool value specifying whether printing is supported in this license.

IsPrintAtServerSupported

This is a get property which returns a bool value specifying whether printing at server is supported in this license.

IsSecurityEnabled

This is a get property which returns a bool value specifying whether security is enabled in this license.

IsScheduleSupported

This is a get property which returns a bool value specifying whether scheduling is supported in this license.

IsOLAPSupported

This is a get property which returns a bool value specifying whether OLAP is supported in this license.

IsColumnMaskSupported

This is a get property which returns a bool value specifying whether column masking is supported in this license. Column masking is a feature in which particular columns data are masked with some characters.

IsAdhocWizardSupported

This is a get property which returns a bool value specifying whether Adhoc Wizard is supported in this license.

IsCollaborationSupported

This is a get property which returns a bool value specifying whether collaboration is supported in this license.

IsCabDeploySupported

This is a get property which returns a bool value specifying whether Cab deployement is supported in this license.

IsMailReportSupported

This is a get property which returns a bool value specifying whether mailing a report is supported in this license.

IsAdHocPowerViewerSupported

This is a get property which returns a bool value specifying whether Adhoc power viewer feature is supported in this license.

IsAuditLogSupported

This is a get property which returns a bool value specifying whether audit logging supported is supported in this license.

IsSecurityCallBackSupported

This is a get property which returns a bool value specifying whether Security call back is supported in this license.

IsDashboardSupported

This is a get property which returns a bool value specifying whether Dashboard feature is supported in this license.

ProductEdition

This is a get property which returns Product Edition.

ProductLicenseType

This is a get property which returns Product License Type.

LicenseeName

This is a get property which returns LicenseName.

StartDate

This is a get property which returns StartDate of the Licnese.

ServerVersion

This is a get property which returns the Report server version.

ServerProcessorFamily

This is a get property which returns the processor family of the machine on which report server is running.

ServerLocation

This is a get property which returns the server location on which report server is running.

ExpiryDate

This is a get property which returns the expiry date of the license.

CPUCount

This is a get property which returns no of CPUs present on the machine.

StudioSeats

This is a get property which returns the no of studio.

NoOfWebStudioUsers

This is a get property which returns the maximum no of users who can use.

NoOfDBConnections

This is a get property which returns the maximum no of Databse connections that can be permitted in this license.

NoOfStudioUsers

This is a get property which returns the maximum no of users who can use studio.

GetNoOfOrganizations

This is a get property which returns the maximum no of organizations which can be permitted in this license.

IsPublishReportSupported

This is a get property which returns the bool value specifying whether publishing report is supported.

ServerOperatingSystem

This is a get property which returns the Operating system running on server.

ThreadCount

This is a get property which returns the maximum no of permitted threads.

NoOfUsers

This is a get property which returns the maximum no of users permitted in this license.

IsSecurityAccessRightsEnabled

This is a get property which returns the bool value specifying whether security access rights are enabled.

IsMetaLayerEnalbed

This is a get property which returns the bool value specifying whether meta layer is enabled.

IsPersonalizationEnabled

This is a get property which returns the bool value specifying whether Personalization is enabled in this license.

IsSecurityUserMapSupported

This is a get property which returns the bool value specifying whether Security user map is supported in this license.

IsLoadBalancerSupported

This is a get property which returns the bool value specifying whether load balancer is supported in this license.

ServerMachineID

This is a get property which returns the server machine’s ID.

ServerProductName

This is a get property which returns the server produce name.

IsDesignerAPIsSupported

This is a get property which returns the bool value specifying whether Designer APIs are supported in this release.

IsExportFormatSupported(short eReportFormat, VARIANT_BOOL *pVal)

This API determines if exporting in the Report format specified by input parameter eReportFormat is supported in this license or not. If yes, this API returns TRUE otherwise FALSE. 

IsOutputFormatSupported(short eReportFormat, VARIANT_BOOL *pVal)

This API determines if Report output format specified by input parameter eReportFormat is supported in this license or not. If yes, this API returns TRUE otherwise FALSE.

ParseXML(BSTR bstrXML)

This API parses the LicenseDetails XML and fills the information related to license details.

IParameterGroups

This interface is a collection of IParameterGroup objects. It maintains the collection of IParameterGroup. This interface also provides necessary interfaces to iterate IParameterGroup objects. Following APIs and properties are supported by IParameterGroups:

ParameterGroup (BSTR bstrGroupName)

This ‘get’ property returns the ParameterGroup object. It takes Group name as input parameter to identify the ParameterGroup object from the collection. For details, see IParameterGroup class section.

ParamGroupNames

This ‘get’ property returns the array of parameter group names, which acts as a key to retrieve the ParameterGroup object.

Name

This get property returns the groups name.

_NewEnum

This property identifies an object as supporting iteration through the IEnumVARIANT interface.

Item

This property returns the IParameterGroup object from specified index.  For details, see IParameterGroup class section.

Count

This property returns the total number of IParameterGroup objects in its collection.

LoadXML(BSTR bstrXML)

This API loads the XML passes as input parameter. It parses the XML and populates ParameterGroup objects.

IParameterGroup

ParameterGroup object contains the information about user preferences. ParameterGroup object is used for default selection of values in user parameter. A User might have his own preference of select values for an exported user parameter and details of these select values are contained by ParameterGroup object. Following APIs and properties are supported by IParameterGroups:

Name

This is a get/set property which returns/sets the name of parameter group.

ID

This is a get/set property which returns/sets the ID for the parameter group.

IsPublic

This is a get/set property which returns/sets bool value which specifies whether this parameter group is public or not.

IsUsed

This is a get/set property which returns/sets bool value which says whether this parameter group is a preference of user (selected by user) or not. If value is TRUE, the values contained by this group must be selected in user parameter.

Values

This is a get property which returns array of strings.

LoadXML

This API loads the XML and populates Name, ID, IsPublic, IsUsed, Values, OwnerAppID, OwnerOrgID.

IReportParameters

ReportParameters is a house keeper of SystemParameters object, UserParameters object, FilterParameters object and SortParameters object. Following APIs and properties are supported by IReportParameters: 

FilterParameters

This get/set property sets or returns the FilterParameters object. For details, see IFilterParameters class section.

UserParameters

This get/set property sets or returns the UserParameters object. For details, see IUserParameters class section.

SystemParameters

This get/set property sets or returns the SystemParameters object. For details, see ISystemParameters class section.

SortParameters

This get/set property sets or returns the SortParameters object. For details, see ISortParameters class section.

LoadXML(BSTR bstrXMLString, long eParamSource);

This API loads the XML and populates SystemParameters, UserParameters and FilterParameters object. bstrXMLString is a input parameter string XML.

GetXML(BSTR* pbstrXMLString)

This API returns the ReportParameters XML. The XML consists of SystemParameters’ XML, UserParameters’ XML, SortParameters’ XML and FilterParameters’ XML.

UpdateReportParameters(IReportParameters* pRptParameters)

This API updates the ReportParameters.

ResetFilterParameters

This API resets the FilterParameters object.

ISearchColumns

ISearchColumns contains a collection of ISearchColumn objects. This interface also provides necessary interfaces to iterate ISearchColumn objects. Following APIs and properties are supported by ISearchColumns:

_NewEnum

This property identifies an object as supporting iteration through the IEnumVARIANT interface.

Item

This property returns the ISearchColumn object from specified index. For details, see ISearchColumn class section.

Count

This property returns the total number of ISearchColumn objects in its collection.

ISearchColumn

Following APIs and properties are supported by ISearchColumn:

Name

This get/set Property sets or returns the Name of SearchColumn.

DataType

This get/set Property sets or returns the datatype of the Column. This property can have one of the following values from enum DataType

  • DT_CHAR
  • DT_NUMBER
  • DT_DATE
  • DT_BOOL
Prompt

This get/set Property sets or returns the Caption text (prompt text) of the Column.

ISortFields

ISortFields object contains the collection of IReportField object.  This interface also provides necessary interfaces to iterate IReportField objects.

Following APIs and properties are supported by ISortFields:

SortFieldNames

This is a get property which returns the array of Field Names. These field

names can be used to retrieve IReportField object.

SortField(BSTR bstrParamName)

This is a get/set property which returns/sets IReportField object from the collection using the key bstrParamName which is passed as parameter. If object does not exist, it throws an exception. For details, see IReportField class section.

_NewEnum

This property identifies an object as supporting iteration through the IEnumVARIANT interface.

Item

This property returns the IReportField object from specified index. For details, see IReportField class section.

Count

This property returns the total number of IReportField objects in its collection.

Remove([in] long Index)

This API removes the IReportField object from the collection contained at the specified index which is passed as input parameter. If Index is invalid , an exception is thrown.

GetXML

This API returns SortFields  XML.

Add(IReportField* ptrParam, BSTR key);

This API adds IReportField object to the ReportFields Collection. Key is a optional parameter which is not used as of now. It is reserved for future use.

UpdateSortFields

This API updates the SortFields for the Report using the Source SortFields Passed as Parameter to this Function.

IReportField

Following APIs and properties are supported by IReportField:

FieldName

This get/set property sets or returns Report Field Name.

SortType

This get/set Property sets or returns Type of sorting. This property can have one of the following values from enum SortOrder.

  • ASCENDING
  • DESCENDING
UpdateReportField(IReportField *pReportField)

This API does nothing.

IReportFields

ReportFields contains the collection of Report Field object. This interface also provides necessary interfaces to iterate IReportField objects. Following APIs and properties are supported by IReportFields:

ReportField(BSTR bstrParamName)

This is a get/set property which returns/sets IReportField object from the collection using the bstrParamName key which is passed as input parameter. For details, see IReportField class section.

ReportFieldNames

This is a get property which returns array of Report Field Names.

_NewEnum

This property identifies an object as supporting iteration through the IEnumVARIANT interface.

Item

This property returns the IReportField object from specified index. For details, see IReportField class section.

Count

This property returns the total number of IReportField objects in its collection.

Remove([in] long Index);

This API Removes the IReportField object from the collection contained at the specified index which is passed as input parameter. If Index is invalid, an exception is thrown.

Add(IReportField* ptrParam, BSTR key)

This API adds IReportField object to the ReportFields Collection. Key is a optional parameter which is not used as of now. It is reserved for future use.

LoadXML(BSTR bstrXMLString, long eParamSource)

This API loads the XML and populates IReportField objects. eParamSource is a optional input parameter which is used to identify the type of parameter source.  eParamSource can have one of the following values from enum ParamSource .

  • PS_IRL
  • PS_PARAMS
  • PS_USERPARAMS
  • PS_SQLEDITOR

Default value of eParameSource is PS_IRL.

GetSortCount

This API returns the Sort Parameter Count for the Report.

IsPromptEnabled

This API checks if the Prompt is enabled for the report or not.

ITreeNode

This class is basically meant for the tree view control information. One ITreeNode represents one tree node in tree view control. Following APIs and properties are supported by ITreeNode:

ColumnName

This get property returns the column name corresponding to the node.

ID

This get property returns the ID of the node. ID of root node is always 0.

DisplayText

This get property returns the display text of the node.

ValueText

This get property returns the value text for the node.

ParentNode

This get property returns the parent node which is an object of ITreeNode.

IsLeafNode

This get/set property specifies whether the node is a leaf node or not.

IsValueNode

This get/set property specifies whether the node is a value node or not.

IUserFilters

IUserFilters contains a collection of IUserFilter object. This interface also provides necessary interfaces to iterate IUserFilter objects. Following APIs and properties are supported by IUserFilters:

Add(IUserFilter* ptrFilter, BSTR key)

This API adds IUserFilter object to the UserFilters Collection. Key is a optional parameter which is not used as of now. It is reserved for future use.

Remove(long Index)

This API removes the IReportField object from the collection contained at the specified index which is passed as input parameter. If Index is invalid, an exception is thrown.

GetXML([out,retval] BSTR* bstrXML)

This API returns the UserFilters XML. The XML returned by this API does not contain <Filters> tag. The caller of this API has to manually append this tag if required.

IUserFilter

UserFilter class is used for filtering purposes. If one needs to apply filter, It needs to create UserFilter object, set the appropriate values in the properties of UserFilter object and add this UserFilter object to UserFilters collection. For each filter User must create new UserFilter object. Modifying the added UserFilter object to the collection will modify the content of added UserFilter object also. Following APIs and properties are supported by IUserFilter:

Name

This get/set property sets or returns the name of the Filter.

Operator

This get/set property sets or returns the operator.

Value

This get/set property sets or returns the value of the Filter.

IUserInfo

UserInfo object contains the Metadata Information.   Following APIs and properties are supported by IUserInfo:

AppID

This get/set Property sets or returns the Application ID

OrgID

This get/set property sets or returns the Organization ID

Password

This get/set property sets or returns the password.

SessionID

This get/set property sets or returns the Session ID.

SD

This get/set property sets or returns the Security Descriptor.

CustomerID

This get/set property sets or returns the Customer ID.

Location

This get/set property sets or returns the Location.

Locale

This get/set property sets or returns Locale.

Timestamp

This get/set property sets or returns TimeStamp.

DBName

This get/set property sets or returns Database Name.

GUID

This get/set property sets or returns GUID.

RunTimeUserID

This get/set property sets or returns RunTime UserID.

RunTimePassword

This get/set property sets or returns RunTime Password.

GetMetadataTag

This API returns the Metadata XML string for the request.

IFilterParameters

FilterParameters contains a collection of FilterParameter object. This interface also provides necessary interfaces to iterate IFilterParameter objects. Following APIs and properties are supported by IFilterParameters:

FieldFilters

This get/set property sets or returns FieldFilters object. For details, see IFieldFilters class section.

OptionalFilters

This get/set property sets or returns OptionalFilters object. For details, see IOptionalFilters class section.

GetXML

This API returns FilterParameters XML.

LoadXML(BSTR bstrXMLString,long eParamSource)

This API loads FilterParameters XML and populates FilterParameter object.

GetFiltersCount(short eFilterType)

This API returns the Filters count based on the type of the filterparameters. Filter parameters can be of two types user parameters and Adhoc parameters. The value of eFilterType can have one of the following values from enum FilterParamType.

  • USEPARAM
  • ADHOC
ResetFieldFilters()

This API resets the FieldFilters object.

IFilterParameter

FilterParameter object contains the information related to filtering data purposes. FilterParameters are used for Adhoc filters as well as search parameters. Following APIs and properties are supported by IFilterParameter:

FirstValue

This get/set property sets or returns First operand. User can set it’s input as initial or first operand in this property.

SecondValue

This get/set property sets or returns second operand. User can set it’s input as last or second operand in this property.

DataType

This get/set property sets or returns the data type of the field. This property can have one of the following values from enum DataType.

  • DT_CHAR
  • DT_NUMBER
  • DT_DATE
  • DT_BOOL
FieldType

This get/set property sets or returns the type of field.

FetchData

This get/set property sets or returns bool value specifying whether data has been fetched from database or not. If True, the data can be populated using Predefs property.

ParamName

This get/set property sets or returns the parameter name.

ColumnName

This get/set property sets or returns the column name.

Operation

This get/set property sets or returns the operator between two operand.

Predefs

This get/set property sets or returns the operand values if FetchData property is TRUE.

GetXML

This API returns FilterParameter XML.

UpdateFilterParameter

This API updates the FilterParameter for the Report using the Source FilterParameter passed as Parameter to this Function.

IFieldFilters

FieldFilters contains the collection of FilterParameter objects. It maintains the collection of FilterParameter objects. This interface also provides necessary interfaces to iterate IFieldFilter objects. Following APIs and properties are supported by IFieldFilters:

MaxRows

This get/set property sets or returns the maximum number of rows to be returned in the recordset.

FilterParam(BSTR bstrParamName)

This get property returns the FilterParameter from the collection using the Filter parameter name specified by input parameter bstrParamName.

_NewEnum

This property identifies an object as supporting iteration through the IEnumVARIANT interface.

Item

This property returns the IFilterParameter object from specified index. For details, see IFieldFilter class section.

Count

This property returns the total number of IFilterParameter objects in its collection.

GetXML

This API returns FilterParameters XML.

Add(IFilterParameter *ptrFieldParam, BSTR key);

This API adds FilterParameter object into the collection. Currently key is not used, it is reserved for future use. FilterParameter’s name is used as key to insert into collection.

IOptionalFilters

This interface does the housekeeping of IOptionalFilter objects. This interface also provides necessary interfaces to iterate IOptionalFilter objects. Following APIs and properties are supported by IOptionalFilters:

_NewEnum

This property identifies an object as supporting iteration through the IEnumVARIANT interface.

Item

This property returns the IOptionalFilter object from specified index. For details, see IOptionalFilter class section.

Count

This property returns the total number of IOptionalFilter objects in its collection.

Add(IFilterParameter* ptrOpFilter, BSTR key)

This API adds FilterParameter object into the collection. Currently key is not used, it is reserved for future use. FilterParameter’s name is used as key to insert into collection.

LoadXML(BSTR bstrXMLString,long eParamSource)

This API loads FilterParameters’ XML and populates FilterParameter objects.

ISortParameters

This interface contains all the information related with sort parameters. Following APIs and properties are supported by ISortParameteres:

ReportFields

This get property returns the ReportFields for Parameters. For details, see IReportFields class section.

SortFields

This get/set property returns/sets the SortFields for Parameters. For details, see ISortFields class section.

GetSortCount

This API returns the No. of SortParameters.

GetXML

This API returns the XML String for Sort Parameters.

IsSortParamDynamic

This API checks whether the Parameters are to be Prompted while viewing the report or not.

LoadXML

This API loads the SortParameters Object with the help of the XML String.

UpdateSortParameters

This API updates the SortParameters for the Report using the Source SortParameters Passed as Parameter to this Function.

Enums exported from ReReqLib

enum ProviderType
	{
		PT_OCI,
		PT_ODBC,
		PT_MSSQL,
  		PT_MY_SQL,
		PT_OTHERS,
		PT_SYBASE,
		PT_OCI_TNS,
		PT_POSTGRES,
		PT_INFORMIX,
		PT_ORACLE_THIN,
	   	PT_SOURCEFORGE,
		PT_ORACLE,
		PT_CSV,
		PT_XLS,
	};

		enum enumProviderType_OTHERS_Props
		{
			EPT_OTHERS_DRIVER_CLASS_NAME=0,	
		};

		enum enumProviderType_CSV_Props
		{
			EPT_CSV_FILETYPES,
			EPT_CSV_ISEXTERNAL,
		};

		enum enumProviderType_XLS_Props
		{
			EPT_XLS_FILETYPES,
			EPT_XLS_ISEXTERNAL,
		};

		enum DBMetadataMode
		{
			DB_MD_TABLES,
			DB_MD_VIEWS,
			DB_MD_STOREDPROCEDURES,
			DB_MD_SYNONYMS,
			DB_MD_SYNONYMS_TABLE_OR_VIEW,
			DB_MD_SYNONYMS_FOR_SP,
			DB_MD_ALL
		};
	
		enum InputType
		{
			IT_TEXT,
			IT_COMBO,
			IT_OPTION,
		};

		enum enumParamGroupsType
		{
			EPGT_NONE,
			EPGT_PARAMETER ,
			EGPT_QUERY,
		};

		enum SortOrder
		{
			ASCENDING,
			DESCENDING
		};

		enum FilterParamType
		{
			USEPARAM,
			ADHOC,
		};
	
		enum DataType
		{
			DT_CHAR,
			DT_NUMBER,
			DT_DATE,
			DT_BOOL
		};

		enum FieldFormat
		{
			FF_NONE,
			FF_NUMBER,
			FF_STRING,
			FF_DATE,
			FF_BINARY,
			FF_TIME,
		}; 

		enum ComboType
		{
			CT_PREDEF,
			CT_SQL
		};

		enum DateGroupBy
		{ 
			DTG_NONE,
 			DTG_DAY,
 			DTG_WEEK,
			DTG_MONTH,
			DTG_QTR,
			DTG_YEAR,
		};


		enum ParamSource
		{
			PS_IRL,
			PS_PARAMS,
			PS_USERPARAMS,
			PS_SQLEDITOR,
		};

		enum Appearance
		{
			V3D,
			VFLAT,		
		};
	
		enum Direction
		{
			VERTICAL,
			HORIZONTAL,		
		};

		enum ParamRenderingStyle
		{
			INDEXBASED,
			GROUPED,		
		};

		enum DateFilterOperatorTypes
		{
			DT_BETWEEN,
			DT_GREATER,
			DT_LESS,
			DT_EQUAL,
			DT_LESSOREQUAL,
			DT_GREATEROREQUAL,
			DT_NOTEQUAL,		
			DT_ISNULLORBLANK,
			DT_LAST,
			DT_CURRENT,
			DT_NEXT,				
		};

		enum NumberFilterOperatorTypes
		{
			NM_GREATER,
			NM_LESS,
			NM_EQUAL,
			NM_LESSOREQUAL,
			NM_GREATEROREQUAL,
			NM_BETWEEN,
			NM_NOTEQUAL,		
			NM_ISNULLORBLANK,		
		};	

		enum CharFilterOperatorTypes
		{
			CH_EQUAL,
			CH_GREATER,
			CH_LESS,		
			CH_LESSOREQUAL,
			CH_GREATEROREQUAL,		
			CH_BETWEEN,
			CH_NOTEQUAL,
			CH_ISNULLORBLANK,
			CH_STARTS_WITH,
			CH_CONTAINS,
			CH_IN_LIST,
			CH_EQUALSIGNORECASE,
			CH_STARTSWITHIGNORECASE,
			CH_CONTAINSIGNORECASE,
		};
	
	
		enum enumMetaData_DataSetType
		{
			EDST_CATEGORY,
			EDST_IRL,
			EDST_SAVEDREPORT,
			EDST_CATEGORYLIST,
			EDST_REPORTLAYOUT,
			EDST_REPORTLAYOUTLIST,
			EDST_SAVEDREPORTLIST,		
			EDST_REPORT, 
			EDST_UPX,
			EDST_CPX,
			EDST_RPX,
			EDST_RECORDSET,
			EDST_EDIT,
			EDST_PRINTERLIST,
			EDST_ERRORMAP,
			EDST_DYNAMICIRL,
			EDST_ORG,
			EDST_USER,
			EDST_ROLE,
			EDST_USERANDROLE,
			EDST_ACCESSRIGHT,
			EDST_MAPPING,
			EDST_DBCONNECTION,
			EDST_DBMETADATA,
			EDST_LOGIN,
			EDST_SECURITYMODE,
			EDST_AUDITLOG,
			EDST_AUDITEDREPORT,
			EDST_CL_GRANT,
			EDST_ORG_ADV_FEATURES,
			EDST_ORGCREDENTIALS,
			EDST_SELECT_OPTIONS,
			EDST_FONTDETAIL,
			EDST_SERVERPROP,
			EDST_LICENSEINFO,
			EDST_LICENSEREQINFO,
			EDST_PRINTSETTING,
			EDST_IRO,
			EDST_C_REGSTATELOOKUP,
			EDST_C_REGRECONFIG,
			EDST_POSTVIEW,
			EDST_COMMENT,
			EDST_CONNECTCLIENT,
			EDST_DISCONNECTCLIENT,
			EDST_CLIENTLICENSEEDETAILS,
			EDST_LICENSEDETAILS,
			EDST_CHART,
			EDST_TEMPLATE,
			EDST_RSSTATUS,
			EDST_IRO_PREFS,
			EDST_IRO_USER_PREFS,
			EDST_MYREPORTLAYOUTLIST,
			EDST_MYCATEGORYLIST,
			EDST_PUBLICTOMYREPORT,
			EDST_MYREPORTLAYOUT,
			EDST_MYCATEGORY,
			EDST_DASHBOARD,
			EDST_RECENTREPORTLIST,
			EDST_MYREPORT,
			EDST_DYNAMICARL,
			EDST_SCHEDULE_LIST,
			EDST_BATCH_LIST,
			EDST_JOB_LIST,
			EDST_SCHEDULE,
			EDST_BATCH,
			EDST_JOB,
			EDST_DEDICATEDJOB,
			EDST_HISTORYLIST,
			EDST_HISTORYDETAIL,
			EDST_FSDATAFILES,
			EDST_FSHEADER,
			EDST_REQUEST,
		};

		enum enumMetaData_OperationTypes
		{
			EOT_REQUEST,
			EOT_RESPONSE,
		};

		enum enumMetaData_RequestOpCodes
		{
			EROC_GETREPORT,
			EROC_GET,
			EROC_DELETE,
			EROC_REPLACE,
			EROC_ADD,
			EROC_EXEC,
			EROC_GETLIST,
			EROC_GETINFO,
			EROC_REGENERATE,
			EROC_GETUPX,
			EROC_GETCPX,
			EROC_GETRPX,
			EROC_GETIRL,
			EROC_UPDATE,
			EROC_LOOKUP,
			EROC_RECONFIG,
			EROC_PRINT,
			EROC_SAVE,
			EROC_TEST,
			EROC_GETLINE,
			EROC_ADDFILE,
			EROC_CANCEL,
			EROC_EMAIL,
			EROC_GETCONFIGFILE,
			EROC_COPY,
			EROC_MOVE,
			EROC_COPYLINK,
		};

		enum SysConstants
		{
			BinaryVersion,
			ProtocolVersion,
			DEFAULT_DATE_FORMAT,
			REPORT_CLEAN_UP_TIME,
			REPORT_CLEAN_UP_INTERVAL,
			CLIENT_CLEAN_UP_INTERVAL,
			SCHEDULAR_INTERVAL,
			REPORT_SESSION_TIME_OUT,
			MSSQL_DB,
			ORACLE_DB,
			DATABASE_MODE,
			FILE_MODE,
			REMOTE_MODE,
			STREAM_MODE,
			FILE_SEPARATOR,
			POOL_NAME,
			STR_USERINFO,
			MIN_CHUNK_SIZE,
			DATE_SEPARATOR,
			DEFAULT_NULL_VALUE,
			defaultLogFileTrimSize,
			DEFAULT_REPORT_EXEC_PRIORITY,
			OpType_Seperator,
			SCKT_DC,
			SYS_PARAMS,
			REPORT_PARAMS,
			CONF_SYS_PARAMS,
			PAGE_SETTINGS,
			SESSION_ID,
			EDITABLE,
			EDIT_FIELDS,
			TOTAL_PAGES,
			REPORT_STREAMED,
			ACTION_CODE,/**/
		
			// SYSTEM PARAMETERS
			SYS_PARAMS_OPERATION_TYPE,
			SYS_PARAMS_OPERATION_CODE,
			SYS_PARAMS_REPORT_ID,
			SYS_PARAMS_CATEGORY_ID,
			SYS_PARAMS_REPORT_FORMAT,
			SYS_PARAMS_MENU_NAME,
			SYS_PARAMS_REPORT_NAME,
			SYS_PARAMS_PRINTER_NAME,
			SYS_PARAMS_PRINT_COPIES,
			SYS_PARAMS_PRINT_PAGES,
			SYS_PARAMS_OUTPUT_FILE_NAME,
			SYS_PARAMS_REPORT_CONN_NAME,
			SYS_PARAMS_REPORTOID,
			SYS_PARAMS_OUTPUT_MODE,
			SYS_PARAMS_TIME_STAMP,
			SYS_PARAMS_LAYOUT_OPERATION_TYPE,
			SYS_PARAMS_PRIORITY,
			SYS_PARAMS_FORMAT_PROPERTIES,

			SYS_PARAMS_EMAIL_TO,
			SYS_PARAMS_EMAIL_CC,
			SYS_PARAMS_EMAIL_BCC,
			SYS_PARAMS_EMAIL_SUBJECT,
			SYS_PARAMS_EMAIL_TEXT,
			SYS_PARAMS_EMAIL_FROM,
			SYS_PARAMS_EMAIL_REPLY_TO,
			SYS_PARAMS_SAVE_FILE_NAME,
			SYS_PARAMS_SAVE_SERVER,
			SYS_PARAMS_SAVE_FOLDER,
			SYS_PARAMS_OPERATION_PROPERTIES,
			SYS_PARAMS_LAST_ACCESS_TIME,
			SYS_PARAMS_STOP_RUNNING_REPORT,
			SYS_PARAMS_THREADLAGTIME,
			SYS_PARAMS_PAGE_COUNT,
			SYS_PARAMS_PRINTSETTINGNAME,
			SYS_PARAMS_REFRESH_DATA,
			SYS_PARAMS_IS_PUBLIC,
			SYS_PARAMS_ARL_DATA,
			//	New Added
			SYS_PARAMS_IMPLICIT_OPERATION,		
			SYS_PARAMS_PREFETCH_DRILLDOWN,
		};

		enum PromptPosition
		{
			ePromptPos_TOP,
			ePromptPos_LEFT,
		};	

	 
		enum REPORTFORMAT
		{
			// public static class ReportFormats
			reccFormatIntera,
			reccFormatPDF,
			reccFormatHTML,
			reccFormatMHTML,
			reccFormatExcel,
			reccFormatText,
			reccFormatRTF,
			reccFormatTIF,
			reccFormatPPT,
			reccFormatDOC,
			reccFormatCSV,
			reccFormatXML
		};

		enum OPERATION_TYPE
		{
			reccOperationView,
			reccOperationSave,
			reccOperationPrint,
			reccOperationPrintAtServer,
			reccOperationEMail
		};

		enum PDFPROPS
		{
			reccPDFVersion,
			reccPDFJPGQuality,
			reccPDFShowBookMarks,
			reccPDFSemiDelimetedNeverEmbedFonts,
			reccPDFMultipageOutput
		};

		enum EXCELPROPS
		{
			reccExcelVersion,
			reccExcelMultiSheet,
			reccExcelDoubleBoundaries,
			reccExcelMinColumnWidth,
			reccExcelMinRowHeight,
			reccExcelGenPageBreaks,
			reccExcelShowMarginSpace,
			reccExcelTrimEmptySpace,
			reccExcelBorderSpacing,
			reccExcelAutoRowHeight,
			reccExcelShowPageHeadersAndFooters,
			reccExcelRepeatPageHeadersAndFooters
		};

		enum MHTMLPROPS
		{
			reccMHTMLCreateCSSFile,
			reccMHTMLVersion,
			reccMHTMLTableOfContents,
			reccMHTMLJPEGQuality,
			reccMHTMLMultiPageOutput,
			reccMHTMLTitle,
			reccMHTMLShowTOC
		};

		enum HTMLPROPS
		{
			reccHTMLCreateCSSFile,
			reccHTMLVersion,
			reccHTMLTableOfContents,
			reccHTMLJPEGQuality,
			reccHTMLMultiPageOutput,
			reccHTMLTitle,
			reccHTMLShowTOC,
			reccHTMLShowToolBar,
		};

		enum TEXTPROPS
		{
			reccTextTextDelimeter,
			reccTextSuppressEmptyLine,
			reccTextUNICODE,
			reccTextPageDelimiter
		};

		enum CSVPROPS
		{
			reccCSVColumnSeperator,
		};

		enum enumSaveReportExpiryPeriodType
		{
			ESREP_BY_EXPIRYTIME,
			ESREP_BY_SAVEINTERVAL,
			ESREP_BY_SAVEENDPERIOD,
		};

		enum enumOperations
		{
			EO_EMAIL,
			EO_PRINT,
			EO_FTP,
			EO_PUBLISH,
		};