C_DefectMngCharacteristicsSbst

DDL: C_DEFECTMNGCHARACTERISTICSSBST SQL: CDEFECTMNGSBST Type: view CONSUMPTION Package: ODATA_QM_DEFECT

Defect: Characteristics with Insp. Point

C_DefectMngCharacteristicsSbst is a Consumption CDS View that provides data about "Defect: Characteristics with Insp. Point" in SAP S/4HANA. It reads from 2 data sources (I_InspectionSubset, I_InspSubsetCharacteristic) and exposes 41 fields with key fields InspectionLot, InspPlanOperationInternalID, InspectionSubsetInternalID, MaterialSample, InspectionCharacteristic. Part of development package ODATA_QM_DEFECT.

Data Sources (2)

SourceAliasJoin Type
I_InspectionSubset _InspSubset inner
I_InspSubsetCharacteristic _InspSubsetChar from

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName CDEFECTMNGSBST view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #D view
EndUserText.label Defect: Characteristics with Insp. Point view

Fields (41)

KeyFieldSource TableSource FieldDescription
KEY InspectionLot I_InspectionSubset InspectionLot
KEY InspPlanOperationInternalID I_InspectionSubset InspPlanOperationInternalID
KEY InspectionSubsetInternalID I_InspectionSubset InspectionSubsetInternalID
KEY MaterialSample I_InspectionSubset MaterialSample
KEY InspectionCharacteristic I_InspSubsetCharacteristic InspectionCharacteristic
InspectionSubset
InspectionOperation
OperationText
InspSubsetFieldCombination
InspectionSubsetDate _InspectionSubset InspectionSubsetDate
InspectionSubsetLongCharKey _InspectionSubset InspectionSubsetLongCharKey
InspectionSubsetShortCharKey _InspectionSubset InspectionSubsetShortCharKey
InspSubsetLongNumericKey _InspectionSubset InspSubsetLongNumericKey
InspSubsetShortNumericKey _InspectionSubset InspSubsetShortNumericKey
Equipment _InspectionSubset Equipment
FunctionalLocation _InspectionSubset FunctionalLocation
InspectionSpecificationText
InspSpecIsQuantitative
InspectionSpecificationUnit
InspSpecRecordingType
InspSpecUpperLimit
InspSpecHasUpperLimit
InspSpecLowerLimit
InspSpecHasLowerLimit
InspSpecDecimalPlaces
InspCharacteristicSampleSize
InspCharacteristicSampleUnit
InspSpecSampleQuantityFactor
SelectedCodeSetText
InspectionValuationResult
InspectionResultMeanValue
InspectionResultMeanValueText
InspSpecToleranceLimitsText
InspectionResultHasMeanValue
CharacteristicAttributeCode
CharacteristicAttributeCodeGrp
CharacteristicAttributeCodeTxt
InspResultValidValuesNumber
InspRsltNonconformingValsNmbr
_InspectionLot I_InspectionSubset _InspectionLot
_InspectionOperation I_InspectionSubset _InspectionOperation
@AbapCatalog.sqlViewName: 'CDEFECTMNGSBST'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType: {
    dataClass: #MIXED,
    sizeCategory: #XL, //expected number of rows < 10.000.000

    serviceQuality: #D 
}
@EndUserText.label: 'Defect: Characteristics with Insp. Point'
define view C_DefectMngCharacteristicsSbst as select from  I_InspSubsetCharacteristic as _InspSubsetChar
    inner join I_InspectionSubset as _InspSubset
        on _InspSubset.InspectionLot               = _InspSubsetChar.InspectionLot
       and _InspSubset.InspPlanOperationInternalID = _InspSubsetChar.InspPlanOperationInternalID
       and _InspSubset.InspectionSubsetInternalID  = _InspSubsetChar.InspectionSubsetInternalID
           
