SAP ByDesign Public Solution Model
SAP Business ByDesign (ByD) is designed as open Cloud ERP Solution with very broad extensibility capabilities, that allow
- key users to extend ByD via the ByD UI-based adaptation mode,
- partners to enhance ByD in-application by ByD add-ons, and
- partners and customers to enhance ByD side-by-side using ByD APIs to connect external applications.
ByD add-ons can be developed and deployed using the SAP Cloud Applications Studio. Cloud Studio add-ons are “build-in extensions” with direct access to the ByD service layer that are installed and operated by SAP on the ByD Platform.
Side-by-side enhancements are independent applications based on any platform (for example SAP Cloud Platform) that are connected to ByD using Soap APIs or OData APIs.
As the product name “Business ByDesign” already indicates, SAP Business ByDesign is based on a model-driven architecture affecting all parts of the solution incl. business objects, UI models, analytical models, interfaces and process integration. A major part of this ByD data model has been exposed to customers and partners, and can be accessed via ByD service layer. This public part of the ByD data model is called “Public Solution Model“ or short “PSM“.
What is the Public Solution Model exactly?
The Public Solution Model (PSM) defines the part of the ByD data model that can be accessed in ByD add-ons or APIs such as OData APIs.
The PSM contains different content types including Business Objects (incl. nodes, node elements, queries, associations, actions, action parameter), Business Configuration Objects, Data Types, Form Message Types, Object Value Selectors, Embedded Components, UI Inports, UI Outports, interfaces, interface operations and many more.
Depending on your use case different parts of the PSM are relevant, for example:
- ByD Add-ons using SAP Cloud Applications Studio (relevant for Partners) require for example public read or write access to business object components (such as business object nodes, elements, associations, actions, action parameter, queries and query selection parameter), business configuration entities, UI components (to enhance standard screens), and web services/interfaces (for custom communication arrangements or to add extension fields to web services or interfaces). For some requirements use case specific Exits might be required as well.
- Custom OData services (relevant for Key Users and Partners) require for example public read or write access to business object components, such as business object nodes, elements, associations, actions, action parameter, queries and query selection parameter. Additionally business object elements need to be prepared for OData consumption.
- Custom Communication Scenarios (relevant for Key Users) require to release the web service APIs (interface operations) that shall be included in the communication scenario.
- Key User Extensibility of Web Service APIs (relevant for Key Users) require to release the corresponding web service API (interface operations) and to externally expose the web service extension point.
- Deep linking/External Object-based Navigation and Mashups (relevant for Key Users and Partners) require UI stable anchors incl. inports/outports and UI port bindings.
Public Solution Model for ByD Add-on Development
You find further details about PSM basic principles and SAP content types that are relevant for ByD Add-on development in the SAP Cloud Applications Studio Help Portal navigating to SAP Cloud Applications Studio – Library >> Working with the Studio Library >> section Get an Introduction to Business Object Modeling and the Public Solution Model >> link Public Solution Model.
In the SAP Cloud Applications Studio itself you can explore the public solution model using the Public Solution Model Browser: View >> Repository Explorer.
Please note: OData APIs require additional content enablement and hence you may observe differences in the SAP Cloud Applications Studio Repository Explorer and the OData Service Modeler.
How to request an enhancement of the Public Solution Model?
When you plan a ByD Add-on or integration project using OData APIs it is essential to understand and review the released ByD content and to identify possible gaps early in your project. If needed you can ask SAP to enhance the ByD Public Solution Model by creating a ByD incident.
I would recommend to create the ByD incident with the following content:
- Title with prefix “[PSM Request]” and the business object or UI screen name, for example “[PSM Request] Business Object Customer” or “[PSM Request] for Customer Accounts”.
- Describe the use case of your solution and what you are trying to achieve (i.e. the purpose of your development or API consumption). This information gives SAP the possibility to evaluate which PSM enhancement in detail is required.
- Describe the required business content or ByD entities that are requested to be released. Be as precise as you can. If you require for example write access to a business object element, then provide a screenshot of the corresponding UI screen and highlight the elements that need to be enabled for read-access or for write-access.
- Add your contact information (name, telephone number) for questions or discussions of alternative solutions.
Based on your information SAP evaluates if your PSM request is feasible and which entities have to be included in the PSM in detail to serve your use case. One key question is always if SAP can ensure compatibility for the requested enhancement. In some cases, a refactoring might be required upfront to be able to ensure compatibility.
The processing times of PSM enhancements may differ, depending on the required PSM enhancements in detail. A PSM request might be delivered as part of the next support package, the next ByD release, or in case of complex development requirements it might be subject of future release planning. In the case of future release planning SAP will ask you to submit your PSM request as Improvement Request (IR) in the ByD Customer Influence Session (https://influence.sap.com/SAPByDesignImprovements). Please create the IR with the same information as provided in the ByD incident and refer to the evaluation result provided by SAP in the ByD incident response.
Example PSM request for SAP Cloud Applications Studio development
You plan to build a ByD Add-on incl. web service APIs to remotely create and change SEPA mandates for direct debit. In this example we assume you could not add the “Blocked Indicator” to the web service API in the SAP Cloud Applications Studio web service wizard.
Remark: This is just an example, the blocked indicator of SEPA mandates is already released for read and write access in the PSM today.
Title: [PSM Request] SEPA Mandates – Blocked Indicator
We are planning to develop a ByD Add-on using the SAP Cloud Applications Studio to create and update SEPA Mandates for direct debit. One important use case is to block the usage of a SEPA mandate via web service API. For this purpose we want to generate web service APIs to query, read and update SEPA Mandates using the SAP Cloud Applications Studio web service wizard.
On the ByD UI the blocked indicator for SEPA mandates is available on screen:
Unfortunately the web service wizard does offer to include the “Blocked Indicator” in update operations:
Please enhance the PSM of business object “DirectDebitMandate” for write access on the blocked indicator.
My contact information: <my name>, <my phone numer>
Example PSM request for Custom OData Services
You want to build a self-service mobile app that enables your employees to update their employee work place address via mobile phone. During your development preparations you find out that the floor and the room of the workplace address is not available in the OData modeler.
Remark: This is just an example, both fields are available in the OData modeler already today.
Title: [PSM Request] Business Object Employee – Workplace address
We are planning to develop a self-service mobile app that enables our employees to update their employee work place address via mobile phone. Our employees shall be able to edit their work place address incl. building and room number. The mobile app reads and write ByD employee workplace address data using ByD Custom OData Services.
On the ByD UI both fields are available on screen:
In the ByD OData modeler the element “Building” and “Room” are not visible and cannot be added to the Custom OData Service:
Please enhance the PSM of business object “Employee” for read and write access on employee workplace address elements “Building” and “Room”.
My contact information: <my name>, <my phone numer>