楼主
- 经验值 0
| - F豆 603 个
| - F币 1 元
- 贡献 0
| - 最后登录 1970-1-1
我是社区第10690位番薯,欢迎点我头像关注我哦~
调用语句为:{call dbo.wuliukaohe('${a}','${b}','${c}','${t1}','${t2}')},传值为:
a | | b | 胡珊珊 | c | 全部 | T1 | 2012-08-13 | T2 | 2012-08-13 |
finereport执行结果为:
Query:{call dbo.wuliukaohe('${a}','${b}','${c}','${t1}','${t2}')}
该语句没有返回结果集。
但在sqlserver里:exec wuliukaohe '' ,'胡珊珊','全部','2012-08-13','2012-08-13'
返回很多结果:
太原分公司 CD201208090001 NULL 汽运整车 2012-08-09 001CR201208130002 2012-08-13 BD201208100017 235XC201208100019 胡珊珊 2012-08-11 4
太原分公司 CD201208090001 NULL 汽运整车 2012-08-09 001CR201208130004 2012-08-13 BD201208100017 229XC201208100045 胡珊珊 2012-08-11 4
太原分公司 CD201208090001 NULL 汽运整车 2012-08-09 001CR201208130008 2012-08-13 BD201208100017 120XC201208100020 胡珊珊 2012-08-11 4
请高手指点(finereport版本为6.5)
下为存储过程脚本:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER proc [dbo].[wuliukaohe] @ddlx varchar(50),@shenheren varchar(12),@fengongsi varchar(50),@startrk varchar(12),@endrk varchar(12)
as
--单品
create table #temp
(
fengongsi varchar(50),--分公司
cgdh varchar(50),--采购单号
ddlx varchar(50),--订单类型
ysfs varchar(50),--运输方式
xdrq varchar(50),--下单日期
cgrkdh varchar(50),--采购入库单号
dhrq varchar(50) ,--到货日期
xsddh varchar(50),--销售订单号
xsckd varchar(50),--销售出库单
shr varchar(20),--销售订单审核人
qrch varchar(50),--确认出货日期
bzy varchar(200),--销售订单的备注一
--Iscq varchar(4),--是否超期
cqts int--超期天数
)
----------------------------销售出库数据(数量换算成最小计量)
declare @strSQL varchar(8000) --动态SQL
declare @data_name varchar(100)
declare @fgs_name varchar(100)
declare wuliu cursor for
SELECT fchrDatabaseName+'.dbo' fchrDatabaseName, fchrEntlogin
FROM udrp_SysManage.dbo.Sys_UserDataBase
WHERE (fchrEntlogin like '%分公司' or fchrEntlogin like '%宁海%' )
and (fchrEntlogin like ''+@fengongsi+'' or ''+@fengongsi+'' ='全部')
open wuliu
fetch next from wuliu into @data_name,@fgs_name
while @@fetch_status<>-1
begin
set @strSQL='insert into #temp
select distinct '''+@fgs_name+''',a.fchrorderreceiptno 采购单号,c.fchrreceiptstylename 订单类型,traff.fchrtrafficstyleName 运输方式 ,convert(varchar(100),a.fdtmdate,23) 下单日期,
cgrk.Fchrstockreceiptno 采购入库单号,convert(varchar(100),cgrk.fdtmdate,23) 到货日期 ,bd.fchrorderreceiptno 销售订单号,XC.Fchrstockreceiptno 销售出库单,emp.fchremployeename 销售订单审核人
,convert(varchar(100),xc.fdtmaffirm,23) 确认出货日期,bd.fchrnotes1 销售订单的备注一 ,
--(case when datediff(d,cgrk.fdtmdate,a.fdtmdate)>0 then ''否'' else ''是'' end )是否超期,
datediff(d,a.fdtmdate,cgrk.fdtmdate) 超期天数
from ' + @data_name+ '.orderreceipt a
left join ' +@data_name+ '.ReceiptStyle c on c.fchrreceiptstyleid=a.fchrreceiptstyleid
left join ' + @data_name+ '.TrafficStyle traff on traff.fchrtrafficstyleid=a.fchrtrafficstyleid
left join ' + @data_name+ '.orderreceipt bd on bd.fchrorderreceiptno=a.Fchrstockreceiptno
left join deli_app3.dbo.StockReceipt xc on xc.fchrorderreceiptno=bd.fchrorderreceiptno
left join deli_app3.dbo.employee emp on emp.fchremployeeid=xc.fchroperatorid
left join ' + @data_name+ '.preparein prein on prein.fchrorderreceiptno =bd.fchrorderreceiptno
and prein.Fchrstockreceiptno=XC.Fchrstockreceiptno
left join ' + @data_name+ '.StockReceipt cgrk on cgrk.fchrorderreceiptno=prein.fchrprepareinno
where a.fchrorderreceiptno like ''CD%'' and datediff(d,a.fdtmdate,''2012-01-01'')<0
and a.fbitnoused =0
and (emp.fchremployeename like '''+@shenheren+''' or '''+@shenheren+''' ='''' )
and cgrk.fdtmdate>='''+@startrk+''' and cgrk.fdtmdate<='''+@endrk+'''
and (c.fchrreceiptstylename in ('''+@ddlx+''') or '''+@ddlx+''' ='''' )
'
exec (@strSQL)
fetch next from wuliu into @data_name,@fgs_name
end
close wuliu
deallocate wuliu
select * from #temp
drop table #temp
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
|
|