2013-12-12 37 views
0

我有一個有很多很多字段的表。當試圖用jt400插入數據時(flei00.write(newrec);),我收到錯誤CPF5035 Data mapping error on member FLEI00.。即使在嘗試插入空或接近空的記錄時,錯誤消息也是如此。有沒有辦法知道,哪個領域導致問題?我一直在與它鬥爭一整天,不知道要檢查什麼:-(任何幫助(例如,在哪裏尋找更多的信息)將不勝感激jt400寫入記錄拋出「CPF5035數據映射錯誤」

回答

2

在IBM i上,作業日誌JT400應用程序通過套接字連接到服務器作業,通常,這些作業中有一堆「預先啓動」,正在等待連接。如果你不習慣5250接口,這可能很難導航

這裏是一個JT400程序,它爲你獲取作業日誌信息如果你在同一個會話中運行這個程序,應該看到有關導致此問題的詳細信息。

import java.util.*; 
import com.ibm.as400.access.*; 

public class TestJobLog { 
    public static void main(String[] args) { 

    int i = 0; 

try { 
    AS400 system = new AS400(); 

    JobLog jobLog = new JobLog(system); 

    // what attributes? 
    jobLog.clearAttributesToRetrieve(); 
    jobLog.addAttributeToRetrieve(JobLog.MESSAGE_WITH_REPLACEMENT_DATA); 
    jobLog.addAttributeToRetrieve(JobLog.MESSAGE_HELP_WITH_REPLACEMENT_DATA); 

    // load the messages 
    jobLog.load(); 

    // Create a list and subset it 
    Enumeration list = jobLog.getMessages(); 

    System.out.println("There are " + Integer.toString(jobLog.getLength()) + " messages."); 

    while (list.hasMoreElements()) { 
     i++; 
     QueuedMessage message = (QueuedMessage) list.nextElement(); 
     String text = message.getID() + 
        " " + message.getType() + 
        " " + message.getText() + "\n" + 
        " " + message.getMessageHelpReplacement() + "\n"; 
     System.out.println(Integer.toString(i) + " " + text); 
     } 

    jobLog.close(); 

    System.exit(0); 

    } catch (Exception e) { 
     System.out.println(e); 
    } 

} 
} 
+0

這些消息中沒有什麼有趣的:-(。 2最後是: 11 CPF5C61 4客戶端請求 - 運行程序QSYS/QWCRTVCA。 12 CPF5C61 4客戶端請求 - 運行程序QGY/QGYOLJBL。 – agad

+0

這有點像堆棧跟蹤。這裏有很多東西,但並不是所有東西都直接影響你的問題。請特別注意CPF5035。 「幫助」文本應該包含失敗域的詳細信息。 –

+0

...並記住有多個服務器作業正在等待JT400連接。我很確定每個'=新的AS400()'連接到不同的服務器作業。所以我強調,你需要探索失敗的同一個過程的工作日誌。如果作業日誌消息看起來太多,請將作業名稱提供給IBM i管理員,她可以從房屋的綠色屏幕一側查看作業日誌。 –

相關問題