f_check_mtrlware_inmx.srf 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. $PBExportHeader$f_check_mtrlware_inmx.srf
  2. global type f_check_mtrlware_inmx from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_check_mtrlware_inmx (long arg_scid, long arg_mtrlwareid, ref transaction commit_transaction, ref string arg_msg)
  6. end prototypes
  7. global function integer f_check_mtrlware_inmx (long arg_scid, long arg_mtrlwareid, ref transaction commit_transaction, ref string arg_msg);//查有问题语句
  8. //SELECT u_mtrldef.mtrlcode,u_mtrlware.scid,u_mtrlware.mtrlwareid,u_mtrlware.noallocqty ,u_temp.qty From u_mtrlware
  9. //inner join u_mtrldef on u_mtrldef.mtrlid =u_mtrlware.mtrlid
  10. //inner join
  11. //
  12. //(SELECT scid,mtrlwareid,sum(inqty - outqty) as qty From u_mtrlware_inmx group by scid,mtrlwareid )
  13. //as u_temp on u_temp.scid =u_mtrlware.scid and u_temp.mtrlwareid =u_mtrlware.mtrlwareid
  14. //
  15. //where u_mtrlware.noallocqty <> u_temp.qty
  16. Long rslt = 1
  17. //查询当前库存数
  18. Decimal dec_noallocqty
  19. dec_noallocqty = 0
  20. SELECT noallocqty Into :dec_noallocqty From u_mtrlware Where scid = :arg_scid And mtrlwareid = :arg_mtrlwareid Using commit_transaction;
  21. IF commit_transaction.SQLCode <> 0 THEN
  22. rslt = 0
  23. arg_msg = "查询库存失败"
  24. GOTO ext
  25. END IF
  26. IF IsNull(dec_noallocqty) THEN dec_noallocqty = 0
  27. //查询进仓批可用数
  28. Decimal dec_useqty
  29. dec_useqty = 0
  30. SELECT sum(inqty - outqty) Into :dec_useqty From u_mtrlware_inmx Where scid = :arg_scid And mtrlwareid = :arg_mtrlwareid Using commit_transaction;
  31. IF commit_transaction.SQLCode <> 0 THEN
  32. rslt = 0
  33. arg_msg = "查询库存进仓批失败"
  34. GOTO ext
  35. END IF
  36. IF IsNull(dec_useqty) THEN dec_useqty = 0
  37. IF dec_noallocqty <> dec_useqty THEN
  38. rslt = 0
  39. arg_msg = "库存数和进仓批可用数不相同!请重试!"
  40. GOTO ext
  41. END IF
  42. ext:
  43. RETURN rslt
  44. end function