---
# System prepended metadata

title: E16 -MR20201標項維護，購案編號1113F80-1因第一次流標，欲產生新購案時，點選「未決標項產生新購案」，網頁跳出HTTP500錯誤頁面。也許為A09相關。
tags: [列管中]

---

# E16 -MR20201標項維護，購案編號1113F80-1因第一次流標，欲產生新購案時，點選「未決標項產生新購案」，網頁跳出HTTP500錯誤頁面。也許為A09相關。

###### tags: `列管中`

## 問題敘述
MR20201標項維護，購案編號1113F80-1因第一次流標，欲產生新購案時，點選「未決標項產生新購案」，網頁跳出HTTP500錯誤頁面，請查修。



## 解析

20220519
材料類正常、一般類異常，評估是否為A09後續問題。
20220519
![](https://i.imgur.com/DghkHGV.png)
![](https://i.imgur.com/VwyonMx.png)


錯誤網址

    https://10.100.50.20:9080/mr/mr20201_man_4.jsp?APPH_KIND3=1&s_APPH_BNO5_FROM=&APPH_BNO4=80&s_APPH_BNO3=F&s_APPH_BNO1=111&s_APPH_BNO2=3&s_APPH_BNO4_TO=80&APPH_BNO5=1&s_APPB_RESULT=0&APPH_BNO3=F&s_APPH_BNO4_FROM=80&APPH_BNO2=3&APPH_ANO=00&APPH_BNO1=111&APPH_KIND5=2&s_APPH_BNO5_TO=

評估錯誤在before類型的處理FUN時出錯了，其中一個出錯了。

錯誤FUN為:beforeShowRow


*出錯程式碼片段*

```java=
	if (StringUtils.isEmpty(appb_mno)) {
//				if (!appb_mno.substring(0, 1).equals("X")) {
					// 品名
					e.getGrid().getControl("APPB_MNAME").setValue( Utils.convertToString(DBTools.dLookUp("MNO_MNAME", "BASC_MNO", "MNO_OPCODE <> 'D' AND MNO_MNO = '" + appb_mno + "'", connectionName)) );					
					// 規格
	                                e.getGrid().getControl("APPB_SCALE").setValue( Utils.convertToString(DBTools.dLookUp("MNO_SCALE", "BASC_MNO", "MNO_OPCODE <> 'D' AND MNO_MNO = '" + appb_mno + "'", connectionName)) );		
					// 單位
					e.getGrid().getControl("APPB_UNITN").setValue( Utils.convertToString(DBTools.dLookUp("MNO_UNITN", "BASC_MNO", "MNO_OPCODE <> 'D' AND MNO_MNO = '" + appb_mno + "'", connectionName)) );
				//}
			}
```

print appb_mon後為空值，判斷是substring出錯

且其他mr20201_manHandlers.jsp已經將這段程式註解，改用其他程式碼顯示資料。

前人更改紀錄為下圖，但mr20201_man_4Handlers也有同樣片段，但前人沒有一同修正
![](https://i.imgur.com/3BjVY7V.png)




## 問題單內容
*  原始程式碼位置
*  目的程式碼位置
*  問題解析
*  處理方法
*  變更後測試執行結果