Often we get a requirement to process purchase orders (or ASN’s, other business objects) with custom fields in SNC. These custom fields could either be industry specific fields that are not supported by SNC yet or company specific fields that are needed by business.
This blog explains the overall (ECC, PI, SNC) design considerations of purchase order processing with custom fields. Hence, we will discuss in detail about the design considerations for ECC, PI, and SNC.
Identify the data that needs to be sent with purchase orders. Analyse these custom fields and group them into header, item, and schedule line level.
Enhancements in ECC:
ECC can send the purchase order data to PI either using IDoc or proxy. Let us discuss about the considerations for deciding whether to use the IDoc or Proxy?
General advantage of using proxy in ECC for sending data to SNC:
Mapping is not needed in PI as both SNC and ECC will have same structures. No mapping failures in PI at runtime since there is no mapping. Hence, there is no mapping development effort and less monitoring effort in PI.
Let us consider few scenarios:
- Requirement to send company specific data with purchase orders to SNC from ECC.
We should enhance the proxy structure to add these custom fields. In order to do that enhance the corresponding proxy structure in PI and activate/generate the same in ECC. Use BAdi/enhancement to populate these fields in ECC.
There will be development effort in both ECC and PI if we choose to use IDoc in this scenario. There is a chance for mapping failures in PI at runtime (Formatting errors, missing mandatory data etc).
- Requirement to send industry specific data to be sent with purchase orders to SNC from ECC.
In this case we can make use of industry specific standard IDoc that will have this data to send to SNC.
The advantage of using IDoc is that there is no devevelopment effort in ECC. However, we will have to make a copy of the standard xslt mapping and enhance it for custom fields in PI. The PI development effort depends on the complexity of mapping and the number of fields to be mapped. There is a chance for mapping failures in PI at runtime (Formatting errors, missing mandatory data etc).
- Requirement to send both industry specific and company specific data to be sent with purchase orders to SNC from ECC.
Whether to use IDoc or proxy depends on:
How much of this data is already available in industry specific standard IDoc. What is the complexity of selection logic for these fields if we use Proxy.
Complexity of mapping for these custom fields in PI if we use IDoc.
Data type enhancements and mapping in PI:
Enhance the relevant datatype structure in PI if ECC uses proxy. Activate/generate the same in ECC.
Enhance the relevant datatype structure in PI and activate/generate the same in SNC.
Mapping is needed in PI if we use IDoc in ECC. Standard xslt mapping should be copied and enhanced for the custom fields.
Enhancing ODM and mapping the custom data to ODM structures in SNC:
Activate/generate the relevant proxy datatype enhancement in SNC.
Extend ODM structures (header extension structure with header fields, item extension structures with item fields, and schedule line extension structure with schedule line fields based on above grouping) to have these custom fields. It is important to group the relevant custom data into header, item, and schedule line level. Header, Item, and Schedule Line structures should be extended accordingly.
Implement BAdi in SNC to map these custom fields from proxy structure to extended ODM structures. You may need to enhance the structures used in BAdi for processing the custom data.
ODM will now store the custom data.
This way you can process purchase order or other business objects with custom fields.
Steps in SNC with detail description will follow in my next blog.