Overview
SAP Business ByDesign supports the feature of representing the documents of a process in the form of Business Document Flow. The system stores the data of every step in an operational business process in the form of a document, for example, an opportunity, a sales quote, a sales order, an outbound delivery, or a customer invoice. Since the steps of the business processes are often based on previous steps, the documents are likewise based on one another and thus form a consecutive document chain.
Business Document Flow is a read only representation which gives a view of a set of predecessors and successors of a business transaction document and helps to monitor and analyze entire document chain.
![1.png]()
The initial view of the document flow highlights the document from which you start the display. It displays documents preceding or following the highlighted document. This highlighted document is called 'Anchor Object'. To view the overview of a specified business document, click the corresponding ID.
If you click on the anchor symbol of any other document view, then document flow is seen from the respective document perspective.
Document Flow currently provides 2 Views: Standard View and Extended View.
Standard View (Business View) usually refers to the Document Flow view required for a User who would just be interested in the Business process.
Extended View (Technical View) refers to the Document Flow view required for a User who would be interested in the technical documents of the Business Process as well.
Feature Enabled in 1508
Apart from viewing business transaction documents for SAP delivered business objects in document flow, now we also can view the business transaction documents for partner delivered business objects in the form of document flow. Links from SAP documents to partner documents, within partner documents of a solution, partner documents of different solutions can all be viewed easily and also the navigation to the respective document screen is provided. SDK is now enabled for the partners to store the links between the business documents. There are 4 scenarios which could be considered for the same and steps to achieve them by the partners would be provided below.
Scenarios:
A) Partner BO being an Anchor and having relation with SAP delivered business object.
![2.png]()
B) Connecting link between partner business objects of same solution.
![3.png]()
Link between multiple partner business objects to multiple SAP delivered business objects.
![4.png]()
C) Link between SAP delivered business object and partner business object - SAP Business Object being anchor.
![5.png]()
D) Connecting link between partner business objects of 2 or more solutions.
![6.png]()
Steps to configure Business Document Flow for a Partner Business Objects
- · All consuming objects should have an association to BusinessDocumentFlow object. Add an association to the Business Object 'BusinessDocumentFlow' using the key BusinessDocumentFlowKey (alternative key) from the Business Object Node ROOT. And fill the document key in event-before-save.
![7.png]()
![8.png]()
- · Create BC set on BCO BusinessDocumentFlowAnchor to fill in the entries for the respective Business Object. This is to see business document as an anchor object in the document flow screen. Rather to view document flow from anchor object perspective.
Fields:
1. ID : Identifier (key).
2. AnchorESName: Anchor Object ES Name. (Mandatory to fill).
3. AnchorESNamespace: Anchor Object ES Namespace. (Mandatory to fill).
4. Anchorkey: Specifies the key if it is ID / UUID . UUID is considered as Document Key for Partner Business Objects. (Mandatory to fill).
![9.png]()
![10.png]()
- · Create BC set on BCO BusinessDocumentFlowSpanDefinition to fill in the entries for the respective Business Object with the corresponding list of Business Objects that can be part of the Business Document Flow View.
Fields:
1. SpanID: Identifier (key).
2. ProfileType: refers to the Standard or Extended View of the Business Document Flow. (Mandatory to fill)
3. AnchorESName: is the ES name of the BusinessObject on which the Document Flow is derived. (Mandatory to fill)
4. AnchorESNamespace: is the ES Namespace of the BusinessObject on which the Document Flow is derived. (Mandatory to fill)
5. SpanESName: is the ES Name of the BusinessObject which could be part of the Document Flow, derived on the Anchor BusinessObject. (Mandatory to fill)
6. SpanESNamespace: is the ES Namespace of the BO which could be part of the Document Flow, derived on the Anchor BusinessObject. (Mandatory to fill)
7. BDF_invisible: specifies if the particular SPAN BO would be visible or invisible.
![11.png]()
![12.png]()
- · Create BC set on BCO BusinessDocumentFlowBusinessObjectRelationship to fill in the entries for links.
Fields :
1. B1B2ID: Identifier(Key)
2. BO1ESName: ES Name of Business Documents that would be part of the link. (Mandatory to fill)
3. BO1NameSpace: ES Namespace of Business Documents that would be part of the link. (Mandatory to fill)
4. RoleBO1: Role of the respective Business Document in the corresponding link. Ex: Predecessor / Successor. (Mandatory to fill)
5. BO2ESName: ES Name of Business Documents that would be part of the link. (Mandatory to fill)
6. BO2NameSpace: ES Namespace of Business Documents that would be part of the link. (Mandatory to fill)
7. RoleBO2: Role of the respective Business Document in the corresponding link. Ex: Predecessor / Successor. (Mandatory to fill)
8. ResponsibleBO: Specifies if the First BO or Second BO would hold the link information. If left BLANK, it would mean that either of the BO could provide the link information.
9. BO1key: Specifies if the key for the Document is UUID or ID. If left blank, UUID is considered as the Document Key.
10. BO2key: Specifies if the key for the Document is UUID or ID. If left blank, UUID is considered as the Document Key.
![13.png]()
![14.png]()
- · BADI BAdiDocumentFlowforGetNeighbours is defined by document flow which is filter based and used to retrieve links/neighbors and corresponding partner business object properties like creation date/ time, Name of the BO and so on.
Interface Method: GET NEIGHBOURS: For link BO1 -> BO2, when BO1/BO2 is responsible for maintaining links, this method needs to be implemented for the corresponding BO defined by the filter (ESName and ESNamespace) to get the neighbors and BO Properties.
Note: In order to view anchor indicator, at least one property must be provided by the partner for the corresponding business object.
This BADI is implemented for all the scenarios mentioned above in the document having the filter values:
A) Partner BO being an Anchor and having relation with SAP delivered BO
Filter value: ES Name and ES Namespace of the Partner BO
B) Connecting link between partner business objects of same solution like:
Partner BO (1) (Anchor) to Partner BO(2) of same solution /Multiple Partner BO s to Multiple SAP BO s
Filter Value: ES Name and ES Namespace of the Partner BO(1)
C) Link between SAP delivered business object to partner business object
Filter Value: ES Name and ES Namespace of the SAP BO
D) Connecting link between partner business objects of 2 or more solutions. Like : Partner BO(1) Solution1 and Partner BO(2) of Solution2
Filter Value: ES Name and ES Namespace of SAP BO. BADI implemented in both the solutions
Example: Opportunity is created from partner business object of solution A and same opportunity has relation with partner business object of solution B, then both the partners have to implement the BADI having opportunity as filter parameter and provide corresponding partner business object as opportunity’s neighbor in the result.
Details of the import and export parameters of the BADI method get neighbours
Importing Parameter:
GetNeighboursParamentersPDI: This has 3 elements :
1. DocumentBONode is a table :
BusinessDocumentFlowBOName | ES Name of the BO |
BDFNamespaceURI | ES NameSpace of the BO |
DocumentBONode | ES Node Name of the BO |
DocumentBONodeKey | Instance Based Node Key/SAP_UUID of Partner BO Node |
DocumentBONodeFormattedId | Reference ID of the BO instance |
2. TableOfEsnametogetOTC (Optional)
BusinessDocumentFlowBOName | ES Name of the BO |
BDFNamespaceURI | ES NameSpace of the BO |
3. CallType (Optional) : This is a string with below values- GetNeighbors/Nothing and GetBy
GetNeighbors / Nothing | Support all scenarios |
GetBy | Scenario D (from above) |
Exporting Parameter:
GetBDFReferencesPDI: This is the table of 'Neighbors'.
Elements of the table:
BusinessDocumentFlowBOName | ES Name of the BO |
BDFNamespaceURI | ES NameSpace of the BO |
DocumentBONode | ES Node Name of the BO |
DocumentBONodeKey | Instance Based Node Key/SAP_UUID of the BO Node |
DocumentBONodeFormattedId | Reference ID of the BO instance |
TableOfProperties | Properties which has to be seen on the Doc flow UI like Creation date, name, etc |
TableOfPDINeighbors | Neighbors of the Anchor Object |
Table of Properties :
PropertyID | Mandatory to be entered. Can provide any data type name depending on the property value you give. For example: ANCHOR_INDICATOR | Indicator | APC_C_MEDIUM_NAME | For description value | GDT_GLOBAL_DATE_TIME | For Timepoint | APS_AMOUNT | For amount |
|
SpecialPropertyIndicator | 1 | DocumentLifeCycleStatus | 2 | DocumentCreationDate | 3 | DocumentName | 4 | DataProviderIndicator |
|
PropertyName | Name on the Document Flow card |
PropertyValue | Amount | Description | Quantity | Timepoint | Name | Indicator | IntegerValue | DecimalValue | Code | Identifier |
|
1. If AMOUNT is specified CURR CODE should exist
2. If quantity is specified UNIT should exist
3. Property ID should be present for each property.
4. For one property not more than one fields should be provided
5. Special property indicator check, to check if the value and the indicator are in sync.
6. In all Invalid properties scenarios, the invalid properties are deleted.
TableOfPDINeighbors:
BusinessDocumentFlowBOName | ES Name of the BO |
BDFNamespaceURI | ES NameSpace of the BO |
DocumentBONode | ES Node Name of the BO |
DocumentBONodeFormattedId | Reference ID of the BO instance |
DocumentBONodeKey | Instance Based Node Key/SAP_UUID of the BO Node |
BusinessDocumentRelationshipTypeCode | 1 | Sequence relationship | Doc flow shown sequentially wrt anchor | 8 | Assignment relationship | This could be bi-directional also |
|
RoleCodeAnchor | |
RoleCodeNeighbor | |
TableOfProperties | Explained above |
![15.png]()
![16.png]()
![17.png]()
![18.png]()
![19.png]()
Document Flow UI configuration
Document Flow shows a graphical view of the documents involved in a Business Process. This is designed as an embedded component based on Document Flow controller.
Consumption of the embedded component is to be done by the partners only for the partner UI components (OIFs). Because SAP UI components have already consumed the embedded component.
If the partner business object has relation to any of the SAP delivered business objects and partner wants to see his object in SAP UI component, then he can directly implement the BADI to showcase the partner business object in SAP UI component (OIF). No need of using embedded component.
The parent UI Component (host floor plan in other words the embedding UI Component) has to define an Outport with the BusinessDocumentFlow Node ID as parameter and do the simple navigation as shown in screenshots.
Name of UI Component: DocFlow_EC
Path in XRepository (in case of embedded component): SAP_BYD_APPLICATION_UI/Reuse/DocumentFlow
![20.jpg]()
![21.jpg]()
![22.jpg]()
![23.jpg]()
![24.jpg]()
![25.jpg]()
There is an OBN Link in the document flow view which is enabled for all the partner business objects. (Link enablement is for all the BOs except the anchor BO (in blue)). Onclick of this link, it would open a factsheet/readonly view of the respective business object.
Note: There is no possibility to provide port type package generated from the solution. OBN inport must be created.
To navigate to the factsheet, an OBN inport has to be created in the target screen having
- - Select Operation as 'Open'.
- - Port Type Package as '/SAP_BYD_UI/SystemPortTypes.PTP.uicomponent'.
- - Port type reference as 'OpenByKey'.
- - Keylist, key as parameters.
- - And the event handler as shown below. For the anchor symbol to be seen on the document view, atleast one property should be provided by the partners for the Partner Business Object.
![26.png]()
![27.png]()
![28.png]()
Summary
With the above feature enabled for the partners, now it is possible to view the processes/several deviations which goes from one document to another document whether it is SAP business document or partner document or partner documents of different solutions at one place by configuring accordingly.
Explicitly, it is possible to view the SAP business documents in the document flow of the partner UI components and also when you open the UI components of SAP, then you would be able to see the partner business documents if they have relation.
For example: If an opportunity is created/ neighbor of a partner Business object, then when you open the document flow of opportunity, you would be able to view the partner document also.