I_SpecIdentifier

DDL: I_SPECIDENTIFIER SQL: ISPECIDENT Type: view BASIC

Specification Identifier

I_SpecIdentifier is a Basic CDS View that provides data about "Specification Identifier" in SAP S/4HANA. It reads from 1 data source (estri) and exposes 29 fields with key fields SpecIdfgDescInternalID, SpecIdfgDescChangeState. It has 5 associations to related views.

Data Sources (1)

SourceAliasJoin Type
estri estri from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_SpecIdentifierLongText _SpecIdentifierLongText $projection.SpecIdfgDescInternalID = _SpecIdentifierLongText.SpecIdfgDescInternalID and $projection.SpecIdfgDescChangeState = _SpecIdentifierLongText.SpecIdfgDescChangeState
[1..1] I_Language _SpecIdfgDescLanguage $projection.SpecIdfgDescLanguage = _SpecIdfgDescLanguage.Language
[0..1] I_SpecIdentifierUsage _SpecIdentifierUsageOrigl $projection.SpecIdfgDescInheritanceRoot = _SpecIdentifierUsageOrigl.MasterTableElementInternalID and $projection.SpecIdfgDescRootSpecIntID = _SpecIdentifierUsageOrigl.SpecificationInternalID and _SpecIdentifierUsageOrigl.SpecIdfgUsageIsDeleted = ''
[0..1] I_SpecIdentifierUsage _SpecIdentifierUsageLocal $projection.SpecIdfgDescInternalID = _SpecIdentifierUsageLocal.MasterTableElementInternalID and $projection.SpecificationInternalID = _SpecIdentifierUsageLocal.SpecificationInternalID and _SpecIdentifierUsageLocal.SpecIdfgUsageIsDeleted = ''
[0..1] I_SpecInheritanceTemplateHdr _SpecInheritanceTemplateHdr $projection.SpecInheritanceTemplate = _SpecInheritanceTemplateHdr.SpecInheritanceTemplate

Annotations (11)

NameValueLevelField
AbapCatalog.preserveKey true view
AbapCatalog.sqlViewName ISPECIDENT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY 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 Identifier view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY SpecIdfgDescInternalID recn
KEY SpecIdfgDescChangeState actn
SpecificationInternalID recnroot
SpecIdfgDescValidityStartDate valfr
SpecIdfgDescValidityEndDate valto
SpecIdfgDescChangeNumber aennr
SpecIdfgDescIsDeleted delflg
SpecIdfgDescCreatedByUser crnam
SpecIdfgDescCreationDate crdat
SpecIdfgDescLastChangedByUser updnam
SpecIdfgDescLastChangeDate upddat
SpecIdfgDescSortSequence ord
SpecIdfgDescIsInheritanceSrce flg_inhsrc
SpecIdfgDescInheritanceParent recntri_src
SpecIdfgDescInheritanceRoot recntri_orig
SpecIdfgDescRootSpecIntID recnroot_orig
InhtdSpecIdfgDescIsTmpChgd flg_inhovr
InhtdSpecIdfgDescIsPermChgd flg_inhexcl
SpecInheritanceTemplate recn_tplh
SpecInheritanceTmplSortSeq tpl_ord
SpecIdfgDescCategory idtype
SpecIdfgDescType idcat
SpecIdfgDescLanguage langu
SpecIdfgDescText ident
_SpecIdfgDescLanguage _SpecIdfgDescLanguage
_SpecIdentifierLongText _SpecIdentifierLongText
_SpecIdentifierUsageLocal _SpecIdentifierUsageLocal
_SpecIdentifierUsageOrigl _SpecIdentifierUsageOrigl
_SpecInheritanceTemplateHdr _SpecInheritanceTemplateHdr
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'ISPECIDENT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY // TODO: change to disable access when it will be available


