In this blog, I want to share information on my book on application development with ByDesign Studio. The book is available on the book shelves since begin of 1302:
Thomas Schneider: “SAP Business ByDesign Studio — Application Development”
SAP Business ByDesign Studio - Application Development: Thomas Schneider: 9781592293674: Amazon.com:...
Of course, the book describes all features of ByDesign studio based on an end-to-end example of an add-on solution. You can find more about the content on the web pages from SAP Press and Amazon (search for “bydesign studio”).
But even if you are not working with ByDesign studio directly, you might benefit from the background information on ByDesign:
- Get an architecture overview on SAP Business ByDesign
- What is a business object, how do I model it, how do I use SAP Global Data Types - What are the actions and events that I can implement?
- How does UI development with UI Designer work?
- How does Business Configuration work in ByDesign?
- How does analytics and the analytics key user tools work in ByDesign?
- What are the basic concepts of Business Partner, Organizational Management, Business Transaction Documents, Address Snapshot, and many more).
But does it make sense to buy & read the book more than one year (and several releases) later. My experience of the last year shows, that it is still a good introduction into the SDK and gives you the basic insight on how to develop with the SDK.
With this article, I am providing information to keep you up to date and summarize what has changed with the next releases.
Here are some first Q&As from readers:
The book is available in English only. Galileo Press offers an online access to the book with a proprietary reader (exclusive or in combination with the printed book). You need Internet access, there is no offline reader format supported. The main advantages of the online access that I see are: (1) instantly and everywhere available (with Internet access); (2) full text search (3) no shipping costs
The book is written for FP3.0 - how can I get an update for subsequent releases?
First of all, the documentation of each release contains a "What's" new section that provides a complete list of new features. For your convenience, I am giving a short introduction into the new features, sorted by chapters of my book.
Yes, I have published the Site Mangement application as a solution template. See: “Site Management” Solution Template
Access content „Sales“ does not refer to the „Sales Organization” but it refers to “Sales Unit”. Unfortunately these two terms are often mixed up.
In the note on page 199, I described that messages from the embedded component and the hosting floorplan are not merged. Thanks to a fix provided by the UI development, the behavior has been improved. An additional attribute „parentDependency“ has been added to the header of the component declaration (in section “UXControllerType”). If the attribute is set to „Yes“, the component is treated as an in-session embedded component, which means that the messages of the embedded and the hosting component are merged.
The section 4.10 "Analyzing Issues in User Interfaces" describes the "Technical Information" tool that can be started from the UI. Unfortunately, due to security and other issues, this tool has not been made generally available. SAP is working on solving the remaining issues. As soon as the tool will be available, I will update this document.
This section provides an overview on new features on subsequent releases of the SDK. The feature list is not intended to be complete, but I concentrate on the most important features. The complete delta information can be found in the documentation of each release in the "What's New" section. You can find the documentation via this link: https://help.sap.com/studio_od . In the following SCN article, you can find detailed information on how to update the documentation in the SDK: SDK Documentation for SAP Solutions OnDemand Studio version May 2013 (1305) Now Available
Terms and abbreviations used in this document:
Help resources used in this document:
New name and release cycle as of February 2013, seeSAP Solutions OnDemand Studio: New Common Name & Build, New Release Numbers, New Features
Annotations for label and tooltip can be defined for BO elements. Translation of label and tooltip annotations is available (see translation, below).
[Documentation] Scripting Languages -> Business Object Definitions -> Annotation
Static default values for non-structured data types can be defined in the BO definition. Example:
element ReleaseStatusCode : ReleaseStatusCode = "1"; // 1 Not Released
For an element that consists of a content element and supplementary component (such as Amount, Quantity, (language-dependent) text, the syntax is:
element SalesGrossAmount : Amount = {currencyCode = "USD"};
Default values for aggregated data types and dynamic default values are not supported. They are assigned in the AfterModify event.
[Documentation] Scripting Languages -> Business Object Definitions -> Annotation
Intra-BO associations can be defined with multiplicity [0..n]. Valuation rules for intra-BO associations can be defined. Using this functionality, two use cases can be realized:
Example (Business Object Site that represents a hierarchy of sites):
businessobject Site {
[AlternativeKey] element ID : ID;
element ParentID : ID;
element Name : LANGUAGEINDEPENDENT_LONG_Name;
association ToChild [0..n] to Site valuation ( ParentID == ID );
}
[Documentation] Scripting Languages -> Business Object Definitions -> Association
If you want to create a new data type with a new code list, this was possible by defining a business configuration object (BCO) and a BC set or a BC view. However, this is a bit “oversized” if you want to create a fixed code list. For a fixed code list, a new content type has been introduced
[Documentation] Developer Desktop -> Code List Data Type
[SCN] Custom Code List Data Types in the Studio
Message mapping is that part of UI designer. With message mapping, you can influence the system message behavior. Messages and mappings get modeled in the UI Designer “Controller” area within section “Messages”.
System messages are any kind of textual information sent from the system to the UI. In general messages are used from the system to explain system status, behavior or any reaction on user interactions. In the "Message Mapping Editor" you can manipulate system message behavior. System messages can be handled as: Replace, Ignor, Original, Handler and Aggregate.
Documentation: not yet available
New “thing-based” UI, including enterprise search, feed support, REST services support, and support for tablet PCs (iPad). This topic will be described in a separate document: Thing-Based UIs and Custom Solutions in Cloud for Customer
A new type of change transaction (Adopt ) allows you to dynamically change the properties of UI fields (visible, mandatory, readonly), UI buttons (visible, enabled), tables, and UI panes on SAP screens based on a user role and/or a property of the business object.
[Documentation] not yet available
As of FP3.5 a new compiler for script files is in use. New solutions will automatically use new compiler. Old solutions have to be migrated manually by partner in FP3.5. There is a list of incompatible changes between the old and the new compiler. The most prominent ones are:
The full list of changes is available in the documentation in sections:
· [Studio Library] What's New in Syntax for Implementation of Business Logic (FP3.5)
· [Studio Library] What's New in Reuse Libraries and Built-In Functions (FP3.5)
The OnSave validation event can be used to check if the conditions for saving a business object instance or a business object node instance are fulfilled. The condition of a validation must always evaluate to a boolean value: In case of false the BO isn’t saved.
Example:
var allow_save = true;
…
return allow_save;
[Documentation] Developer Desktop -> Business Objects -> Business and Technical Background -> Actions, Events, and Validations
Since FP3.5, you can prevent the save of a business object instance by implementing the ValidationOnSave event. But in many cases, you want to prevent already the status change of a SAP business object, for example the “Release” of a sales order. With the new Action Validation event, you can use an action validation to control whether an action of an SAP business object can be executed for each action that is released in the public solution model (PSM).
[Documentation] Developer Desktop -> Business Objects -> Business and Technical Background -> Actions, Events, and Validations
Besides using SAP reuse libraries, you can also create and define your own reuse libraries and reuse functions in order to organize complex code in your solution or to reuse your code in script files.
[Documentation] Developer Desktop -> Reuse Libraries
In addition to the tracing, debugging is now available.
[Documentation] Developer Desktop -> Debugging
ID and code data type can be used in BO extension definitions. This includes custom code data types defined in the custom solution itself (under Business Configuration -> Create BC Set). Example:
element myID : ID;
element SalesOrderID : BusinessTransactionDocumentID;
element ReleaseStatusCode : ReleaseStatusCode;
System messages can be defined in BO extension definitions and created (“raised”) in the BO logic extensions.
See “Annotations for labels, tooltips” in “Business Object Modeling”
See “Annotations for Defaults” in “Business Object Modeling”
Transient elements are elements that are not persisted in the database. They are declared using the [Transient] annotation on the element key word. To fill a transient element when a BO instance is loaded from the database, you can implement the AfterLoading event and fill the transient elements from persisted elements.
Process-oriented Field Extensibility (FP3.5)
Process-oriented field extensibility can be defined in a studio editor. The features are basically the same that were available already in FP2.6 in the key user tool (extensibility side panel). The new editor provides a better usability when defining sophisticated extension scenarios.
Web service authorizations can be defined in the web service definition wizard. The features are basically the same that were available already in FP2.6 in a separate editor for web service authorizations. The new editor that combines the functions provides a better usability.
Renaming of Elements in Web Services (FP3.5)
Elements can be renamed in web services to provide better usability (e.g. shorter names) when consuming the web service in an external system
Communication Scenarios (aka Technical Users for System-to-System Communication) (FP4.0)
In FP2.6 and FP3.0 authorizations for web services can be assigned to business users via work center (views) only. This is the expected behavior, if the web service is used in an external UI (for example a mobile device) and the user of the mobile device logs on the the ByDesign system with his/her user. For system-to-system communication, this is not the expected behavior. For this case, you can bundle a set of web service (operations) into a so-called communication scenario. In a customer system a so-called technical user is created for this communication scenario that can be used for logon by the remote system.
You can define communication scenarios that include SAP and/or custom web service operations.
You can call web services (SOAP/REST services via HTTP and HTTPS) in custom code, for example in business object events and actions for system-to-system communication.
In the studio, you can define an External Web Service Integration, import the external web service definition (WSDL) and activate the project item. You can implement the web service call in your script coding
[Documentation] Developer Desktop -> External Web Service Integration
[SCN] External Integration of Custom Solutions in SAP Business ByDesign / SAP Cloud for Customer
[SCN] How to... consume a ByD Web Service with an external client.
[SCN] "SAP Business Suite BO List" Solution Template
[SCN] Integration of SAP OnDemand Products with Business Suite via REST/OData Services
The exiting approval process was enhanced so that a key user can define an approval process with multiple approval steps.
[Documentation] Developer Desktop -> Approval Process
For custom business objects, a key user can configure rules for sending notifications (and e-mails) based on business object changes.
[Documentation] Developer Desktop -> Notification Rules
With a mass data run (MDR), you can execute an action for many instances of a custom business object without user interaction. You can schedule the mass data run to be executed immediately, on a specific date and at a specific time, or periodically. The node of the custom business object needs to have an action and a query.
[Documentation] Developer Desktop -> Mass Data Run
Text elements, that belong to the solution application can be translated (FP3.5: for solutions for multiple customers; FP4.0: for customer-individual solutions).
The master (development) language is always English. Translation of solution content is supported into the “ByDesign languages” Chinese, Spanish, Portuguese, French, German (not in scope: translation of SAP content and translation into non-ByD languages;)
The studio provides an export file that contains all custom texts. The file format is the stanradr translation format XLIFF (http://en.wikipedia.org/wiki/XLIFF). Export is available on source file level and on solution level (all texts in a solution) ("Export Text" in the context menu of the project item or the solution/project). The export file contains the text IDs and the texts in master language (English) and one target language.
The translation itself can be done by a suitable translation tool (open source tools are available) that supports XLIFF.
Exceptions/ Limitations:
Print forms (technically: form template variants) can be provided in any language and also for SAP forms (technically: form templates))
Reports: Report can be are translated using the Copy Report function
System messages are not translatable via export file (workaround: separate message must be defined in all languages and the raise statement must raise the message in the user’s logon language)
Approval tasks (cannot be translated)
[Documentation] Developer Desktop -> Translation
When the add-on solution is released for quality review and the quality review is passed, the status of the add-on solution is set to “In maintenance”. Patches and new versions (as of FP3.5) for add-on solutions can be provided. This means that only the delta is assembled and deployed on the customer system.
In FP2.6 and FP3.0, there is no differentiation between development mode and maintenance mode in the development environment. This means, for example, that a developer can delete a business object and ship this deletion. To avoid changes that lead to damages in the customer systems, the following maintenance rules have to be followed during maintenance. As of FP3.5 and FP4.0, the studio supports checks that prevent incompatible or conflicting changes and raise error messages. However, SAP assumes no responsibility for the completeness of the implemented check scope.
[Dev Guideline] SAP Business ByDesign: Development Guideline for Add-on Solutions -> Maintenance Mode
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
34 | |
25 | |
12 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
4 |