版本:Oracle EBS R11
今天在更新Employee的mail資料時,出現下列的錯誤:
APP-PAY-06153:System Error. Procedure VALIDATE_UNIQUE_NUMBER at Step 1
但是在畫面上檢查了所有的欄位並沒有什麼錯誤,甚致把可能導致UNIQUE欄位改值也是如此。
最後發現Table中有兩個Flag的欄位似乎有異樣,SQL如下:
select person_id,full_name,
applicant_number,
current_applicant_flag,
employee_number,
current_employee_flag
from per_all_people_f
where full_name= '測試, 二';
得到的資料如下:
PERSON_ID = 12497
FULL_NAME = 測試, 二
APPLICANT_NUMBER =
CURRENT_APPLICANT_FLAG = Y
EMPLOYEE_NUMBER = test02
CURRENT_EMPLOYEE_FLAG = Y
其中CURRENT_APPLICANT_FLAG的值為Y,但是APPLICANT_NUMBER卻是空值,所以導致UNIQUE的欄位就是它。
所以我直接以update table的方式更新APPLICANT_NUMBER的值,這樣更新mail時就沒有出現錯誤了。
另外也以update table的方式更新CURRENT_APPLICANT_FLAG為Null值,這樣也可以解決。
只是我在測試區中測試新增Applicant時,APPLICANT_NUMBER都一定會有值,不會有Null的情形,新增Employee時也是一樣的,試不出上述的情形。
不管了,問題解決了,先把問題記錄下來,以免自己以後忘記了。