You can apply this setup if you have:
- Small development projects (for example one SAP Fiori application, one developer)
- Occasional development activities (for example after an initial development phase, it is expected to only implement new features on a yearly basis)
The ABAP system landscape consists of a permanent production system and an on-demand development system.
The advantage of this setup is that you have to administer few systems and only pay for the development system during the development periods. The payment model according to the lifetime of a system requires an SAP BTP enterprise agreement contract.
The disadvantages of this setup are that de-commissioning the development system means losing the change history as well as the configuration and application data.
The user base and authorizations have to be set up each time the development system is provisioned.
Not testing with a transported version of the solution always comes with the risk of forgetting to transport an object. This can be avoided by testing in the development system on the release branch.
A much more production-like test can only be ensured in a non-development system, where the objects of the solution are initially created and changed by pulls, and where there is no authorization automatism for testing, see tester role in Required Business Roles.
We thus strongly recommend developing with Use Case 1: One Codeline in a 3-System Landscape instead of use case 3. The quality assurance system might be de-/commissioned on demand then.
Starting situation:
- A (temporary) development system is set up
- The production system is set up
- Both systems are based on the main branch
Step |
System |
Role |
Task |
Tool |
---|---|---|---|---|
1 |
DEV, PRD |
System Administrator |
Provision a development and a production system |
SAP BTP cockpit |
2 |
DEV, PRD |
User Administrator |
Create users and maintain roles |
Maintain Business Users and Maintain Business Roles app |
3 |
DEV |
Release Manager |
Create a software component of type Development and, if required, a software component of type Business Configuration. Pull the software component(s) into the development system. |
Manage Software Components app |
4 |
PRD |
Release Manager |
Pull the (empty) software component(s) into the production system |
Manage Software Components app |
5a |
DEV |
Developer |
Develop new functional requirements or correct existing functionalities. All required changes are collected in Workbench transport requests |
ABAP Development Tools for Eclipse |
5b |
DEV |
Business Configuration Expert |
Maintain business configuration. All changes are collected in customizing transport requests. |
Maintain Business Configurations app |
6 |
DEV |
Tester |
Test the change and report the test results |
ABAP Development Tools for Eclipse with and custom SAP Fiori apps as well as external test tools External documentation tool |
|
|
Release Manager |
If changes are required, repeat steps 5-6 |
|
7 |
DEV |
Release Manager |
Release decision: the changes are successfully tested and approved. |
External documentation tool |
8 |
DEV |
Release Manager |
Release the transport request(s) |
ABAP Development Tools for Eclipse: Transport Organizer or Export Customizing Transports app |
9 |
DEV |
Release Manager |
Create a release branch YYYY-<nn> for each software component |
Manage Software Components app |
10 |
PRD |
Release Manager |
Check out the release branch YYYY-<nn> of each software component |
Manage Software Components app |
11 |
DEV |
System Administrator |
De-provision system DEV |
SAP BTP cockpit |
- The production ABAP system is based on the main branch
- Since no development can be performed in the production ABAP system, a temporary development ABAP system must be set up if occasional development is required
- The production ABAP system is based on the main branch
- A temporary development ABAP system is set up
- All software components are imported
Step |
System |
Role |
Task |
Tool |
---|---|---|---|---|
1 |
DEV |
Release Manager |
Provision a new development system |
SAP BTP cockpit |
2 |
DEV |
Release Manager |
Create users, maintain and assign roles |
Manage Business Users and Manage Business Roles app |
3 |
DEV |
Release Manager |
Import main branch of each software component into the newly provisioned development system |
Manage Software Components app |
4a |
DEV |
Developer |
Develop features. All required changes are collected in Workbench transport requests. |
ADT for Eclipse |
4b |
DEV |
Business Configuration Expert |
Maintain business configuration. All changes are collected in customizing transport requests. |
Maintain Business Configurations app |
5 |
DEV |
Developer |
Release all transport requests |
ADT for Eclipse: Transport Organizer or Export Customizing Transports app |
6 |
DEV |
Tester |
Test new developments/fixes |
ADT for Eclipse and custom SAP Fiori apps as well as external test tools |
|
|
|
If changes are required, repeat steps 3-5 |
|
7 |
PRD |
Release Manager |
Pull the main branch of each software component into system PRD |
Manage Software Components app |
8 |
DEV |
Release Manager |
Delete the development system |
SAP BTP cockpit |