P_ChmlCmplncInfoAssgdPCPhys

DDL: P_CHMLCMPLNCINFOASSGDPCPHYS Type: view CONSUMPTION

Assoc. Physical Chemical Property

P_ChmlCmplncInfoAssgdPCPhys is a Consumption CDS View that provides data about "Assoc. Physical Chemical Property" in SAP S/4HANA. It reads from 2 data sources (I_PCPrptyRootType, I_ChmlCmplncInfo) and exposes 7 fields. It has 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
I_PCPrptyRootType _PCPrptyRootType inner
I_ChmlCmplncInfo ChemicalComplianceInfo from

Associations (1)

CardinalityTargetAliasCondition
[1..1] P_CChmlCmplConstants _Constants _Constants.Constant1 = _Constants.Constant1

Annotations (8)

NameValueLevelField
EndUserText.label Assoc. Physical Chemical Property view
AbapCatalog.sqlViewName PCCIASGDPHYS view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
VDM.private true view

Fields (7)

KeyFieldSource TableSource FieldDescription
ChmlCmplncInfoUUIDasChmlCmplncInfoUUID
PCPrptyRootTypeasPCPrptyRootType
PhysChmlPrptyUUIDasPCPrptyInProcessUUID
PCPrptyProcgStsasPCPrptyInProcProcgSts
PhysChmlPrptyUUIDasPCPrptyReleasedUUID
PCPrptyProcgStsasPCPrptyReldProcgSts
ReleasedByUserasReleasedByUser
@EndUserText.label: 'Assoc. Physical Chemical Property'
--                  for Unpackaged Product
@AbapCatalog:
{
  -- SQL view name (16 characters)
  sqlViewName: 'PCCIASGDPHYS',

  --If it's true, the filter conditions are compared and, if they match, the associated join expression is evaluated only once
  compiler.compareFilter: true,
  preserveKey: true
}

--Access Control: Authorizations Checks
@AccessControl:
{
   authorizationCheck: #NOT_REQUIRED
}

--Client Handling of the view
@ClientHandling.algorithm: #SESSION_VARIABLE

--VDM view type
@VDM.viewType: #CONSUMPTION
@VDM.private: true

define view P_ChmlCmplncInfoAssgdPCPhys
  --Select data from basic view 'Chemical Compliance Information'
  as select from           I_ChmlCmplncInfo           as ChemicalComplianceInfo

    inner join             I_PCPrptyRootType          as _PCPrptyRootType          on _PCPrptyRootType.DomainValue = 'EHFNDD_PHY'

  --Join data from physical chemical propertes with status In Process => Active or draft composition
    left outer to one join I_PhysicalChemicalProperty as PhysicalChemicalInProcess on  ChemicalComplianceInfo.ChmlCmplncInfoUUID = PhysicalChemicalInProcess.ChmlCmplncInfoUUID
                                                                                   and PhysicalChemicalInProcess.PCPrptyProcgSts = 'IP'

  --Join data from physical chemical propertes with status Released => only active chemical composition, because released composition is not editable
    left outer to one join I_PhysicalChemicalProperty as PhysicalChemicalReleased  on  ChemicalComplianceInfo.ChmlCmplncInfoUUID = PhysicalChemicalReleased.ChmlCmplncInfoUUID
                                                                                   and PhysicalChemicalReleased.PCPrptyProcgSts  = 'RE'

  --Dummy constant selection to solve issues with case-statements with constants (not null-preserving)
  association [1..1] to P_CChmlCmplConstants as _Constants on _Constants.Constant1 = _Constants.Constant1

{
      --UUID of chemical compliance information
  key ChemicalComplianceInfo.ChmlCmplncInfoUUID                                 as ChmlCmplncInfoUUID,

      --Property Type
  key _PCPrptyRootType.PCPrptyRootType                                          as PCPrptyRootType,

      --UUID of in process version
      PhysicalChemicalInProcess.PhysChmlPrptyUUID                               as PCPrptyInProcessUUID,

      --Status In Process
      PhysicalChemicalInProcess.PCPrptyProcgSts                                 as PCPrptyInProcProcgSts,

      --Is Active entity
      cast(_Constants[inner].ConstantTrue as sdraft_is_active preserving type ) as PCPrptyInProcIsActive,

      --UUID of released version
      PhysicalChemicalReleased.PhysChmlPrptyUUID                                as PCPrptyReleasedUUID,

      --Status Released
      PhysicalChemicalReleased.PCPrptyProcgSts                                  as PCPrptyReldProcgSts,

      --Released By User
      PhysicalChemicalReleased.ReleasedByUser                                   as ReleasedByUser,

      --Is Active entity
      cast(_Constants[inner].ConstantTrue as sdraft_is_active preserving type ) as PCPrptyReldIsActive,

      --Navigation Link UUID
      case
        when PhysicalChemicalInProcess.PCPrptyProcgSts = 'IP' then
          PhysicalChemicalInProcess.PhysChmlPrptyUUID
        when PhysicalChemicalReleased.PCPrptyProcgSts = 'RE' then
          PhysicalChemicalReleased.PhysChmlPrptyUUID
      end                                                                       as PCPrptyNavgnLinkUUID,

      --Active Indicator
      case
        when PhysicalChemicalInProcess.PCPrptyProcgSts = 'IP'
          then cast(_Constants[inner].ConstantTrue as sdraft_is_active preserving type )
        when PhysicalChemicalReleased.PCPrptyProcgSts = 'RE'
          then cast(_Constants[inner].ConstantTrue as sdraft_is_active preserving type )
      end                                                                       as PCPrptyIsActive
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHMLCMPLNCINFO",
"I_PCPRPTYROOTTYPE",
"I_PHYSICALCHEMICALPROPERTY",
"P_CCHMLCMPLCONSTANTS"
],
"ASSOCIATED":
[
"P_CCHMLCMPLCONSTANTS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/