SAP B1新增及更新單據依據不同的條件觸發審批流
2022年07月15日
sap b1審批語句主要用于新增及更新單據依據不同的條件觸發審批流,以下文代碼為例,新增觸發條件為金額小于5000,修改觸發條件為金額差異5000,如新增新額小于5000觸發審批,新增金額大于5000不觸發審批,當金額由1改為5000時觸發審批,當金額由1改為5001時不觸發審批。
/*20-30.Purchase Order None Inventory-EHS*/
/*1.新增單據觸發審批(None Inventory<5000RMB)*/
/*2.更新單據總計觸發審批(None Inventory<5000RMB)*/
/*
P01 Inventory
P02 None Inventory
*/
IF NOT EXISTS
(
SELECT 1
FROM OPOR T0
WHERE T0.[DocNum] = $[OPOR.DocNum.Number]
)
BEGIN
SELECT CASE WHEN LEFT($[OPOR.U_YWLX],3) IN ('P02','P06') AND $[OPOR.DocTotal.number]<5000 AND LEFT($[OPOR.U_OcrCode],3)=N'119' THEN 'TRUE' ELSE 'FALSE' END ;
END;
IF EXISTS
(
SELECT 1
FROM OPOR T0
WHERE T0.[DocNum] = $[OPOR.DocNum.Number]
)
BEGIN
DECLARE
@U_YWLX char(30),
@U_OcrCode char(30),
@DocTotal varchar(30)
SELECT @U_YWLX=LEFT([U_YWLX],3),@DocTotal =[DocTotal],@U_OcrCode=LEFT(U_OcrCode,3) FROM OPOR WHERE DocNum=$[OPOR.DocNum.Number]
SELECT 'TRUE' WHERE @U_YWLX IN ('P02','P06') AND @U_OcrCode=N'119' AND (CAST($[OPOR.DocTotal] as numeric(19, 6))- CAST(@DocTotal AS NUMERIC(19, 6)))<5000;
END
這段代碼,希望對于廣大sap b1 從業者有很大的幫助。