C_UnpackagedDangerousGood

DDL: C_UNPACKAGEDDANGEROUSGOOD SQL: CUPDG Type: view CONSUMPTION

Unpackaged Dangerous Good

C_UnpackagedDangerousGood is a Consumption CDS View that provides data about "Unpackaged Dangerous Good" in SAP S/4HANA. It reads from 1 data source (I_ChmlCmplncInfo) and exposes 28 fields with key field ChmlCmplncInfoUUID. It has 9 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ChmlCmplncInfo ChemicalComplianceInfo from

Associations (9)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product
[0..*] I_ProductText _ProductText $projection.Product = _ProductText.Product
[0..*] I_ProductGroupText_2 _ProductGroupText $projection.productgroup = _ProductGroupText.ProductGroup
[0..*] C_DngrsGdsAnlytlCmpstnComp _ChmlCompOfReldAnlytlCmpstn $projection.AnalyticCmpstnReleasedUUID = _ChmlCompOfReldAnlytlCmpstn.ChmlCompositionUUID
[0..*] C_UnpackagedDangerousGoodClfn _UnpackagedDangerousGoodClfn $projection.ChmlCmplncInfoUUID = _UnpackagedDangerousGoodClfn.ChmlCmplncInfoUUID -- provide data for related packaged dangerous goods
[0..*] C_UpaDaGdsClfnAssgdPckgdClfn _RelatedPackagedProduct $projection.ChmlCmplncInfoUUID = _RelatedPackagedProduct.ChmlCmplncInfoUUID -- needed for the smart link navigation in the up apps
[0..1] P_AssociatedAnlytlReldCmpstn _AnlytlCmpstn _AnlytlCmpstn.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID
[0..1] P_AssociatedMatlReldCmpstn _MatlBsdCmpstn _MatlBsdCmpstn.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID
[0..1] P_ChmlCmplncInfoAssgdPCPhys _PCPhysProperty _PCPhysProperty.ChmlCmplncInfoUUID = $projection.ChmlCmplncInfoUUID and _PCPhysProperty.PCPrptyRootType = 'EHFNDD_PHYSCHEM' and ( _PCPhysProperty.PCPrptyInProcProcgSts = 'IP' or _PCPhysProperty.PCPrptyReldProcgSts = 'RE' )

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName CUPDG view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
EndUserText.label Unpackaged Dangerous Good view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY ChmlCmplncInfoUUID I_ChmlCmplncInfo ChmlCmplncInfoUUID
Product
RawMaterial
SitnInstceAnchorObjectKey
ProductGroup _Product ProductGroup
Specification I_ChmlCmplncInfo Specification
ChmlCmplncInfoCombinedName
ChmlCmplncInternalName I_ChmlCmplncInfo ChmlCmplncInternalName
ProductName ProductText ProductName
AnalyticCmpstnReleasedUUID ReleasedAnalyticalComposition ChmlCompositionReleasedUUID
AnalyticCmpstnReleaseDateTime ReleasedAnalyticalComposition ReleaseDateTime
IsCloudSystem
DngrsGdsRespUnit I_ChmlCmplncInfo DngrsGdsRespUnit
AnalyticCmpstnNavgnLinkUUID _AnlytlCmpstn ChmlCompositionReleasedUUID
MatlBsdCmpstnNavgnLinkUUID _MatlBsdCmpstn ChmlCompositionReleasedUUID
PCPhysPrptyNavgnLinkUUID _PCPhysProperty PCPrptyNavgnLinkUUID
ChmlCmplncInfoType
ChmlCmplncProdIsResearched I_ChmlCmplncInfo ChmlCmplncProdIsResearched
MaterialIsSold I_ChmlCmplncInfo MaterialIsSold
MaterialIsTransported I_ChmlCmplncInfo MaterialIsTransported
MaterialIsSourced I_ChmlCmplncInfo MaterialIsSourced
MaterialIsProduced I_ChmlCmplncInfo MaterialIsProduced
ChmlCmplncTypeImageURL
Associations_ProductText
_ProductGroupText _ProductGroupText
_ChmlCompOfReldAnlytlCmpstn _ChmlCompOfReldAnlytlCmpstn
_UnpackagedDangerousGoodClfn _UnpackagedDangerousGoodClfn
_RelatedPackagedProduct _RelatedPackagedProduct
@AbapCatalog.sqlViewName: 'CUPDG'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl:
{
  authorizationCheck: #MANDATORY,
  personalData.blocking: #NOT_REQUIRED
}

@EndUserText.label: 'Unpackaged Dangerous Good'

@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true