@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 Identifier'
define view I_SpecIdentifier
  as select from estri
  association [0..1] to I_SpecIdentifierLongText     as _SpecIdentifierLongText     on  $projection.SpecIdfgDescInternalID  = _SpecIdentifierLongText.SpecIdfgDescInternalID
                                                                                    and $projection.SpecIdfgDescChangeState = _SpecIdentifierLongText.SpecIdfgDescChangeState
  association [1..1] to I_Language                   as _SpecIdfgDescLanguage       on  $projection.SpecIdfgDescLanguage = _SpecIdfgDescLanguage.Language
  association [0..1] to I_SpecIdentifierUsage        as _SpecIdentifierUsageOrigl   on  $projection.SpecIdfgDescInheritanceRoot          = _SpecIdentifierUsageOrigl.MasterTableElementInternalID
                                                                                    and $projection.SpecIdfgDescRootSpecIntID            = _SpecIdentifierUsageOrigl.SpecificationInternalID
  //$projection.SpecIdfgDescspecinternalidroot

                                                                                    and _SpecIdentifierUsageOrigl.SpecIdfgUsageIsDeleted = ''
  association [0..1] to I_SpecIdentifierUsage        as _SpecIdentifierUsageLocal   on  $projection.SpecIdfgDescInternalID               = _SpecIdentifierUsageLocal.MasterTableElementInternalID
                                                                                    and $projection.SpecificationInternalID              = _SpecIdentifierUsageLocal.SpecificationInternalID
                                                                                    and _SpecIdentifierUsageLocal.SpecIdfgUsageIsDeleted = ''
  association [0..1] to I_SpecInheritanceTemplateHdr as _SpecInheritanceTemplateHdr on  $projection.SpecInheritanceTemplate = _SpecInheritanceTemplateHdr.SpecInheritanceTemplate
{
  key recn          as SpecIdfgDescInternalID,
  key actn          as SpecIdfgDescChangeState,

      recnroot      as SpecificationInternalID,

      valfr         as SpecIdfgDescValidityStartDate,
      valto         as SpecIdfgDescValidityEndDate,
      aennr         as SpecIdfgDescChangeNumber,
      delflg        as SpecIdfgDescIsDeleted,
      //parkflg       as SpecIdfgDescIsInactive,


      crnam         as SpecIdfgDescCreatedByUser,

      crdat         as SpecIdfgDescCreationDate,
  
      updnam        as SpecIdfgDescLastChangedByUser,

      upddat        as SpecIdfgDescLastChangeDate,

      ord           as SpecIdfgDescSortSequence,
      /*  identnm       as NormedIdfgDescText,
        ltxtflg       as SpecIdfgDescHasLongtext,
        formatflg     as SpecIdfgDescHasFormatting,
        ,

        dokar         as SpecIdfgDescDocumentType,
        doknr         as SpecIdfgDescDocumentNumber,
        dokvr         as SpecIdfgDescDocumentVersion,
        doktl         as SpecIdfgDescDocumentPart,*/

      flg_inhsrc    as SpecIdfgDescIsInheritanceSrce,
      recntri_src   as SpecIdfgDescInheritanceParent,
      recntri_orig  as SpecIdfgDescInheritanceRoot,
      recnroot_orig as SpecIdfgDescRootSpecIntID,
      flg_inhovr    as InhtdSpecIdfgDescIsTmpChgd,
      flg_inhexcl   as InhtdSpecIdfgDescIsPermChgd,
      recn_tplh     as SpecInheritanceTemplate,
      tpl_ord       as SpecInheritanceTmplSortSeq,

      // This is not a mistake in the CDS model

      // Naming conflict between the CDS field name and DB field name cames from the wrong

      // DB design


      idtype        as SpecIdfgDescCategory,
      idcat         as SpecIdfgDescType,
      @ObjectModel.foreignKey.association: '_SpecIdfgDescLanguage'
      @Semantics.language: true
      langu         as SpecIdfgDescLanguage,

      ident         as SpecIdfgDescText,


      /* Associations */
      _SpecIdfgDescLanguage,
      _SpecIdentifierLongText,

      _SpecIdentifierUsageLocal,
      _SpecIdentifierUsageOrigl,
      _SpecInheritanceTemplateHdr
}