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