## 4.2.9.5.4 Use Case 1: One Codeline in a 3-System Landscape
You can apply this setup if you have occasional development activities for larger applications where testing needs to run in parallel to development or should take place in a non-development system to ensure the solution also runs in a non-development system. In this setup, you either need to be able to pause development for a fix that has to be delivered before the next release or you have to deliver fixes as part of the next possible release.
This landscape consists of a development, quality assurance, and production system. Software component branches are provided remotely in a Git repository branch and checked out locally in such systems. In case of released APIs in the involved software components, API Snapshots are generated locally after release decisions.
<!-- image -->
## For Go Live/Development After Go Live (Including Deferrable Corrections)
## Starting situation for Go Live
The Go Live process is characterized by creating different systems only when needed for the first time, however, you can provision the systems already beforehand. Furthermore, the software component of a planned solution does not exist from the beginning. The resulting release branch is YYYY-01. Apart from this, the Go Live process does not differ from the release development processes afterwards.
## Starting situation after Go Live
- Development system DEV is based on the main branch
- Quality Assurance system QAS and production system PRD are based on the latest release branch YYYY&lt;nn&gt;. In case of a first release after the Go Live, YYYY-&lt;nn&gt; is YYYY-01
- Software component relations are defined for dependencies between leading- and reuse software components in the YYYY-&lt;nn&gt; release
- In case of released APIs: In the quality assurance system QAS and development system DEV a checkrelevant API snapshot named YYYY-&lt;nn&gt; was generated manually with all released APIs extracted as per the current release
System QAS has always the same software state as the PRD system, unless a new change is tested and released. This means, transport requests are released in development ABAP systems only if development is completed and it is planned to import the changes to the production system.
This process can also be used for deferrable corrections, which do not need to reach production before the next development release. These corrections are handled like regular development.
| Step   | System   | Role                            | Task                                                                                                                                                                                                                                                                                                                                                                                                    | Tool                                                    |
|--------|----------|---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| 0      | DEV      | Release Manager                 | At Go Live only: Cre- ate the software com- ponent and clone it ini- tially                                                                                                                                                                                                                                                                                                                             | Manage Software Components app                          |
|        |          |                                 | If required, create a customizing transport request and tasks for the relevant busi- ness configuration ex- pert(s).                                                                                                                                                                                                                                                                                    | Export Customizing Transports app                       |
| 1a     | DEV      | Developer                       | Develop new function- ality or a deferrable correction. All changes are collected in work- bench transport re- quests. During devel- opment ATC checks are running and ex- emptions requested for false-positive find- ings (Requesting ATC Exemptions). Make sure to maintain new dependencies between software components in software component relations (Editing Soft- ware Component Rela- tions). | ABAP Development Tools for Eclipse                      |
| 1b     | DEV      | Business Configura- tion Expert | Maintain business con- figuration. All changes are collected in cus- tomizing transport re- quests                                                                                                                                                                                                                                                                                                      | Maintain Business Configurations app                    |
| 2      | DEV      | Quality Manager                 | Approve or reject ATC exemptions                                                                                                                                                                                                                                                                                                                                                                        | ABAP development tools for Eclipse: ATC Exemptions      |
| 3      | DEV      | Release Manager                 | Release the transport request(s). During transport release ATC checks are running (Working with ATC During Transport Re- lease). The changes are now in the main branch.                                                                                                                                                                                                                                | ABAP Development Tools for Eclipse: Transport Organizer |
|   Step | System   | Role            | Task                                                                                                                                                                                                                  | Tool                                                                                                                                                                                                      |
|--------|----------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|      4 | QAS      | Release Manager | At Go Live: Pull soft- ware component(s) into system QAS. After Go Live: Check out main branch of software compo-                                                                                                     | Manage Software Components app                                                                                                                                                                            |
|      5 | QAS      | Tester          | Test the change and report test result. Dur- ing testing ATC checks are running, see Work- ing with ATC During Development.                                                                                           | ABAP development tools for Eclipse and custom SAP Fiori apps as well as external test tools, see Automate the Software Lifecycle Process External documenta- tion tool                                    |
|      6 | QAS      | Release Manager | 1-4 Release decision: the changes are success- fully tested and ap- proved                                                                                                                                            | External documenta- tion tool                                                                                                                                                                             |
|      7 | QAS      | Tester          | Test the change and report the test result. During testing ATC checks are running, see Working with ATC During Transport Re- lease.                                                                                   | ABAP development tools for Eclipse and custom SAP Fiori apps as well as external test tools. For more infor- mation, see Automate the Software Lifecycle Management Process External documenta- tion tool |
|      8 | QAS      | Release Manager | Check out the new release branch YYYY- <nn+1>                                                                                                                                                                         | Manage Software Components app                                                                                                                                                                            |
|      9 | PRD      | Release Manager | In case of Released APIs: Create and gen- erate a new API snap- shot YYYY-<nn+1> for the new release. Set the new API snapshot as check-relevant so that it will be used as reference for API com- patibility checks. | Manage API Snapshots app                                                                                                                                                                                  |
|   Step | System   | Role            | Task                                                                                                          | Tool                       |
|--------|----------|-----------------|---------------------------------------------------------------------------------------------------------------|----------------------------|
|     10 | DEV      | Release Manager | Check out the new release branch YYYY<nn+1> for each software component (at Go Live: YYYY-01) into system PRD | Manage Software Components |
## Urgent Corrections
- Development system DEV is based on the main branch
- Quality assurance system QAS and production system PRD are based on the latest release branch YYYY&lt;nn&gt;. In case of a correction after the Go Live before the second release, YYYY-&lt;nn&gt; is YYYY-01
- In case of released APIs: In the quality assurance system QAS and development system DEV, a checkrelevant API snapshot named YYYY-&lt;nn&gt; is generated with all released APIs extracted
This process differs from the previous one in the branch it is developed in. As the correction is too urgent to release it with the next development release only, it is done in the release branch. To achieve this separation, all current development activities need to be paused because the DEV system needs to check out the latest release branch instead of the main branch. That means all open transports in DEV need to be released first to save the work in progress to the main branch, so that feature development can be resumed later after the correction.
|   Step | System   | Role            | Task                                                                                                                                                                                                                         | Tool                                                             |
|--------|----------|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
|      1 | DEV      | Release Manager | Check out the release branch YYYY-<nn> for each software compo- nent If required, create a customizing transport request and tasks for                                                                                       | Manage Software Components app Export Customizing Transports app |
|      2 | DEV      | Release Manager | In case of Released APIs: Set API Snapshot created for the release YYYY-<nn> as check- relevant. For release YYYY-01 all API snap- shots will be set to not check-relevant as no API snapshot is availa- ble for comparison. | Manage API Snapshots app                                         |
| Step   | System   | Role                            | Task                                                                                                                                                                                                                 | Tool                                                                                                                                                                               |
|--------|----------|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 3a     | DEV      | Developer                       | Fix existing functional- ity. All changes are col- lected in workbench transport requests. During Development ATC checks are run- ning and exemptions requested for false- positive findings, see Requesting ATC Ex- | Manage API Snapshots app                                                                                                                                                           |
| 3b     | DEV      | Business Configura- tion Expert | Maintain business con- figuration. All changes are collected in cus- tomizing transport re- quests                                                                                                                   | Custom Business Con- figurations app                                                                                                                                               |
| 4      | DEV      | Quality Manager                 | Approve or reject ATC exemptions                                                                                                                                                                                     | ABAP Development Tools for Eclipse: ATC Exemptions                                                                                                                                 |
| 5      | DEV      | Release Manager                 | Releases the trans- port requests. During transport release ATC checks) are running.                                                                                                                                 | ABAP Development Tools for Eclipse: Transport Organizer or Export Customizing Transports app                                                                                       |
| 6      | QAS      | Release Manager                 | Pull the software com- ponent(s) to get the correction into the al- ready checked out release branch YYYY- <nn>                                                                                                      | Manage Software Components app                                                                                                                                                     |
| 7      | QAS      | Tester                          | Test the change and report the test result. During Testing ATC checks are running, see Working with ATC During Transport Re- lease                                                                                   | ABAP Development Tools for Eclipse and custom SAP Fiori apps as well as external test tools, see Automate the Software Lifecycle Management Process. External documenta- tion tool |
| 8      | QAS      | Release Manager                 | Fix is successfully tested and approved                                                                                                                                                                              | External documenta- tion tool                                                                                                                                                      |
|   Step | System   | Role                                     | Task                                                                                                                                                                                                                        | Tool                                                                                                      |
|--------|----------|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
|      9 | PRD      | Release Manager                          | Pull the software com- ponent(s) to get the correction into the al- ready checked out release branch YYYY- <nn>                                                                                                             | Manage Software Components app                                                                            |
|     10 | DEV      | Release Manager                          | Check out the main branch in system DEV for each software com- ponent                                                                                                                                                       | Manage Software Components app                                                                            |
|     11 | DEV      | Release Manager                          | In case of Released APIs: Set API Snap- shot created for the latest release as check relevant. For release YYYY-01 all API snap- shots shall be set to not check-relevant as no API snapshot is available for compari- son. | Manage API Snapshots app                                                                                  |
|     12 | DEV      | Developer, Business Configuration Expert | Perform the same changes as for the cor- rection in the main branch and release them                                                                                                                                        | ABAP Development Tools for Eclipse Maintain Business Configurations app Export Customizing Transports app |