I_CLFNOBJECTCHARC

CDS View

Classification Characteristic of Object

I_CLFNOBJECTCHARC is a CDS View in S/4HANA. Classification Characteristic of Object. It contains 11 fields. 6 CDS views read from this table.

CDS Views using this table (6)

ViewTypeJoinVDMDescription
A_EquipmentClfnCharValue view_entity inner COMPOSITE Equipment Characteristic Values
I_ClfnObjectCharcForKeyDate view from COMPOSITE Clfn Object Characteristic For Key Date
P_CharcCtlgVCCharcMatlAssgmt view_entity from COMPOSITE Variant Configuration: Assignment of Charact. to Materials
R_EquipmentClfnCharValueTP view_entity inner TRANSACTIONAL Equipment Characteristic Values
R_FuncnlLocClfnCharValueTP view_entity inner TRANSACTIONAL Characteristic Values
R_MaintPlanClfnCharValueTP view inner TRANSACTIONAL Maintenance Plan Classification Class Characteristics Value

Fields (11)

KeyField CDS FieldsUsed in Views
KEY CharcInternalID CharcInternalID 5
KEY ClassInternalID ClassInternalID 5
KEY ClfnObjectID ClfnObjectID 1
KEY ClfnObjectTable ClfnObjectTable 1
KEY ClfnObjectType ClfnObjectType 1
ChangeNumber ChangeNumber 1
ClassType ClassType 1
ClfnObjectInternalID ClfnObjectInternalID 1
LastChangeDateTime LastChangeDateTime 1
ValidityEndDate ValidityEndDate 1
ValidityStartDate ValidityStartDate 1
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'INGCCLFN12'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Classification Characteristic of Object'
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@VDM.viewType: #BASIC
define view I_ClfnObjectCharc 
  as select distinct from I_ClfnObjectClassBasic as ObjectClassBasic 
      join I_ClfnClassHierarchy as Hierarchy on 
        Hierarchy.DescendantClassInternalID = ObjectClassBasic.ClassInternalID
        and Hierarchy.ValidityStartDate <= ObjectClassBasic.ValidityEndDate
        and Hierarchy.ValidityEndDate   >= ObjectClassBasic.ValidityStartDate
        and ObjectClassBasic.IsDeleted = ''
      join P_ClfnObjectHeader as ObjectHeader
        on  ObjectClassBasic.ClassType      = ObjectHeader.ClassType
        and ObjectClassBasic.ClfnObjectType = ObjectHeader.ClfnObjectType
        and ObjectClassBasic.ClfnObjectID   = ObjectHeader.objekp          
      join I_ClfnClassCharcBasic as ClassCharcBasic 
        on ClassCharcBasic.ClassInternalID       = Hierarchy.AncestorClassInternalID
        and ClassCharcBasic.ValidityStartDate <= ObjectClassBasic.ValidityEndDate
        and ClassCharcBasic.ValidityEndDate   >= ObjectClassBasic.ValidityStartDate
      
      // look for an overlapping interval  

      association [1..1] to I_ClfnClass as _Class 
        on $projection.ClassInternalID    = _Class.ClassInternalID 
       and $projection.ValidityStartDate <= _Class.ValidityEndDate
       and $projection.ValidityEndDate   >= _Class.ValidityStartDate          
           
      /*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/  
      association [1..1] to I_ClfnCharacteristic as _Characteristic         
        on $projection.CharcInternalID    = _Characteristic.CharcInternalID 
        // Usage of validity startr and end date replaces key field TimeIntervalNumber of characteristic in the condition        

       and $projection.ValidityStartDate <= _Characteristic.ValidityEndDate
       and $projection.ValidityEndDate   >= _Characteristic.ValidityStartDate  

{
  key ObjectHeader.ClfnObjectID,
  key ObjectHeader.ClfnObjectTable,
  key ObjectHeader.ClfnObjectType,
  key ObjectClassBasic.ClassInternalID,
  key ClassCharcBasic.CharcInternalID,
  key ClassCharcBasic.TimeIntervalNumber,
      ObjectHeader.ClfnObjectInternalID,    
      ObjectHeader.ClassType,
      ClassCharcBasic.IsDeleted,
      ClassCharcBasic.ChangeNumber,
      @Semantics.businessDate.from: true
      ClassCharcBasic.ValidityStartDate,
      @Semantics.businessDate.to: true
      ClassCharcBasic.ValidityEndDate,
      ObjectHeader.LastChangeDateTime,
      
      _Class,
      _Characteristic     
}