C_CmplRqRsltTradeSecretSubstVH
Substance Indicated as CBI Registration
C_CmplRqRsltTradeSecretSubstVH is a Consumption CDS View that provides data about "Substance Indicated as CBI Registration" in SAP S/4HANA. It reads from 3 data sources (I_ChmlComponent, I_ChmlComposition, I_CmplRqRsltTrdScrtRegnDraft) and exposes 18 fields with key fields CmplRqRsltUUID, SubstanceUUID. It has 3 associations to related views. It is exposed through 1 OData service (UI_EHS_SDS_TSR_MAN). It is used in 1 Fiori application: Registration for Confidential Business Information.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_ChmlComponent | _ChmlComponent | from |
| I_ChmlComposition | _ChmlComposition | inner |
| I_CmplRqRsltTrdScrtRegnDraft | _CmplRqRsltTrdScrtRegnDraft | inner |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_CmplRqRsltUUID | sysuuid_x |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_SubstanceTP | _Substance | _ChmlComponent.SubstanceUUID = _Substance.SubstanceUUID -- Unit Of Measure Value Help |
| [0..*] | I_UnitOfMeasureText | _UnitOfMeasureText | $projection.ChmlCompReldQtyUnit = _UnitOfMeasureText.UnitOfMeasure --Link to 'Chemcial Compliance Info' as root |
| [1..1] | I_ChmlCmplncInfo | _ChmlCmplncInfo | $projection.ChmlCmplncInfoUUID = _ChmlCmplncInfo.ChmlCmplncInfoUUID |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Substance Indicated as CBI Registration | view | |
| AbapCatalog.sqlViewName | CCRRTSRSUBVH | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.representativeKey | SubstanceUUID | view | |
| ObjectModel.dataCategory | #VALUE_HELP | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Search.searchable | true | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_EHS_SDS_TSR_MAN | UI_EHS_SDS_TSR_MAN | V2 | C1 | NOT_RELEASED |
Fiori Apps (1)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F6342 | Registration for Confidential Business Information | Transactional |
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.
Fields (18)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CmplRqRsltUUID | |||
| KEY | SubstanceUUID | I_ChmlComponent | SubstanceUUID | |
| SubstanceName | _Substance | SubstanceName | ||
| SubstanceInternalName | _Substance | SubstanceInternalName | ||
| CompanySubstanceName | _Substance | CompanySubstanceName | ||
| ECNumberasECNumber | ||||
| CASNumber | ||||
| ResponsibleUnit | _Substance | ResponsibleUnit | ||
| ChmlCompTypeasChmlCompType | ||||
| ChmlCompTypeNameasChmlCompTypeName | ||||
| ChmlCompQtyAsTextasChmlCompReldQtyAsText | ||||
| ChmlCompReldLowrLimitQtyAsText | I_ChmlComponent | ChmlCompQtyLowerLimitAsText | ||
| ChmlCompReldUprLimitQtyOptr | I_ChmlComponent | ChmlCompOperatorUpperLimit | ||
| ChmlCompReldUprLimitQtyAsText | I_ChmlComponent | ChmlCompQtyUpperLimitAsText | ||
| ChmlCompQtyUnitasChmlCompReldQtyUnit | ||||
| ChmlCmplncInfoUUID | I_ChmlComposition | ChmlCmplncInfoUUID | ||
| _Substance | _Substance | |||
| _ChmlCmplncInfo | _ChmlCmplncInfo |
@EndUserText.label: 'Substance Indicated as CBI Registration'
@AbapCatalog.sqlViewName: 'CCRRTSRSUBVH'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #MANDATORY
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType: {
serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #L
}
@ObjectModel.semanticKey: [ 'SubstanceName' ]
@ObjectModel.representativeKey: 'SubstanceUUID'
@ObjectModel.dataCategory: #VALUE_HELP
@Metadata.ignorePropagatedAnnotations: true
@UI:
{
presentationVariant:
{
requestAtLeast: [ 'SubstanceUUID', 'SubstanceName', 'ChmlCompReldQtyAsText', 'ChmlCompReldQtyUnitText', 'ChmlCompReldLowrLimitQtyOptr',
'ChmlCompReldLowrLimitQtyAsText', 'ChmlCompReldUprLimitQtyOptr', 'ChmlCompReldUprLimitQtyAsText' ]
}
}
@Search.searchable: true
/*----------------------------------------------------------------------------------------------------------------------
Value Help view to find and assign produced substances that are not already used in the (draft) composition
------------------------------------------------------------------------------------------------------------------------*/
define view C_CmplRqRsltTradeSecretSubstVH
with parameters
P_CmplRqRsltUUID : sysuuid_x
as select from I_ChmlComponent as _ChmlComponent
inner join I_CmplRqRsltTrdScrtRegnDraft as _CmplRqRsltTrdScrtRegnDraft on _CmplRqRsltTrdScrtRegnDraft.CmplRqRsltUUID = $parameters.P_CmplRqRsltUUID
inner join I_ChmlComposition as _ChmlComposition on _ChmlComposition.ChmlCompositionType = _CmplRqRsltTrdScrtRegnDraft.ChmlCompositionType
and _ChmlComposition.ChmlCompositionUUID = _ChmlComponent.ChmlCompositionUUID
and _ChmlComposition.ChmlCompositionStatus = 'RE'
and _CmplRqRsltTrdScrtRegnDraft.ChmlCmplncInfoUUID = _ChmlComposition.ChmlCmplncInfoUUID
--Join data of draft components of substance-based composition that are already assigned
left outer to one join I_CmplRqRsltTrdScrtSubstDraft as _CmplRqRsltTrdScrtRegnSubstD on _CmplRqRsltTrdScrtRegnSubstD.SubstanceUUID = _ChmlComponent.SubstanceUUID
and _CmplRqRsltTrdScrtRegnSubstD.CmplRqRsltUUID = _CmplRqRsltTrdScrtRegnDraft.CmplRqRsltUUID
association [0..1] to I_SubstanceTP as _Substance on _ChmlComponent.SubstanceUUID = _Substance.SubstanceUUID
-- Unit Of Measure Value Help
association [0..*] to I_UnitOfMeasureText as _UnitOfMeasureText on $projection.ChmlCompReldQtyUnit = _UnitOfMeasureText.UnitOfMeasure
--Link to 'Chemcial Compliance Info' as root
association [1..1] to I_ChmlCmplncInfo as _ChmlCmplncInfo on $projection.ChmlCmplncInfoUUID = _ChmlCmplncInfo.ChmlCmplncInfoUUID
{
@UI.hidden: true
key $parameters.P_CmplRqRsltUUID as CmplRqRsltUUID,
@UI.hidden: true
@UI.selectionField.exclude: true
@Consumption.semanticObject: 'SubstanceUUID'
key _ChmlComponent.SubstanceUUID as SubstanceUUID,
@UI: {
lineItem : {
position: 10,
importance: #HIGH
}
}
_Substance.SubstanceName as SubstanceName,
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #LOW
}
_Substance.SubstanceInternalName as SubstanceInternalName,
//used to search within company substance names
@UI.hidden:true
@Search:
{
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #HIGH
}
_Substance.CompanySubstanceName as CompanySubstanceName,
-- ECNumber
_Substance._ListedSubstance.ECNumber as ECNumber,
@UI: {
lineItem: {
position: 20,
importance: #MEDIUM
}
}
_Substance._ListedSubstance.CASNumber as CASNumber,
@UI.hidden: true
_Substance.ResponsibleUnit as ResponsibleUnit,
--Role of Ingredient
@ObjectModel.text.element: [ 'ChmlCompTypeName' ]
@UI.lineItem: [{ position: 30, importance: #MEDIUM }]
@UI.textArrangement: #TEXT_ONLY
_ChmlComponent.ChmlCompType as ChmlCompType,
--Description of Component Type
@Semantics.text: true
_ChmlComponent._ComponentType._Text[1: Language = $session.system_language ].ChmlCompTypeName as ChmlCompTypeName,
--Concentration
_ChmlComponent.ChmlCompQtyAsText as ChmlCompReldQtyAsText,
--Concentration Range
_ChmlComponent.ChmlCompOperatorLowerLimit as ChmlCompReldLowrLimitQtyOptr,
_ChmlComponent.ChmlCompQtyLowerLimitAsText as ChmlCompReldLowrLimitQtyAsText,
_ChmlComponent.ChmlCompOperatorUpperLimit as ChmlCompReldUprLimitQtyOptr,
_ChmlComponent.ChmlCompQtyUpperLimitAsText as ChmlCompReldUprLimitQtyAsText,
-- UoM Code (e.g. PPM)
@ObjectModel.text.element: ['ChmlCompReldQtyUnitText']
@ObjectModel.mandatory: true
_ChmlComponent.ChmlCompQtyUnit as ChmlCompReldQtyUnit,
-- UoM Short Text (e.g. ppm)
@Semantics.text: true
@ObjectModel.readOnly: true
_UnitOfMeasureText[1: Language = $session.system_language ].UnitOfMeasureName as ChmlCompReldQtyUnitText,
@UI.hidden: true
_ChmlComposition.ChmlCmplncInfoUUID,
_Substance,
_ChmlCmplncInfo
}
where --Select components which are not already assigned
_CmplRqRsltTrdScrtRegnSubstD.CmplRqRsltUUID is null
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