我正在尝试通过JCO使用“ BAPI_USER_CHANGE”更新UCLASS字段值,但出现以下错误:

com.sap.conn.jco.JCoRuntimeException:字段UCLASS不是BAPIUCLASS的成员

这是设置值的代码:

JCoStructure license = params.getStructure("UCLASS");
license.setValue("UCLASS", changes.get(0).getCurrent());
JCoStructure licenseX = params.getStructure("UCLASSX");
licenseX.setValue("UCLASS", 'X');


您能告诉我这属于哪种结构吗?也尝试过使用“ LOGONDATA”和“ ADDRESS”。

最佳答案

使用SAP GUI登录并使用事务SE37显示RFM BAPI_USER_CHANGE的参数和结构。
ABAP工作台提供向前导航。因此,如果您想查看此UCLASS结构的外观,请转到RFM BAPI_USER_CHANGE的“导入”选项卡,然后双击“关联类型BAPIUCLASS”。

您正确获取了错误消息,因为RFM参数UCLASS中没有名称为UCLASS的字段(这是一个JCoStructure)。
取而代之的是,例如license.setValue("LIC_TYPE", "XY");在这里有效。

如果要整体设置另一个结构,则必须使用
params.setValue("UCLASS", myJCoStructure);

07-28 08:32