I_ProductSpecification

DDL: I_PRODUCTSPECIFICATION SQL: IPRODSPEC Type: view COMPOSITE Package: VDM_PLMB_SPC_BAS_OP

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. Part of development package VDM_PLMB_SPC_BAS_OP.

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 Specification
KEY ProductSpecificationChgState GUID number
ProductSpecification Specification
ProdSpecValidityStartDate SpecificationValidityStartDate Valid From
ProdSpecValidityEndDate SpecificationValidityEndDate Valid To
ChangeNumber SpecificationChangeNumber
ProdSpecCreatedByUser SpecificationCreatedByUser
ProdSpecCreationDate SpecificationCreationDate
ProdSpecLastChangedByUser SpecificationLastChangedByUser
ProdSpecLastChangeDate SpecificationLastChangeDate
ProdSpecNote SpecificationNote Note
ProdSpecIsDeleted SpecificationIsDeleted DID
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

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view I_ProductSpecification.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: IPRODSPEC

CREATE VIEW I_ProductSpecification AS
SELECT
  cast( SpecificationInternalID as /plmb/spc_prod_int_id preserving type ) AS ProductSpecificationInternalID,
  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,
  _ProdSpecType.SpecificationType AS ProdSpecType,
  SpecificationAuthznGroup AS ProdSpecAuthznGroup
FROM I_Specification AS _Specification
INNER JOIN I_ProdSpecType AS _ProdSpecType ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_ChangeMaster AS _ChangeMaster ON _ChangeMaster.ChangeNumber = ChangeNumber  -- association [0..1]
LEFT OUTER JOIN I_ProdSpecNonHistoric AS _ProdSpecNonHistoric ON _ProdSpecNonHistoric.ProductSpecificationInternalID = ProductSpecificationInternalID  -- association [1..1]
LEFT OUTER JOIN I_ProdSpecDescription AS _ProdSpecDescription ON _ProdSpecDescription.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecDescription.ProdSpecDescValidityStartDate <= ProdSpecValidityStartDate AND _ProdSpecDescription.ProdSpecDescValidityEndDate >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_ProdSpecStdCmpstnHeader AS _ProdSpecStdCmpstnHeader ON _ProdSpecStdCmpstnHeader.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecStdCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= ProdSpecValidityStartDate AND _ProdSpecStdCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_ProdSpecAllergenCmpstnHeader AS _ProdSpecAllergenCmpstnHeader ON _ProdSpecAllergenCmpstnHeader.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecAllergenCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= ProdSpecValidityStartDate AND _ProdSpecAllergenCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_ProdSpecNutrientCmpstnHdr AS _ProdSpecNutrientCmpstnHdr ON _ProdSpecNutrientCmpstnHdr.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecNutrientCmpstnHdr.ProdSpecCmpstnHdrValdtyStrtDte <= ProdSpecValidityStartDate AND _ProdSpecNutrientCmpstnHdr.ProdSpecCmpstnHdrValdtyEndDte >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_ProdSpecCmpstnHeader AS _ProdSpecCmpstnHeader ON _ProdSpecCmpstnHeader.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= ProdSpecValidityStartDate AND _ProdSpecCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_ProdSpecQtytvCmpstnHeader AS _ProdSpecQtytvCmpstnHeader ON _ProdSpecQtytvCmpstnHeader.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecQtytvCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= ProdSpecValidityStartDate AND _ProdSpecQtytvCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_ProdSpecQltatvCmpstnHeader AS _ProdSpecQltatvCmpstnHeader ON _ProdSpecQltatvCmpstnHeader.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecQltatvCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= ProdSpecValidityStartDate AND _ProdSpecQltatvCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_ProdSpecListingCmpstnHeader AS _ProdSpecListingCmpstnHeader ON _ProdSpecListingCmpstnHeader.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecListingCmpstnHeader.ProdSpecCmpstnHdrValdtyStrtDte <= ProdSpecValidityStartDate AND _ProdSpecListingCmpstnHeader.ProdSpecCmpstnHdrValdtyEndDte >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_ProdSpecPropertyHeader AS _ProdSpecPropertyHeader ON _ProdSpecPropertyHeader.ProductSpecificationInternalID = ProductSpecificationInternalID AND _ProdSpecPropertyHeader.ProdSpecPrptyHdrValdtyStrtDte <= ProdSpecValidityStartDate AND _ProdSpecPropertyHeader.ProdSpecPrptyHdrValdtyEndDte >= ProdSpecValidityEndDate  -- association [0..*]
LEFT OUTER JOIN I_SpecificationLastChange AS _SpecificationLastChange ON ProductSpecificationInternalID = _SpecificationLastChange.SpecificationInternalID  -- association [0..1]
;