You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
294 lines
17 KiB
294 lines
17 KiB
/*==============================================================================
|
|
Copyright (c) 2003-2005 UGS Corporation
|
|
Unpublished - All Rights Reserved
|
|
==============================================================================*/
|
|
|
|
/* */
|
|
|
|
#ifndef CRF_H
|
|
#define CRF_H
|
|
|
|
#include <tc/tc_startup.h>
|
|
#include <ss/ss_const.h>
|
|
#include <pie/pie.h>
|
|
|
|
#include <qry/libqry_exports.h>
|
|
|
|
#define CRF_REP_name_size_c 128
|
|
#define CRF_REP_desc_size_c 512
|
|
#define CRF_REP_id_size_c 32
|
|
#define CRF_REP_source_size_c 32
|
|
#define CRF_REP_class_size_c 32
|
|
#define CRF_REP_folder_name_size_c 32
|
|
|
|
#define XML_REPORT_FORMATTER "XMLReportFormatter" /*TODO delete me.*/
|
|
|
|
#define CRF_XML_STYLESHEET "CrfXmlStylesheet"
|
|
#define CRF_HTML_STYLESHEET "CrfHtmlStylesheet"
|
|
#define CRF_EXCEL_STYLESHEET "CrfExcelStylesheet"
|
|
#define CRF_TEXT_STYLESHEET "CrfTextStylesheet"
|
|
#define CRF_PDF_STYLESHEET "CrfPdfStylesheet"
|
|
#define CRF_MSWORD_STYLESHEET "CrfMSWordDocStylesheet"
|
|
#define CRF_NEWEXCEL_STYLESHEET "MSExcelX"
|
|
#define CRF_NEWMSWORD_STYLESHEET "MSWordX"
|
|
|
|
#define CRF_DEFAULT_REPORT_EXTENSION ".xml"
|
|
#define CRF_HTML_EXTENSION ".html"
|
|
#define CRF_EXCEL_EXTENSION ".xls"
|
|
#define CRF_EXCEL_OOXML_EXTENSION ".xlsx"
|
|
#define CRF_PDF_EXTENSION ".pdf"
|
|
#define CRF_TEXT_EXTENSION ".txt"
|
|
#define CRF_MSWORD_EXTENSION ".doc"
|
|
#define CRF_NEWEXCEL_EXTENSION ".xlsm"
|
|
#define CRF_NEWWORD_EXTENSION ".docm"
|
|
|
|
|
|
#define CRF_OUTPUT_HTML_DATASET_TYPES "CrfOutputHtml"
|
|
#define CRF_OUTPUT_EXCEL_DATASET_TYPES "CrfOutputExcel"
|
|
#define CRF_OUTPUT_XML_DATASET_TYPES "CrfOutputXml"
|
|
#define CRF_OUTPUT_PDF_DATASET_TYPES "CrfOutputPdf"
|
|
#define CRF_OUTPUT_TEXT_DATASET_TYPES "CrfOutputText"
|
|
#define CRF_OUTPUT_MSWORD_DATASET_TYPES "CrfOutputMSWord"
|
|
|
|
|
|
#define CRF_OUTPUT_HTML_NAMED_REF "HTML"
|
|
#define CRF_OUTPUT_EXCEL_NAMED_REF "excel"
|
|
#define CRF_OUTPUT_XML_NAMED_REF "XML"
|
|
#define CRF_OUTPUT_PDF_NAMED_REF "PDF"
|
|
#define CRF_OUTPUT_TEXT_NAMED_REF "Text"
|
|
#define CRF_OUTPUT_MSWORD_NAMED_REF "word"
|
|
|
|
#define XSL_REF "XSL"
|
|
|
|
#define urlServerPreference "WEB_default_site_server"
|
|
#define urlProtocolPref "WEB_protocol"
|
|
#define urlApplicationName "WEB_default_site_deployed_app_name"
|
|
#define NAME_PROP "object_name"
|
|
#define REP_LOCALE_STR "report_locale"
|
|
#define REP_LOCALE_VAL "en_US"
|
|
#define OFFICE_LIVE "OfficeLive"
|
|
#define BOM_REP_TYPE "BOMReport"
|
|
#define BOM_REP_CRITERIA "BOM_REPORT"
|
|
#define BOM_REP_CRITERIA_VAL "TRUE"
|
|
#define REP_NAME_STRING "report_name"
|
|
#define REV_RULE "REV_RULE"
|
|
#define ITEM_REP_TYPE "ItemReport"
|
|
#define URL_GEN_SUMMARY_REP "URLGenSummaryReport"
|
|
|
|
/*TC release subrelease then rept type*/
|
|
#define CRF_SUM_REPORT_ID_PREFIX "TC_9_00_SUM_RPT_"
|
|
#define CRF_ITM_REPORT_ID_PREFIX "TC_9_00_ITM_RPT_"
|
|
#define CRF_CUS_REPORT_ID_PREFIX "TC_9_00_CUS_RPT_"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
typedef enum CRF_report_type_e {
|
|
CRF_REPORT_SUMMARY, /* summary report */
|
|
CRF_REPORT_ITEM_REPORT, /* item report */
|
|
CRF_REPORT_CUSTOM_REPORT, /* custom report */
|
|
CRF_ALL_REPORTS /* All reports */
|
|
} CRF_report_type_t;
|
|
|
|
|
|
typedef enum CRF_qry_source_type_e {
|
|
CRF_TC_QUERY, /** For summary reports, IManQuery is the data source */
|
|
CRF_TRANSFER_MODE /** For item reports, transfer mode is data source for query */
|
|
} CRF_qry_source_type_t;
|
|
|
|
|
|
/**
|
|
This function creates a report definition in the database.
|
|
*/
|
|
extern QRY_API int CRF_create_report_definition(
|
|
const char* id, /**< (I) */
|
|
const char* name, /**< (I) */
|
|
const char* description, /**< (I) */
|
|
const char* rpt_class, /**< (I) */
|
|
int report_type, /**< (I) */
|
|
const char* folder_name, /**< (I) */
|
|
int state, /**< (I) */
|
|
const char* source, /**< (I) */
|
|
int no_of_params, /**< (I) */
|
|
const char** rd_parameters, /**< (I) */
|
|
const char** rd_values, /**< (I) */
|
|
tag_t query_source, /**< (I) */
|
|
tag_t property_source, /**< (I) */
|
|
int no_style_sheets, /**< (I) */
|
|
tag_t* style_sheets, /**< (I) */
|
|
tag_t* report_definition /**< (O) */
|
|
);
|
|
|
|
/**
|
|
Returns report definitions of Report Builder reports based on input criteria.
|
|
<br>Error returned if access is denied.
|
|
<br>This funtion returns:
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#POM_access_denied when access is denied.
|
|
</ul>
|
|
*/
|
|
extern QRY_API int CRF_get_report_definitions(
|
|
const char* reportId, /**< (I) Report definition Id. <br>It can be passed as a null pointer. */
|
|
const char* reportName, /**< (I) Report definition Name. <br>It can be passed as a null pointer. */
|
|
const char* category, /**< (I) Item report or summary reports etc. Valid value are summary, item and custom. <br>It can be passed as a null pointer. */
|
|
const char* source, /**< (I) Report definition defined by Teamcenter or others. Valid value are Teamcenter for general reports, Office Template for Office Template based reports. <br>It can be passed as a null pointer. */
|
|
int status, /**< (I) For future purpose only, in order to query based on Report Definition state attribute. <br>The value can be passed as 0. */
|
|
int no_of_context_objs, /**< (I) Number of input context objects for item reports. <br>The value can be passed as 0. */
|
|
tag_t* context_objects, /**< (I) Item report input context objects tags. <br>It can be passed as a null pointer. */
|
|
int* n_tags, /**< (O) The number of report definition returned. */
|
|
tag_t** report_definition_tags /**< (OF) n_tags The returned report definition tags. */
|
|
);
|
|
|
|
/**
|
|
Generates a XML report file based on a report definition and criteria.
|
|
|
|
The parameters criteria_count/criteria_names/criteria_values were initially designed for Summary and Custom Reports.
|
|
For Summary reports these will be the saved query criteria names and values.
|
|
|
|
For Item reports these will not be used.
|
|
But there exists a special case: For PLMXML BOM reports user need to pass at least BOM_REPORT = TRUE
|
|
|
|
Other valid values that can be passed for these BOM Reports are:
|
|
CriteriaNames = {"BOM_REPORT", "REV_RULE","ARIANT_RULE","PACKED_BOM"}
|
|
CriteriaValues = {"TRUE","<REV RULE NAME>","<VARIANT RULE NAME>","<TRUE/FALSE>"}
|
|
NOTE: Variant RULE is not being passed from the UI. This is added for offline execution of reports using a report template and import_export_reports utility.
|
|
|
|
For Custom Reports : It takes Process and Output related values. Also the other report parameters defined for it need to be passed.
|
|
Looking at the UI dialog it gives a better picture of what Process and Output are and other parameters would be.
|
|
|
|
If user wants to store the generated report as a dataset he can pass in the data_set_name or else an empty string.
|
|
If data_set_name is passed, a new dataset will be created under users New Stuff folder and the generated report will be copied to it.
|
|
|
|
report_path_name is the full path of the report file that is generated on the server.
|
|
If TC_TMP_DIR is specified . The report gets generated in that path. Else it is generated in the "C:\\temp" folder for Windows and "/tmp" folder for UNIX
|
|
The report file name is auto generated.
|
|
<br/>Error returned if access is denied.
|
|
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#POM_access_denied when access is denied.
|
|
</ul>
|
|
*/
|
|
extern QRY_API int CRF_generate_report (
|
|
tag_t report_definition_tag, /**< (I) The report definition */
|
|
tag_t stylesheet_tag, /**< (I) The style sheet. <br>It can be passed as NULLTAG. */
|
|
int no_of_context_objs, /**< (I) Num of input context objects for item reports. <br>The value can be passed as 0. */
|
|
tag_t* context_objects, /**< (I) Item report input context objects tags. <br>It can be passed as a null pointer. */
|
|
int criteria_count, /**< (I) Num of criteria. <br>The value can be passed as 0. */
|
|
char** criteria_names, /**< (I) For Item reports this will not be used. But there exists a special case: For PLMXML BOM reports user need to pass at least BOM_REPORT. Other valid values that can be passed for these BOM Reports are CriteriaNames = {"BOM_REPORT", "REV_RULE","VARIANT_RULE","PACKED_BOM"} */
|
|
char** criteria_values, /**< (I) For Item reports this will not be used. But there exists a special case: For PLMXML BOM reports user need to pass at least TRUE. Other valid values that can be passed for these BOM Reports are CriteriaValues = {"TRUE","<REV RULE NAME>","<VARIANT RULE NAME>","<TRUE/FALSE>"} */
|
|
char* data_set_name, /**< (I) If user wants to store the generated report as a dataset he can pass in the dataset name or else an empty string. <br>It can be passed as a null pointer. */
|
|
char** report_path_name /**< (OF) Report Path name is the full path of the report file that is generated on the server. */
|
|
);
|
|
|
|
/**
|
|
Generates a XML report file based on a report definition with more parameters.
|
|
<br>Error returned if access is denied.
|
|
<br>This funtion returns:
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#POM_access_denied when access is denied.
|
|
</ul>
|
|
*/
|
|
extern QRY_API int CRF_generate_report_1 (
|
|
tag_t report_definition_tag, /**< (I) The tag for the report definition */
|
|
char* report_name, /**< (I) The name of the report. <br>It can be passed as a null pointer. */
|
|
char* stylesheet_name, /**< (I) The name of the stylesheet. <br>It can be passed as a null pointer. */
|
|
tag_t stylesheet_tag, /**< (I) The tag to the stylesheet. <br>It can be passed as NULLTAG. */
|
|
int no_of_context_objs, /**< (I) The no of input context objects for item reports. <br>The value can be passed as 0. */
|
|
tag_t* context_objects, /**< (I) The context context objects tags. <br>It can be passed as a null pointer. */
|
|
int criteria_count, /**< (I) The number of criterias. <br>The value can be passed as 0. */
|
|
char** criteria_names, /**< (I) The criteira names. <br>It can be passed as a null pointer. */
|
|
char** criteria_values, /**< (I) The criteria values. <br>It can be passed as a null pointer. */
|
|
char* data_set_name, /**< (I) The dataset name. <br>It can be passed as a null pointer. */
|
|
char* data_set_type, /**< (I) The dataset type. <br>It can be passed as a null pointer. */
|
|
char* relation_name, /**< (I) The relation name to be used if none reference is used. <br>It can be passed as a null pointer. */
|
|
tag_t context_object, /**< (I) Context object in which the report is generated. <br>It can be passed as NULLTAG. */
|
|
char** report_path_name /**< (OF) The path to the report. */
|
|
);
|
|
|
|
/**
|
|
Generates a XML report file based on a report definition with more parameters.
|
|
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#POM_access_denied when access is denied.
|
|
</ul>
|
|
*/
|
|
extern QRY_API int CRF_generate_report_2 (
|
|
tag_t report_definition_tag, /**< (I) The tag for the report definition */
|
|
char* report_name, /**< (I) The name of the report. <br>It can be passed as a null pointer. */
|
|
char* stylesheet_name, /**< (I) The name of the stylesheet. <br>It can be passed as a null pointer. */
|
|
tag_t stylesheet_tag, /**< (I) The tag to the stylesheet. <br>It can be passed as NULLTAG. */
|
|
int no_of_context_objs, /**< (I) The no of input context objects for item reports. <br>The value can be passed as 0. */
|
|
tag_t* context_objects, /**< (I) The context context objects tags. <br>It can be passed as a null pointer. */
|
|
int criteria_count, /**< (I) The number of criterias. <br>The value can be passed as 0. */
|
|
char** criteria_names, /**< (I) The criteira names. <br>It can be passed as a null pointer. */
|
|
char** criteria_values, /**< (I) The criteria values. <br>It can be passed as a null pointer. */
|
|
char* data_set_name, /**< (I) The dataset name. <br>It can be passed as a null pointer. */
|
|
char* data_set_type, /**< (I) The dataset type. <br>It can be passed as a null pointer. */
|
|
char* relation_name, /**< (I) The relation name to be used if none refernce is used. <br>It can be passed as a null pointer. */
|
|
tag_t context_object, /**< (I) Context object in which the report is generated. <br>It can be passed as NULLTAG. */
|
|
int report_options_count, /**< (I) The number of report options. <br>The value can be passed as 0. */
|
|
char** report_options_names, /**< (I) The report options names. <br>It can be passed as a null pointer. */
|
|
char** report_options_values, /**< (I) The report options values. <br>It can be passed as a null pointer. */
|
|
char** report_path_name /**< (OF) The path to the report. */
|
|
);
|
|
|
|
/**
|
|
This function generates a new id for the report definition.
|
|
*/
|
|
extern QRY_API int CRF_generate_report_id (
|
|
const char* report_type_name, /**< (I) */
|
|
char** report_id /**< (OF) */
|
|
);
|
|
|
|
/**
|
|
This function copies the file from the sorce directory to the transient volumes
|
|
*/
|
|
extern QRY_API int CRF_copy_report_to_transient_vol(
|
|
char* filepath , /**< (I) */
|
|
char** transientVolumeDir, /**< (OF)*/
|
|
char** copiedFileName /**< (OF)*/
|
|
);
|
|
|
|
extern QRY_API int CRF_get_item_report_definitions_of_parentclass(
|
|
tag_t parent_class_id, /**< (I) POM class tag */
|
|
int* n_tags, /**< (O) The number of report definition returned */
|
|
tag_t** report_definition_tags /**< (OF) n_tags The returned report definition tags */
|
|
);
|
|
|
|
/**
|
|
This function generates the report when source is OfficeTemplate. This function is called by URL mechanism from a thin client.
|
|
The parameters - report_definition_uid is the valid persistent uid of the reportdefinition.
|
|
object_uid is the valid uid of the persistent object in Teamcenter, In case of BOMReport client passes the ItemRevision uid.
|
|
template_name is the name of template which can be ExcelTemplate name or SpecTemplate name.
|
|
rev_rule_uid is the uid of the selected revision rule by the client. This parameter is only used in case of BOMReport.
|
|
isLive paraemter indicates if the generated report will be static report or Live report, Valid values are true/false
|
|
report_type is the type of report. Valid values are ItemReport or BOMReport
|
|
file_path is the generated report path.
|
|
xml_string is the launch def xml file generated in case of Word Live reports. This launch def xml file is consumed by the Office App Launcher mechanism.
|
|
*/
|
|
extern QRY_API int CRF_generate_report_3(
|
|
char* report_definition_uid, /**< (I) The uid for the report definition */
|
|
char* object_uid, /**< (I) The uid of the object */
|
|
char* template_name, /**< (I) The name of the template */
|
|
char* rev_rule_uid, /**< (I) The uid of the revision rule */
|
|
logical isLive, /**< (I) Is Live Sheet/document */
|
|
char* report_type, /**< (I) The type of report */
|
|
char** file_path, /**< (OF) The generated file path */
|
|
char** xml_string /**< (OF) The launch def XML */
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#include <qry/libqry_undef.h>
|
|
|
|
#endif
|