当前位置:文档之家› IFS报表开发手册

IFS报表开发手册

1 客户定制报表1.1 概述所谓客户定制报表,也是用 Quick Report 或 Crystal Report 开发的,不同于集成报表的是,此类报表多数是查询统计报表,与实际业务流程基本无关,并且它是由 IFS ADMIN 管理工具进行设置,通过 IFS 系统的客户报表定制功能加以调用的。

1.2 创建视图1.2.1创建新的包在包中添加所需要的视图。

建议在一个项目中可以建立一个包含所有报表视图的包。

下面给出 API/APY 文件的模板。

API 模板文件Template.API---- Logical unit: <<<LU: Put your LU name here>>>---- IFS/Design Template Version 2.2---- Date Sign History-- ------ ---- ----------------------------------------------------------------------------------------------------------------------------------------define MODULE = <<<MODULE: Put your module name here>>> define LU = <<<LU: Put your lu name here>>>define SERVICE = <<<SERVICE: Put your system service name here>>> define PKG = <<<PKG: Put your package name here>>>define DOMAIN = <<<DOMAIN: Put your domain name here>>>PROMPT Creating &PKG specificationCREATE OR REPLACE PACKAGE &PKG ISmodule_ CONSTANT VARCHAR2(25) := '&MODULE';lu_name_ CONSTANT VARCHAR2(25) := '&LU';domain_ CONSTANT VARCHAR2(25) := '&DOMAIN';service_ CONSTANT VARCHAR2(25) := '&SERVICE';<<<PUBREC: public record definition>>>------------------------------------------------------------------------------------------------- FOUNDATION1 METHODS -----------------------------------------------------------------------------------------------------------------PROCEDURE Init;END &PKG;/SHOW ERRORAPY 模板文件Template.APY---- Logical unit: <<<LU: Put your LU name here>>>---- Purpose:---- IFS/Design Template Version 2.2---- Date Sign History-- ------ ---- ----------------------------------------------------------------------------------------------------------------------------------------define MODULE = <<<MODULE: Put your module name here>>> define LU = <<<LU: Put your lu name here>>>define TABLE = <<<TABLE: Put your TABLE name here>>> define VIEW = <<<VIEW: Put your view name here>>> define PKG = <<<PKG: Put your package name here>>>------------------------------------------------------------------------------------------------- VIEWS FOR SELECTS -------------------------------------------------------------------------------------------------------------------PROMPT Creating &VIEW viewCREATE OR REPLACE VIEW &VIEW ASSELECT <<<VIEWCOL: Put your view column here>>>FROM <<<VIEWTAB: Put your view table(s) here>>>WHERE <<<VIEWSEC: Put your security restrictions on rows here>>>WITH read only;------------------------------------------------------------------------------------------------- PACKAGES FOR METHODS ----------------------------------------------------------------------------------------------------------------PROMPT Creating &PKG implementationCREATE OR REPLACE PACKAGE BODY &PKG IS------------------------------------------------------------------------------------------------- FOUNDATION1 METHODS ------------------------------------------------------------------------------------------------------------------- Init-- Dummy procedure that can be called at database startup to ensure that-- this package is loaded into memory for performance reasons only.-----------------------------------------------------------------------------PROCEDURE InitISBEGINNULL;END Init;END &PKG;/SHOW ERROR1.2.2也可以采用在系统已有的包内添加视图的方法。

1.3 创建Crystal Report 文件1.3.1选取在上述 API/APY 中定义的视图1.3.2 编辑报表1.3.3定义报表参数这里的参数是根据报表的要求自行定义的参数,可以有没有参数,也可以有一到多个参数。

1.3.4 条件语句设置必须包含报表视图与报表参数之间的连接关系1.3.5 SET Alias选取的视图在IFS 2000以上版本必须设置其别名为视图名 + ‘\’。

例如:设置INVENTORY_PART 为 INVENTORY_PART\低于 IFS 2000 的版本设置为视图名+ ‘ *’。

这样,在 IFS 系统中调用该报表的时候将自动登录数据库,不用在出现登录对话框。

1.3.6 SET LOCATION1.3.7 注意事项Crystal 菜单File/Save Data with Report,必须不选中,即无对勾。

如果出现错误提示“Cannot find database dll”,请重新安装 IFS 客户端软件以及ORACLE 客户端软件。

1.4 注册报表以 APP OWNER 登录FOUNDATION1 管理工具 ADMIN,在导航条的路径IFS Navigator\Foundation1 Administration\Quick Report 下,创建报表类及定义报表。

可以通过 RMB 菜单 Import 选择 Crystal Report 或 Quick Report。

1.5 客户报表设置以 APP OWNER 登录FOUNDATION1 管理工具 ADMIN,在导航条的路径IFS Navigator\Foundation1 Administration\Custom Menu\CustomMenu - Detail 下,进行客户报表的设置。

其中:Action Type必须选择SAL Code/SAL 代码Parameter设置为InfoService.QuickReportStart(SalNumberToStrX([QR identifier],0))这里[QR identifier]是一个给那个报表的数字标识符(上一步注册报表之后系统自动分配),这个数字标识符可以通过以下SQL 语句来找到,SELECTQUICK_REPORT_ID,DESCRIPTION from QUICK_REPORT;如果该报表带有参数,可以通过添加 @Parameter 来传递参数,多个参数时每个参数用 ^ 分隔。

相关主题