## 4.2.14.1.6.1.4.1  ABAP Solution Service
```
 Sample Code - name: abap-solution type: org.cloudfoundry.managed-service parameters: service: abap-solution service-plan: standard service-name: ${appname}-abap-solution config: name: ${appname} consumer_id_pattern: ${consumer-id-pattern} plans: - plan_name: ${plan-name} addon_product_name: ${addon-product-name} size_of_runtime: ${size-of-runtime} size_of_persistence: ${size-of-persistence} provider_admin_email: ${provider-admin-email} consumer_tenant_limit: ${consumer-tenant-limit} sap_system_name: ${sap-system-name} usage: ${usage-mode} xs-security: xsappname: xs-app-${appname}
```
ABAP Solution Service is used to enable multitenancy for ABAP Environment systems: Instead of creating the ABAP system manually it is created by the ABAP Solution service during the first subscription of an application consumer or once the consumer tenant limit for all viable systems has been reached.
Credentials provided in the ASP\_CC destination are used by ABAP Solution Service to authenticate at the Cloud Foundry Cloud Controller API endpoint and to create required ABAP service instances.
The service plan used for created ABAP service instances is depending on the addon\_product\_name parameter: abap/standard is used for a system without add-on, abap/saas\_oem is used for a system with installed add-on. Provisioning parameters like sap\_system\_name , provider\_admin\_email and sizingrelevant parameters can be defined.
After a new system is created, a tenant for the application consumer is provisioned. The business type (see Tenant Business Types) used for provisioning of the tenant depends on the usage parameter: In case of usage = test , the tenant is created as Partner Customer Test tenant. Whereas with usage = prod , the tenant is created as Partner Customer Production tenant. Parameter tenant\_mode controls if per subscription a new tenant is created in the same system and with consumer\_tenant\_limit the number of tenants per system is configured.
## ABAP System: saas\_oem plan
This service plan is like the standard service plan of the ABAP service (see Create an ABAP System), but it is used as "backing service" for a partner-provided SaaS solution. In comparison to a standard service plan of the ABAP service, there is one main differences: An add-on product (see The Add-on product ) which is installed during system provisioning can be specified.
- Parameter: addon\_product\_name (specifies which ABAP add-on to install during provisioning)
- Parameter: addon\_product\_version (if - for testing purpose - another add-on version instead of the most recent released version shall be installed)
## ABAP Solution Service Parameters
| Name                               | Data Type   | Description                                                                                                                                                                                                                                                                                                                                                                                     | Purpose                                                                                 | Updateable                                         |
|------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|----------------------------------------------------|
| name                               | string      | Nameof the solution as defined by the pro- vider. Must be unique in the scope of the Global Account (or globally if this informa- tion is not available)                                                                                                                                                                                                                                        | Used to identify the solution and will be passed through to ABAP System (saas_oem plan) | No                                                 |
| sap_system_name (optional)         | string      | Nameof the system as defined by the pro- vider. If a value is supplied, the new sys- tem(s) will be created with this parameter.                                                                                                                                                                                                                                                                | Passed through ABAP System                                                              | No                                                 |
| addon_product_name (optional)      | string      | Registered name of the add-on product                                                                                                                                                                                                                                                                                                                                                           | Passed through ABAP System (saas_oem plan)                                              | No                                                 |
| addon_product_ver- sion (optional) | string      | Version of the add-on product to be instal- led. A released prod- uct version needs to be defined. If you do not specify the pa- rameter, the latest re- leased product version will be used during the add-on installation. If you specify other ver- sions than allowed, the add-on installation and therefore also the sys- tem provisioning and consumer subscription will be unsuccessful. | Passed through ABAP System (saas_oem plan)                                              | Yes (updated value ap- plies for new systems only) |
| Name                    | Data Type   | Description                                                                                                                                                                                                       | Purpose                                    | Updateable                                         |
|-------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------|----------------------------------------------------|
| consumer_ten- ant_limit | int         | Maximum number of consumer tenants in the multitenant ABAP system. If the con- sumer tenant limit is exceeded, a new multi- tenant system will be created. consumer_ten- ant_limit >= 1  Note A recently deleted | Passed through ABAP System (saas_oem plan) | Yes                                                |
| size_of_runtime         | int         | Default sizing (ABAP runtime) of abap sys- tem(s) created/provi- sioned by solution                                                                                                                               | Passed through to ABAP System              | Yes (updated value ap- plies for new systems only) |
| size_of_persistence     | int         | Default sizing (ABAP persistence [HANA]) of abap system(s) cre- ated/provisioned by solution                                                                                                                      | Passed through to ABAP System              | Yes (updated value ap- plies for new systems only) |
| Name                     | Data Type                       | Description                                                                                                                                                                                                 | Purpose                                                                                                                                                                                                                                                                                                                                                                      | Updateable   |
|--------------------------|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|
| tenant_mode (deprecated) | enum (string): - single - multi | Tenant Mode of the solution                                                                                                                                                                                 | Decides whether a customer will have a tenant in - a dedicated system (single) - a shared system (multi) single: will trigger a system creation and a tenant onboarding multi will trigger a sys- tem creation (only if necessary) and a ten- ant onboarding The parameter will be passed through to ABAP System (saas_oem plan).                                            | No           |
| consumer_id_pattern      | string (regex)                  | String containing a regular expression with a capturing group. The subdomain of the consumer is matched against this regular ex- pression. The value of the first capturing group is used as con- sumer id. | To allow the provider to group his con- sumer subaccounts based on a self-chosen consumer identifier: e.g. the subdomains of consumer subac- counts always include a static part that iden- tifies the application consumer, then event if there are multiple test &production con- sumer subaccounts, the application con- sumer can be identi- fied in Landscape Por- tal. | No           |
| provider_admin_email     | email                           | Email address of initial provider user                                                                                                                                                                      | Passed through to ABAP System (saas_oem plan).                                                                                                                                                                                                                                                                                                                               | Yes          |
| Name                               | Data Type                    | Description                                                                                                                                                                                                                                                                                                                                                                            | Purpose                                                                                                                                                | Updateable   |
|------------------------------------|------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|
| xs-security/xsapp- name (optional) | tring                        | xsappname used for the OAuth clone dur- ing instance creation. Will be visible in the se- curity section of SAP BTP Cockpit when as- signing the initial on- boarder role. Will be the "Application Name" shown in the Roles UI. Default: Service In- stance GUID Recommendation: Provide the same value as defined in the xs- security.json of the XSUAA Instance of your application | Allows providing a meaningful application name to assign the on- boarding roles.                                                                       | No           |
| usage                              | enum (string): - test - prod | Specifies whether it is a test or production solution.                                                                                                                                                                                                                                                                                                                                 | In case of usage = test a Partner Customer Test tenant is created, whereas with usage = prod, a Partner Cus- tomer Production ten- ant is provisioned. | No           |