jt400写入记录抛出“CPF5035数据映射错误”

时间:2013-12-12 16:30:40

标签: insert ibm-midrange db2-400 jt400

我有一张包含许多字段的表格。尝试使用jt400(flei00.write(newrec);)插入数据时,我收到错误CPF5035 Data mapping error on member FLEI00.。即使在尝试插入空的或接近空的记录时,错误消息也是一样的。有没有办法知道,哪个领域导致问题?我一直在与它斗争,并且不知道该检查什么:-(。任何帮助(例如,在哪里寻找更多信息)将不胜感激。

1 个答案:

答案 0 :(得分:3)

在IBM i上,作业日志是查找给定作业中发生的错误的详细信息的位置。对于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);
    }

}
}