C_DefectMngCharcs

DDL: C_DEFECTMNGCHARCS Type: view_entity CONSUMPTION Package: ODATA_QM_DEFECT

Defect: Characteristics Without Insp. Point

C_DefectMngCharcs is a Consumption CDS View that provides data about "Defect: Characteristics Without Insp. Point" in SAP S/4HANA. It reads from 1 data source (I_InspectionCharacteristic) and exposes 35 fields with key fields InspectionLot, InspPlanOperationInternalID, InspectionCharacteristic. It has 1 association to related views. Part of development package ODATA_QM_DEFECT.

Data Sources (1)

SourceAliasJoin Type
I_InspectionCharacteristic I_InspectionCharacteristic from

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_InspectionResultStatus _InspectionResultStatus $projection.InspectionCharacteristicStatus = _InspectionResultStatus.InspectionResultStatus

Annotations (6)

NameValueLevelField
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #D view
EndUserText.label Defect: Characteristics Without Insp. Point view

Fields (35)

KeyFieldSource TableSource FieldDescription
KEY InspectionLot InspectionLot
KEY InspPlanOperationInternalID InspPlanOperationInternalID
KEY InspectionCharacteristic InspectionCharacteristic
InspectionOperation
OperationText
InspectionSpecificationText InspectionSpecificationText
InspSpecIsQuantitative InspSpecIsQuantitative
InspectionSpecificationUnit InspectionSpecificationUnit
InspSpecRecordingType InspSpecRecordingType
InspSpecUpperLimit InspSpecUpperLimit
InspSpecHasUpperLimit InspSpecHasUpperLimit
InspSpecLowerLimit InspSpecLowerLimit
InspSpecHasLowerLimit InspSpecHasLowerLimit
InspSpecDecimalPlaces InspSpecDecimalPlaces
InspCharacteristicSampleSize InspCharacteristicSampleSize
InspSpecSampleQuantityFactor InspSpecSampleQuantityFactor
InspCharacteristicSampleUnit InspCharacteristicSampleUnit
InspectionResultMeanValue
SelectedCodeSetText
InspectionValuationResult
InspectionValuationResultText
InspResultValidValuesNumber
InspRsltNonconformingValsNmbr
InspectionResultMeanValueText
InspSpecToleranceLimitsText
InspectionResultHasMeanValue
CharacteristicAttributeCode
CharacteristicAttributeCodeGrp
CharacteristicAttributeCodeTxt
InspectionMethodPlant InspectionMethodPlant
InspectionMethodVersion InspectionMethodVersion
InspectionCharacteristicStatus InspectionCharacteristicStatus
_InspectionLot _InspectionLot
_InspectionOperation _InspectionOperation
_InspectionValuationResult _InspectionResult _InspectionValuationResult
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType: {
    dataClass: #MIXED,
    sizeCategory: #L, 
    serviceQuality: #D 
}
@EndUserText.label: 'Defect: Characteristics Without Insp. Point'

@UI.presentationVariant: [ {requestAtLeast: ['InspSpecIsQuantitative'] }]

