怎么阻止SAP CRM自动被置为传输状态的行为

发布时间:2021-12-30 16:11:54 作者:iii
来源:亿速云 阅读:154

这篇文章主要介绍“怎么阻止SAP CRM自动被置为传输状态的行为”,在日常操作中,相信很多人在怎么阻止SAP CRM自动被置为传输状态的行为问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么阻止SAP CRM自动被置为传输状态的行为”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

AG9 Service order创建好之后,要自动通过middleware传其他系统去,这个behavior我们现在记录下来了么?知道怎么disable不?

怎么阻止SAP CRM自动被置为传输状态的行为

Transaction的status profile上可以配这么一个东西:

怎么阻止SAP CRM自动被置为传输状态的行为

但是我们现在的ZSRV上没有配任何status profile…

line 325的function module会负责通过outbound queue往外发,

只有当line 321的IF里的三个条件同时满足才会进入:

怎么阻止SAP CRM自动被置为传输状态的行为怎么阻止SAP CRM自动被置为传输状态的行为

条件1: IV_NO_BDOC_SEND = FALSE, AG9上这个参数用的默认参数false,满足

条件2: LV_SEND_BDOC = TRUE

读这个global的internal table,如果读不到,置为TRUE,AG9上读不到,所以为true,这个条件也满足了。

条件3: LV_SKIP_ASYNCRONOUS_FUNCTION = INITIAL

如果该order的状态置为POST PROCESSING, 则该变量值为true,但是AG9上我们的status是open,所以这个条件也满足

三个条件同时满足,所以通过middleware里往outbound queue发数据。

怎么阻止SAP CRM自动被置为传输状态的行为

如何避免这个行为?根据代码分析,破坏IF里三个条件任意一个即可。通过debug可知破坏第二个条件最容易,我正在看相关的配置。

条件2少截一张图:

条件2: LV_SEND_BDOC = TRUE

读这个global的internal table,如果读不到,置为TRUE,AG9上读不到,所以为true,这个条件也满足了。

怎么阻止SAP CRM自动被置为传输状态的行为

有两种solution disable这个行为:

(1) CRM_ORDER_SAVE call line 56行的CRM_ORDER_SAVE_OW时,IV_NO_BDOC_SEND没有指定value,所以传进来的是默认值ABAP_FALSE,

这里我们强制改成TRUE, 就会破坏要上传的那三个条件的第一个,导致不会进入上传的分支。

怎么阻止SAP CRM自动被置为传输状态的行为

(2) 如果只是想disable 某种特定transaction type的document,call 这个function module:

CRM_ORDER_SET_NO_BDOC_SEND_OW, 输入order的guid,会添加一行entry到GT_NO_BDOC_SEND里,

这样会破坏IF判断里中间那个条件,也能实现不上传的目的。

怎么阻止SAP CRM自动被置为传输状态的行为

到此,关于“怎么阻止SAP CRM自动被置为传输状态的行为”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. SAP ABAP字符变量和字符串变量怎么理解
  2. SAP API开发方法有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

crm sap

上一篇:java常用工具类有哪些

下一篇:Redis命令有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》