NEO的TenantAccessor

时间:2018-05-09 14:46:28

标签: s4sdk

我试图在NEO环境中使用TenantAccessor。 TenantAccessor.getCurrentTenant()。getTenantId()生成的TenantId作为GUID返回。但是,在NEO中,我无法将GUID映射到子帐户。期望是获得子帐户名称。

请让我知道子帐户和租户之间的区别。

1 个答案:

答案 0 :(得分:8)

依赖帐户名称的问题在于 - 截至今天 - 没有关于SAP Cloud Platform Neo上帐户名称唯一性的明确合同。虽然租户标识符与帐户名称之间的关系通常为1:1关系,但不保证由于历史原因而强制执行此关系。因此,除帐户名称外,Neo还提供唯一的租户标识符。

如果您仍需要在SAP Cloud Platform Neo上获取帐户名称,则可以通过适用于Neo的TenantContext检索帐户:

Tenant currentTenant = TenantAccessor.getCurrentTenant();

// assert that we are running on SAP Cloud Platform Neo
if( !(currentTenant instanceof ScpNeoTenant) ) {
    throw new RuntimeException("Unexpected SAP Cloud Platform environment.");
}

// get the Neo-specific TenantContext
TenantContext tenantContext = ((ScpNeoTenant)currentTenant).getTenantContext();
String accountName = tenantContext.getTenant().getAccount().getName();