gpt4 book ai didi

java - BAPI_PERSDATA_CHANGE 使用 SAP JCo 3 更新用户数据

转载 作者:行者123 更新时间:2023-12-02 11:47:33 25 4
gpt4 key购买 nike

我正在使用以下代码片段。目标是使用 BAPI_PERSDATA_CHANGE bapi 更新用户姓氏、名字和 co。但不知怎的,它不起作用,我尝试了很多可能性,但它不起作用。与 BAPI_PERSDATA_CHANGE 相关的函数的消息是:

No data stored for 0002 in the selected period

我正在使用以下代码

public boolean writeData(long id, HashMap<String, String>  userData) throws Exception{
String DST1 = "ABAP_AS";
JCoDestination dest = JCoDestinationManager.getDestination(DST1);
JCoFunctionTemplate template = dest.getRepository().getFunctionTemplate("BAPI_PERSDATA_CHANGE");
JCoFunction jcoFunction = template.getFunction();
jcoFunction.getImportParameterList().setValue("EMPLOYEENUMBER", id);
//jcoFunction.getImportParameterList().setValue("SUBTYPE", "002");
//jcoFunction.getImportParameterList().setValue("OBJECTID", "");
//jcoFunction.getImportParameterList().setValue("LOCKINDICATOR", "");
jcoFunction.getImportParameterList().setValue("VALIDITYBEGIN", "19570101"); //"1994-04-24");
jcoFunction.getImportParameterList().setValue("VALIDITYEND", "99991231");
jcoFunction.getImportParameterList().setValue("RECORDNUMBER", "000");
jcoFunction.getImportParameterList().setValue("FIRSTNAME", "FOfie modifier");
JCoFunction jCoFunction1 = dest.getRepository().getFunctionTemplate("BAPI_TRANSACTION_COMMIT").getFunction();
JCoFunction BAPI_EMPLOYEE_DEQUEUE = dest.getRepository().getFunction("BAPI_EMPLOYEE_DEQUEUE");
BAPI_EMPLOYEE_DEQUEUE.getImportParameterList().setValue("NUMBER", id);
jcoFunction.execute(dest);
jCoFunction1.execute(dest);
BAPI_EMPLOYEE_DEQUEUE.execute(dest);
JCoContext.end(dest);
return false;
}

我错过了什么吗?或者做错了什么?

最佳答案

错误消息中准确描述了问题。

No data stored for 0002 in the selected period

表示在参数VALIDITYBEGINVALIDITYEND给定的时间段内没有信息类型0002的数据,因此没有什么可做的已更新。

确保在请求的时间段内为 EMPLOYEENUMBER 提供上述信息类型的数据。

关于java - BAPI_PERSDATA_CHANGE 使用 SAP JCo 3 更新用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48099653/

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