2020-08-21 16:04发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我一直在开发一些用于客户结帐的功能,并且一切正常,直到我决定升级到FP08 PL1,我还测试了更新到PL2仍然无法正常工作。
这似乎很奇怪,因为JS代码可以很好地工作,但是JAVA代码却不能工作。 在宣言中,我似乎没事。
有人知道为什么会这样吗?
谢谢
何塞。
Robert Zieschang
尝试您告诉我的内容,控制台可以完美运行。 但是在代码中,您不知道会发生什么吗?
您好José 雷耶斯(Reyes),
对事件总线的访问方式也有所改变。 您可以这样访问它:
Plugin.MyCoolCcoPlugin = class MyPlugin { 构造函数(pluginService,eventBus){ this.pluginService = pluginService; this.eventBus = eventBus; this.init(); } 在里面() { //订阅 this.eventBus.subscribe({ 'handleEvent':(事件)=> {//处理事件} }); //将事件推送到插件后端->第一个参数是您的事件ID,第二个是您可能想要的json负载 //发送到您的插件 this.pluginService.backendPluginEvent('MY_COOL_EVENT',{ 'json':'jsonvalue' }); } }
对任何语法错误(缺少分号或})表示歉意,但没有代码完成。 :)
在您的cco插件中,您现在必须实现一些侦听器:
BroadcastHolder.INSTANCE.addEventChannelListener(new UIEventChannelListener(){ @Override 公共无效handleEvent(String eventId,JSONObjectpayload){ 如果(" MY_COOL_EVENT" .equals(eventId){ //为您的活动做点事 } } });
希望这会有所帮助。
致谢
Robert
您好何塞·雷耶斯(JoséReyes),
您可以在客户结帐的标准日志中查找要运行插件的位置吗?
它 加载插件时会生成一些日志条目。 Cco可能会提示您,这可能是什么问题
这些日志条目可能类似于以下内容:
2019-08-03 15:47:51,004 [main] INFO com。 sap.scco.ap.plugin.PluginManager-在" E:/XXXXX/XXXXXX/100_CCO_2.0_FP08_Release/cco/temp/.POSPlugins/AP0"中加载插件...
PS:我建议 您使用maven有效地构建插件。 看看我的博客系列,其中我会详细解释内容。
https://blogs.sap.com/2018/10/16/sap-customer-checkout-plugin-development-part-i/
如果您有任何疑问,请随时与我联系。 我会尽快回覆您。 :)
嗨罗伯特,
感谢您的回答。
我正在分析正在发生的事情,并且我注意到我使用" window.ccoEventBus.push"进行的调用,例如:
window.ccoEventBus.push(" BACKEND_PLUGIN_EVENT",{" eventId":" CUSTOM_EVENT"," payload":{" Test":" testpayload"}}});
返回错误:" TypeError:无法读取未定义的属性'push'"
我怀疑也许这些属性已针对这些版本进行了重命名。 因为之前它对我来说是完美的。
您好JoséReyes ,
您是尝试使用chrome开发人员控制台推送到事件总线还是从插件中获取此实际的js代码?
注意事项
您可以添加 在浏览器中向您的uri发送以下内容:
?DEBUG = 1338(结果应如下所示-> localhost:9999/uuid/?DEBUG = 1338)
使用FP08 eventbus仅在激活了调试模式的chrome开发人员控制台中可用。
您现在可以像这样访问eventbus:
this.ccoEventBus
可以订阅和收听这样的事件:
this.ccoEventBus.subscribe({'handleEvent':(event)=> {{console.log(event);}}});
嗨,Robert Zieschang ,
我当前使用的版本是:
是的,我尝试在每个控制台的PL02中使用相同的事件,但是请注意,甚至没有相同的事件" window.ccoEventBus.push"。
例如在我的版本中,我可以这样做:
但是在PL02中甚至不存在
此致
Jose
最多设置5个标签!
Robert Zieschang
尝试您告诉我的内容,控制台可以完美运行。 但是在代码中,您不知道会发生什么吗?
您好José 雷耶斯(Reyes),
对事件总线的访问方式也有所改变。 您可以这样访问它:
对任何语法错误(缺少分号或})表示歉意,但没有代码完成。 :)
在您的cco插件中,您现在必须实现一些侦听器:
希望这会有所帮助。
致谢
Robert
您好何塞·雷耶斯(JoséReyes),
您可以在客户结帐的标准日志中查找要运行插件的位置吗?
它 加载插件时会生成一些日志条目。 Cco可能会提示您,这可能是什么问题
这些日志条目可能类似于以下内容:
PS:我建议 您使用maven有效地构建插件。 看看我的博客系列,其中我会详细解释内容。
https://blogs.sap.com/2018/10/16/sap-customer-checkout-plugin-development-part-i/
如果您有任何疑问,请随时与我联系。 我会尽快回覆您。 :)
嗨罗伯特,
感谢您的回答。
我正在分析正在发生的事情,并且我注意到我使用" window.ccoEventBus.push"进行的调用,例如:
window.ccoEventBus.push(" BACKEND_PLUGIN_EVENT",{" eventId":" CUSTOM_EVENT"," payload":{" Test":" testpayload"}}});
返回错误:" TypeError:无法读取未定义的属性'push'"
我怀疑也许这些属性已针对这些版本进行了重命名。 因为之前它对我来说是完美的。
您好JoséReyes ,
您是尝试使用chrome开发人员控制台推送到事件总线还是从插件中获取此实际的js代码?
注意事项
Robert
您好JoséReyes ,
您可以添加 在浏览器中向您的uri发送以下内容:
?DEBUG = 1338(结果应如下所示-> localhost:9999/uuid/?DEBUG = 1338)
使用FP08 eventbus仅在激活了调试模式的chrome开发人员控制台中可用。
您现在可以像这样访问eventbus:
可以订阅和收听这样的事件:
希望这会有所帮助。
致谢
Robert
嗨,Robert Zieschang ,
我当前使用的版本是:
是的,我尝试在每个控制台的PL02中使用相同的事件,但是请注意,甚至没有相同的事件" window.ccoEventBus.push"。
例如在我的版本中,我可以这样做:
但是在PL02中甚至不存在
此致
Jose
一周热门 更多>