如何阻止SAP CRM订单创建好之后,自动被置为传输状态这一行为

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

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

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

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

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


条件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发数据。

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

条件2少截一张图:

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

有两种solution disable这个行为:

(1) CRM_ORDER_SAVE call line 56行的CRM_ORDER_SAVE_OW时,IV_NO_BDOC_SEND没有指定value,所以传进来的是默认值ABAP_FALSE,
这里我们强制改成TRUE, 就会破坏要上传的那三个条件的第一个,导致不会进入上传的分支。

(2) 如果只是想disable 某种特定transaction type的document,call 这个function module:
CRM_ORDER_SET_NO_BDOC_SEND_OW, 输入order的guid,会添加一行entry到GT_NO_BDOC_SEND里,
这样会破坏IF判断里中间那个条件,也能实现不上传的目的。

这两种技术上都行。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

原文地址:https://www.cnblogs.com/sap-jerry/p/12232802.html

时间: 2024-08-01 08:55:03

如何阻止SAP CRM订单创建好之后,自动被置为传输状态这一行为的相关文章

如何在SAP CRM里创建和消费Web service

Created by Wang, Jerry, last modified on Dec 19, 2014 The following steps demonstrates how to expose a function module as a web service in CRM. create a FM to return product description by given product ID. Just use the following source code: SELECT

为什么S/4HANA的生产订单创建后会自动release

在S/4HANA系统里我们观察到通过函数CO_61_ORDER_EDIT创建的生产订单会自动释放Release: 通过第86行的IF语句的条件检测不难找到原因. 变量PROFILE_TMP的类型为TCO43: 这个scheduling profile的配置在路径Production->Shop Floor Control->Master Data->Define Production Scheduling Profile里: 如下图所示:Automatic Actions标签页里的On

SAP CRM 为用户创建业务合作伙伴并分配到组织单位

想要在SAP CRM的前台完成一些操作,需要登录的用户在系统中存在对应的业务合作伙伴才可以,某些情况下,还需要被分配到公司.部门.职位.下面是相关的操作步骤. 本文假定读者已经拥有一个开发帐号. 本文地址:http://www.cnblogs.com/hhelibeb/p/6268387.html 原创内容,转载请注明 创建BP 前往事务代码BP,点击新建人员按钮 类型选择 员工 在新屏幕中填入姓名.国家等必输项 关键步骤:切换到“标识”(Identification)标签,输入用户名,保存 点

SAP ABAP编程 创建采购订单

FUNCTION zmm_jsd_creatpo. *"---------------------------------------------------------------------- *"*"Local interface: *"  IMPORTING *"     VALUE(JSD) TYPE  ZMM_YS_JSD_HEAD-JSD *"  EXPORTING *"     VALUE(E_FLAG) TYPE  C

SAP CRM BOL编程基础,代码+详细注释

网络上可以找到一些使用BOL查询.维护数据的DEMO,但几乎都是单纯的代码,缺乏说明,难以理解.本文除了代码外,还给出了详细的注释,有助于理解BOL编程中的一些基本概念. 这是一篇翻译的文章,你可能会发现部分内容不是很好理解,这时可以直接阅读原文. 原文所在的sapcrmwebui.com是一个不错的博客,然而网站不是很稳定,偶尔会连接不上,建议使用Internet Archive访问. 如果你访问不了Internet Archive,说明你需要一点过墙的手段. 本文链接:http://www.

SAP CRM 高效调试方法

调试,是程序开发中的基本技巧.在SAP CRM中,错误消息通常在前台的Web页面中展示,快速定位错误消息在源代码中的位置,对发现和解决程序中的问题有着重要的意义. 我在SAP的网站上面找到了一篇不错的相关文章,翻译在这里. 英文原文:How to quickly locate the code where the error message is raised for Business Transaction Application 本文链接:http://www.cnblogs.com/hhe

sap crm 常用表

[转自 http://blog.csdn.net/zhongguomao/article/details/6714616] SAP CRM 参数文件集目标组常用表: CRMD_MKTTG_TG_T CRM 市场营销: 目标组文本 CRMD_MKTTG_TG_H CRM 市场营销: 目标组抬头数据 CRMD_MKTTG_TG_I CRM 市场营销: 目标组项目CRMD_MKTTG_PF_H CRM 市场营销:参数文件/注意DELETE_FLAG标志,删除后不能恢复 CRMD_MKTTG_PF_T 

SAP CRM 树状视图(TREE VIEW)

树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view)那种专门的树视图类型.我们可以认为树视图是表视图的一种特例.没有可以用于创建树视图的向导.需要按以下特定的步骤手动改造已存在的视图. 首先,这个看起来挺难的,但是你做的次数越多,就会越容易理解它.在本文,我将创建一个如下模样的树视图. 如你所见,它有两级结构.第一级展示LEAD ID,下一级展示客户

SAP CRM 中主要的Function

在SAP CRM中,原来靠表关系写report的方法已经不再适用了,报表主要是靠调用已经存在的function来实现的. SAP CRM中主要的Function: CRM_ORDER_READ: 订单相关,可以得到订单相关的各种信息 CRM_SEARCH_BUSINESSACTIVITY: 一个function就可以处理MY&TEAM&ALL Activities的需求 CRM_CENTRALPERSON_GET: 得到一个用户所对应的BP的guid GET_USER_ORG_UNITS: