我有一个有很多字段的表。当尝试使用jt400(flei00.write(newrec);
)插入数据时,我得到错误CPF5035 Data mapping error on member FLEI00.
。即使在尝试插入空或几乎为空的记录时,错误消息也是相同的。有没有办法知道问题出在哪个领域?我已经和它斗争了一整天,不知道该检查什么:-(.任何帮助(例如在哪里查找更多信息)都将不胜感激。
在IBMi上,作业日志是查找给定作业中发生的错误详细信息的地方。在JT400作业的情况下,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);
}
}
}