C_ConfignCharacteristic

DDL: C_CONFIGNCHARACTERISTIC SQL: CVCHHLCFCSTIC Type: view CONSUMPTION

OBSOLETE: Configuration Characteristic

C_ConfignCharacteristic is a Consumption CDS View that provides data about "OBSOLETE: Configuration Characteristic" in SAP S/4HANA. It reads from 3 data sources (I_ClfnClass, I_ClfnClassTypeBasic, I_ClfnCharacteristic) and exposes 8 fields with key fields CharcInternalID, ClassInternalID, CharcPositionNumber. It has 1 association to related views.

Data Sources (3)

SourceAliasJoin Type
I_ClfnClass Class inner
I_ClfnClassTypeBasic Clstype inner
I_ClfnCharacteristic Cstic inner

Associations (1)

CardinalityTargetAliasCondition
[0..*] I_ClfnCharcDesc _CharcDesc CharcInClass.CharcInternalID = _CharcDesc.CharcInternalID and _CharcDesc.Language = $session.system_language and _CharcDesc.IsDeleted <> 'X' and _CharcDesc.ValidityStartDate <= $session.system_date and _CharcDesc.ValidityEndDate >= $session.system_date

Annotations (13)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName CVCHHLCFCSTIC view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MASTER view
VDM.viewType #CONSUMPTION view
VDM.lifecycle.contract.type #NONE view
ObjectModel.modelCategory #BUSINESS_OBJECT view
EndUserText.label OBSOLETE: Configuration Characteristic view
Search.searchable true view
Metadata.allowExtensions true view

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY CharcInternalID CharcInClass CharcInternalID
KEY ClassInternalID CharcInClass ClassInternalID
KEY CharcPositionNumber CharcInClass CharcPositionNumber
Characteristic I_ClfnCharacteristic Characteristic
CharcDescription _CharcDesc CharcDescription
ClassType I_ClfnClass ClassType
Class I_ClfnClass Class
Product
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'CVCHHLCFCSTIC'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MASTER
@VDM.viewType: #CONSUMPTION
@VDM.lifecycle.contract.type:#NONE
@ObjectModel.modelCategory: #BUSINESS_OBJECT
@EndUserText.label: 'OBSOLETE: Configuration Characteristic'
@Search.searchable: true


@Metadata.allowExtensions: true
define view C_ConfignCharacteristic
  as select distinct from I_ClfnClassCharcBasic as CharcInClass
    inner join   I_ClfnCharacteristic           as Cstic on Cstic.CharcInternalID = CharcInClass.CharcInternalID
                                                         and Cstic.ValidityStartDate <= $session.system_date
                                                         and Cstic.ValidityEndDate   >= $session.system_date
    inner join   I_ClfnClass                    as Class on Class.ClassInternalID = CharcInClass.ClassInternalID
                                                         and Class.ValidityStartDate <= $session.system_date
                                                         and Class.ValidityEndDate   >= $session.system_date
    inner join I_ClfnClassTypeBasic as Clstype on  Clstype.ClassType = Class.ClassType 
                                               and Clstype.ClassTypeIsUsableInVarConfign = 'X' 
    association [0..*] to I_ClfnCharcDesc       as _CharcDesc on  CharcInClass.CharcInternalID = _CharcDesc.CharcInternalID
                                                              and _CharcDesc.Language                = $session.system_language
                                                              and _CharcDesc.IsDeleted     <> 'X'
                                                              and _CharcDesc.ValidityStartDate <= $session.system_date
                                                              and _CharcDesc.ValidityEndDate   >= $session.system_date
    
{
            @ObjectModel.readOnly: true
  key       CharcInClass.CharcInternalID,
  key       CharcInClass.ClassInternalID,     // additional key field to make key unique

            @ObjectModel.readOnly: true
            @Search.defaultSearchElement: true
            @Search.ranking: #HIGH
  key       CharcInClass.CharcPositionNumber, // additional key field to make key unique even with strange data

            Cstic.Characteristic,
            @ObjectModel.readOnly: true
            @Search.defaultSearchElement: true
            _CharcDesc.CharcDescription, // Cardinality is actually 1 due to selection by validity date

            @ObjectModel.readOnly: true
            @Search.defaultSearchElement: false
            Class.ClassType,
            @ObjectModel.readOnly: true
            @Search.defaultSearchElement: false
            Class.Class,
            @ObjectModel.readOnly: true
            @Search.defaultSearchElement: false
            '                                                              ' as Product // We need the length of MATNR so that 

                                                // the value is not truncated on its way from UI to backend. 

                                                // A CAST to data element MATNR might seem okay but it is not  

                                                // because no conversion exit is allowed (ATC check)  

} where CharcInClass.ValidityStartDate <= $session.system_date
    and CharcInClass.ValidityEndDate   >= $session.system_date
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CLFNCHARACTERISTIC",
"I_CLFNCHARCDESC",
"I_CLFNCLASS",
"I_CLFNCLASSCHARCBASIC",
"I_CLFNCLASSTYPEBASIC"
],
"ASSOCIATED":
[
"I_CLFNCHARCDESC"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/