Crystal Report + IFS Develop 報表客戶化流程

58 篇文章 0 订阅
13 篇文章 0 订阅

[基本原理]
  1) 写相应视图
  2) 水晶报表开发报表/与相应视图关联
  3) 报表rpt关联至IFS应用程序中

[前期准备]
  1) 写相应视图
  个人建议作法,一张报表关联一个视图
   原因有三:方便报表设计(不用很麻烦的在水晶报表里把好多视图关联)
                       方便权限设定
                       日常维护方便(直接修改后台SQL脚本就可以)
   举过以前写的例子如下(根据报表需求写相应的视图):
DEFINE MODULE        = QLHMOD
DEFINE LU            = HVIEW
DEFINE VIEW          = HV_SO_WIP

CREATE OR REPLACE VIEW &VIEW AS
select HPUB_FUN_API.gCompName CompName,
substr(SITE_API.Get_Description(CONTRACT),1,100) site_desc,
rpt_month,contract,so_no,mat_part,mat_part_desc,
inventory_part_api.Get_Unit_Meas(contract,mat_part) unit_meas,
qty_issued - (qty_complete+qty_scrapped)*qty_required/lot_size wip_qty,
HPUB_FIN_API.GetPartCost(contract,rpt_month,mat_part,'ALL')*(qty_issued - (qty_complete+qty_scrapped)*qty_required/lot_size) cost_all,
HPUB_FIN_API.GetPartCost(contract,rpt_month,mat_part,'110')*(qty_issued - (qty_complete+qty_scrapped)*qty_required/lot_size) cost_110,
HPUB_FIN_API.GetPartCost(contract,rpt_month,mat_part,'200')*(qty_issued - (qty_complete+qty_scrapped)*qty_required/lot_size) cost_200,
HPUB_FIN_API.GetPartCost(contract,rpt_month,mat_part,'300')*(qty_issued - (qty_complete+qty_scrapped)*qty_required/lot_size) cost_300,
HPUB_FIN_API.GetPartCost(contract,rpt_month,mat_part,'321')*(qty_issued - (qty_complete+qty_scrapped)*qty_required/lot_size) cost_321
from DPCC_RPT_WIP_HIST
where contract = HPUB_FUN_API.gSite
and (qty_issued - (qty_complete+qty_scrapped)*qty_required/lot_size) <> 0
WITH   read only;
COMMENT ON TABLE &VIEW
   IS 'LU=&LU^PROMPT=&VIEW^MODULE=&MODULE^';

  2) 水晶报表开发报表/与相应视图关联
  这个网上的资料比较多,大家可以随便google一下。
  要注意的几点就是:
                                   --最好选用视图不要选用表;
                                   --报表中的视图选择好后,再另用个别名:
(别名设置方式: 点击主菜单“Database/Set Alias...”条目,系统将弹出“Set Alias”对话框,选中每一个视图或表,再点击“Set Alias...”按钮,系统将弹出“Alias Name”对话框,在每一个视图名后加一个“/”,如“HV_SO_WIP/;)-->此步骤不做的话,挂至IFS应用程序中时,会弹出login对话框。

---------------------------------------------------------------------------------------------------------
以上资料为20080305更新加入;
以下资料为20040625写的:
操作流程介绍step 3) 报表rpt关联至IFS应用程序中;
---------------------------------------------------------------------------------------------------------

1)設計報表 Seagate CryStal Reports=> Design *.rpt

2)添加報表 IFS/Admin->Fnd1 AdMin -> Quick Report -> 添加一筆Quick Report

3) 查找id IFS/Admin -> Installation-> SQL Query tool 下sql語句
select quick_report_id,description from quick_report;查找剛才添加的報表的id:42

4) 添加到相應窗體 IFS/Admin -> Fnd1 Admin/CustomMenu/CustomMenu-Detail添加一筆資料:
ActionType-> SAL Code
Windows->窗體名稱
Parameter=>InfoServer.QuickReportStart(SalNumberToStrX(42,0)||'@')
//請注意此句中的42

5)相應窗體打開客戶化菜單選項: 打開ifs應用程序->窗體->點右鍵->選中"CustomItem"

如此窗體中點右鍵就可以看見剛才開發的報表了.

                                                                              by foreveryday007  20040625
                                                                             心有多大,宇宙就有多大。
                                                                             http://blog.csdn.net/foreveryday007

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值