I_ProductSpecification

DDL: I_PRODUCTSPECIFICATION SQL: IPRODSPEC Type: view COMPOSITE

Product Specification

I_ProductSpecification is a Composite CDS View that provides data about "Product Specification" in SAP S/4HANA. It reads from 2 data sources (I_ProdSpecType, I_Specification) and exposes 29 fields with key fields ProductSpecificationInternalID, ProductSpecificationChgState. It has 12 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_ProdSpecType _ProdSpecType inner
I_Specification _Specification from

Associations (12)

CardinalityTargetAliasCondition
[0..1] I_ChangeMaster _ChangeMaster _ChangeMaster.ChangeNumber = $projection.ChangeNumber
[1..1] I_ProdSpecNonHistoric _ProdSpecNonHistoric _ProdSpecNonHistoric.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
[0..*] I_ProdSpecDescription _ProdSpecDescription _ProdSpecDescription.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecDescription.ProdSpecDescValidityStartDate <= $projection.ProdSpecValidityStartDate and _ProdSpecDescription.ProdSpecDescValidityEndDate >= $projection.ProdSpecValidityEndDate
[0..*] I_ProdSpecStdCmpstnHeader _ProdSpecStdCmpstnHeader _ProdSpecStdCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecStdCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate and _ProdSpecStdCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= $projection.ProdSpecValidityEndDate
[0..*] I_ProdSpecAllergenCmpstnHeader _ProdSpecAllergenCmpstnHeader _ProdSpecAllergenCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecAllergenCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate and _ProdSpecAllergenCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= $projection.ProdSpecValidityEndDate
[0..*] I_ProdSpecNutrientCmpstnHdr _ProdSpecNutrientCmpstnHdr _ProdSpecNutrientCmpstnHdr.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecNutrientCmpstnHdr.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate and _ProdSpecNutrientCmpstnHdr.ProdSpecCmpstnHdrValdtyEndDte >= $projection.ProdSpecValidityEndDate
[0..*] I_ProdSpecCmpstnHeader _ProdSpecCmpstnHeader _ProdSpecCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate and _ProdSpecCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= $projection.ProdSpecValidityEndDate
[0..*] I_ProdSpecQtytvCmpstnHeader _ProdSpecQtytvCmpstnHeader _ProdSpecQtytvCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecQtytvCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate and _ProdSpecQtytvCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= $projection.ProdSpecValidityEndDate
[0..*] I_ProdSpecQltatvCmpstnHeader _ProdSpecQltatvCmpstnHeader _ProdSpecQltatvCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecQltatvCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate and _ProdSpecQltatvCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= $projection.ProdSpecValidityEndDate
[0..*] I_ProdSpecListingCmpstnHeader _ProdSpecListingCmpstnHeader _ProdSpecListingCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecListingCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate and _ProdSpecListingCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= $projection.ProdSpecValidityEndDate
[0..*] I_ProdSpecPropertyHeader _ProdSpecPropertyHeader _ProdSpecPropertyHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID and _ProdSpecPropertyHeader.ProdSpecPrptyHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate and _ProdSpecPropertyHeader.ProdSpecPrptyHdrValdtyEndDte >= $projection.ProdSpecValidityEndDate
[0..1] I_SpecificationLastChange _SpecificationLastChange $projection.ProductSpecificationInternalID = _SpecificationLastChange.SpecificationInternalID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IPRODSPEC view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Product Specification view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MASTER view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
VDM.viewType #COMPOSITE view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY ProductSpecificationInternalID
KEY ProductSpecificationChgState
ProductSpecification
ProdSpecValidityStartDate SpecificationValidityStartDate
ProdSpecValidityEndDate SpecificationValidityEndDate
ChangeNumber SpecificationChangeNumber
ProdSpecCreatedByUser SpecificationCreatedByUser
ProdSpecCreationDate SpecificationCreationDate
ProdSpecLastChangedByUser SpecificationLastChangedByUser
ProdSpecLastChangeDate SpecificationLastChangeDate
ProdSpecNote SpecificationNote
ProdSpecIsDeleted SpecificationIsDeleted
ProdSpecType I_ProdSpecType SpecificationType
ProdSpecAuthznGroup SpecificationAuthznGroup
_ChangeMaster _ChangeMaster
_ProdSpecNonHistoric _ProdSpecNonHistoric
_ProdSpecDescription _ProdSpecDescription
_ProdSpecStdCmpstnHeader _ProdSpecStdCmpstnHeader
_ProdSpecAllergenCmpstnHeader _ProdSpecAllergenCmpstnHeader
_ProdSpecNutrientCmpstnHdr _ProdSpecNutrientCmpstnHdr
_ProdSpecCmpstnHeader _ProdSpecCmpstnHeader
_ProdSpecQtytvCmpstnHeader _ProdSpecQtytvCmpstnHeader
_ProdSpecQltatvCmpstnHeader _ProdSpecQltatvCmpstnHeader
_ProdSpecListingCmpstnHeader _ProdSpecListingCmpstnHeader
_ProdSpecPropertyHeader _ProdSpecPropertyHeader
_SpecificationLastChange _SpecificationLastChange
_LogAccMObjectTypeActive _LogAccMObjectTypeActive
_LogAccMObjectUserAuthzn _LogAccMObjectUserAuthzn
_LogAccMObjSecureIDAssgmt _LogAccMObjSecureIDAssgmt
@AbapCatalog.sqlViewName: 'IPRODSPEC'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true

