目的: V60202- 件號(#50-YCH13MS-220)-庫房(17#)-儲存位置空白-領用 – nvl(SP,’#’)
處理說明: 1>SQL//STEP1>SQL先取得 入庫數量(QTY) , 領用量(QTY_)
//STEP2>再取得現有庫存量(TAL_QTY) = 入庫數量(QTY) - 領用量(QTY_)
2>因為 AMM_COMPQTY 可能無資料(null),
所以必需 nvl(SELECT SUM(QTY) FROM AMM_COMPQTY ),0)
nvl((SELECT SUM(QTY)
FROM AMM_COMPQTY
WHERE EFF = 'Y'
AND CPNO = A.CPNO
AND MATNR = A.MATNR
AND WH = A.WH
AND nvl(SP,'#') = nvl(A.SP,'#')), 0)
nvl((SELECT SUM(QTY)
FROM AMM_COMPQTY
WHERE EFF = 'Y'
AND CPNO = A.CPNO
AND MATNR = A.MATNR
AND WH = A.WH
AND nvl(SP,'#') = nvl(A.SP,'#')), 0)
3>AND nvl(SP,'#') = nvl(A.SP,'#')
--> 若 A.SP 空白
AND nvl(SP,'') = nvl(A.SP,'') --> 無法挑選該資料, 所以改成 nvl(SP,'#')
1
1>*. cs
//STEP1>SQL先取得 入庫數量(QTY) , 領用量(QTY_)
1
1>*. cs
//STEP1>SQL先取得 入庫數量(QTY) , 領用量(QTY_)
//STEP2>再取得現有庫存量(TAL_QTY) = 入庫數量(QTY) - 領用量(QTY_)
SELECT SUM(QTY - QTY_) as TAL_QTY
FROM (
FROM (
SELECT MATNR, WH, SP, QTY,
nvl((SELECT SUM(QTY)
FROM AMM_COMPQTY
WHERE EFF = 'Y'
AND CPNO = A.CPNO
AND MATNR = A.MATNR
AND WH = A.WH
AND nvl(SP,'#') = nvl(A.SP,'#')), 0) as QTY_
FROM AMM_COMP A
WHERE 1 = 1
AND MATNR = '#50-YCH20-120'
AND WH ='17#'
AND SP='LOC1'
FROM AMM_COMPQTY
WHERE EFF = 'Y'
AND CPNO = A.CPNO
AND MATNR = A.MATNR
AND WH = A.WH
AND nvl(SP,'#') = nvl(A.SP,'#')), 0) as QTY_
FROM AMM_COMP A
WHERE 1 = 1
AND MATNR = '#50-YCH20-120'
AND WH ='17#'
AND SP='LOC1'
) ;
;
;
沒有留言:
張貼留言