I_ChmlCompositionTP

DDL: I_CHMLCOMPOSITIONTP Type: view TRANSACTIONAL Package: EHFND_BO_CCI

Chemical Composition

I_ChmlCompositionTP is a Transactional CDS View that provides data about "Chemical Composition" in SAP S/4HANA. It reads from 1 data source (I_ChmlComposition) and exposes 17 fields. It has 1 association to related views. Part of development package EHFND_BO_CCI.

Data Sources (1)

SourceAliasJoin Type
I_ChmlComposition ChemicalComposition from

Associations (1)

CardinalityTargetAliasCondition
[0..*] I_ChmlComponentTP _ChemicalComponent $projection.ChmlCompositionUUID = _ChemicalComponent.ChmlCompositionUUID

Annotations (21)

NameValueLevelField
EndUserText.label Chemical Composition view
AbapCatalog.sqlViewName ICCOMPOSITIONTP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
VDM.viewType #TRANSACTIONAL view
ObjectModel.modelCategory #BUSINESS_OBJECT view
ObjectModel.compositionRoot true view
ObjectModel.transactionalProcessingEnabled true view
ObjectModel.createEnabled EXTERNAL_CALCULATION view
ObjectModel.updateEnabled EXTERNAL_CALCULATION view
ObjectModel.deleteEnabled true view
ObjectModel.draftEnabled true view
ObjectModel.writeDraftPersistence EHFNDW_CCMPS view
ObjectModel.writeActivePersistence EHFNDV_CCMPS view
ObjectModel.entityChangeStateId LastChangeUTCDateTime view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.sapObjectNodeType.name ProductAnalyticalComposition view

Fields (17)

KeyFieldSource TableSource FieldDescription
UUIDofcompositionkeyChmlCompositionUUID
ChangedbyuserLastChangedByUser
CompositionTypeChmlCompositionType
LegalAreaProdCmplncLegalArea
ReleaseStatusChmlCompositionStatus
ValidfromdateValidityStartDateTime
ValidtoDateValidityEndDateTime
_ChemicalComponent _ChemicalComponent
_ChmlCmplncInfo _ChmlCmplncInfo
_Substance _Substance
_CompositionStatus _CompositionStatus
_CompositionType _CompositionType
_CreatedByUser _CreatedByUser
_LastChangedByUser _LastChangedByUser
_ReleasedByUser _ReleasedByUser
_LegalArea _LegalArea
_LegalAreaRef _LegalAreaRef
@EndUserText.label: 'Chemical Composition'

@AbapCatalog:
{
  sqlViewName: 'ICCOMPOSITIONTP',
  compiler.compareFilter: true
}

@AccessControl:
{
  --Authority Check for Composition
  authorizationCheck: #CHECK,
  privilegedAssociations:  [ '_CreatedByUser', '_LastChangedByUser', '_ReleasedByUser']
}

--Client Handling of the view
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API

@VDM.viewType: #TRANSACTIONAL

@ObjectModel:
{
  --Transactional Annotations for the generated BO
  modelCategory: #BUSINESS_OBJECT,
  compositionRoot: true,
  transactionalProcessingEnabled: true,
  createEnabled: 'EXTERNAL_CALCULATION',--"true,
  updateEnabled: 'EXTERNAL_CALCULATION',
  deleteEnabled: true,
  draftEnabled: true,
  writeDraftPersistence: 'EHFNDW_CCMPS',
  writeActivePersistence: 'EHFNDV_CCMPS',
  entityChangeStateId: 'LastChangeUTCDateTime',
  semanticKey:  [ 'ChmlCompositionUUID' ],
  usageType:
  {
    dataClass: #MASTER,
    sizeCategory: #L,
    serviceQuality: #C
  },
  sapObjectNodeType.name: 'ProductAnalyticalComposition'
}

define view I_ChmlCompositionTP
  --Select data from basic view 'Chemical Composition'
  as select from I_ChmlComposition as ChemicalComposition

  --Nodes/Detaildata;
  --substance-based components 
  association [0..*] to I_ChmlComponentTP as _ChemicalComponent on $projection.ChmlCompositionUUID = _ChemicalComponent.ChmlCompositionUUID
{
      --UUID of composition
      @ObjectModel.mandatory: true
  key ChmlCompositionUUID,

      --Active UUID of composition
      @ObjectModel.readOnly: true
      ChmlCompositionUUID as ActiveChmlCompositionUUID,

      --Create date/time of composition
      @ObjectModel.readOnly: true
      CreationUTCDateTime,

      --Created by user
      @ObjectModel.readOnly: true
      CreatedByUser,

      --Change date/time of composition
      @ObjectModel.readOnly: true
      LastChangeUTCDateTime,

      --Changed by user
      @ObjectModel.readOnly: true
      LastChangedByUser,

      --UUID of chemical compliance info
      ChmlCmplncInfoUUID,

      --UUID of referenced supplier material
      ChmlSuplrMatlUUID, 

      --UUID of referenced substance (host substance)
      SubstanceUUID,

      --Composition Type
      @ObjectModel.mandatory: true
      ChmlCompositionType,

      -- Legal Area
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      @ObjectModel.readOnly:  'EXTERNAL_CALCULATION'
      ProdCmplncLegalArea,

      --Release Status
      @ObjectModel.mandatory: true
      ChmlCompositionStatus,

      --Release date/time
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      ReleaseDateTime,

      --Released by user
      ReleasedByUser,

      -- Valid from date
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      ValidityStartDateTime,

      -- Valid to Date
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      ValidityEndDateTime,

      --Product Compliance Legal Area Reference
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      @ObjectModel.readOnly:  'EXTERNAL_CALCULATION'
      ProdCmplncLegalAreaRef,

      --Analytical+Legal Composition: Product Categorization (substance or mixture)
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      @ObjectModel.readOnly:  'EXTERNAL_CALCULATION'
      ChmlCmplncProdCatztnPhrsUUID,

      --Trade Secret: PCTrdScrtCalculationSetting
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      @ObjectModel.readOnly:  'EXTERNAL_CALCULATION'
      PCTrdScrtCalculationSetting,

      --Polymer Composition: PolymerCompositionIntIDRef
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      @ObjectModel.readOnly:  'EXTERNAL_CALCULATION'
      PolymerCompositionIntID ,

      --Polymer Composition: PolymerCompositionName
      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      @ObjectModel.readOnly:  'EXTERNAL_CALCULATION'
      PolymerCompositionName,

      /* Associations */
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _ChemicalComponent,

      _ChmlCmplncInfo,
      _Substance,
      _CompositionStatus,
      _CompositionType,
      _CreatedByUser,
      _LastChangedByUser,
      _ReleasedByUser,
      _LegalArea,
      _LegalAreaRef
}