@AccessControl.authorizationCheck: #CHECK

@ClientHandling.algorithm: #SESSION_VARIABLE

@EndUserText.label: 'Product Specification'

@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MASTER

@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@VDM.viewType: #COMPOSITE
define view I_ProductSpecification
  as select from I_Specification as _Specification
    inner join   I_ProdSpecType  as _ProdSpecType on _Specification.SpecificationType = _ProdSpecType.SpecificationType

  association [0..1] to I_ChangeMaster                 as _ChangeMaster                 on  _ChangeMaster.ChangeNumber = $projection.ChangeNumber

  association [1..1] to I_ProdSpecNonHistoric          as _ProdSpecNonHistoric          on  _ProdSpecNonHistoric.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID

  association [0..*] to I_ProdSpecDescription          as _ProdSpecDescription          on  _ProdSpecDescription.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecDescription.ProdSpecDescValidityStartDate  <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecDescription.ProdSpecDescValidityEndDate    >= $projection.ProdSpecValidityEndDate

  association [0..*] to I_ProdSpecStdCmpstnHeader      as _ProdSpecStdCmpstnHeader      on  _ProdSpecStdCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecStdCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecStdCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte  >= $projection.ProdSpecValidityEndDate

  association [0..*] to I_ProdSpecAllergenCmpstnHeader as _ProdSpecAllergenCmpstnHeader on  _ProdSpecAllergenCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecAllergenCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecAllergenCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte  >= $projection.ProdSpecValidityEndDate

  association [0..*] to I_ProdSpecNutrientCmpstnHdr    as _ProdSpecNutrientCmpstnHdr    on  _ProdSpecNutrientCmpstnHdr.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecNutrientCmpstnHdr.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecNutrientCmpstnHdr.ProdSpecCmpstnHdrValdtyEndDte  >= $projection.ProdSpecValidityEndDate

  association [0..*] to I_ProdSpecCmpstnHeader         as _ProdSpecCmpstnHeader         on  _ProdSpecCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte  >= $projection.ProdSpecValidityEndDate

  association [0..*] to I_ProdSpecQtytvCmpstnHeader    as _ProdSpecQtytvCmpstnHeader    on  _ProdSpecQtytvCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecQtytvCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecQtytvCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte  >= $projection.ProdSpecValidityEndDate

  association [0..*] to I_ProdSpecQltatvCmpstnHeader   as _ProdSpecQltatvCmpstnHeader   on  _ProdSpecQltatvCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecQltatvCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecQltatvCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte  >= $projection.ProdSpecValidityEndDate

  association [0..*] to I_ProdSpecListingCmpstnHeader  as _ProdSpecListingCmpstnHeader  on  _ProdSpecListingCmpstnHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecListingCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecListingCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte  >= $projection.ProdSpecValidityEndDate

  association [0..*] to I_ProdSpecPropertyHeader       as _ProdSpecPropertyHeader       on  _ProdSpecPropertyHeader.ProductSpecificationInternalID = $projection.ProductSpecificationInternalID
                                                                                        and _ProdSpecPropertyHeader.ProdSpecPrptyHdrValdtyStrtDte  <= $projection.ProdSpecValidityStartDate
                                                                                        and _ProdSpecPropertyHeader.ProdSpecPrptyHdrValdtyEndDte   >= $projection.ProdSpecValidityEndDate
                                                                                        
  association [0..1] to I_SpecificationLastChange      as _SpecificationLastChange      on  $projection.ProductSpecificationInternalID = _SpecificationLastChange.SpecificationInternalID



