I_ProdSpecCmpstn is a Composite CDS View that provides data about "Product Specification Compositon" in SAP S/4HANA. It reads from 1 data source (I_ProdSpecCmpstnHeader) and exposes 21 fields with key fields ProdSpecComponentItem, ProdSpecCompItemChangeState. It has 3 associations to related views.
@AbapCatalog.sqlViewName: 'IPRODSPECCMP'
@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 Compositon'
defineview I_ProdSpecCmpstn
asselectdistinctfrom I_SpecValAssgmtItem as item
innerjoin I_ProdSpecCmpstnHeader as header on header.ProdSpecCmpstnHeader = item.SpecValAssgmt
and header.ProdSpecCmpstnHdrValdtyStrtDte <= item.SpecValAssgmtItemValdtyEndDte
and header.ProdSpecCmpstnHdrValdtyEndDte >= item.SpecValAssgmtItemValdtyStrtDte
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_ProdSpecCmpstnHeader as _ProdSpecCmpstnHeader on _ProdSpecCmpstnHeader.ProdSpecCmpstnHeader = $projection.ProdSpecCmpstnHeader
{
keycast(item.SpecValAssgmtItem as /plmb/spc_comp_int_id preserving type ) as ProdSpecComponentItem,
keycast(item.SpecValAssgmtItemChangeState as /plmb/spc_comp_chg_state preserving type ) as ProdSpecCompItemChangeState,
header.ProdSpecCmpstnHeader,
header.ProductSpecificationInternalID,
cast(item.SpecValAssgmtItemValdtyStrtDte as /plmb/spc_comp_val_strt_dat preserving type ) as ProdSpecCompItemValdtyStrtDte, //necessary for joincast(item.SpecValAssgmtItemValdtyEndDte as /plmb/spc_comp_val_end_dat preserving type ) as ProdSpecCompItemValdtyEndDte,
cast(item.SpecValAssgmtItemIsDeleted as /plmb/spc_comp_item_deleted preserving type ) as ProdSpecCompItemIsDeleted,
cast(item.SpecValAssgmtItemChangeNumber as /plmb/spc_comp_item_chg_number preserving type ) as ProdSpecCompItemChangeNumber,
cast(item.CompSpecComponentType as /plmb/spc_comp_comp_type preserving type ) as ProdSpecCompComponentType,
cast(item.ComponentSpecificationIntID as /plmb/spc_component_int_id preserving type ) as ProdSpecComponentInternalID,
cast(item.CompSpecLowerLimitOperator as /plmb/spc_comp_precl preserving type) as ProdSpecCompLowrLmtQtyOperator,
cast(item.CompSpecLowerLimit as /plmb/spc_comp_compllow preserving type) as ProdSpecCompLowerLimitQuantity,
cast(item.CompSpecUpperLimitOperator as /plmb/spc_comp_precu preserving type) as ProdSpecCompUprLmtQtyOperator,
cast(item.CompSpecUpperLimit as /plmb/spc_comp_complupp preserving type) as ProdSpecCompUpperLimitQuantity,
cast(item.CompSpecQuantity as /plmb/spc_comp_quantity preserving type) as ProdSpecCompQuantity,
cast(item.CompSpecUnit as /plmb/spc_comp_uom preserving type) as ProdSpecComponentUnit,
cast(CompSpecExceptionCode as /plmb/spc_comp_exception_code preserving type ) as ProdSpecComponentExceptionCode,
//Associations
_ProdSpecCmpstnHeader,
_ProductSpecification,
_ProdSpecNonHistoric,
header._ProdSpecificationLastChange
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODSPECCMPSTNHEADER",
"I_SPECVALASSGMTITEM"
],
"ASSOCIATED":
[
"I_PRODSPECCMPSTNHEADER",
"I_PRODSPECIFICATIONLASTCHANGE",
"I_PRODSPECNONHISTORIC",
"I_PRODUCTSPECIFICATION"
],
"BASE":
[
"I_PRODSPECCMPSTNHEADER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/