通常,這裡會出現兩種狀況。以下舉利用範例,發生錯誤的一定不會是和所舉範例一樣的情況,請特別注意您的錯誤訊息,符合下列哪一種:
案例一:出現 ERROR(-6203):Module ‘sub_xxxxxx’: The function ‘s_xxxxxxxx’ has already been defined in module ‘csub_s_xxxxxx’.
此類 LINK ERROR 是因為想要把標準的程式搬到『客製目錄』下進行客製,但卻在『程式鏈結維護作業 p_link 』中把原有的 SUB 程式資料『刪除』。這是不可以的,因為『重新查詢』時,系統會『自動把被刪除的 SUB 加回來』,就造成了『重複定義』。
正確的作法是,把原作業的『是否鏈結』欄位,改成『 N: 否』,這樣就不會被自動加入』了。參考下圖:
案例二:出現 ERROR(-1338):The function ‘cl_user’ has not been defined in any module in the program.
連結的明明是 SUB,卻出現一堆 LIB 錯誤﹝反過來也是一樣的情形﹞。這個與上例相同,請回頭去檢查您的 sub ﹝小寫﹞ 設定是否存在不合法的資料﹝通常是含到非 $TOP/sub 目錄下的東西,或是主程式﹝含有MAIN﹞,刪除掉就好了。
錯誤情形如下圖所示:
希望這兩種案例不要常常發生呢。