{
    @Consumption.semanticObject: 'InspectionLot'
    @UI:{
        fieldGroup: [{ position: 10, qualifier: 'CharGroup1' }]
    }
    key _InspSubset.InspectionLot,
    key _InspSubset.InspPlanOperationInternalID,   
    @Consumption.semanticObject: 'InspectionSubset'
    key _InspSubset.InspectionSubsetInternalID,    
    key _InspSubset.MaterialSample,
   
    @UI:{
        fieldGroup: [{ position: 30, qualifier: 'CharGroup1' }],
        textArrangement: #TEXT_FIRST
    }
    @ObjectModel.text.element:  [ 'InspectionSpecificationText' ] 
    key  _InspSubsetChar.InspectionCharacteristic,
    
    @ObjectModel: {
         readOnly: true,
         virtualElement: true,
         virtualElementCalculatedBy: 'ABAP:CL_QM_DEFECT_MANAGE_EXIT'
       }
    @UI:{
            fieldGroup: [{position: 20, qualifier: 'CharGroup1'}]
    }
    @Consumption.semanticObject: 'InspectionSubset'
    cast('' as qpruefpkt) as  InspectionSubset,   
    
    @Consumption.semanticObject: 'InspectionOperation'
    @UI:{
        fieldGroup: [{ position: 40, qualifier: 'CharGroup1' }],
        textArrangement: #TEXT_FIRST
    }
    @ObjectModel.text.element:  [ 'OperationText' ]
    cast( _InspSubset._InspectionOperation.InspectionOperation as vdm_vornr preserving type ) as InspectionOperation,
    @UI.hidden: true
    _InspSubset._InspectionOperation.OperationText,
    
    /* field for calculation of inspection point */
    @UI.hidden: true
    _InspSubsetChar._InspectionLot.InspSubsetFieldCombination,
    @UI.hidden: true
    _InspectionSubset.InspectionSubsetDate,
    @UI.hidden: true
    case _InspectionSubset.InspectionSubsetTime
            when '' then '000000'
            else _InspectionSubset.InspectionSubsetTime
    end as  InspectionSubsetTime,
    @UI.hidden: true
    _InspectionSubset.InspectionSubsetLongCharKey,
    @UI.hidden: true
    _InspectionSubset.InspectionSubsetShortCharKey,
    @UI.hidden: true
    _InspectionSubset.InspSubsetLongNumericKey,
    @UI.hidden: true
    _InspectionSubset.InspSubsetShortNumericKey,
    @UI.hidden: true
    _InspectionSubset.Equipment,
    @UI.hidden: true
    _InspectionSubset.FunctionalLocation,
    
    _InspSubsetChar._InspectionCharacteristic.InspectionSpecificationText,
    _InspSubsetChar._InspectionCharacteristic.InspSpecIsQuantitative,
    _InspSubsetChar._InspectionCharacteristic.InspectionSpecificationUnit,
    _InspSubsetChar._InspectionCharacteristic.InspSpecRecordingType,
    _InspSubsetChar._InspectionCharacteristic.InspSpecUpperLimit,
    _InspSubsetChar._InspectionCharacteristic.InspSpecHasUpperLimit,
    _InspSubsetChar._InspectionCharacteristic.InspSpecLowerLimit,
    _InspSubsetChar._InspectionCharacteristic.InspSpecHasLowerLimit,
    _InspSubsetChar._InspectionCharacteristic.InspSpecDecimalPlaces,
    _InspSubsetChar._InspectionCharacteristic.InspCharacteristicSampleSize,    //Inspect value

    _InspSubsetChar._InspectionCharacteristic.InspCharacteristicSampleUnit,
    _InspSubsetChar._InspectionCharacteristic.InspSpecSampleQuantityFactor,    //Sample Quantity Factor 

    _InspSubsetChar._InspectionCharacteristic._CharcAttribSelectedCodeSet.SelectedCodeSetText,   
    
    @UI:{
          fieldGroup: [ { position: 10, qualifier: 'CharGroup3', criticality: 'InspValnResultCriticality' , criticalityRepresentation: #WITHOUT_ICON}
          ]
       }
    _InspSubsetChar._InspSubsetResult.InspectionValuationResult,
    
    @UI.hidden: true
    case _InspSubsetChar._InspSubsetResult.InspectionValuationResult
        when 'A' then 3
        when 'R' then 1
        else 0
    end as InspValnResultCriticality,
    
    @UI.hidden: true
    _InspSubsetChar._InspSubsetResult.InspectionResultMeanValue,
    
    @UI:{
        fieldGroup: [{ position: 10, qualifier: 'CharGroup2' }]
    }
    @ObjectModel: {
        readOnly: true,
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_QM_DEFECT_MANAGE_EXIT'
    }
    cast( '' as vdm_qinspsummerizedresults ) as InspectionResultMeanValueText,
    
    @UI:{
        fieldGroup: [{ position: 20, qualifier: 'CharGroup2' }]
    }
    @ObjectModel: {
        readOnly: true,
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_QM_DEFECT_MANAGE_EXIT'
    }  
    cast( '' as vdm_qinspspecification ) as InspSpecToleranceLimitsText,
    
    @UI.hidden: true
    _InspSubsetChar._InspSubsetResult.InspectionResultHasMeanValue, 
   
    @ObjectModel.text.element: ['CharacteristicAttributeCodeTxt']
    @UI:{
          fieldGroup: [{ position: 11, qualifier: 'CharGroup2' }],
          textArrangement: #TEXT_LAST
    }
    cast(_InspSubsetChar._InspSubsetResult.CharacteristicAttributeCode as vdm_qinspsummerizedresults ) as CharacteristicAttributeCode,      
    _InspSubsetChar._InspSubsetResult.CharacteristicAttributeCodeGrp,
    _InspSubsetChar._InspSubsetResult._CharcAttributeCode.CharacteristicAttributeCodeTxt,
   
   
    @UI:{
        fieldGroup: [{ position: 50, qualifier: 'CharGroup1' }]
    }
    cast(
      case 
        when _InspSubsetChar._InspSubsetResult.InspectionResultStatus is null
            then _InspSubsetChar._InspCharacteristicStatus.InspectionResultStatusText
        else _InspSubsetChar._InspSubsetResult._InspectionResultStatus.InspectionResultStatusText
    end as vdm_qbeastatus_text ) as InspectionResultStatusText,
    
    @UI:{
        fieldGroup: [{ position: 60, qualifier: 'CharGroup1' }]
    }
    _InspSubsetChar._InspSubsetResult.InspResultValidValuesNumber,
    
    @UI:{
        fieldGroup: [{ position: 65, qualifier: 'CharGroup1' }]
    }
    _InspSubsetChar._InspSubsetResult.InspRsltNonconformingValsNmbr,
  
    @Consumption.hidden: true
    _InspSubset._InspectionLot,
    @Consumption.hidden: true
    _InspSubset._InspectionOperation
}