PDA

View Full Version : اجرای sp با error



afagh2050
دوشنبه 12 بهمن 1394, 20:15 عصر
sp زیر را وقتی اجرا میکنم خطا میدهد.لطفاراهنمایی کنید.
USE[TotalSystem]
GO
/****** Object: StoredProcedure [dbo].[sp_Mojavez] Script Date: 26/01/2016 03:41:55 ب.ظ ******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO

ALTERPROCEDURE[dbo].[sp_Mojavez]
@InvCodeint
@FDatechar(8),
@TDatechar(8),
@FAccntint,
@TAccntint,
@FVisitorint=-1,
@TVisitorint=-1,
@FSerialint=-1,
@TSerialint=-1,
@FCustAreaCodesmallint,
@TCustAreaCodesmallint,
@AllInvDocsbit,
@YearXSmallInt=-1,
@scuCmpyDurDBIDINT=-1,
@UserNameVarchar(50)='-1'
WITHRECOMPILE
AS

SET@YearX=ISNULL(@YearX,-1)
SET@scuCmpyDurDBID=ISNULL(@scuCmpyDurDBID,-1)
SET@UserName=Isnull(@UserName,'-1')
SET@AllInvDocs=Isnull(@AllInvDocs, 1)
----------------written BY sharifi date:1389/12/10-----------------------------------------
DECLARE@StrVARCHAR(5000)
SET@Str=''
SELECT@Str=@Str+'ازمشتري'+' '+Convert(varchar(100),@FAccnt)+' '+'تامشتري'+' '+convert(varchar(100),@TAccnt)+' '+','
+'ازويزيتور'+' '+Convert(varchar(100),@FVisitor)+' '+'تاويزيتور'+' '+Convert(varchar(100),@TVisitor)+' '+','
+'ازمسير'+' '+Convert(varchar(100),@FCustAreaCode)+' '+'تامسير'+' '+Convert(varchar(100),@TCustAreaCode)
---------------------------------------------------------------------------------------------------------
ifexists(select*fromdbo.sysobjectswhereid=object_i d(N'[dbo].[Mojavez]')andOBJECTPROPERTY(id,N'IsUserTable')= 1)
droptable[dbo].[Mojavez]

CREATETABLE[dbo].[Mojavez](
--[Serial] [int] NOT NULL,
[InvCode][int],
[PrdCode] [int] NOTNULL,
[BatchNo] [char](20) NULLDEFAULT(0),
[ExpDate] [char](8) NULLDEFAULT'',
[PrdName] [varchar](100) NULLDEFAULT(0),
[Barcode] [char](20) NULLDEFAULT(0),
[SlsQty] [numeric](18,3) NULLDEFAULT(0),
[PrizeQty] [int] NULLDEFAULT(0),
[PrdWeight][numeric]NULLDEFAULT(0),
[PrdVolume][numeric]NULLDEFAULT(0),
[ManfCode] [char](5) NULLDEFAULT(0),
[DrgShape] [smallint] NULLDEFAULT(0),
[OutputMstQty][numeric](18,3)NULLDEFAULT(0),
[OutputDtlQty][numeric](18,3)NULLDEFAULT(0),
[OutputQty][numeric](18,3)NULLDEFAULT(0),
[LatinName][varchar](50)NULL,
[PrdQtyWeight][numeric]NULLDEFAULT(0),
[PrdQtyVolume][numeric]NULLDEFAULT(0),
[Mojudi] [numeric](18,3) NULLDEFAULT(0),
[PrdStockQty][numeric](18,3) NULLDEFAULT(0),
[MojudiMstQty] [numeric](18,3) NULLDEFAULT(0),
[MojudiDtlQty] [numeric](18,3) NULLDEFAULT(0),
[PrdStockMstQty][numeric](18,3) NULLDEFAULT(0),
[PrdStockDtlQty][numeric](18,3) NULLDEFAULT(0),
[SlsSerialStr][varchar](4000)COLLATESQL_Latin1_General_CP1256_CI_ASNULL,
[CountSlsSerial][Int]Null
)ON[PRIMARY]

DeleteTblRptParamWhereReportCode='Mojavez'

INSERTINTOTblRptParam(ReportCode,ReportName,BeginD ate,EndDate,FSerial,TSerial)
VALUES (
'Mojavez',@Str,
(SubString(@FDate,1,4)+
SubString(@FDate,5,2)+
SubString(@FDate,7,2)),
(SubString(@TDate,1,4)+
SubString(@TDate,5,2)+
SubString(@TDate,7,2)),
@FSerial,
@TSerial
)
-----------------------------------------------
/*
DECLARE @Year int
SET @Year = CAST ( SubString(@TDate, 1, 4) as integer)
*/
----------------------------------------------------------
InsertIntoMojavez(InvCode,PrdCode,BatchNo,ExpDate, PrdName,BarCode,SlsQty,PrizeQty,OutputMstQty,Outpu tDtlQty,OutputQty,LatinName,PrdWeight,PrdVolume,Ma nfCode,DrgShape,PrdQtyWeight,PrdQtyVolume)
Select InvCode,
PrdCode,
BatchNo,
ExpDate,
[Name],
BarCode,
SlsQty,
PrizeQty,
CONVERT(int,(isnull(dbo.fn_IS_GetProductMstQty((Sl sQty+PrizeQty),QtyPck),0)))AsOutputMstQty,
CONVERT(numeric(18,3),(isnull(dbo.fn_IS_GetProduct DtlQty((SlsQty+PrizeQty),QtyPck),0)))AsOutputDtlQt y,
SlsQty+PrizeQtyASOutputQty,
LatinName,
PrdWeight,
PrdVolume,
ManfCode,
DrgShape,

