I_Specification
Specification
I_Specification is a Basic CDS View that provides data about "Specification" in SAP S/4HANA. It reads from 2 data sources (estrh, I_SpecificationTypeValidity) and exposes 29 fields with key fields SpecificationInternalID, SpecificationChangeState. It has 14 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| estrh | estrh | from |
| I_SpecificationTypeValidity | I_SpecificationTypeValidity | inner |
Associations (14)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_SpecType | _SpecificationType | $projection.SpecificationType = _SpecificationType.SpecificationType |
| [0..1] | I_SpecAuthorizationGroup | _SpecificationAuthGroup | $projection.SpecificationAuthznGroup = _SpecificationAuthGroup.SpecificationAuthznGroup |
| [0..*] | I_SpecIdentifier | _Identifier | $projection.SpecificationInternalID = _Identifier.SpecificationInternalID |
| [0..1] | I_User | _CreatedByUser | $projection.SpecificationCreatedByUser = _CreatedByUser.UserID |
| [0..1] | I_User | _LastChangedByUser | $projection.SpecificationLastChangedByUser = _LastChangedByUser.UserID |
| [0..1] | I_SpecSubstanceNature | _SubstanceNature | $projection.SpecificationSubstanceNatr = _SubstanceNature.SpecificationSubstanceNatr |
| [0..1] | I_SpecAssignedHeaderStatus | _AssignedHeaderStatus | $projection.SpecificationInternalID = _AssignedHeaderStatus.SpecificationInternalID |
| [0..1] | I_ChangeMaster | _ChangeMaster | $projection.SpecificationChangeNumber = _ChangeMaster.ChangeNumber |
| [0..*] | I_SpecAssignedMaterial | _SpecAssignedMaterial | $projection.SpecificationInternalID = _SpecAssignedMaterial.SpecificationInternalID |
| [0..*] | I_DocumentInfoRecordObjectLink | _DocumentInfoRecordObjectLink | $projection.Specification = _DocumentInfoRecordObjectLink.LinkedSAPObjectKey and _DocumentInfoRecordObjectLink.LinkedSAPObject = 'ESTRH' |
| [0..1] | I_RecipeFormulaItem | _RecipeFormulaItem | $projection.SpecificationInternalID = _RecipeFormulaItem.SpecificationInternalID |
| [0..1] | I_LogAccMObjectTypeActive | _LogAccMObjectTypeActive | _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_RSPSUB' |
| [0..*] | I_LogAccMObjSecureIDAssgmt | _LogAccMObjSecureIDAssgmt | $projection.SpecificationInternalID = _LogAccMObjSecureIDAssgmt.LogAccMObjectID and _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_RSPSUB' |
| [0..*] | I_LogAccMObjectUserAuthzn | _LogAccMObjectUserAuthzn | $projection.SpecificationInternalID = _LogAccMObjectUserAuthzn.LogAccMObjectID and _LogAccMObjectUserAuthzn.LogAccMObjectType = 'PLM_RSPSUB' and _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_SPC' and _LogAccMObjectUserAuthzn.LogAccMReadActivityIsEnabled = 'X' and _LogAccMObjectUserAuthzn.LogAccMUserAuthznField = 'ACTVT' and _LogAccMObjectUserAuthzn.UserID = $session.user |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.sqlViewName | ISPECIFICATION | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| VDM.viewType | #BASIC | view | |
| EndUserText.label | Specification | view |
Fields (29)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SpecificationInternalID | estrh | recn | Unique ID No. |
| KEY | SpecificationChangeState | estrh | actn | GUID number |
| Specification | ||||
| SpecificationValidityStartDate | estrh | valfr | Valid From | |
| SpecificationValidityEndDate | estrh | valto | Valid To | |
| SpecificationChangeNumber | ||||
| SpecificationIsDeleted | estrh | delflg | DID | |
| SpecificationCreationDate | ||||
| SpecificationCreatedByUser | ||||
| SpecificationLastChangeDate | ||||
| SpecificationLastChangedByUser | ||||
| SpecificationType | ||||
| SpecificationSubstanceNatr | ||||
| SpecificationAuthznGroup | ||||
| SpecificationNote | estrh | rem | Note | |
| _CreatedByUser | _CreatedByUser | |||
| _LastChangedByUser | _LastChangedByUser | |||
| _SubstanceNature | _SubstanceNature | |||
| _SpecificationType | _SpecificationType | |||
| _SpecificationAuthGroup | _SpecificationAuthGroup | |||
| _Identifier | _Identifier | |||
| _AssignedHeaderStatus | _AssignedHeaderStatus | |||
| _ChangeMaster | _ChangeMaster | |||
| _SpecAssignedMaterial | _SpecAssignedMaterial | |||
| _DocumentInfoRecordObjectLink | _DocumentInfoRecordObjectLink | |||
| _RecipeFormulaItem | _RecipeFormulaItem | |||
| _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_Specification.
-- 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: ISPECIFICATION
CREATE VIEW I_Specification AS
SELECT
estrh.recn AS SpecificationInternalID,
estrh.actn AS SpecificationChangeState,
cast(estrh.subid as /plmb/spc_ext_id_no_conv preserving type) AS Specification,
estrh.valfr AS SpecificationValidityStartDate,
estrh.valto AS SpecificationValidityEndDate,
cast(estrh.aennr as /plmb/spc_change_number preserving type ) AS SpecificationChangeNumber,
estrh.delflg AS SpecificationIsDeleted,
cast(estrh.crdat as /plmb/spc_created_on preserving type) AS SpecificationCreationDate,
cast(estrh.crnam as /plmb/spc_created_by preserving type) AS SpecificationCreatedByUser,
cast(estrh.upddats as /plmb/spc_changed_on preserving type) AS SpecificationLastChangeDate,
cast(estrh.updnams as /plmb/spc_changed_by preserving type) AS SpecificationLastChangedByUser,
cast(estrh.subcat as /plmb/spc_type preserving type) AS SpecificationType,
cast(estrh.subchar as /plmb/spc_subst_natr preserving type ) AS SpecificationSubstanceNatr,
cast(estrh.authgrp as /plmb/spc_auth_group preserving type ) AS SpecificationAuthznGroup,
estrh.rem AS SpecificationNote
FROM estrh
INNER JOIN I_SpecificationTypeValidity ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_SpecType AS _SpecificationType ON SpecificationType = _SpecificationType.SpecificationType -- association [0..1]
LEFT OUTER JOIN I_SpecAuthorizationGroup AS _SpecificationAuthGroup ON SpecificationAuthznGroup = _SpecificationAuthGroup.SpecificationAuthznGroup -- association [0..1]
LEFT OUTER JOIN I_SpecIdentifier AS _Identifier ON SpecificationInternalID = _Identifier.SpecificationInternalID -- association [0..*]
LEFT OUTER JOIN I_User AS _CreatedByUser ON SpecificationCreatedByUser = _CreatedByUser.UserID -- association [0..1]
LEFT OUTER JOIN I_User AS _LastChangedByUser ON SpecificationLastChangedByUser = _LastChangedByUser.UserID -- association [0..1]
LEFT OUTER JOIN I_SpecSubstanceNature AS _SubstanceNature ON SpecificationSubstanceNatr = _SubstanceNature.SpecificationSubstanceNatr -- association [0..1]
LEFT OUTER JOIN I_SpecAssignedHeaderStatus AS _AssignedHeaderStatus ON SpecificationInternalID = _AssignedHeaderStatus.SpecificationInternalID -- association [0..1]
LEFT OUTER JOIN I_ChangeMaster AS _ChangeMaster ON SpecificationChangeNumber = _ChangeMaster.ChangeNumber -- association [0..1]
LEFT OUTER JOIN I_SpecAssignedMaterial AS _SpecAssignedMaterial ON SpecificationInternalID = _SpecAssignedMaterial.SpecificationInternalID -- association [0..*]
LEFT OUTER JOIN I_DocumentInfoRecordObjectLink AS _DocumentInfoRecordObjectLink ON Specification = _DocumentInfoRecordObjectLink.LinkedSAPObjectKey AND _DocumentInfoRecordObjectLink.LinkedSAPObject = 'ESTRH' -- association [0..*]
LEFT OUTER JOIN I_RecipeFormulaItem AS _RecipeFormulaItem ON SpecificationInternalID = _RecipeFormulaItem.SpecificationInternalID -- association [0..1]
LEFT OUTER JOIN I_LogAccMObjectTypeActive AS _LogAccMObjectTypeActive ON _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_RSPSUB' -- association [0..1]
LEFT OUTER JOIN I_LogAccMObjSecureIDAssgmt AS _LogAccMObjSecureIDAssgmt ON SpecificationInternalID = _LogAccMObjSecureIDAssgmt.LogAccMObjectID AND _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_RSPSUB' -- association [0..*]
LEFT OUTER JOIN I_LogAccMObjectUserAuthzn AS _LogAccMObjectUserAuthzn ON SpecificationInternalID = _LogAccMObjectUserAuthzn.LogAccMObjectID AND _LogAccMObjectUserAuthzn.LogAccMObjectType = 'PLM_RSPSUB' AND _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_SPC' AND _LogAccMObjectUserAuthzn.LogAccMReadActivityIsEnabled = 'X' AND _LogAccMObjectUserAuthzn.LogAccMUserAuthznField = 'ACTVT' AND _LogAccMObjectUserAuthzn.UserID = $session.user -- association [0..*]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA