CSDN博客

img foreveryday007

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

发表于2004/6/25 15:46:00  2573人阅读

分类: 6> Crystal Reports 3> ERP 4> IFS

[基本原理]
  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

0 0

相关博文

我的热门文章

img
取 消
img