Compilation errors for FUNCTION AWCARGOWEBJMNEW.FUN_GETVSLVOY161110 Error: PLS-00103: Encountered t

运行存储过程报错如下:


Compilation errors for FUNCTION AWCARGOWEBJMNEW.FUN_GETVSLVOY161110



Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
       
          ( - + case mod new not null <an identifier>
          <a double-quoted delimited-identifier> <a bind variable>
          continue avg count current exists max min prior sql stddev
          sum variance execute forall merge time timestamp interval
          date <a string literal with character set specification>
          <a number> <a single-quoted SQL string> pipe
          <an alternatively-quoted string literal with character set specification>
          <an alternat
Line: 1628
Text: SELECT NVL(SUM(Fun_GetWMSCount(SvcOrderBill.OrderBillID,


Error: PLS-00103: Encountered the symbol ")" when expecting one of the following:
       
          * & - + ; / at for mod remainder rem <an exponent (**)> and
          or group having intersect minus order start union where
          connect || multiset
Line: 1653
Text: AND Fun_GetWMSCount(SvcOrderBill.OrderBillID, 5) < 500);


Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
       
          ( - + case mod new not null <an identifier>
          <a double-quoted delimited-identifier> <a bind variable>
          continue avg count current exists max min prior sql stddev
          sum variance execute forall merge time timestamp interval
          date <a string literal with character set specification>
          <a number> <a single-quoted SQL string> pipe
          <an alternatively-quoted string literal with character set specification>
          <an alternat
Line: 1660
Text: SELECT NVL(SUM(Fun_GetWMSCount(SvcOrderBill.OrderBillID,


Error: PLS-00103: Encountered the symbol ")" when expecting one of the following:
       
          * & - + ; / at for mod remainder rem <an exponent (**)> and
          or group having intersect minus order start union where
          connect || multiset
Line: 1685
Text: AND Fun_GetWMSCount(SvcOrderBill.OrderBillID, 5) < 500);


Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
       
          ( - + case mod new not null <an identifier>
          <a double-quoted delimited-identifier> <a bind variable>
          continue avg count current exists max min prior sql stddev
          sum variance execute forall merge time timestamp interval
          date <a string literal with character set specification>
          <a number> <a single-quoted SQL string> pipe
          <an alternatively-quoted string literal with character set specification>
          <an alternat
Line: 1696
Text: SELECT NVL(SUM(Fun_GetWMSCount(SvcOrderBill.OrderBillID, 5)),


Error: PLS-00103: Encountered the symbol ")" when expecting one of the following:
       
          * & - + ; / at for mod remainder rem <an exponent (**)> and
          or group having intersect minus order start union where
          connect || multiset
Line: 1719
Text: AND Fun_GetJHFlag(SvcOrderBill.OrderBillID) = 0);


Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
       
          ( - + case mod new not null <an identifier>
          <a double-quoted delimited-identifier> <a bind variable>
          continue avg count current exists max min prior sql stddev
          sum variance execute forall merge time timestamp interval
          date <a string literal with character set specification>
          <a number> <a single-quoted SQL string> pipe
          <an alternatively-quoted string literal with character set specification>
          <an alternat
Line: 1768
Text: SELECT NVL(SUM(Fun_GetWMSCount(SvcOrderBill.OrderBillID,


Error: PLS-00103: Encountered the symbol ")" when expecting one of the following:
       
          * & - + ; / at for mod remainder rem <an exponent (**)> and
          or group having intersect minus order start union where
          connect || multiset
Line: 1800
Text: END) < 300);


Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
       
          ( - + case mod new not null <an identifier>
          <a double-quoted delimited-identifier> <a bind variable>
          continue avg count current exists max min prior sql stddev
          sum variance execute forall merge time timestamp interval
          date <a string literal with character set specification>
          <a number> <a single-quoted SQL string> pipe
          <an alternatively-quoted string literal with character set specification>
          <an alternat
Line: 1807
Text: SELECT NVL(SUM(Fun_GetWMSCount(SvcOrderBill.OrderBillID,


Error: PLS-00103: Encountered the symbol ")" when expecting one of the following:
       
          * & - + ; / at for mod remainder rem <an exponent (**)> and
          or group having intersect minus order start union where
          connect || multiset
Line: 1839
Text: END) < 300);


Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
       
          ( - + case mod new not null <an identifier>
          <a double-quoted delimited-identifier> <a bind variable>
          continue avg count current exists max min prior sql stddev
          sum variance execute forall merge time timestamp interval
          date <a string literal with character set specification>
          <a number> <a single-quoted SQL string> pipe
          <an alternatively-quoted string literal with character set specification>
          <an alternat
Line: 1850
Text: SELECT NVL(SUM(Fun_GetWMSCount(SvcOrderBill.OrderBillID, 5)),


Error: PLS-00103: Encountered the symbol ")" when expecting one of the following:
       
          * & - + ; / at for mod remainder rem <an exponent (**)> and
          or group having intersect minus order start union where
          connect || multiset
Line: 1873
Text: AND Fun_GetJHFlag(SvcOrderBill.OrderBillID) = 0);


Error: Hint: Variable 'v_lWeightcountZC' is declared but never used in 'Fun_GetVslVoy161110'
Line: 17
Text: v_lWeightcountZC              --当天已激活板仓位


Error: Hint: Variable 'v_lWeightcountZC1' is declared but never used in 'Fun_GetVslVoy161110'
Line: 19
Text: v_lWeightcountZC1             --当天已订舱仓位


Error: Hint: Variable 'v_lWeightcountZC2' is declared but never used in 'Fun_GetVslVoy161110'
Line: 21
Text: v_lWeightcountZC2             --当天众筹份数


Error: Hint: Variable 'v_lWeightcountZCReal' is declared but never used in 'Fun_GetVslVoy161110'
Line: 23

Text: v_lWeightcountZCReal          --应扣除板仓位



看了下语法没有什么问题, 但是试了一上午June搞不定, 中午吃饭的时候反复想这里报错:


写法很怪:


  RETURN v_lScheduleReadyWeightDown - (
                    SELECT NVL(SUM(Fun_GetWMSCount(SvcOrderBill.OrderBillID,
                                                   5)),
                               0) ScheduleOp1Weight
                      FROM SvcOrderBill,
                           SvcOrderCustomer,
                           SvcOrderOperate,
                           SvcOrderQuantity
                     WHERE SvcOrderBill.OrderQuantityID =
                           SvcOrderQuantity.OrderQuantityID
                       AND SvcOrderBill.OrderOperateID =
                           SvcOrderOperate.OrderOperateID
                       AND SvcOrderBill.OrderCustomerID =
                           SvcOrderCustomer.OrderCustomerID
                       AND NVL(SvcOrderCustomer.SelfFlag, 0) = 0
                       AND SvcOrderCustomer.ScheduleIndex = v_ScheduleIndex
                       AND SvcOrderOperate.Op1Flag = 1
                       AND SvcOrderOperate.Op40Flag = 1
                       AND SvcOrderOperate.Op57Flag <> 1
                       AND SvcOrderOperate.Op22Flag <> 1
                       AND SvcOrderOperate.Op22Flag <> 2
                       AND SUBSTR(SvcOrderBill.OrderBillCode, 0, 2) = 'DS'
                       AND SvcOrderBill.ShippingDate = v_Shippingdate
                       AND Fun_GetWebOrderStatus(SvcOrderBill.OrderBillCode) <>
                           '取消中'
                       AND Fun_GetJHFlag(SvcOrderBill.OrderBillID) = 0
                       AND (CASE
                            Fun_GetWMSCount(SvcOrderBill.OrderBillID, 25)
                             WHEN 0 THEN
                              0
                             ELSE
                              (Fun_GetWMSCount(SvcOrderBill.OrderBillID, 5) /
                              NVL(Fun_GetWMSCount(SvcOrderBill.OrderBillID, 23),1))-- modified by Aaron
                           END) < 300);


我改成了人类容易理解的方法:

 SELECT NVL(SUM(Fun_GetWMSCount(SvcOrderBill.OrderBillID,
                                                   5)),
                               0) ScheduleOp1Weight
                               into  v_ScheduleOp1Weight
                      FROM SvcOrderBill,
                           SvcOrderCustomer,
                           SvcOrderOperate,
                           SvcOrderQuantity
                     WHERE SvcOrderBill.OrderQuantityID =
                           SvcOrderQuantity.OrderQuantityID
                       AND SvcOrderBill.OrderOperateID =
                           SvcOrderOperate.OrderOperateID
                       AND SvcOrderBill.OrderCustomerID =
                           SvcOrderCustomer.OrderCustomerID
                       AND NVL(SvcOrderCustomer.SelfFlag, 0) = 0
                       AND SvcOrderCustomer.ScheduleIndex = v_ScheduleIndex
                       AND SvcOrderOperate.Op1Flag = 1
                       AND SvcOrderOperate.Op40Flag = 1
                       AND SvcOrderOperate.Op57Flag <> 1
                       AND SvcOrderOperate.Op22Flag <> 1
                       AND SvcOrderOperate.Op22Flag <> 2
                       AND SUBSTR(SvcOrderBill.OrderBillCode, 0, 2) = 'DS'
                       AND SvcOrderBill.ShippingDate = v_Shippingdate
                       AND Fun_GetWebOrderStatus(SvcOrderBill.OrderBillCode) <>
                           '取消中'
                       AND Fun_GetJHFlag(SvcOrderBill.OrderBillID) = 0
                       AND (CASE
                            Fun_GetWMSCount(SvcOrderBill.OrderBillID, 25)
                             WHEN 0 THEN
                              0
                             ELSE
                              (Fun_GetWMSCount(SvcOrderBill.OrderBillID, 5) /
                              NVL(Fun_GetWMSCount(SvcOrderBill.OrderBillID, 23),1))-- modified by Aaron
                           END) < 300;
                           RETURN v_lScheduleReadyWeightDown-v_ScheduleOp1Weight;


就可以啦



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值