C_ChmlCmplncProdAssgmt

DDL: C_CHMLCMPLNCPRODASSGMT Type: view_entity CONSUMPTION Package: EHFND_CNS_CCI

Chemical Compliance Packaged Product Assignment

C_ChmlCmplncProdAssgmt is a Consumption CDS View that provides data about "Chemical Compliance Packaged Product Assignment" in SAP S/4HANA. It reads from 1 data source (I_ChmlCmplncProdAssgmt) and exposes 28 fields with key field ChmlCmplncProdAssgmtUUID. It has 6 associations to related views. Part of development package EHFND_CNS_CCI.

Data Sources (1)

SourceAliasJoin Type
I_ChmlCmplncProdAssgmt I_ChmlCmplncProdAssgmt from

Associations (6)

CardinalityTargetAliasCondition
[1..1] C_ChmlCmplncMatlAssgmtTP _MatAss _MatAss.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID
[0..1] C_ChmlCmplncPrimMatl _UnpckgdProdMatDataPrimary _UnpckgdProdMatDataPrimary.ChmlCmplncInfoUUID = $projection.ChmlCmplncProdUUID
[0..1] I_ChmlCmplncProdAssgmt _ChmlCmplncInfoBrnddProd _ChmlCmplncInfoBrnddProd.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID and _ChmlCmplncInfoBrnddProd.ChmlCmplncInfoType = 'BP'
[0..1] C_ChmlCmplncInfoBrnddProdMntr _BrnddProdMatData _BrnddProdMatData.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID ----------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Additional Information -----------------------------------------------------------------------------------------------------------------------------------------------------------------
[0..1] C_ChmlCmplncInfoQuickView _ChmlCmplncInfoQuickVwSpec $projection.Specification = _ChmlCmplncInfoQuickVwSpec.Specification
[0..1] C_ChmlCmplncInfoQuickView _ChmlCmplncInfoQuickVwIntNmbr $projection.ChmlCmplncInternalNumber = _ChmlCmplncInfoQuickVwIntNmbr.Specification

Annotations (10)

NameValueLevelField
EndUserText.label Chemical Compliance Packaged Product Assignment view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view
Metadata.allowExtensions true view
Consumption.semanticObject PackagedChemicalInfo view
Search.searchable true view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY ChmlCmplncProdAssgmtUUID ChmlCmplncProdAssgmtUUID
ChmlCmplncInfoUUID ChmlCmplncInfoUUID
ChmlCmplncProdUUID ChmlCmplncProdUUID
Material _MatAss Material
MaterialName _MatAss MaterialName
MaterialGroup _MatAss MaterialGroup
MaterialGroupName _MatAss MaterialGroupName
SemanticObject
Specification
ChmlCmplncInfoParentType _ChmlCmplncInfoProduct ChmlCmplncInfoType
ChmlCmplncInfoType
ProdStewardshipRespUnit
MaterialIsTransported
MaterialIsSold
MaterialIsProduced
MaterialIsSourced
MatlIsMultiComponentProduct
ChmlCmplncChgLogsRoleIsAllwd
MatlIsBrandedProduct
MatlIsNotBrandedProduct
ChmlCmplncInternalNumber
NmbrOfChmlCmplncInfoPckgdProd _BrnddProdMatData NmbrOfChmlCmplncInfoPckgdProd
_ChmlCmplncInfoProduct _ChmlCmplncInfoProduct
_MatAss _MatAss
_UnpckgdProdMatDataPrimary _UnpckgdProdMatDataPrimary
_BrnddProdMatData _BrnddProdMatData
_ChmlCmplncInfoQuickVwSpec _ChmlCmplncInfoQuickVwSpec
_ChmlCmplncInfoQuickVwIntNmbr _ChmlCmplncInfoQuickVwIntNmbr
@EndUserText.label: 'Chemical Compliance Packaged Product Assignment'

@AccessControl:
{
  authorizationCheck: #MANDATORY,
  // blocking of personal data not required (no personal data fields exposed for material (MARA))

  personalData.blocking: #NOT_REQUIRED
}

@VDM.viewType: #CONSUMPTION

@ObjectModel:
{
  semanticKey:  [ 'MaterialName' ],
  usageType:
  {
    /*Service Quality - reflects the quality of service with respect to the expected performance of the CDS view:
      #A: may be consumed within business logic for high volume transactions or background processing
      #B: may be consumed within business logic for transactions or background processing
    */
    dataClass: #MASTER,
    sizeCategory: #M,
    serviceQuality: #C
  }
}

@Metadata.allowExtensions: true

@Consumption.semanticObject: 'PackagedChemicalInfo'

@Search.searchable: true