@VDM.viewType: #CONSUMPTION

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel:
{
  semanticKey: [  'Product',
                  'ChmlCmplncInfoNavgnLink',
                  'AnalyticCmpstnNavgnLinkUUID',
                  'MatlBsdCmpstnNavgnLinkUUID',
                  'PCPhysPrptyNavgnLinkUUID' ],
  usageType:
  {
    dataClass: #MIXED,
    sizeCategory: #L,
    serviceQuality: #C
  }
}
define view C_UnpackagedDangerousGood
  --Select data from master table 'Chemical Compliance Info'
  as select from           I_ChmlCmplncInfo             as ChemicalComplianceInfo

  --Join data from primary material assignment
    left outer to one join I_ChmlCmplncMatlAssgmt       as PrimaryMaterial               on  ChemicalComplianceInfo.ChmlCmplncInfoUUID = PrimaryMaterial.ChmlCmplncInfoUUID
                                                                                         and PrimaryMaterial.MatlAssgmtIsPrimary       = 'X'
    left outer to one join P_AssociatedAnlytlReldCmpstn as ReleasedAnalyticalComposition on ReleasedAnalyticalComposition.ChmlCmplncInfoUUID = ChemicalComplianceInfo.ChmlCmplncInfoUUID
  --Join data from product name in current language to define Combined Name
    left outer to one join I_ProductText                as ProductText                   on  PrimaryMaterial.Material = ProductText.Product
                                                                                         and Language                 = $session.system_language
  -- provide additional product data via exposed association
  association [1..1] to I_Product                     as _Product                     on  $projection.Product = _Product.Product
  association [0..*] to I_ProductText                 as _ProductText                 on  $projection.Product = _ProductText.Product
  association [0..*] to I_ProductGroupText_2          as _ProductGroupText            on  $projection.productgroup = _ProductGroupText.ProductGroup
  association [0..*] to C_DngrsGdsAnlytlCmpstnComp    as _ChmlCompOfReldAnlytlCmpstn  on  $projection.AnalyticCmpstnReleasedUUID = _ChmlCompOfReldAnlytlCmpstn.ChmlCompositionUUID
  association [0..*] to C_UnpackagedDangerousGoodClfn as _UnpackagedDangerousGoodClfn on  $projection.ChmlCmplncInfoUUID = _UnpackagedDangerousGoodClfn.ChmlCmplncInfoUUID
  
  -- provide data for related packaged dangerous goods
  association [0..*] to C_UpaDaGdsClfnAssgdPckgdClfn as _RelatedPackagedProduct       on  $projection.ChmlCmplncInfoUUID = _RelatedPackagedProduct.ChmlCmplncInfoUUID 

  -- needed for the smart link navigation in the up apps
  association [0..1] to P_AssociatedAnlytlReldCmpstn  as _AnlytlCmpstn                on  _AnlytlCmpstn.ChmlCmplncInfoUUID  = $projection.ChmlCmplncInfoUUID
  association [0..1] to P_AssociatedMatlReldCmpstn    as _MatlBsdCmpstn               on  _MatlBsdCmpstn.ChmlCmplncInfoUUID  = $projection.ChmlCmplncInfoUUID
  association [0..1] to P_ChmlCmplncInfoAssgdPCPhys   as _PCPhysProperty              on  _PCPhysProperty.ChmlCmplncInfoUUID    = $projection.ChmlCmplncInfoUUID
                                                                                      and _PCPhysProperty.PCPrptyRootType       = 'EHFNDD_PHYSCHEM'
                                                                                      and (
                                                                                         _PCPhysProperty.PCPrptyInProcProcgSts  = 'IP'
                                                                                         or _PCPhysProperty.PCPrptyReldProcgSts = 'RE'
                                                                                       )
  //  association [0..1] to C_ChmlCmplncInfoAssgdPCPrpty   as _PCEctxProperty              on  _PCEctxProperty.ChmlCmplncInfoUUID = UnpackagedProduct.ChmlCmplncInfoUUID

  //                                                                                       and _PCEctxProperty.PCPrptyRootType    = 'EHFNDD_ECTX'

