---
# System prepended metadata

title: A11 - MR60304憑證查詢問題
tags: [已處理]

---

# A11 - MR60304憑證查詢問題
###### tags: `已處理`

## 問題

R60304退料單調整作業異常：新增退料單資料輸入完成，按下新增後顯示「無此原憑證號或此原憑證號已調整，請重新輸入」，故無法新增，請幫忙查修。

## 邏輯分析

經查詢，確認正式機確實存在此筆目標資料，發現用來檢查資料存在的sql有問題。

## 更正程式碼

**修正模式:A**

mr60304_manHandlers.jsp 
138行

int check_count = Utils.convertToLong(DBTools.dLookUp("NVL(COUNT(*),0)", "MAST_EENOH", "EENOH_EEDEPT = '" + idept + "' AND EENOH_EECODE = '" + odno1 + "' AND EENOH_EEYY = " + odno2 + " AND EENOH_EESEQ = " + odno3 + " AND EENOH_DEL = '2'  AND (EENOH_EEDEPT || EENOH_EECODE || EENOH_EEYY || EENOH_EESEQ ='" + idept + odno1 + odno2 + odno3 + "' OR EENOH_EEDEPT || EENOH_EECODE || EENOH_EEYY || EENOH_EESEQ NOT IN (SELECT GNOH_IDEPT || GNOH_ODNO1 || GNOH_ODNO2 || GNOH_ODNO3  FROM MAST_GNOH WHERE GNOH_DEL <> '1' AND GNOH_IDEPT = '" + idept + "' AND GNOH_ODNO1 = '" + odno1 + "' AND GNOH_ODNO2 = " + odno2 + " AND GNOH_ODNO3 = " + odno3 + "))", "SynctConn")).intValue();

修正

int check_count = Utils.convertToLong(DBTools.dLookUp("NVL(COUNT(*),0)", "MAST_EENOH", "EENOH_ANO = '" + idept + "' AND EENOH_EECODE = '" + odno1 + "' AND EENOH_EEYY = " + odno2 + " AND EENOH_EESEQ = " + odno3 + " AND EENOH_DEL = '2'  AND (EENOH_EEDEPT || EENOH_EECODE || EENOH_EEYY || EENOH_EESEQ ='" + idept + odno1 + odno2 + odno3 + "' OR EENOH_EEDEPT || EENOH_EECODE || EENOH_EEYY || EENOH_EESEQ NOT IN (SELECT GNOH_IDEPT || GNOH_ODNO1 || GNOH_ODNO2 || GNOH_ODNO3  FROM MAST_GNOH WHERE GNOH_DEL <> '1' AND GNOH_IDEPT = '" + idept + "' AND GNOH_ODNO1 = '" + odno1 + "' AND GNOH_ODNO2 = " + odno2 + " AND GNOH_ODNO3 = " + odno3 + "))", "SynctConn")).intValue();