define view entity C_ChmlCmplncProdAssgmt
  as select from I_ChmlCmplncProdAssgmt
  association [1..1] to C_ChmlCmplncMatlAssgmtTP      as _MatAss                       on  _MatAss.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID

  association [0..1] to C_ChmlCmplncPrimMatl          as _UnpckgdProdMatDataPrimary    on  _UnpckgdProdMatDataPrimary.ChmlCmplncInfoUUID = $projection.ChmlCmplncProdUUID

  // Branded Product Assignments

  association [0..1] to I_ChmlCmplncProdAssgmt        as _ChmlCmplncInfoBrnddProd      on  _ChmlCmplncInfoBrnddProd.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID
                                                                                       and _ChmlCmplncInfoBrnddProd.ChmlCmplncInfoType = 'BP'

  // Branded Product as child

  association [0..1] to C_ChmlCmplncInfoBrnddProdMntr as _BrnddProdMatData             on  _BrnddProdMatData.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID

  -----------------------------------------------------------------------------------------------------------------------------------------------------------------
  -- Additional Information
  -----------------------------------------------------------------------------------------------------------------------------------------------------------------

  association [0..1] to C_ChmlCmplncInfoQuickView     as _ChmlCmplncInfoQuickVwSpec    on  $projection.Specification = _ChmlCmplncInfoQuickVwSpec.Specification


  association [0..1] to C_ChmlCmplncInfoQuickView     as _ChmlCmplncInfoQuickVwIntNmbr on  $projection.ChmlCmplncInternalNumber = _ChmlCmplncInfoQuickVwIntNmbr.Specification
{

  key ChmlCmplncProdAssgmtUUID,

      @ObjectModel.mandatory: true
      ChmlCmplncInfoUUID,

      @ObjectModel.mandatory: true
      ChmlCmplncProdUUID,

      @ObjectModel.readOnly: true
      @ObjectModel.text.element: ['MaterialName']
      @Search: {
        defaultSearchElement : true,
        fuzzinessThreshold: 0.7,
        ranking: #MEDIUM
      }
      _MatAss.Material,

      @ObjectModel.readOnly: true
      @Search: {
        defaultSearchElement : true,
        fuzzinessThreshold: 0.7,
        ranking: #MEDIUM
      }
      @Semantics.text:true
      _MatAss.MaterialName,

      @ObjectModel:
      {
        readOnly: true,
        text.element:  [ 'MaterialGroupName' ]
      }
      _MatAss.MaterialGroup,

      @ObjectModel.readOnly: true
      _MatAss.MaterialGroupName,

      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_TYPE_IMAGE_CALC_EXT'
      cast( '' as /ui2/semantic_object )                                           as SemanticObject,

      @ObjectModel.readOnly: true
      @ObjectModel:{ foreignKey.association: '_ChmlCmplncInfoQuickVwSpec' }
      cast(_ChmlCmplncInfo.Specification as ehfnd_internal_nr_nc preserving type ) as Specification,

      @ObjectModel.readOnly: true
      _ChmlCmplncInfoProduct.ChmlCmplncInfoType                                    as ChmlCmplncInfoParentType,

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      -- CCI Type and Roles
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      --Chemical Compliance Information Type
      @ObjectModel.readOnly: true
      _ChmlCmplncInfo.ChmlCmplncInfoType,

      --Responsible Unit
      @ObjectModel.readOnly: true
      _ChmlCmplncInfo.ProdStewardshipRespUnit,

      --Indicator: Chemical Compliance Information is transported
      @ObjectModel.readOnly: true
      _ChmlCmplncInfo.MaterialIsTransported,

      --Indicator: Chemical Compliance Information is sold
      @ObjectModel.readOnly: true
      _ChmlCmplncInfo.MaterialIsSold,

      --Indicator: Chemical Compliance Information is produced
      @ObjectModel.readOnly: true
      _ChmlCmplncInfo.MaterialIsProduced,

      --Indicator: Chemical Compliance Information is sourced
      @ObjectModel.readOnly: true
      _ChmlCmplncInfo.MaterialIsSourced,

      --Indicator: Material is Multi-Component Product
      @ObjectModel.readOnly: true
      _ChmlCmplncInfo.MatlIsMultiComponentProduct,

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      -- Logistics Roles Info
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_CCI_CHGROLE_CALC_EXIT'
      @ObjectModel.readOnly: true
      cast('' as ehfnd_cci_log_role_info)                                          as ChmlCmplncCurLogsRole,

      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_CCI_CHGROLE_CALC_EXIT'
      @ObjectModel.readOnly: true
      cast('' as ehfnd_cci_chg_role_allwd preserving type)                         as ChmlCmplncChgLogsRoleIsAllwd,

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------
      -- Branded Product Info
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------

      @ObjectModel.readOnly: true
      ChmlCmplncInfoUUID                                                           as BrnddChmlCmplncInfoUUID, //Needed for navigation to Branded Product


      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_CCI_SDS_REQ_CALC_EXIT'
      cast('' as ehfnd_cci_is_bp preserving type)                                  as MatlIsBrandedProduct,

      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_CCI_SDS_REQ_CALC_EXIT'
      cast('' as ehfnd_cci_is_not_bp preserving type)                              as MatlIsNotBrandedProduct,

      @ObjectModel.readOnly: true
      @ObjectModel:{ foreignKey.association: '_ChmlCmplncInfoQuickVwIntNmbr' }
      _ChmlCmplncInfoBrnddProd._ChmlCmplncInfoProduct.Specification                as ChmlCmplncInternalNumber,

      _BrnddProdMatData.NmbrOfChmlCmplncInfoPckgdProd,

      /* Associations */
      _ChmlCmplncInfoProduct,
      _MatAss,
      _UnpckgdProdMatDataPrimary,
      _BrnddProdMatData,
      _ChmlCmplncInfoQuickVwSpec,
      _ChmlCmplncInfoQuickVwIntNmbr
}