I_SPECIFICATION

CDS View

Specification

I_SPECIFICATION is a CDS View in S/4HANA. Specification. It contains 4 fields. 3 CDS views read from this table.

CDS Views using this table (3)

ViewTypeJoinVDMDescription
I_ProdSpecComponent view inner COMPOSITE Product Spec Composition Components
I_ProductSpecification view from COMPOSITE Product Specification
I_SpecificationForKeyDate view from COMPOSITE Specification on a Key Date

Fields (4)

KeyField CDS FieldsUsed in Views
_LogAccMObjectTypeActive _LogAccMObjectTypeActive 1
_LogAccMObjectUserAuthzn _LogAccMObjectUserAuthzn 1
_LogAccMObjSecureIDAssgmt _LogAccMObjSecureIDAssgmt 1
SpecificationType SpecificationType 1
@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
}