In this blog I would like to share my knowledge and learning for triggering IDOCs for Sales Order using BRF+ OPD concept.
The document will focus on following points
- Configuring Output type
- Configuring Output type for Sales Order in OPD
- Required Custom Code Changes
- Mandatory system configuration
- Debugging hints
Configuration steps for creating Z Output type
SPRO->Cross-Application Components->Output Control
- Define Output Type
2.Assign Output Channels
Configuration steps for Output Type via transaction code OPD.
- Run transaction OPD, Select Determination Step as Output Type
2. Determination Step: Receiver
3. Determination Step: Channel
4. Determination step: Output Relevance
Output Relevance is based on the business requirement, but entry must exist in this step.
If there is no specific business requirement, we can create it with generic condition like Overall Header = C (as mentioned in above screenshot).
Output type is attached to Sales Order once above steps are complete.
To enable new output management for sales order we need to activate it using following SPRO steps
SPRO->Cross-Application Components->Output Control->Manage Application Object Type Activation
Mark status as Application Active for Sales Document.
Custom Code Changes
At the time of defining Output Type, we can add a Z callback class. Create a Class by coyping standard class CL_SD_SLS_OUTPUT and add same under Z Output Type
In case of IDOC we need to modify method GET_LEGACY_DATA of class ZCL_CL_SD_SLS_OUTPUT
ET_LEGACY_DATA should be populated with Z output type.
Mandatory System Configuration
- Customizing for SOMU
- Check if the Content Repository "SOMU_DB" exists in transaction OAC0.
The recommendation is the following:
Description: Output Management DB Storage
Storage type: SAP System Database
Storage subtype: Normal
Version: 0047
Content table: SFORM_A_STORAGE
- Check if the Content Repository "SOMU_DB" is assigned to Category "SOMU" in transaction OACT.
Refer Note
2279725 for more details.
2. Open transaction SBGRFCCONF to check if supervisor destination and Inbound destination is defined or not.
Supervisor destination should exist in SM59.
For detailed steps follow Note 2292571.
Once above steps are followed, it will trigger IDOC for sales order.
Debugging Hints
Following are the debugging points which can be used if trigger output does not work for any reason
- First and easiest: Breakpoint at constructor in call back class.
2. Breakpoint at function module APOC_OR_ISSUE_OUTPUT. This will trigger in update task so update breakpoint should be activated first.
I have tried covering all the issues which I have encountered during my Research. Hope it is helpful for you. Happy Learning!!