I_CmplRqVersEnhanced
Compliance Requirement Version View
I_CmplRqVersEnhanced is a Basic CDS View (Dimension) that provides data about "Compliance Requirement Version View" in SAP S/4HANA. It reads from 1 data source (I_CmplRqVers) and exposes 47 fields with key field CmplRqVersUUID. It has 8 associations to related views. It is exposed through 8 OData services (UI_CN_UPADAGDSCLFNJTT617, UI_EHS_FND_CD_SUPLR_PROCESS, UI_EHS_FND_CRR_DYN_MAN, ...). It is used in 7 Fiori applications: Manage Water Hazard Class, Registration for Confidential Business Information, Manage Exposure Scenarios, .... Part of development package EHFND_BO_COMPLIANCE_REQ.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_CmplRqVers | CmplRqVers | from |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_CmplRqVersText | _CmplRqVersText | $projection.CmplRqVersUUID = _CmplRqVersText.CmplRqVersUUID |
| [0..1] | I_CmplRqVersText | _CmplRqVersTextInCurrentLang | $projection.CmplRqVersUUID = _CmplRqVersTextInCurrentLang.CmplRqVersUUID and _CmplRqVersTextInCurrentLang.Language = $session.system_language |
| [0..1] | P_CmplRqVersEnglishText | _CmplRqVersTextEnglish | $projection.CmplRqVersUUID = _CmplRqVersTextEnglish.CmplRqVersUUID |
| [0..1] | I_EHSCmplRqIssgOrgFallback | _CmplRqIssgOrgText | $projection.CmplRqVersUUID = _CmplRqIssgOrgText.CmplRqVersUUID |
| [0..1] | I_CmplncRqmtStatus | _CmplncRqmtStatus | $projection.CmplRqVersMaintStatus = _CmplncRqmtStatus.CmplRqStatus |
| [0..1] | I_CmplncRqmtType | _CmplncRqmtType | $projection.CmplRqType = _CmplncRqmtType.CmplRqType |
| [0..1] | I_CmplRqDomain | _CmplRqDomain | $projection.CmplRqDomain = _CmplRqDomain.CmplRqDomain |
| [0..*] | I_CmplRqVersStructure | _CmplRqVersStructure | $projection.CmplRqVersUUID = _CmplRqVersStructure.CmplRqVersUUID |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ICRVERSIONENH | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| EndUserText.label | Compliance Requirement Version View | view | |
| VDM.viewType | #BASIC | view | |
| ObjectModel.transactionalProcessingEnabled | true | view | |
| ObjectModel.usageType.https | dataClass | view | |
| ObjectModel.usageType.sizeCategory | #S | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.representativeKey | CmplRqVersUUID | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Analytics.dataCategory | #DIMENSION | view |
OData Services (8)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_CN_UPADAGDSCLFNJTT617 | UI_CN_UPADAGDSCLFNJTT617 | V2 | C1 | NOT_RELEASED |
| UI_EHS_FND_CD_SUPLR_PROCESS | UI_EHS_FND_CD_SUPLR_PROCV2 | V2 | C1 | NOT_RELEASED |
| UI_EHS_FND_CRR_DYN_MAN | UI_EHS_FND_CRR_DYN_MAN | V2 | C1 | NOT_RELEASED |
| UI_EHS_FND_CRR_OVERVIEW | UI_EHS_FND_CRR_OVERVIEW | V2 | C1 | NOT_RELEASED |
| UI_EHS_SDS_CS_MAN | UI_EHS_SDS_CS_MAN | V2 | C1 | NOT_RELEASED |
| UI_EHS_SDS_ES_MAN | UI_EHS_SDS_ES_MAN | V2 | C1 | NOT_RELEASED |
| UI_EHS_SDS_ESDSANX_MAN | UI_EHS_SDS_ESDSANX_MAN | V2 | C1 | NOT_RELEASED |
| UI_EHS_SDS_TSR_MAN | UI_EHS_SDS_TSR_MAN | V2 | C1 | NOT_RELEASED |
Fiori Apps (7)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F5756 | Manage Water Hazard Class | Transactional | Manage Water Hazard Class |
| F6342 | Registration for Confidential Business Information | Transactional | |
| F6749 | Manage Exposure Scenarios | Transactional | Manage Exposure Scenarios |
| F6750 | Manage Contributing Scenarios | Transactional | Manage Contributing Scenarios |
| F6751 | Manage eSDS Annex | Transactional | Manage eSDS Annex |
| F7081 | Assess Regulatory Data | Transactional, Reuse Component | The app serves only as the technical basis for app variants of the apps for assessing products against compliance requirements based on the "Regulatory Data Assessment" compliance pattern (see related apps). |
| F7436 | Classify Dangerous Good - Unpackaged Product (JTT 617 3) | Transactional |
Manage Water Hazard Class
Business Role: Product Stewardship Specialist - Product Compliance
With this feature, you can assess products, raw materials and substances according to the applicable water hazard class regulations and manage the compliance assessments.
Registration for Confidential Business Information
Business Role: Master Data Specialist - Product Compliance
With this feature, you can document the registration of confidential business information. Use the Registration of Confidential Business Information app to enter the registration number and affected product or substance data to document the registration on product level or component level, depending on the country- or region-specific requirements.
Manage Exposure Scenarios
Business Role: Product Stewardship Specialist - Product Compliance
With the Manage Exposure Scenarios app, you can provide detailed information on an exposure scenario to describe the operational conditions and risk management measures that ensure safe use of the substance or mixture. You can edit the data to ensure that it is up to date and the unpackaged product stays compliant. You can also create a new or assign an existing contributing scenario. You can then release a version of the exposure scenario to use it in the Manage eSDS Annex app.
Manage Contributing Scenarios
Business Role: Product Stewardship Specialist - Product Compliance
With the Manage Contributing Scenarios app, you can provide detailed information on contributing activities for a specific use that are part of an exposure scenario. You can then release a version of the contributing scenario to use it in the exposure scenarios.
Manage eSDS Annex
Business Role: Product Stewardship Specialist - Product Compliance
With the Manage eSDS Annex app, you can create new or assign existing exposure scenarios to an unpackaged product. You can specify the data that is required as an annex to a safety data sheet to ensure that the unpackaged product stays compliant.
Fields (47)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CmplRqVersUUID | CmplRqVersUUID | ||
| CmplRqVers | CmplRqVers | |||
| CmplRqUUID | CmplRqUUID | |||
| ComplianceRequirement | ComplianceRequirement | |||
| CmplRqVersMaintStatus | ||||
| CmplRqType | ||||
| CmplRqMigrationSource | CmplRqMigrationSource | |||
| CmplRqPattern | CmplRqPattern | |||
| IssuingOrganization | _CmplRqIssgOrgText | IssuingOrganization | ||
| IssgOrganizationFreeSearchName | _CmplRqIssgOrgText | IssgOrganizationFreeSearchName | ||
| ContentProvider | ContentProvider | |||
| CmplRqVersBuildDate | CmplRqVersBuildDate | |||
| EffectiveDate | EffectiveDate | |||
| CmplRqVersValidToDate | CmplRqVersValidToDate | |||
| CmplRqApplicationComponent | CmplRqApplicationComponent | |||
| CmplRqSourceURL | CmplRqSourceURL | |||
| TransitionPeriodEndDate | TransitionPeriodEndDate | |||
| CmplRqIsInitiallyPrvddBySAP | CmplRqIsInitiallyPrvddBySAP | |||
| CmplRqExternalUUID | CmplRqExternalUUID | |||
| CountryName | CountryName | |||
| CmplRqVersDocumentationObject | CmplRqVersDocumentationObject | |||
| CmplRqVersPermitNumber | CmplRqVersPermitNumber | |||
| char21asCmplRqDomain | ||||
| CmplRqPermitType | ||||
| LastChangedByUser | I_CmplRqVers | LastChangedByUser | ||
| LastChangeDateTime | I_CmplRqVers | LastChangeDateTime | ||
| CmplRqVersEnglishName | _CmplRqVersTextEnglish | CmplRqVersName | ||
| CmplRqVersNameInCurLang | _CmplRqVersTextInCurrentLang | CmplRqVersName | ||
| CmplRqVersEHSLocationUUID | ||||
| CmplRqVersExpiryDaysValue | ||||
| SDSSubsqntShptOriglRule | SDSSubsqntShptOriglRule | |||
| CmplRqVersTopic | CmplRqVersTopic | |||
| _CmplRqApplCompText | _CmplRqApplCompText | |||
| _CmplRqVersAppltyArea | _CmplRqVersAppltyArea | |||
| _CmplRqVersCrTypeText | _CmplRqVersCrTypeText | |||
| _CmplRqVersText | _CmplRqVersText | |||
| _CmplRqVersTextInCurrentLang | _CmplRqVersTextInCurrentLang | |||
| _CmplRqVersStructure | _CmplRqVersStructure | |||
| _CompReqDesc | _CompReqDesc | |||
| _CompReqHelpUrl | _CompReqHelpUrl | |||
| _CompReqPattern | _CompReqPattern | |||
| _CompReqRegON | _CompReqRegON | |||
| _CompReqRegVN | _CompReqRegVN | |||
| _CmplRqIssgOrgText | _CmplRqIssgOrgText | |||
| _CmplncRqmtStatus | _CmplncRqmtStatus | |||
| _CmplncRqmtType | _CmplncRqmtType | |||
| _CmplRqDomain | _CmplRqDomain |
@AbapCatalog.sqlViewName: 'ICRVERSIONENH'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
// Authorization not required, CRV is customizing-like data and shall be generally available without restriction
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Compliance Requirement Version View'
@VDM.viewType: #BASIC
@ObjectModel:
{
transactionalProcessingEnabled: true,
usageType:
{
-- see https://wiki.wdf.sap.corp/wiki/x/R5Bbbg
dataClass: #MASTER,
sizeCategory: #S,
serviceQuality: #C
},
representativeKey: 'CmplRqVersUUID'
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@Analytics:{
dataCategory: #DIMENSION
}
/*----------------------------------------------------------------------------------------------------------------------
Returns all Compliance Requirement Versions with CRV name with default logic
------------------------------------------------------------------------------------------------------------------------*/
define view I_CmplRqVersEnhanced
as select from I_CmplRqVers as CmplRqVers
association [0..*] to I_CmplRqVersText as _CmplRqVersText on $projection.CmplRqVersUUID = _CmplRqVersText.CmplRqVersUUID
// association [0..1] to I_CmplRqVersName as _CmplRqVersNames on $projection.CmplRqVersUUID = _CmplRqVersNames.CmplRqVersUUID
association [0..1] to I_CmplRqVersText as _CmplRqVersTextInCurrentLang on $projection.CmplRqVersUUID = _CmplRqVersTextInCurrentLang.CmplRqVersUUID
and _CmplRqVersTextInCurrentLang.Language = $session.system_language
association [0..1] to P_CmplRqVersEnglishText as _CmplRqVersTextEnglish on $projection.CmplRqVersUUID = _CmplRqVersTextEnglish.CmplRqVersUUID
association [0..1] to I_EHSCmplRqIssgOrgFallback as _CmplRqIssgOrgText on $projection.CmplRqVersUUID = _CmplRqIssgOrgText.CmplRqVersUUID
association [0..1] to I_CmplncRqmtStatus as _CmplncRqmtStatus on $projection.CmplRqVersMaintStatus = _CmplncRqmtStatus.CmplRqStatus
association [0..1] to I_CmplncRqmtType as _CmplncRqmtType on $projection.CmplRqType = _CmplncRqmtType.CmplRqType
association [0..1] to I_CmplRqDomain as _CmplRqDomain on $projection.CmplRqDomain = _CmplRqDomain.CmplRqDomain
association [0..*] to I_CmplRqVersStructure as _CmplRqVersStructure on $projection.CmplRqVersUUID = _CmplRqVersStructure.CmplRqVersUUID
{
@ObjectModel.text.element: [ 'CmplRqVersName' ]
key CmplRqVersUUID,
CmplRqVers,
CmplRqUUID,
ComplianceRequirement,
@ObjectModel.foreignKey.association: '_CmplncRqmtStatus'
--@ObjectModel.text.association: '_CmplncRqmtStatus'
CmplRqVersMaintStatus,
@ObjectModel.foreignKey.association: '_CmplncRqmtType'
--@ObjectModel.text.association: '_CmplncRqmtType'
CmplRqType,
CmplRqMigrationSource,
CmplRqPattern,
//IssuingOrganization, Using Issuing Organization from text node as the one from root node is obsolete
_CmplRqIssgOrgText.IssuingOrganization as IssuingOrganization,
_CmplRqIssgOrgText.IssgOrganizationFreeSearchName,
ContentProvider,
CmplRqVersBuildDate,
EffectiveDate,
CmplRqVersValidToDate,
CmplRqApplicationComponent,
CmplRqSourceURL,
TransitionPeriodEndDate,
CmplRqIsInitiallyPrvddBySAP,
CmplRqExternalUUID,
CountryName,
CmplRqVersDocumentationObject,
CmplRqVersPermitNumber,
@ObjectModel.foreignKey.association: '_CmplRqDomain'
--@ObjectModel.text.association: '_CmplRqDomain'
cast( CmplRqDomain as abap.char(21)) as CmplRqDomain,
cast( CmplRqPermitType as abap.char(10)) as CmplRqPermitType,
CmplRqVers.LastChangedByUser,
CmplRqVers.LastChangeDateTime,
// name with fallback language
cast(
case
when _CmplRqVersTextInCurrentLang.CmplRqVersName is not null
and _CmplRqVersTextInCurrentLang.CmplRqVersName is not initial
then _CmplRqVersTextInCurrentLang.CmplRqVersName
when _CmplRqVersTextEnglish.CmplRqVersName is not null
and _CmplRqVersTextEnglish.CmplRqVersName is not initial
then _CmplRqVersTextEnglish.CmplRqVersName
when ( _CmplRqVersTextInCurrentLang.CmplRqVersName is null or
_CmplRqVersTextInCurrentLang.CmplRqVersName is initial )
and ( _CmplRqVersTextEnglish.CmplRqVersName is null or
_CmplRqVersTextEnglish.CmplRqVersName is initial )
then ComplianceRequirement
end
as ehfnd_crr_crv_name preserving type ) as CmplRqVersName,
_CmplRqVersTextEnglish.CmplRqVersName as CmplRqVersEnglishName,
_CmplRqVersTextInCurrentLang.CmplRqVersName as CmplRqVersNameInCurLang,
// _CmplRqVersNames.CmplRqVersName,
// _CmplRqVersNames.CmplRqVersEnglishName,
// _CmplRqVersNames.CmplRqVersNameInCurLang,
cast( CmplRqVersEHSLocationUUID as ehfnd_location_uuid_ref preserving type ) as CmplRqVersEHSLocationUUID,
dats_days_between( CurrentDate, CmplRqVersValidToDate ) as CmplRqVersExpiryDaysValue,
SDSSubsqntShptOriglRule,
CmplRqVersTopic,
// // Official name with fallback language
// cast(
// case
// when CmplRqRegulationOfficialName is not null
// and CmplRqRegulationOfficialName is not initial
// then CmplRqRegulationOfficialName
// when CmplRqRglnEnglishOfclName is not null
// and CmplRqRglnEnglishOfclName is not initial
// then CmplRqRglnEnglishOfclName
// end
// as ehfnd_crv_regulation_off_name preserving type ) as CmplRqRegulationOfficialName,
//
// // Version name with fallback language
// cast(
// case
// when CmplRqRegulationVersionName is not null
// and CmplRqRegulationVersionName is not initial
// then CmplRqRegulationVersionName
// when CmplRqRglnEnglishVersName is not null
// and CmplRqRglnEnglishVersName is not initial
// then CmplRqRglnEnglishVersName
// end
// as ehfnd_crv_regulation_vers_name preserving type ) as CmplRqRegulationVersionName,
//
// // CR Pattern name with fallback language
// cast(
// case
// when _CompReqPattern.CmplRqPatternName is not null
// and _CompReqPattern.CmplRqPatternName is not initial
// then _CompReqPattern.CmplRqPatternName
// when _CompReqPattern.CmplRqPatternEnglishName is not null
// and _CompReqPattern.CmplRqPatternEnglishName is not initial
// then _CompReqPattern.CmplRqPatternEnglishName
// end
// as ehfnd_req_pattern_name_short preserving type ) as CmplRqPatternName,
/* Associations */
_CmplRqApplCompText,
_CmplRqVersAppltyArea,
_CmplRqVersCrTypeText,
_CmplRqVersText,
_CmplRqVersTextInCurrentLang,
_CmplRqVersStructure,
_CompReqDesc,
_CompReqHelpUrl,
_CompReqPattern,
_CompReqRegON,
_CompReqRegVN,
_CmplRqIssgOrgText,
_CmplncRqmtStatus,
_CmplncRqmtType,
_CmplRqDomain
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA