gpt4 book ai didi

java - 在 SAP 中创建采购信息记录

转载 作者:行者123 更新时间:2023-12-01 15:38:12 26 4
gpt4 key购买 nike

我正在尝试使用以下 JCo 代码在 SAP 中创建采购信息记录 (ME11):

它执行不会失败并且不会抛出任何错误,但我无法在 SAP 中获取新创建的信息记录。在 ME13 中,它说未找到信息记录。我能知道我错过了什么吗?

IFunctionTemplate ft1 = mRepository.getFunctionTemplate("ZME_INITIALIZE_INFORECORD");
JCO.Function function1 = ft1.getFunction();
mConnection.execute(function1);

IFunctionTemplate ft = mRepository.getFunctionTemplate("ZME_DIRECT_INPUT_INFORECORD");
JCO.Function function = ft.getFunction();
JCO.ParameterList importparams =function.getImportParameterList();

// Setting HeadData Structure Information
JCO.Structure headStructure = importparams.getStructure("I_EINA");
//headStructure.setValue("105","MANDT");
//headStructure.setValue("5300259768", "INFNR");
headStructure.setValue("MYPART0006", "MATNR");
//headStructure.setValue("MYPART0006", "IDNLF");
headStructure.setValue("100002","LIFNR");
headStructure.setValue("10000","MATKL");
headStructure.setValue("KGS","MEINS");
headStructure.setValue("1","UMREZ");
headStructure.setValue("1","UMREN");
headStructure.setValue("SG","URZLA");
headStructure.setValue("KGS","LMEIN");
//headStructure.setValue("0000005300259768","URZZT");

JCO.Structure headStructure1 = importparams.getStructure("O_EINA");
//headStructure1.setValue("105","MANDT");
//headStructure1.setValue("5300259768", "INFNR");
headStructure1.setValue("MYPART0006", "MATNR");
//headStructure1.setValue("MYPART0006", "IDNLF");
headStructure1.setValue("100002","LIFNR");
headStructure1.setValue("10000","MATKL");
headStructure1.setValue("KGS","MEINS");
headStructure1.setValue("1","UMREZ");
headStructure1.setValue("1","UMREN");
headStructure1.setValue("SG","URZLA");
headStructure1.setValue("KGS","LMEIN");

//headStructure1.setValue("0000005300259768","URZZT");
System.out.println("General Data Set");

JCO.Structure purchaseDataStructure = importparams.getStructure("I_EINE");
//purchaseDataStructure.setValue("105","MANDT");
//purchaseDataStructure.setValue("5300259768", "INFNR");
purchaseDataStructure.setValue("1000","EKORG");
purchaseDataStructure.setValue("1000", "WERKS");
purchaseDataStructure.setValue("003","EKGRP");
purchaseDataStructure.setValue("USD","WAERS");
purchaseDataStructure.setValue("3","APLFZ");
purchaseDataStructure.setValue("1","PEINH");
purchaseDataStructure.setValue("1","BPUMZ");
purchaseDataStructure.setValue("1","BPUMN");
purchaseDataStructure.setValue("1000","EFFPR");
purchaseDataStructure.setValue("0001","BSTAE");
purchaseDataStructure.setValue("100000","NETPR");
purchaseDataStructure.setValue("X","KZABS");

JCO.Structure purchaseDataStructure1 = importparams.getStructure("O_EINE");
//purchaseDataStructure1.setValue("105","MANDT");
//purchaseDataStructure1.setValue("5300259768", "INFNR");
purchaseDataStructure1.setValue("1000","EKORG");
purchaseDataStructure1.setValue("1000", "WERKS");
purchaseDataStructure1.setValue("003","EKGRP");
purchaseDataStructure1.setValue("USD","WAERS");
purchaseDataStructure1.setValue("3","APLFZ");
purchaseDataStructure1.setValue("1","PEINH");
purchaseDataStructure1.setValue("1","BPUMZ");
purchaseDataStructure1.setValue("1","BPUMN");
purchaseDataStructure1.setValue("1000","EFFPR");
purchaseDataStructure1.setValue("0001","BSTAE");
purchaseDataStructure1.setValue("100000","NETPR");
purchaseDataStructure1.setValue("X","KZABS");

mConnection.execute(function);

IFunctionTemplate ft2 = mRepository.getFunctionTemplate("ZME_POST_INFORECORD");
JCO.Function function2 = ft2.getFunction();

JCO.ParameterList importparams2 =function2.getImportParameterList();
importparams2.setValue("MYPART0006", "I_MATNR");
importparams2.setValue("MYPART0006", "O_MATNR");
mConnection.execute(function2);

最佳答案

我可能是错的,但我认为您将获得您所填写的结构的副本。您可以通过在执行函数之前添加一组“setValue”来测试它吗即:

importparams.setValue("I_EINA", headStructure);
importparams.setValue("O_EINA", headStructure1);
importparams.setValue("I_EINE", purchaseDataStructure);
importparams.setValue("O_EINE", purchaseDataStructure1);
mConnection.execute(function);

否则,可能会在函数中添加外部断点(java函数的执行将触发ABAP中的调试 session ),

  • 并检查 ABAP 中的值以及执行
  • 你说该函数不会抛出任何错误,但我没有看到任何错误检查您的代码。您的函数应该返回一个结构或表,指示 ABAP 端成功或错误(例如,键入 BAPIRETURN1)。仅当存在 ABAP 转储或无效参数时,JCO 才会自行触发错误。

问候

关于java - 在 SAP 中创建采购信息记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com