Find out which steps you can take to identify and resolve specific issues that may come up when developing a multitenant application.
-
The Landscape Portal subscription might be missing. Make sure the Landscape Portal is subscribed to in the provider subaccount. This needs to be done before the SaaS subscription.
-
The ASP_CC (CF Cloud Controller) destination might have failed: An ASP_CC destination with the correct credentials/URLs must exist in the provider subaccount (see Cloud Controller Access Destination). You can use a connection check in the destination for a basic connectivity test. You can also test if the user that was used in the ASP_CC destination is able to authenticate with the following cf command: cf login -a <cf-api-endpoint e.g. https://api.cf.eu10.hana.ondemand.com\> -u <destination-user-name> -p <password> -s <provider-space> -o <provider-org>. Make sure the following is the case:
-
You have the credentials you require (space developer user). This user is a CF Platform User, i.e. it is either an S-User or a P-User, usually created using a distribution list so that it is a non-personalized e-mail address. A technical communication user that can also be created similar to normal S-Users cannot be used here.
-
You are using the correct URL: the URL needs to be the same as the CF API URL in the provider subaccount, depending on the region, see Region.
-
You are using the right Token Service URL for the region.
-
You are using a technical user as recommended, not a personal user. Personal user accounts can cause issues due to password changes etc.
-
-
The space developer user might be missing: The user used in the credentials of the ASP_CC destination must be added as space developer in the space of the multitenant application.
-
There might be missing entitlements for ABAP systems: During the subscription, the multitenant application/ASP automatically provisions ABAP systems. Make sure that the necessary entitlements are added to the provider subaccount:
-
abap/standard (for delivery via gCTS) or abap/saas_oem (for add-on based delivery), depending on the configuration of ASP parameter addon_product_name. See Multitenancy in the ABAP Environment and ABAP Solution Service.
-
abap_compute_unit and hana_compute_unit depending on the configuration of ASP parameter size_of_runtime and size_of_persistence. See Multitenancy in the ABAP Environment and ABAP Solution Service.
-
-
There might be missing entitlements for multitenant app deployment. Make sure that the necessary entitlements are added to the provider subaccount:
-
Cloud Foundry Runtime entitlement for the approuter in the multitenant app.
-
ABAP Solution Service.
-
-
In case of error "Illegal given domain name" during subscription:
- The subscription fails because in the saas-registry service instance the URL defined for onSubscription and getDependencies callbacks does not match the pattern of the cis-... route assigned to the approuter application. Please make sure that the route defined in your saas-registry configuration for callbacks has the same pattern as defined in the cis-... route.
-
If you cannot delete an ABAP service instance, the ABAP service instance might still contain Test Tenant, Partner Customer Test, or Partner Customer Production tenants. Make sure you delete these tenants first by unsubscribing from them (for tenants created via consumer subscription) or deleting the tenants in the Landscape Portal(for test tenants created directly in the Landscape Portal).
-
The ABAP service instance might still contain a SAP_ASP service key: The service key needs to be deleted before the service instance can be deleted.
-
Always use MTA Undeployment (cf undeploy <MTA ID> --delete-services) instead of deleting service instances individually.
-
Check if the saas-registry service instance still contains active subscriptions: the saas-registry instance can only be deleted once there are no more active subscriptions. Unsubscribe using the Subscription Management Dashboard.
TENANT_HOST_PATTERN: (.*)-my-consumer-subdomain-productabcdefghijklmnopq-saas-solution-dev.cfapps.eu10.hana.ondemand.com Consumer Subaccount Subdomain: my-consumer-subdomain Route Domain: cfapps.eu10.hana.ondemand.com Route Hostname: my-consumer-subdomain-productabcdefghijklmnopq-saas-solution-dev (64 characters)
-
Keep in mind that the hostname of the route in CF is limited to 63 characters.
-
In the development phase, the hostname part of the route should consist of the consumer subdomain, separator (“-“), and the appName.
-
Either shorten the subdomain of the consumer subaccount or shorten the appName used in TENANT_HOST_PATTERN.
- ABAP systems are automatically created by the ABAP Solution Provider (ASP) during the first subscription.
- Keep in mind that recently deleted consumer tenants are counted towards the tenant limit. Systems are automatically created.
- Only in case of delivery via add-on, the application content is installed before the consumer tenant is accessible. In case of delivery via gCTS, the software components need to be imported manually using the Manage Software Components app in client 100 of the system.