{
  key cast( SpecificationInternalID  as /plmb/spc_prod_int_id preserving type )       as ProductSpecificationInternalID,
  key cast( SpecificationChangeState as /plmb/spc_prod_change_state preserving type ) as ProductSpecificationChgState,

      cast( Specification as /plmb/spc_prod_spec_ext_id_api preserving type )         as ProductSpecification,

      SpecificationValidityStartDate                                                  as ProdSpecValidityStartDate,
      SpecificationValidityEndDate                                                    as ProdSpecValidityEndDate,
      SpecificationChangeNumber                                                       as ChangeNumber,

      SpecificationCreatedByUser                                                      as ProdSpecCreatedByUser,
      SpecificationCreationDate                                                       as ProdSpecCreationDate,
      SpecificationLastChangedByUser                                                  as ProdSpecLastChangedByUser,
      SpecificationLastChangeDate                                                     as ProdSpecLastChangeDate,

      SpecificationNote                                                               as ProdSpecNote,
      SpecificationIsDeleted                                                          as ProdSpecIsDeleted,

      @Consumption.hidden: true
      //cast(_ProdSpecType.SpecificationType as /plmb/spc_type preserving type )        as ProdSpecType,

      _ProdSpecType.SpecificationType                                                 as ProdSpecType,

      @Consumption.hidden: true
      SpecificationAuthznGroup                                                        as ProdSpecAuthznGroup,

      _ChangeMaster,
      _ProdSpecNonHistoric,
      _ProdSpecDescription,
      _ProdSpecStdCmpstnHeader,
      _ProdSpecAllergenCmpstnHeader,
      _ProdSpecNutrientCmpstnHdr,
      _ProdSpecCmpstnHeader,
      _ProdSpecQtytvCmpstnHeader,
      _ProdSpecQltatvCmpstnHeader,
      _ProdSpecListingCmpstnHeader,
      _ProdSpecPropertyHeader,
      _SpecificationLastChange,

      @Consumption.hidden: true
      _LogAccMObjectTypeActive,
      @Consumption.hidden: true
      _LogAccMObjectUserAuthzn,
      @Consumption.hidden: true
      _LogAccMObjSecureIDAssgmt
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODSPECTYPE",
"I_SPECIFICATION"
],
"ASSOCIATED":
[
"I_CHANGEMASTER",
"I_LOGACCMOBJECTTYPEACTIVE",
"I_LOGACCMOBJECTUSERAUTHZN",
"I_LOGACCMOBJSECUREIDASSGMT",
"I_PRODSPECALLERGENCMPSTNHEADER",
"I_PRODSPECCMPSTNHEADER",
"I_PRODSPECDESCRIPTION",
"I_PRODSPECLISTINGCMPSTNHEADER",
"I_PRODSPECNONHISTORIC",
"I_PRODSPECNUTRIENTCMPSTNHDR",
"I_PRODSPECPROPERTYHEADER",
"I_PRODSPECQLTATVCMPSTNHEADER",
"I_PRODSPECQTYTVCMPSTNHEADER",
"I_PRODSPECSTDCMPSTNHEADER",
"I_SPECIFICATIONLASTCHANGE"
],
"BASE":
[
"I_SPECIFICATION"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/