xref="orderType"
namespace="orderschema/Order"/>
包結構是報表引擎定義格式的容器,它包括了報表過程、引用的包、應用程序、相關數據、語句集等。
在包的結構中,存在著對其他包的引用,當一個演演算法要起動另一個包中的報表過程時,使用命名空間指定相應的包中的報表過程;包對包的引用是相互的,也就是存在相互的參照。
在包的結構中,包含著應用程序的定義、報表過程的定義、語句集的定義、相關數據的定義,以及報表頭結構的定義。這些定義是全局性的定義,在過程定義中的演演算法定義中可以引用它的ID進行引用。
下面對各個元素的元素進行描述,使讀者更清晰地了解報表引擎的過程定義語言的格式及內容。
報表包(report package)
元素名 | 基本類型 | 描述 |
Applications | Application | 應用程序聲明列表 |
DataFields | DataField | 報表引擎相關數據定義 |
ExtendedAttributes | ExtendedAttribute | 報表包自定義的屬性,由開發者定義並解釋。 |
ExternalReferences | ExternalReference | 包的外部參考定義 |
Id | String | 包的標識ID |
Name | String | 包的名字 |
PackageHeader | PackageHeader | 包頭的詳細信息 |
RedefineHeader | RedefineHeader | 包和演演算法過程的相關信息 |
Type Declarations | TypeDeclaration | 數據類型定義說明 |
ReportProcesses | ReportProcess | 演演算法過程的定義列表 |
Participants | Participant | 工作流參與者的資源列表 |
Statements | Statement | 定義報表的運算策略,可以定義SQL語句(使用JDBC)、HSQL語句(使用Hibernate)或面向對象的SQL語句(如資料庫支持,直接使用。否則實現解釋) |
元素名 | 基本類型 | 描述 |
Version | String | 報表的規範版本信息 |
Vendor | String | 報定義的由來,包括開發者名稱、產品名稱以及產品的發布版本號等 |
Created | String | 報表定義的創建日期 |
Description | String | 報表的文本描述 |
Documentation | String | 操作系統的路徑,幫助文件以及描述文件的文件名 |
PriorityUnit | String | 用戶自定義語義的字元串 |
Cost Unit | String | 模擬數據使用單元 |
可重定義包頭(redefindable header)
元素名 | 基本類型 | 描述 |
Author | String | 包定義的作者 |
Version | String | 包定義的版本 |
Code page | String | 正文部分的頁碼 |
CountryKey | String | 國家代碼 |
包外部思考(external package)
素名 | 基本類型 | 描述 |
href | String | 包的ID,對外部包的引用 |
Extended Attributes | ExtendedAttribute | 用戶擴展的屬性,定義用戶自己對外部包的引用原則,以滿足用戶的特殊要求。 |
例子
針對上述的結構,下面用幾個例子來進行更清晰的說明。
報表包頭
0.09
XYZ, Inc
6/18/2002 5:27:17 PM
This is a reportpackage header example.
可重定義包頭
1.0
1
china
包外部參考
報表控制項
報表引擎處於每種 Business Objects 報表解決方案的核心。它處理所有用戶請求,並輸出報表信息。
各個解決方案同時處理用戶請求的最大吞吐量各不相同。在某些解決方案中,它是由結構設計或授許可權制設置的。
報表引擎使用報表定義文件 (.
rpt) 作為模板。然後,它從數據源獲取數據並使用報表定義呈現當前請求的報表,之後該報表將傳遞給報表查看器。從查看器接收到的信息或使用介面 SDK 編寫的代碼會觸發報表引擎執行進一步的處理,即對報表執行進一步的操作。