I_Specification

DDL: I_SPECIFICATION SQL: ISPECIFICATION Type: view BASIC Package: VDM_PLMB_SPC_BAS

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

Data Sources (2)

SourceAliasJoin Type
estrh estrh from
I_SpecificationTypeValidity I_SpecificationTypeValidity inner

Associations (14)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
KEY SpecificationInternalID estrh recn
KEY SpecificationChangeState estrh actn
Specification
SpecificationValidityStartDate estrh valfr
SpecificationValidityEndDate estrh valto
SpecificationChangeNumber
SpecificationIsDeleted estrh delflg
SpecificationCreationDate
SpecificationCreatedByUser
SpecificationLastChangeDate
SpecificationLastChangedByUser
SpecificationType
SpecificationSubstanceNatr
SpecificationAuthznGroup
SpecificationNote estrh rem
_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
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'ISPECIFICATION'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK

@ClientHandling.algorithm: #SESSION_VARIABLE

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

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

@EndUserText.label: 'Specification'
define view I_Specification
  as select from estrh
    inner join   I_SpecificationTypeValidity SpecificationTypeValidity on SpecificationTypeValidity.SpecificationType = estrh.subcat

  association [0..1] to I_SpecType                     as _SpecificationType            on  $projection.SpecificationType = _SpecificationType.SpecificationType
  association [0..1] to I_SpecAuthorizationGroup       as _SpecificationAuthGroup       on  $projection.SpecificationAuthznGroup = _SpecificationAuthGroup.SpecificationAuthznGroup
  association [0..*] to I_SpecIdentifier               as _Identifier                   on  $projection.SpecificationInternalID = _Identifier.SpecificationInternalID
  association [0..1] to I_User                         as _CreatedByUser                on  $projection.SpecificationCreatedByUser = _CreatedByUser.UserID
  association [0..1] to I_User                         as _LastChangedByUser            on  $projection.SpecificationLastChangedByUser = _LastChangedByUser.UserID
  association [0..1] to I_SpecSubstanceNature          as _SubstanceNature              on  $projection.SpecificationSubstanceNatr = _SubstanceNature.SpecificationSubstanceNatr
  association [0..1] to I_SpecAssignedHeaderStatus     as _AssignedHeaderStatus         on  $projection.SpecificationInternalID = _AssignedHeaderStatus.SpecificationInternalID
  association [0..1] to I_ChangeMaster                 as _ChangeMaster                 on  $projection.SpecificationChangeNumber = _ChangeMaster.ChangeNumber
  association [0..*] to I_SpecAssignedMaterial         as _SpecAssignedMaterial         on  $projection.SpecificationInternalID = _SpecAssignedMaterial.SpecificationInternalID
  association [0..*] to I_DocumentInfoRecordObjectLink as _DocumentInfoRecordObjectLink on  $projection.Specification                     = _DocumentInfoRecordObjectLink.LinkedSAPObjectKey
                                                                                        and _DocumentInfoRecordObjectLink.LinkedSAPObject = 'ESTRH'
  association [0..1] to I_RecipeFormulaItem            as _RecipeFormulaItem            on  $projection.SpecificationInternalID = _RecipeFormulaItem.SpecificationInternalID
  // Access Control Management integration

  association [0..1] to I_LogAccMObjectTypeActive      as _LogAccMObjectTypeActive      on  _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_RSPSUB'
  association [0..*] to I_LogAccMObjSecureIDAssgmt     as _LogAccMObjSecureIDAssgmt     on  $projection.SpecificationInternalID         = _LogAccMObjSecureIDAssgmt.LogAccMObjectID
                                                                                        and _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_RSPSUB'
  association [0..*] to I_LogAccMObjectUserAuthzn      as _LogAccMObjectUserAuthzn      on  $projection.SpecificationInternalID                   = _LogAccMObjectUserAuthzn.LogAccMObjectID
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMObjectType            = 'PLM_RSPSUB'
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject      = 'PLM_SPC'
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMReadActivityIsEnabled = 'X'
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMUserAuthznField       = 'ACTVT'
                                                                                        //and _LogAccMObjectUserAuthzn.LogAccMUserEntityID          = $session.user //DT2869058

                                                                                        and _LogAccMObjectUserAuthzn.UserID                       = $session.user   //DT2869058

                                                                                        

{

  key estrh.recn                                                    as SpecificationInternalID,
  key estrh.actn                                                    as SpecificationChangeState,

      cast(estrh.subid as /plmb/spc_ext_id_no_conv preserving type) as Specification,

      @Semantics.businessDate.from: true
      estrh.valfr                                                   as SpecificationValidityStartDate,
      @Semantics.businessDate.to: true
      estrh.valto                                                   as SpecificationValidityEndDate,

      @ObjectModel.foreignKey.association: '_ChangeMaster'
      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,

      @ObjectModel.foreignKey.association: '_SpecificationType'
      cast(estrh.subcat as /plmb/spc_type preserving type)          as SpecificationType,

      @ObjectModel.foreignKey.association: '_SubstanceNature'
      cast(estrh.subchar as /plmb/spc_subst_natr preserving type )  as SpecificationSubstanceNatr,

      @ObjectModel.foreignKey.association: '_SpecificationAuthGroup'
      cast(estrh.authgrp as /plmb/spc_auth_group preserving type )  as SpecificationAuthznGroup,
      estrh.rem                                                     as SpecificationNote,

      /* Associations */
      _CreatedByUser,
      _LastChangedByUser,
      _SubstanceNature,
      _SpecificationType,
      _SpecificationAuthGroup,
      _Identifier,
      _AssignedHeaderStatus,
      _ChangeMaster,
      _SpecAssignedMaterial,
      _DocumentInfoRecordObjectLink,
      _RecipeFormulaItem,
      _LogAccMObjectTypeActive,
      _LogAccMObjectUserAuthzn,
      _LogAccMObjSecureIDAssgmt
}