Declare cur6 cursor for select FBillNo,FItemName,Fauxqty,FStockQty,fcommitqty,fmrpclosed,FCancellation from vwICBill_32 where FItemLongNumber = @FNumber Open cur6
Fetch next from cur6 into @FICMOBillNo,@cpmc,@FAuxQty,@FStockQty,@fcommitqty,@fmrpclosed,@FCancellation While @@fetch_status=0
Begin
IF @FAuxQty Is Null
Set @FAuxQty = 0
IF @FStockQty Is Null
Set @FStockQty = 0
if @fcommitqty is null
Set @fcommitqty = 0
select @FCancellation=FCancellation, @fmrpclosed=fmrpclosed,@xszd6 = FCheckDate,@FAuxQty=FAuxQty,@fcommitqty=fcommitqty from vwICBill_32 where FBillNo = @FICMOBillNo IF not(@FCancellation = 'y' or (@fmrpclosed='y' and @FAuxQty-@fcommitqty>'0')) ----此语句应该怎么写才能排除掉里面的条件后再执行以下语句 Begin
Set @ZYQty = @FAuxQty - @FStockQty
IF @ZYQty > 0
Begin
Insert #gs(显示字段1,显示字段2,显示字段3,单据编号,数量,基本单位,产品编码,产品名称,备注,生产任务制单日期)
Select '销售订单','','',@FICMOBillNo,@ZYQty,@UnitName,@FNumber,@cpmc,'销售订单已占用量',@xszd6
Set @Qlsl = @Qlsl - @ZYQty
Set @ZYQtyXj = @ZYQtyXj + @ZYQty
End
End
Set @FBaseQty = 0
Set @FStockQty = 0
Fetch next from cur6 into @FICMOBillNo,@cpmc,@FAuxQty,@FStockQty,@fcommitqty,@fmrpclosed,@FCancellation
End Close cur6
Fetch next from cur6 into @FICMOBillNo,@cpmc,@FAuxQty,@FStockQty,@fcommitqty,@fmrpclosed,@FCancellation While @@fetch_status=0
Begin
IF @FAuxQty Is Null
Set @FAuxQty = 0
IF @FStockQty Is Null
Set @FStockQty = 0
if @fcommitqty is null
Set @fcommitqty = 0
select @FCancellation=FCancellation, @fmrpclosed=fmrpclosed,@xszd6 = FCheckDate,@FAuxQty=FAuxQty,@fcommitqty=fcommitqty from vwICBill_32 where FBillNo = @FICMOBillNo IF not(@FCancellation = 'y' or (@fmrpclosed='y' and @FAuxQty-@fcommitqty>'0')) ----此语句应该怎么写才能排除掉里面的条件后再执行以下语句 Begin
Set @ZYQty = @FAuxQty - @FStockQty
IF @ZYQty > 0
Begin
Insert #gs(显示字段1,显示字段2,显示字段3,单据编号,数量,基本单位,产品编码,产品名称,备注,生产任务制单日期)
Select '销售订单','','',@FICMOBillNo,@ZYQty,@UnitName,@FNumber,@cpmc,'销售订单已占用量',@xszd6
Set @Qlsl = @Qlsl - @ZYQty
Set @ZYQtyXj = @ZYQtyXj + @ZYQty
End
End
Set @FBaseQty = 0
Set @FStockQty = 0
Fetch next from cur6 into @FICMOBillNo,@cpmc,@FAuxQty,@FStockQty,@fcommitqty,@fmrpclosed,@FCancellation
End Close cur6
放在else里不就行了if (@fcancellation = 'y' or (@fmrpclosed='y' and @fauxqty-@fcommitqty>'0'))
----此语句应该怎么写才能排除掉里面的条件后再执行以下语句
begin
end
else
begin
set @zyqty = @fauxqty - @fstockqty
end
原来,条件是没问题的,应该在这个中的WHERE 再增加一个条件FItemLongNumber = @FNumber 就没问题了,搞了我几天,谢谢大家了
select @FCancellation=FCancellation, @fmrpclosed=fmrpclosed,@xszd6 = FCheckDate,@FAuxQty=FAuxQty,@fcommitqty=fcommitqty from vwICBill_32 where FBillNo = @FICMOBillNo