SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的

Standard behavior: I have maintained Organizational management data in Service Order Header:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第1张图片

And if we add a product to this service order as line item, the header organization data will automatically be copied to item.

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第2张图片

How this automatic data flow is achieved? Once the product IMU is maintained in item level, function module CRM_ORDER_MAINTAIN is triggered with following input:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第3张图片

Within the callstack there is an event AFTER_CREATE raised against object ORDERADM_I:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第4张图片

Which event listeners are registered for this object? Check registration table CRMC_EVENT_CALL, there we can find function module CRM_ORGMAN_PRODUCT_CHANGED_EC which actually is responsible to copy the organizational data from header to item.

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第5张图片

This screenshot gives a hint that how the registered event callback function module is called:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第6张图片

Reason why item level organization data is read-only

Check the source code of organizational management view, the layout of it in the runtime is generated by the configuration metadata:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第7张图片

And when debugging the code where HTML native code for UI element is generated, I find all UI controls are marked as read only according to the code line line 225:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第8张图片

The logic to determine whether a field should be rendered as read only or editable is again done in application code and the result is returned to UI framework.

The comment in line 13 clearly shows that the organizational management data in item level should always be read only.

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第9张图片

Technical storage updated on 2017-05-09

When you maintain header level organization data, a link is created triggered by CRM_ORGMAN_CREATE_OW:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第10张图片

This will lead to an insertion of one record in table CRMD_LINK:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第11张图片

21 means ORGMAN:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第12张图片

And when a new product is created, the corresponding link to item will be created by CRM_ORGMAN_PRODUCT_CHANGED_EC mentioned previously:

SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的_第13张图片

Once item is also saved successfully, we will have two records in CRMD_LINK, one links header with its organizational data and the other links item.

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

你可能感兴趣的:(crm,erp,sap,saprfc,abap)