I_ProdSpecPrptyCharcValue

DDL: I_PRODSPECPRPTYCHARCVALUE SQL: IPDSPCPRPCHVALUE Type: view COMPOSITE Package: VDM_PLMB_SPC_PROP_CUST_OP

Product Specification Property Value by Characteristic

I_ProdSpecPrptyCharcValue is a Composite CDS View that provides data about "Product Specification Property Value by Characteristic" in SAP S/4HANA. It reads from 3 data sources (I_ClfnObjectCharcValue, I_SpecCstmPropertyCharcAssgmt, I_ProdSpecPropertyHeader) and exposes 13 fields with key fields ProdSpecPrptyDefID, ProdSpecPrptyHeader, ProdSpecPrptyHdrChangeState, CharcInternalID, ClfnCharcValuePositionNumber. It has 3 associations to related views. Part of development package VDM_PLMB_SPC_PROP_CUST_OP.

Data Sources (3)

SourceAliasJoin Type
I_ClfnObjectCharcValue charvalue inner
I_SpecCstmPropertyCharcAssgmt cust inner
I_ProdSpecPropertyHeader property from

Associations (3)

CardinalityTargetAliasCondition
[1..*] I_ProductSpecification _ProductSpecification _ProductSpecification.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
[1..1] I_ProdSpecNonHistoric _ProdSpecNonHistoric _ProdSpecNonHistoric.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
[1..*] I_ProdSpecPropertyHeader _ProdSpecPropertyHeader _ProdSpecPropertyHeader.ProdSpecPrptyDefID = $projection.ProdSpecPrptyDefID and _ProdSpecPropertyHeader.ProdSpecPrptyHeader = $projection.ProdSpecPrptyHeader

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IPDSPCPRPCHVALUE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Product Specification Property Value by Characteristic view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY ProdSpecPrptyDefID I_SpecCstmPropertyCharcAssgmt ProdSpecPrptyDefID
KEY ProdSpecPrptyHeader ProdSpecPrptyHeader
KEY ProdSpecPrptyHdrChangeState ProdSpecPrptyHdrChangeState
KEY CharcInternalID I_ClfnObjectCharcValue CharcInternalID
KEY ClfnCharcValuePositionNumber I_ClfnObjectCharcValue CharcValuePositionNumber
ProductSpecificationInternalID ProductSpecificationInternalID
ProdSpecPropertyCharacteristic
ProdSpecPrptyCharcValue
ProdSpecPrptyCharcLowrLmtQty
ProdSpecPrptyCharcUprLmtQty
_ProdSpecNonHistoric _ProdSpecNonHistoric
_ProductSpecification _ProductSpecification
_ProdSpecPropertyHeader _ProdSpecPropertyHeader
@AbapCatalog.sqlViewName: 'IPDSPCPRPCHVALUE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true

@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass: #MIXED

@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API

@AccessControl.authorizationCheck: #CHECK

@EndUserText.label: 'Product Specification Property Value by Characteristic'
define view I_ProdSpecPrptyCharcValue
  as select from I_ProdSpecPropertyHeader      as property

    inner join   I_ClfnObjectCharcValue        as charvalue on  charvalue.ClassType       = '100'
                                                            and charvalue.ClfnObjectTable = 'ESTVA'
                                                            and charvalue.ClfnObjectID    = property.ClfnObjectID

    inner join   I_SpecCstmPropertyCharcAssgmt as cust      on  cust.CharcInternalID    = charvalue.CharcInternalID
                                                            and cust.ProdSpecPrptyDefID = property.ProdSpecPrptyDefID

  association [1..*] to I_ProductSpecification   as _ProductSpecification   on  _ProductSpecification.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
  association [1..1] to I_ProdSpecNonHistoric    as _ProdSpecNonHistoric    on  _ProdSpecNonHistoric.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
  association [1..*] to I_ProdSpecPropertyHeader as _ProdSpecPropertyHeader on  _ProdSpecPropertyHeader.ProdSpecPrptyDefID  = $projection.ProdSpecPrptyDefID
                                                                            and _ProdSpecPropertyHeader.ProdSpecPrptyHeader = $projection.ProdSpecPrptyHeader
  //and _ProdSpecPropertyHeader.ProdSpecPrptyHdrChangeState = $projection.ProdSpecPrptyHdrChangeState


{
  key cust.ProdSpecPrptyDefID,

  key ProdSpecPrptyHeader,
  key ProdSpecPrptyHdrChangeState,

  key charvalue.CharcInternalID,
  key charvalue.CharcValuePositionNumber                                                           as ClfnCharcValuePositionNumber,


      ProductSpecificationInternalID,

      cast( charvalue._Characteristic.Characteristic as /plmb/spc_prop_char_name preserving type ) as ProdSpecPropertyCharacteristic, //to make it optional (available only with association) ?

      cast( charvalue.CharcValue as /plmb/spc_prop_char_value preserving type )                    as ProdSpecPrptyCharcValue,
      cast(charvalue.CharcFromNumericValue as /plmb/spc_prop_char_from_nval preserving type)       as ProdSpecPrptyCharcLowrLmtQty,
      cast(charvalue.CharcToNumericValue as /plmb/spc_prop_char_to_nval preserving type)           as ProdSpecPrptyCharcUprLmtQty,

      cast(case charvalue.CharcValueIntervalType
        when '1' then '='
        when '2' then '>='
        when '3' then '>='
        when '4' then '>'
        when '5' then '>'
        when '6' then '<'
        when '7' then '<='
        when '8' then '>'
        when '9' then '>='
        else '     '
      end as /plmb/spc_comp_precl preserving type)                                                 as ProdSpecPrptyCharcLowrLmtOptr,

      cast(case charvalue.CharcValueIntervalType
        when '1' then '='
        when '2' then '<'
        when '3' then '<='
        when '4' then '<'
        when '5' then '<='
        when '6' then ''
        when '7' then ''
        when '8' then ''
        when '9' then ''
        else '     '
      end as  /plmb/spc_comp_precu preserving type)                                                as ProdSpecPrptyCharcUprLmtOptr,

      cast(case CharcFromNumericValueUnit
        when '' then charvalue._Characteristic.CharcValueUnit
        else CharcFromNumericValueUnit
      end as /plmb/spc_prop_char_uom preserving type )                                             as ProdSpecPrptyCharcValueUnit,

      /* Associations */
      _ProdSpecNonHistoric,
      _ProductSpecification,
      _ProdSpecPropertyHeader

}