2020-09-14 05:46发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
费尔南多,
在座舱中进行部署期间,将需要修改javaBE.ini以便在其中声明ZNotificationEditBAPI。
操作1:通常,使用的文件位于javaBE.ini的底部。 确保您的ZNotificationEditBAPI在javaBE.ini中。
这可能是错误显示的原因:
2018.05.07 19:01:14.518 |错误| 544 ||||||从ini文件或SAP配置(com.syclo.sap.component.custom.notification.bapi.ZNotificationEditBAPI)初始化BAPI类时出错 。 请检查JavaBE.ini文件。 java.lang.ClassNotFoundException:com.syclo.sap.component.custom.notification.bapi.ZNotificationEditBAPI
动作2:您也可以尝试更改classPath的顺序,以查看是否可以在另一个主WM641 * .jar文件后面读取自定义jar文件,这可能是导致问题的原因。
问候,
标记
Mark Pe
我应用了您建议的更改,但是根本没有用。 我想要做的是创建一个示例自定义Java项目并在后端系统中保存一些数据,因此我选择在workmanager中使用Notification部分,然后选择将字段通知描述(SAP的SHORT_TEXT)保存在另一个字段(SAP的REPORTEDBY)中 通知时结构的结构(SAP的IS_NOTIF_HEADER)。
到目前为止,我们已经完成了以下工作:
在Java级别
这是我的Java项目,我明确参考了workmanager-6.4.1.0类,并以与标准相同的方式调用了我的类,但是我之前添加了Z字母,您可以在附加图像中看到它。/p>
一位顾问说,我如下引用对象,重写其构造并替换setProperties方法。 因此,我从NotificationEditBAPI开始,但后来我意识到我也必须修改NotificationAddBAPI。
然后,我自己工作并修改NotificationEditBAPI,但是在这里,当构造函数父类要求我引用它并且调用超级方法并将引用放置到类ZNotification时,我遇到了问题。 我也复制了settHeaderParameters方法,甚至我分别使用log4j和更改放置了一些打印件:
setEditValue(header,xStruct," REPORTEDBY",_notification.getDescription());
另一方面,我读了一篇文章,说修改BAPI类以使更改生效,所以我从ZNotificationEditStepHandler类引用了NotificationEditStepHandler,重写了它的构造函数并复制了它的run方法,但是更改了对BAPI类的引用,就像它看到了 下一张图片。
完成更改后,我们创建了一个名为sapwn-1.0.2.jar的自定义jar文件,并将其挂在服务器上,由于我们处于生产逻辑中而更改了类路径,重新启动了应用程序,但尝试执行时却在ATE中 为了发送通知,我们在NotificationPostCurrent中遇到了问题,由于这些原因,我们也选择更改NotificationPostBAPI。
您可以看到上面的类是从ZNotificationAddBAPI而不是从NotificationAddBAPI引用的,这是因为NotificationAddBAPI是NotificationPostBAPI的父类,并且它的构造函数引用Notification类。 请记住,我们创建了ZNotification类,因此我们也需要引用NotificationAddBAPI。 我已经复制了整个setHeaderParameters方法并更改了下一行:
setValue(header," REPORTEDBY",_notification.getDescription());
我认为在传输数据时要简短描述。
我知道Steplet,StepletHandler,BAPI和SapObject之间存在关系。 由于这种关系,我了解到我也必须引用NotificationPostStepHandler,但是您可能会看到下一个图像,该图像使用父StepHandler类完成了该类的副本。 我没有引用它,因为它具有getNotificationPostBAPI和getNotificationPostUpdateBAPI方法,并且它们返回BAPI的对象,当我尝试引用时,我遇到了编译问题,最后我不得不复制整个类。
在上图中,您可以看到NotificationPostUpdateBAPI在run方法中也被调用。 它的类的父级是NotificationPostBAPI,这是由于我使用了自己的类,因此也应引用它们。 下图显示您如何执行此操作。
在"配置面板"级别
我维护了SAP标准对象(BAPI CLASS,BAPI WRAPPER,STEPHANDLER),其中一些启用而其他禁用(Act.Flag显示此信息),但是我创建了新的自定义对象,并且所有这些都启用了。
我修改了一个通知,当我从ATE传输时,在服务器日志,应用程序日志和服务器日志参考Worker 3196中遇到了问题,无论如何这都是它的日志。
我做错了什么?
为什么我的Java自定义jar文件不起作用?
也许我的Java类中可能有一些不正确的东西?
感谢前进。
其他问题
有了这些更改,我还没有遇到与JavaBE.ini文件有关的问题,真的,需要配置JavaBE.ini文件以应用BAPI更改吗?
最多设置5个标签!
费尔南多,
在座舱中进行部署期间,将需要修改javaBE.ini以便在其中声明ZNotificationEditBAPI。
操作1:通常,使用的文件位于javaBE.ini的底部。 确保您的ZNotificationEditBAPI在javaBE.ini中。
这可能是错误显示的原因:
2018.05.07 19:01:14.518 |错误| 544 ||||||从ini文件或SAP配置(com.syclo.sap.component.custom.notification.bapi.ZNotificationEditBAPI)初始化BAPI类时出错 。 请检查JavaBE.ini文件。 java.lang.ClassNotFoundException:com.syclo.sap.component.custom.notification.bapi.ZNotificationEditBAPI
动作2:您也可以尝试更改classPath的顺序,以查看是否可以在另一个主WM641 * .jar文件后面读取自定义jar文件,这可能是导致问题的原因。
问候,
标记
Mark Pe
我应用了您建议的更改,但是根本没有用。 我想要做的是创建一个示例自定义Java项目并在后端系统中保存一些数据,因此我选择在workmanager中使用Notification部分,然后选择将字段通知描述(SAP的SHORT_TEXT)保存在另一个字段(SAP的REPORTEDBY)中 通知时结构的结构(SAP的IS_NOTIF_HEADER)。
到目前为止,我们已经完成了以下工作:
在Java级别
这是我的Java项目,我明确参考了workmanager-6.4.1.0类,并以与标准相同的方式调用了我的类,但是我之前添加了Z字母,您可以在附加图像中看到它。/p>
一位顾问说,我如下引用对象,重写其构造并替换setProperties方法。 因此,我从NotificationEditBAPI开始,但后来我意识到我也必须修改NotificationAddBAPI。
然后,我自己工作并修改NotificationEditBAPI,但是在这里,当构造函数父类要求我引用它并且调用超级方法并将引用放置到类ZNotification时,我遇到了问题。 我也复制了settHeaderParameters方法,甚至我分别使用log4j和更改放置了一些打印件:
setEditValue(header,xStruct," REPORTEDBY",_notification.getDescription());
另一方面,我读了一篇文章,说修改BAPI类以使更改生效,所以我从ZNotificationEditStepHandler类引用了NotificationEditStepHandler,重写了它的构造函数并复制了它的run方法,但是更改了对BAPI类的引用,就像它看到了 下一张图片。
完成更改后,我们创建了一个名为sapwn-1.0.2.jar的自定义jar文件,并将其挂在服务器上,由于我们处于生产逻辑中而更改了类路径,重新启动了应用程序,但尝试执行时却在ATE中 为了发送通知,我们在NotificationPostCurrent中遇到了问题,由于这些原因,我们也选择更改NotificationPostBAPI。
您可以看到上面的类是从ZNotificationAddBAPI而不是从NotificationAddBAPI引用的,这是因为NotificationAddBAPI是NotificationPostBAPI的父类,并且它的构造函数引用Notification类。 请记住,我们创建了ZNotification类,因此我们也需要引用NotificationAddBAPI。 我已经复制了整个setHeaderParameters方法并更改了下一行:
setValue(header," REPORTEDBY",_notification.getDescription());
我认为在传输数据时要简短描述。
我知道Steplet,StepletHandler,BAPI和SapObject之间存在关系。 由于这种关系,我了解到我也必须引用NotificationPostStepHandler,但是您可能会看到下一个图像,该图像使用父StepHandler类完成了该类的副本。 我没有引用它,因为它具有getNotificationPostBAPI和getNotificationPostUpdateBAPI方法,并且它们返回BAPI的对象,当我尝试引用时,我遇到了编译问题,最后我不得不复制整个类。
在上图中,您可以看到NotificationPostUpdateBAPI在run方法中也被调用。 它的类的父级是NotificationPostBAPI,这是由于我使用了自己的类,因此也应引用它们。 下图显示您如何执行此操作。
在"配置面板"级别
我维护了SAP标准对象(BAPI CLASS,BAPI WRAPPER,STEPHANDLER),其中一些启用而其他禁用(Act.Flag显示此信息),但是我创建了新的自定义对象,并且所有这些都启用了。
我修改了一个通知,当我从ATE传输时,在服务器日志,应用程序日志和服务器日志参考Worker 3196中遇到了问题,无论如何这都是它的日志。
我做错了什么?
为什么我的Java自定义jar文件不起作用?
也许我的Java类中可能有一些不正确的东西?
感谢前进。
其他问题
有了这些更改,我还没有遇到与JavaBE.ini文件有关的问题,真的,需要配置JavaBE.ini文件以应用BAPI更改吗?
一周热门 更多>