Skip to main content

SAP Base Policy Level (v1.0)

Description​

This policy level sap:base:v1 MUST be fulfilled by all SAP applications and services. It includes the essential validations that ensure proper metadata discovery and aggregation.

Usually SAP applications and services will use the more complete and opinionated sap:core:v1 policy level.

General Policies​

Policy Levels​

  • SAP applications and services MAY define custom policy levels, but they MUST be namespaced under their application-specific namespace, e.g. sap.s4:core:v1.
  • Only centrally aligned policy levels (such as sap:base:v1 or sap:core:v1) MAY use the root sap namespace. Custom policy levels MUST NOT use the root sap namespace, e.g. sap:s4:v1 is not allowed.

Namespaces​

  • All SAP namespaces MUST be registered in the SAP namespace-registry.
    • All ORD resources owned by SAP MUST use the sap vendor namespace
    • ORD resources or extensions created or governed within a customer scope SHOULD use the customer vendor namespace or its shorter alias c.
    • The customer and c namespaces MUST NOT be used for content published in a global marketplace or otherwise shared globally unless the platform allocating the ORD IDs guarantees their global uniqueness across customer scopes.
    • If that guarantee does not exist, partner content MUST be exported with ORD IDs under the partner's registered vendor namespace before it is offered globally.

Extensible Enums​

  • The ord: and the root sap: prefixes are reserved for centrally aligned, specification-defined values in extensible enums whose values are namespace-prefixed. This applies to any value that is a Specification ID, Concept ID, or Correlation ID. Affected fields include purpose, relationType, correlationIds, and others.
    • The ord: prefix MUST NOT be used by vendors (reserved for the ORD specification itself).
    • The root sap: prefix MUST NOT be used for application-specific values. Applications and services MUST use a sub-namespace such as sap.foo:... instead (e.g. sap.s4:... is allowed, sap:... is not).

Packages​

  • The vendor of a Package MUST be set to sap:vendor:SAP:, customer:vendor:Customer:, or the registered Vendor of the partner to which ownership is attributed.

Misc Constraints​

  • Although Vendor is technically not validated by a policy level, we need to ensure that within SAP we don't define the SAP vendor multiple times or reference it differently.
    • The SAP Vendor MUST NOT be defined by any SAP application or service, as this is done centrally.
    • The correct value for a SAP vendor reference is sap:vendor:SAP:.