## 4.2.14.1.4.5  Delivery via Add-On or gCTS
For SaaS solutions in the ABAP environment, software components including ABAP development objects have to be delivered to your production system. This is referred to as upstream process.
Afterwards, the SaaS solution is provided by offering a multitenant application that facilitates a subscription mechanism. This is referred to as downstream process.
There are multiple options to deliver software components to the systems. The delivery process described in this documentation mainly focuses on using add-on products as a means to deliver software components by installing or updating delivery packages in a system. See The Add-On Product .
As an alternative, you can choose a delivery process using the gCTS-transport-based import of software components. See Transport Mechanisms [page 758].
## Add-On Build Delivery Process
<!-- image -->
An add-on is a bundle of software components. To create an add-on, a build process orchestrated by an add-on build pipeline has to be triggered.
With delivery tools, the software components are packaged into deliveries that are then further processed. Eventually, the deliveries are stored as delivery packages using the deployment tools provided by SAP.
Add-on deployment is either performed by using an add-on installation during system provisioning or as an add-on update triggered in the Landscape Portal application.
Delivery packages are of different types, which means that the build and deployment of these packages differ accordingly. For example, the import of a software component for an add-on installation package or delta-import for correction packages.
BLD and AMT systems are based on different service plans: abap/standard for a plain ABAP system and abap/saas\_oem for an ABAP system with installed add-on. The usage of these service plans is separated in two different global accounts for development and production purposes. Making software components available across different global accounts is only possible by using the add-on delivery process.
Making software components available across different global accounts is only possible by using the add-on delivery process. You can't use software components imported via add-on in the Manage Software Components app.
## gCTS Transport Delivery Process
<!-- image -->
The gCTS-transport-based delivery process takes place in one global development account only. This is due to the fact that the underlying gCTS repository is only shared among systems in the same region in the same global account.
ABAP development objects are released with a transport request in a particular software component in the development system. The transport request release automatically exports the changes into an SAP-managed gCTS repository by creating a new commit. Once the changes are exported into the gCTS repository, they are centrally available and can be imported into any other systems in the same region in the same global account. By cloning a software component into a customer production system using the Manage Software Components app, implemented ABAP objects become available to customers subscribed to the multitenant application.
The customer production system AMT is provisioned during the initial subscription to the multitenant application. Since the SaaS solution needs to include the implemented software, software components must be cloned right after the first subscription.
Add-On Build Delivery (Productive Build Pipeline)
gCTS Transport Delivery (Transport Mechanism)
| System Landscape/Account Model   | • ABAP systems for devel- opment purposes (develop- ment, test, demo) are of type abap/standard or abap/ abap_saas_oem , and are provi- sioned in the global account for de- velopment based on a discounted development license • ABAP systems for production pur- poses (used by partner custom- ers) are of type abap/standard or abap/ abap_saas_oem , and are provisioned in the global account for production based on a produc- tion license • Software components are made available across these different global accounts by using add-ons • For execution of the add-on build pipeline, an add-on assembly sys- tem BLD and add-on installation test system ATI are (temporarily) required   | • All ABAP systems are of type abap/standard and are pro- visioned in the same global ac- count • No additional ABAP systems, apart from already existing development and test systems, are required to facilitate the delivery • Single global account because gCTS repositories are only shared among ABAP systems in the same region in the same global account                                                                                                                                                  |
|----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Ease of Use                      | • Initial efforts to set up ABAP environment pipeline for add-on build • ABAP environmentpipeline needs to be executed in a Jenkins CI/CD Server • Initial configuration effort and re- quires to set up Jenkins server in- frastructure. See Infrastructure • Resulting delivery packages are ei- ther installed as part of an add- on during system provisioning or updated centrally in the systems using the Landscape Portal applica- tion. See Perform Add-on Updates.                                                                                                                                                                                                                            | • No build process required; de- ployment triggered locally using Manage Software Components app • Changes to software components are released and exported to a cen- tral remote repository using trans- port requests • The Manage Software Components app, that is part of ev- ery ABAP system, is used to trigger the import of new changes locally for each system • As an alternative, software compo- nent import can be triggered by using theABAP environmentpipe- line. See ABAP Environment Pipe- line . |
| Quality Measures/Resilience   | Add-on build pipeline for delivery to production provides a guided process with strict checks: • ABAP Test Cockpit checks before transport release • Optional: ABAP Test Cockpit checks as part of ABAP environment pipeline for continu- ous testing • ABAP Test Cockpit checks as part of ABAP environment pipeline for add-on build • Checks during add-on build • Add-on installation test • Check for minimum platform ver- sion during add-on installation/up- date • Checks for import conditions dur- ing add-on installation/update that prevent import of unwanted soft- ware component states                                                                                                                                                                                                                                                                                              | gCTS transport includes basic checks, for strict checks additional processes need to be established: • ABAP Test Cockpit checks before transport release • Optional: ABAP Test Cockpit checks as part of ABAP environment pipeline for continu- ous testing                                                                                                                                                                                                                     |
|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Auditability/Traceability     | • Reliable, secure, traceable, and au- tomated process based on add- on build using ABAP environment pipeline • Resulting delivery packages cre- ated as part of add-on build are signed and stored permanently so that they can't be altered or de- leted after a release • Import conditions are assigned to delivery packages so that it's tech- nically verified, during add-on up- date/installation, that all prerequi- site package requirements are met • Delivery packages can be traced back to a specific commit ID of a software component, also depend- encies between delivery packages can be translated into dependen- cies between different commit IDs • Build logs are archived as part of the add-on build pipeline execution • Anonymization of build results ( Created by information) • Add-on build pipeline guarantees that only tested changes are deliv- ered to consumers | • Logs of software component im- port are not archived, only locally available in ABAP environment system • Commit IDs in software compo- nent branches can be deleted by accident if not contained in any other existing branch • Import dependencies between software components need to be taken care of manually, a specific import order must be adhered to • Software component states are only identified by a specific com- mit ID instead of a readable version number |
<!-- image -->
<!-- image -->
<!-- image -->
| Scalability                                 | • Online deployment only possible with add-on-based delivery • With the Landscape Portal as a central tool for orchestration of software lifecycle activities, the add-on version can be updated centrally in multiple systems at the same time • Add-ons are automatically instal-   | • Application content is initially not available: Software compo- nents need to be cloned lo- cally into the provisioned sys- tems using the Manage Software Components app. See Clone Soft- ware Components [page 2917].  Note You can use a separate test subscription that is not related to a consumer to trigger the   |
|---------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                             | led during system provisioning of ABAP systems and application content is immediately available in systems after subscription to the multitenant application                                                                                                                          | creation of the system before the consumer subscribes to the solution. This initial sys- tem creation and import of the software components needs to be performed for each con- sumer production system. Latest changes can be pulled                                                                                        |
|                                             |                                                                                                                                                                                                                                                                                       | • locally into a system by using the Manage Software Components app. See Pull Soft- ware Components [page 2918]. • Software component states instal- led in a system can only be identi- fied locally in the Manage Software                                                                                                 |
| SAP Software Certification                  | Possible, check details here: Not possible                                                                                                                                                                                                                                            | Possible, check details here: Not possible                                                                                                                                                                                                                                                                                   |
| Certifications and Compliance of Sol- ution | SAP Compliance Offerings available in SAP Trust Center. See https:/ / www.sap.com/about/trust-center/certification-compliance.html .                                                                                                                                                  | SAP Compliance Offerings available in SAP Trust Center. See https:/ / www.sap.com/about/trust-center/certification-compliance.html .                                                                                                                                                                                         |
|                                             | Requires less effort to be compliant be- cause a strict process, supported by SAP delivery/deployment tools, is pro- vided.                                                                                                                                                           | Requires additional effort to to be com- pliant because a strict process needs to be established without SAP tooling support.                                                                                                                                                                                                |
##  Recommendation
We recommend using the add-on build delivery process because it offers a bundling that can be used to implement a sophisticated delivery approach with separate codelines, versioning, and, as a result, different delivery package types. See Delivery Models [page 1208]. It also comes with a separation of ABAP system licenses for development and production purposes, with the development systems being available at a discounted rate.
Example scenarios: Long-term projects with frequent maintenance deliveries, expected growth of consumers over time, and adherence to specific standards/certifications.
The gCTS transport delivery approach is a more lightweight approach that might be used especially if a simple setup and quick readiness are important. Ease-of-use of the approach comes with disadvantages in auditability, traceability, scalability, and resilience. These trade-offs might be resolved by establishing additional manual process steps or documentation requirements.
If the multitenant application is configured with tenant\_mode = single , a dedicated system is created per subscription. See ABAP Solution Service [page 1251]. In that case, gCTS delivery is only recommended if the SaaS solution is expecting a small set of customers or if the subscription is performed together with the customer. Otherwise, the effort for executing manual tasks, such as importing software components would be too high.
Example scenarios: Prototyping projects, quick time-to-market launch, in-house solutions, predictable number of consumers, and no expected exceptional growth rate
Once a first customer is using the SaaS solution and a first production system is provisioned, there is no migration path available to switch from one approach to the other, which means that systems would have to be deleted. However, it is likely is to start out with gCTS transport delivery in the prototyping phase of a project and establish an add-on build delivery approach once the initial version needs to be delivered and customer systems need to be created.