((CONVERT(int,(isnull(dbo.fn_IS_GetProductMstQty(( SlsQty+PrizeQty),QtyPck),0)))) * PrdWeight ) AS PrdQtyWeight,
((CONVERT(numeric(18,3),(isnull(dbo.fn_IS_GetProdu ctMstQty((SlsQty+PrizeQty),QtyPck),0)))) * PrdVolume) AS PrdQtyVolume
ISNULL((((dbo.fn_IS_GetProductMstQty((SlsQty+Prize Qty),QtyPck))+
(dbo.fn_IS_GetProductDtlQty((SlsQty+PrizeQty),QtyP ck)/QtyPck))*PrdWeight),0)ASPrdQtyWeight,
ISNULL((((dbo.fn_IS_GetProductMstQty((SlsQty+Prize Qty),QtyPck))+
(dbo.fn_IS_GetProductDtlQty((SlsQty+PrizeQty),QtyP ck)/QtyPck))*PrdVolume),0)ASPrdQtyVolume

--
From
(SelectD.InvCode,
I.PrdCode,
I.BatchNo,
I.ExpDate,
P.[Name],
P.BarCode,
P.QtyPck,
P.LatinName,
Sum(CaseWhenInvOpr= 41 ThenQtyElse 0 End) ASSlsQty,
Sum(CaseWhenInvOpr= 48 ThenQtyElse 0 End) ASPrizeQty,
Isnull(pw.Weight, 0)ASPrdWeight,
Isnull(pw.Volume,0)ASPrdVolume,
p.ManfCode,
p.DrgShape

FromInvDocD
INNERJOINInvItemI
OND.Year1=I.Year1
AndD.InvCode=I.InvCode
AndD.Serial=I.Serial
INNERJOINProductP
ONI.PrdCode=P.Code
LEFTJOINSlsdocS
ONS.Year1=D.Year1
ANDS.CntrCode=D.CntrCode
ANDS.PrntSerial=D.PrntSerial
LEFTJOINPackingWeightpw
ONp.Code=pw.PckCode
--Join Added By Shaifi Date:1389/11/02--
LeftJoinOrdDocO
on(S.year1=O.Year1
andS.CntrCode=O.CntrCode
andS.Serial=O.SlsDocNo)
--Added By Shadi.Barzegar...
INNERJOIN(SelectdistinctCntrCodeFromscuuserCenters WhereScuCmpyDurDbID=@ScuCmpyDurDbIDAndUserName=@Us erName)M
ON (D.CntrCode=M.CntrCode)

WHERED.InvCode=@InvCode
AndD.ExecDate>=@FDate
AndD.ExecDate<=@TDate

--And D.Accnt >= @FAccnt
--And D.Accnt <= @TAccnt

--And ((ISNull(s.Visitor,0) >= @FVisitor) OR (@AllInvDocs = 1))
--And ((IsNull(s.Visitor,0) <= @TVisitor) OR (@AllInvDocs = 1))

--And ((IsNull(s.Serial,0) >= @Fserial) OR (@AllInvDocs = 1))
--And ((Isnull(s.Serial,0) <= @TSerial) OR (@AllInvDocs = 1))

--AND (IsNull(O.CustAreaCode,0) >= @FCustAreaCode OR @FCustAreaCode=-1)
-- AND (IsNull(O.CustAreaCode,0) <= @TCustAreaCode OR @TCustAreaCode=-1)
ANDD.InvOprIN(41, 48)
GroupByD.InvCode,I.PrdCode,I.BatchNo,I.ExpDate,P.[Name],P.BarCode,P.QtyPck,P.LatinName,pw.Weight,pw.Volum e,p.ManfCode,p.DrgShape)ASM