{
      @ObjectModel.readOnly: true
      @ObjectModel.text.element: ['ChmlCmplncInfoCombinedName']
  key ChemicalComplianceInfo.ChmlCmplncInfoUUID,
      //@ObjectModel.text.element: ['ChmlCmplncInfoCombinedName']

      @ObjectModel.readOnly: true
      cast (PrimaryMaterial.Material as productnumber preserving type )                                                          as Product,
      @ObjectModel.readOnly: true
      cast (PrimaryMaterial.Material as ehfnd_cci_raw_material preserving type )                                                 as RawMaterial,

      // SIT Handling

      @UI.hidden: true
      cast( bintohex(ChemicalComplianceInfo.ChmlCmplncInfoUUID) as  sit_de_ancobjkey  )                          as SitnInstceAnchorObjectKey,

      @ObjectModel.readOnly: true
      @ObjectModel.text.association: '_ProductGroupText'
      _Product.ProductGroup,

      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.Specification,

      @ObjectModel.readOnly: true
      @Semantics.text: true
      cast( coalesce( ProductText.ProductName, ChemicalComplianceInfo.ChmlCmplncInternalName ) as ehfnd_cci_up ) as ChmlCmplncInfoCombinedName,
      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.ChmlCmplncInternalName,
      @ObjectModel.readOnly: true
      ProductText.ProductName,

      @ObjectModel.readOnly: true
      @Consumption.filter.hidden: true
      ReleasedAnalyticalComposition.ChmlCompositionReleasedUUID                                                  as AnalyticCmpstnReleasedUUID,
      @ObjectModel.readOnly: true
      @Consumption.filter.hidden: true
      ReleasedAnalyticalComposition.ReleaseDateTime                                                              as AnalyticCmpstnReleaseDateTime,

      // Cloud system indicator to switch visibility of certain UI elements

      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_CALC_EXIT_IS_CLOUD'
      @ObjectModel.readOnly: true
      @Semantics.booleanIndicator: true
      cast( 'X' as char1 )                                                                                       as IsCloudSystem,

      // Needed for Authorization check

      @ObjectModel.readOnly: true
      @Consumption.hidden: true
      ChemicalComplianceInfo.DngrsGdsRespUnit,

      -------------------------------------------------------------------------------------------------------
      --Navigation Links
      -------------------------------------------------------------------------------------------------------
      
      @UI.hidden: true
      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.ChmlCmplncInfoUUID                                                                  as ChmlCmplncInfoNavgnLink,     // needed for navigation


      @UI.hidden: true
      @ObjectModel.readOnly: true
      _AnlytlCmpstn.ChmlCompositionReleasedUUID                                                                      as AnalyticCmpstnNavgnLinkUUID, // needed for Navigation into Analytical Composition


      @UI.hidden: true
      @ObjectModel.readOnly: true
      _MatlBsdCmpstn.ChmlCompositionReleasedUUID                                                                     as MatlBsdCmpstnNavgnLinkUUID, // needed for Navigation into Material Based Composition


      //      @ObjectModel.readOnly: true

      //      _SubstBsdLglCmpstn.ChmlCmpstnNavgnLinkUUID                                                                 as SubstBsdLglCmpstnNavgnLinkUUID, // needed for Navigation into Substance Based Legal Composition


      @UI.hidden: true
      @ObjectModel.readOnly: true
      _PCPhysProperty.PCPrptyNavgnLinkUUID                                                                       as PCPhysPrptyNavgnLinkUUID, // needed for Navigation into PhysChem Property


      //      @ObjectModel.readOnly: true

      //      _PCEctxProperty.PCPrptyNavgnLinkUUID                                                                       as PCEctxPrptyNavgnLinkUUID, // needed for Navigation into Ecotox Property

      
      -------------------------------------------------------------------------------------------------------
      --Type Image URL
      -------------------------------------------------------------------------------------------------------
      // needed for the Object Page Header Image URL sadl exit

      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.ChmlCmplncInfoType,
      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.ChmlCmplncProdIsResearched,
      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.MaterialIsSold,
      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.MaterialIsTransported,
      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.MaterialIsSourced,
      @ObjectModel.readOnly: true
      ChemicalComplianceInfo.MaterialIsProduced,
      
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_TYPE_IMAGE_CALC_EXT'
      @ObjectModel.readOnly: true
      cast( '' as abap.char( 255 ) )                                                                                                as ChmlCmplncTypeImageURL,
      
      -------------------------------------------------------------------------------------------------------
      --Associations
      -------------------------------------------------------------------------------------------------------
      @Consumption.hidden: true
      _ProductText,
      @Consumption.hidden: true
      _ProductGroupText,
      _ChmlCompOfReldAnlytlCmpstn,
      _UnpackagedDangerousGoodClfn,
      _RelatedPackagedProduct

}
where
      ChemicalComplianceInfo.ChmlCmplncInfoType    = 'BU'
  and ChemicalComplianceInfo.MaterialIsTransported = 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHMLCMPLNCINFO",
"I_CHMLCMPLNCMATLASSGMT",
"I_PRODUCT",
"I_PRODUCTTEXT",
"P_ASSOCIATEDANLYTLRELDCMPSTN",
"P_ASSOCIATEDMATLRELDCMPSTN",
"P_CHMLCMPLNCINFOASSGDPCPHYS"
],
"ASSOCIATED":
[
"C_DNGRSGDSANLYTLCMPSTNCOMP",
"C_UNPACKAGEDDANGEROUSGOODCLFN",
"C_UPADAGDSCLFNASSGDPCKGDCLFN",
"I_PRODUCT",
"I_PRODUCTGROUPTEXT_2",
"I_PRODUCTTEXT",
"P_ASSOCIATEDANLYTLRELDCMPSTN",
"P_ASSOCIATEDMATLRELDCMPSTN",
"P_CHMLCMPLNCINFOASSGDPCPHYS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/