首页 > 解决方案 > Getting error Field UCLASS is not a member of BAPIUCLASS while updating through JCO

问题描述

I am trying to update UCLASS field value using "BAPI_USER_CHANGE" through JCO, but getting below error:

com.sap.conn.jco.JCoRuntimeException: Field UCLASS is not a member of BAPIUCLASS

Here is my code to set the value:

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

Can you please tell me this comes under which Structure? tried also with "LOGONDATA" and "ADDRESS".

标签: javasapjco

解决方案


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

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

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


推荐阅读