Skip to content

Latest commit

 

History

History
742 lines (458 loc) · 8.96 KB

use-case-3-one-codeline-with-on-demand-development-systems-ba7a9f3.md

File metadata and controls

742 lines (458 loc) · 8.96 KB

Use Case 3: One Codeline with On-Demand Development Systems

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