define view entity C_DefectMngCharcs as select from I_InspectionCharacteristic
    /*association [1..*] to C_DefectMngCharcRslts  as _DefectMngCharcRslts
        on $projection.InspectionLot                = _DefectMngCharcRslts.InspectionLot
        and $projection.InspPlanOperationInternalID = _DefectMngCharcRslts.InspPlanOperationInternalID
        and $projection.InspectionCharacteristic    = _DefectMngCharcRslts.InspectionCharacteristic
    */
    association [0..1] to I_InspectionResultStatus     as _InspectionResultStatus     on  $projection.InspectionCharacteristicStatus = _InspectionResultStatus.InspectionResultStatus
{
    
    @Consumption.semanticObject: 'InspectionLot'
    @UI:{
        fieldGroup: [{ position: 10, qualifier: 'CharGroup1' }]
    }
    key InspectionLot,
    key InspPlanOperationInternalID,
    @UI:{
        fieldGroup: [{ position: 20, qualifier: 'CharGroup1' }],
        textArrangement: #TEXT_FIRST
    }
    @ObjectModel.text.element:  [ 'InspectionSpecificationText' ] 
    key InspectionCharacteristic,
    
    @Consumption.semanticObject: 'InspectionOperation'
    @UI:{
        fieldGroup: [{ position: 30, qualifier: 'CharGroup1' }],
        textArrangement: #TEXT_FIRST
    }
    @ObjectModel.text.element:  [ 'OperationText' ]
    cast( I_InspectionCharacteristic._InspectionOperation.InspectionOperation as vdm_vornr preserving type ) as InspectionOperation,
    @UI.hidden: true
    I_InspectionCharacteristic._InspectionOperation.OperationText,

    //@UI.hidden: true

    //_InspChar._InspectionOperation.InspectionOperation,

    //_InspChar._InspectionOperation.OperationText,

    //@UI.hidden: true    

    //InspectionMethod,

    //@UI.hidden: true

    //_InspChar._InspectionMethodVersion._InspectionMethodText[1:Language=$session.system_language].InspectionMethodText,

    //@UI.hidden: true

    //_InspChar._InspSpecImportanceCode.InspSpecImportanceCodeText,   //description of weighting

    //@UI.hidden: true

    //InspectionSpecification,        //Master Inspection Characteristics

    InspectionSpecificationText,    //description of characteristic

    //'X' is quantitative,null is qualitative

    @UI.hidden: true
    InspSpecIsQuantitative, 
    @UI.hidden: true
    //@Semantics.unitOfMeasure: true

    //@ObjectModel.text.element: ['_InspectionSpecificationUnit._Text[1:Language=$session.system_language].UnitOfMeasureTechnicalName']

//    _InspectionSpecificationUnit._Text[1:Language=$session.system_language].UnitOfMeasureTechnicalName as InspectionSpecificationUnit,  

    InspectionSpecificationUnit,
    //@UI.hidden: true

    //InspectionSpecificationPlant,

    //@UI.hidden: true

    //InspectionSpecificationVersion,

    // RecordingType: null is Summary,'+' is Single

    
    //field for exit calculations

    @UI.hidden: true
    InspSpecRecordingType,
    @UI.hidden: true
    InspSpecUpperLimit,
    @UI.hidden: true
    InspSpecHasUpperLimit,
    @UI.hidden: true
    InspSpecLowerLimit,
    @UI.hidden: true
    InspSpecHasLowerLimit,
    @UI.hidden: true
    InspSpecDecimalPlaces,
    @UI.hidden: true
    InspCharacteristicSampleSize,   //Inspect value 

    @UI.hidden: true
    InspSpecSampleQuantityFactor,
    @UI.hidden: true
    InspCharacteristicSampleUnit,   //Sample Quantity Factor

    @UI.hidden: true
    I_InspectionCharacteristic._InspectionResult.InspectionResultMeanValue,
    //@UI.hidden: true

    //InspSpecIsMeasuredValueRqd,   

    //@UI.hidden: true

    I_InspectionCharacteristic._CharcAttribSelectedCodeSet.SelectedCodeSetText,
    //_CharcAttribSelectedCodeSet.SelectedCodeSet,  

    @UI.lineItem: [ {position: 30, importance: #HIGH}] 
    @UI:{
        fieldGroup: [{ position: 10, qualifier: 'CharGroup3', criticality: 'InspValnResultCriticality' , criticalityRepresentation: #WITHOUT_ICON}],
        textArrangement: #TEXT_FIRST
    }
    @ObjectModel.text.element: ['InspectionValuationResultText']
    I_InspectionCharacteristic._InspectionResult.InspectionValuationResult,
    @UI.hidden: true
    _InspectionResult._InspectionValuationResult._Text[1:Language=$session.system_language].InspectionValuationResultText,
    
    @UI.hidden: true
    case I_InspectionCharacteristic._InspectionResult.InspectionValuationResult
        when 'A' then 3
        when 'R' then 1
        else 0
    end as InspValnResultCriticality,
    
    
    @UI:{
        fieldGroup: [{ position: 50, qualifier: 'CharGroup1' }]
    }
    I_InspectionCharacteristic._InspectionResult.InspResultValidValuesNumber,
    @UI:{
        fieldGroup: [{ position: 60, qualifier: 'CharGroup1' }]
    }
    I_InspectionCharacteristic._InspectionResult.InspRsltNonconformingValsNmbr,
    /*
    concat (concat (cast (_InspectionResult.InspResultValidValuesNumber as abap.char( 20 )),' / '),concat(' ', cast (_InspectionResult.InspRsltNonconformingValsNmbr as abap.char( 20 ))))        as  InspRsltInspNonConformanceCt,
    */   
    @UI:{
          fieldGroup: [{ position: 10, qualifier: 'CharGroup2' }]
    }
    @ObjectModel: {
        readOnly: true,
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_QM_DEFECT_MANAGE_EXIT'
    }
    cast( '                                        ' as vdm_qinspsummerizedresults preserving type ) as InspectionResultMeanValueText, 
    @UI:{
          fieldGroup: [{ position: 20, qualifier: 'CharGroup2' }], 
          multiLineText: true
    }
    @ObjectModel: {
        readOnly: true,
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_QM_DEFECT_MANAGE_EXIT'
    }  
    cast( '                                                                                ' as vdm_qinspspecification preserving type ) as InspSpecToleranceLimitsText,
    
    //field for exit calculations


    @UI.hidden: true
    I_InspectionCharacteristic._InspectionResult.InspectionResultHasMeanValue,
    @ObjectModel.text.element: ['CharacteristicAttributeCodeTxt']
    @UI:{
          fieldGroup: [{ position: 11, qualifier: 'CharGroup2' }],
          textArrangement: #TEXT_LAST
    }
    cast( I_InspectionCharacteristic._InspectionResult.CharacteristicAttributeCode as vdm_qinspsummerizedresults) as CharacteristicAttributeCode,
    @UI.hidden: true
    I_InspectionCharacteristic._InspectionResult.CharacteristicAttributeCodeGrp,
    @UI.hidden: true   
    I_InspectionCharacteristic._InspectionResult._CharcAttributeCode.CharacteristicAttributeCodeTxt,
    @UI.hidden: true
    InspectionMethodPlant,
    @UI.hidden: true
    InspectionMethodVersion,
    @UI:{
        fieldGroup: [{ position: 40, qualifier: 'CharGroup1' }]
    }
    cast(
      case 
          when I_InspectionCharacteristic._InspectionResult.InspectionResultStatus is null
              then I_InspectionCharacteristic._InspCharacteristicStatus.InspectionResultStatusText
      else I_InspectionCharacteristic._InspectionResult._InspectionResultStatus.InspectionResultStatusText
    end as vdm_qbeastatus_text preserving type ) as InspectionResultStatusText,   
      
    @UI.hidden: true
    InspectionCharacteristicStatus,
    
    //Associations

    @Consumption.filter.hidden: true
    _InspectionLot,
    @Consumption.filter.hidden: true
    _InspectionOperation,
    @Consumption.filter.hidden: true
    _InspectionResult._InspectionValuationResult
}