通过 JCO 更新时出现错误字段 UCLASS 不是 BAPIUCLASS 的成员

Getting error Field UCLASS is not a member of BAPIUCLASS while updating through JCO

我正在尝试通过 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 workbench 提供前向导航。因此,如果您想查看此 UCLASS 结构的外观,请转到 RFM BAPI_USER_CHANGE 的导入选项卡并双击关联类型 BAPIUCLASS。

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

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