Declare@SlsSerialStrVarchar(4000)
Set@SlsSerialStr=''
Select@SlsSerialStr=@SlsSerialStr+'-'+Convert(Varchar(10),s.Serial)
FromInvDocD
InnerJOINSlsdocS
ONS.Year1=D.Year1
AndS.CntrCode=D.CntrCode
AndS.PrntSerial=D.PrntSerial
LeftJoinOrdDocO
on(S.year1=O.Year1
andS.CntrCode=O.CntrCode
andS.Serial=O.SlsDocNo)
WHERED.InvCode=@InvCode
AndD.ExecDate>=@FDate
AndD.ExecDate<=@TDate
--And D.Accnt >= @FAccnt
--And D.Accnt <= @TAccnt
--And ((ISNull(s.Visitor,0) >= @FVisitor) OR (@AllInvDocs = 1))
--And ((IsNull(s.Visitor,0) <= @TVisitor) OR (@AllInvDocs = 1))
--And ((IsNull(s.Serial,0) >= @Fserial) OR (@AllInvDocs = 1))
--And ((Isnull(s.Serial,0) <= @Fserial) OR (@AllInvDocs = 1))
--AND (IsNull(O.CustAreaCode,0) >= @FCustAreaCode OR @FCustAreaCode=-1)
-- AND (IsNull(O.CustAreaCode,0) <= @TCustAreaCode OR @TCustAreaCode=-1)
ANDD.InvOprIN(41)

Declare@CountSlsSerialInt
Set@CountSlsSerial= 0
Select@CountSlsSerial=COUNT(s.Serial)
FromInvDocD
innerJOINSlsdocS
ONS.Year1=D.Year1
AndS.CntrCode=D.CntrCode
AndS.PrntSerial=D.PrntSerial
LeftJoinOrdDocO
on(S.year1=O.Year1
andS.CntrCode=O.CntrCode
andS.Serial=O.SlsDocNo)
WHERED.InvCode=@InvCode
AndD.ExecDate>=@FDate
AndD.ExecDate<=@TDate
--And D.Accnt >= @FAccnt
--And D.Accnt <= @TAccnt
--And ((ISNull(s.Visitor,0) >= @FVisitor) OR (@AllInvDocs = 1))
--And ((IsNull(s.Visitor,0) <= @TVisitor) OR (@AllInvDocs = 1))
--And ((IsNull(s.Serial,0) >= @Fserial) OR (@AllInvDocs = 1))
--And ((Isnull(s.Serial,0) <= @Fserial) OR (@AllInvDocs = 1))
--AND (IsNull(O.CustAreaCode,0) >= @FCustAreaCode OR @FCustAreaCode=-1)
-- AND (IsNull(O.CustAreaCode,0) <= @TCustAreaCode OR @TCustAreaCode=-1)
ANDD.InvOprIN(41)
UpdateMojavez
SetMojudi=F.StockQty
Fromfn_IS_GetInvPrdBatchStockQty(@YearX,-1,-1,'-1',@TDate,@scuCmpyDurDBID,@UserName)F,MojavezM
WhereF.InvCode=M.InvCode
AndF.PrdCode=M.PrdCode
AndF.BatchNo=M.BatchNo
---

UpdateMojavez
SetPrdStockQty=F.StockQty
Fromdbo.fn_IS_GetInvPrdStockQty(@YearX,-1,-1,@TDate,@scuCmpyDurDBID,@UserName)F,MojavezM
WhereF.InvCode=M.InvCode
AndF.PrdCode=M.PrdCode
UpdateMojavez
SetSlsSerialStr=@SlsSerialStr,
CountSlsSerial=@CountSlsSerial

Salah Sanjabian
پنج شنبه 22 بهمن 1394, 20:13 عصر
سلام چه خطایی؟ متن خطایی نفرستادین