CREATE PROCEDURE [dbo].[Cancel_PayMethod100Order]
AS
Declare @MallVerify int
Declare @CenterCD int
Declare @OrderNum int
Declare @GoodSeq int
Declare @Seq int
Declare @GoodVerify int
Declare @GoodCD varchar(20)
Declare @DoStatusCD int
Declare @ManageStock int
Declare @OrderStock int
Declare @CancelCount int
Set @CenterCD = 1
Set @MallVerify = 1
Set @CancelCount = 0
Begin Tran
--주문취소, 센터, 샵 주문수량 수정(커서이용)
Declare @Modify_OrderAndStock Cursor
Set @Modify_OrderAndStock = Cursor
For Select OrderNum, GoodSeq, Seq, GoodVerify, GoodCD, DoStatusCD
From #TempOrder
If @@Error <> 0 Begin
Goto ErrorHandler
End
Open @Modify_OrderAndStock
Fetch Next From @Modify_OrderAndStock Into @OrderNum, @GoodSeq, @Seq, @GoodVerify, @GoodCD, @DoStatusCD
While @@Fetch_Status = 0 And @CancelCount < 101 Begin
Update OrderGood Set DoStatusCD = @DoStatusCD + 20000, GoodDesc = '무통장입금전 주문 일괄 취소 : ' + Cast(Getdate() As Varchar(100))
Where MallVerify = @MallVerify And OrderNum = @OrderNum And GoodSeq = @GoodSeq And Seq = @Seq
If @@Error > 0 Or @@RowCount = 0 Begin
Goto ErrorHandler
End
Update CenterStock Set OrderStock = OrderStock - 1
Where MallVerify = @MallVerify And CenterCD = @CenterCD And GoodVerify = @GoodVerify And GoodCD = @GoodCD
if @@Error > 0 Begin
Goto ErrorHandler
End
Fetch Next From @Modify_OrderAndStock Into @OrderNum, @GoodSeq, @Seq, @GoodVerify, @GoodCD, @DoStatusCD
Set @CancelCount = @CancelCount + 1
Delete #TempOrder Where OrderNum = @OrderNum And GoodSeq = @GoodSeq And Seq = @Seq
End
Close @Modify_OrderAndStock
DeAllocate @Modify_OrderAndStock
Select * From #TempOrder
If @@RowCount = 0
Drop Table #TempOrder
Commit Tran
Return 1
ErrorHandler:
If CURSOR_STATUS( 'Variable' , '@Modify_ShopStock') >= 0 Begin
Close @Modify_OrderAndStock
End
If CURSOR_STATUS( 'Variable' , '@Modify_ShopStock') >= -1 Begin
Deallocate @Modify_OrderAndStock
End
RollBack Tran
Return 0