@AbapCatalog.sqlViewName: 'CILUNPLNDCHARC'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Unplanned Characteristic'
@Search.searchable: true
@ObjectModel: {
usageType: {
dataClass: #MASTER,
sizeCategory: #M, //expected number of rows < 100.000
serviceQuality: #C // includes A,B as well
},
createEnabled: true,
updateEnabled: true
}
@Metadata.ignorePropagatedAnnotations: true
@UI.headerInfo: {
typeName: 'Add Characteristic',
typeNamePlural: 'Add Characteristics',
title: { value: 'Title' }
}
define view C_InspLotOpUnplndCharcRsltRecg
as select from I_InspSpecificationVersion
association [0..1] to I_AssgmtInspMethInspSpec as InspectionMethod on I_InspSpecificationVersion.InspectionSpecificationPlant = InspectionMethod.InspectionSpecificationPlant
and I_InspSpecificationVersion.InspectionSpecification = InspectionMethod.InspectionSpecification
and I_InspSpecificationVersion.InspectionSpecificationVersion = InspectionMethod.InspectionSpecificationVersion
and InspectionMethod.InspectionMethod = ''
and InspectionMethod.InspectionMethodVersion = ''
and InspectionMethod.InspectionMethodPlant = ''
association [1..1] to C_InspLotUnplndInspSpecVH as _InspSpecVersReldVH on $projection.InspectionSpecification = _InspSpecVersReldVH.InspectionSpecification
and $projection.InspectionSpecificationVersion = _InspSpecVersReldVH.InspectionSpecificationVersion
and $projection.InspectionSpecificationPlant = _InspSpecVersReldVH.InspectionSpecificationPlant
{
@UI.facet: [
{
id : 'GeneralInformation',
type: #FIELDGROUP_REFERENCE,
label: 'General Information',
position: 10,
targetQualifier: 'HeaderInfo'
},
{
purpose: #HEADER,
position: 10,
importance: #HIGH,
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'HeaderInfo'
}]
@Consumption.valueHelpDefinition: [ { entity: { name: 'C_InspLotUnplndInspSpecVH', element: 'InspectionSpecification'},
additionalBinding: [{ localElement: 'InspectionSpecificationPlant', element: 'InspectionSpecificationPlant'},
{ localElement: 'InspectionSpecificationVersion', element: 'InspectionSpecificationVersion' }]}]
@Search.defaultSearchElement: true
@UI.fieldGroup: [{ qualifier: 'HeaderInfo', groupLabel: 'Inspection Specification', position: 10, importance: #MEDIUM, label: 'Inspection Specification' }]
key I_InspSpecificationVersion.InspectionSpecification,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant'}}]
@UI.lineItem: [{position:10 }]
@UI.fieldGroup: [{ qualifier: 'HeaderInfo', groupLabel: 'Plant', position: 20, importance: #MEDIUM, label: 'Plant' }]
key I_InspSpecificationVersion.InspectionSpecificationPlant,
@UI.fieldGroup: [{ qualifier: 'HeaderInfo', groupLabel: 'Version', position: 30, importance: #MEDIUM, label: 'Version' }]
key I_InspSpecificationVersion.InspectionSpecificationVersion,
InspSpecTransferType,
InspSpecControlIndicators,
@UI.fieldGroup: [{
qualifier: 'IP',position: 10
}]
InspSpecIsQuantitative,
@UI.fieldGroup: [{
qualifier: 'IP',position: 20
}]
InspSpecCharacteristicType,
@Semantics.booleanIndicator: true
InspSpecIsMeasuredValueRqd,
@Semantics.booleanIndicator: true
InspSpecIsSelectedSetRequired,
@Semantics.booleanIndicator: true
InspSpecIsUpperLimitRequired,
@Semantics.booleanIndicator: true
InspSpecIsLowerLimitRequired,
@Semantics.booleanIndicator: true
InspSpecIsTargetValueInLimit,
InspSpecRecordingType,
InspSpecCharcCategory,
@Semantics.booleanIndicator: true
InspSpecIsSampleQtyAdditive,
@Semantics.booleanIndicator: true
InspSpecIsSamplingProcedRqd,
@Semantics.booleanIndicator: true
InspSpecHasFixedCtrlIndicators,
@Semantics.booleanIndicator: true
InspSpecIsDefectsRecgAutomatic,
@Semantics.booleanIndicator: true
InspSpecIsControlChartUsed,
InspSpecInformationField1,
InspSpecInformationField2,
InspSpecInformationField3,
InspToleranceSpecification,
QltyMstrDataAuthorizationGroup,
InspSpecDecimalPlaces,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_UnitOfMeasure',
element: 'UnitOfMeasure' }
}]
@Semantics.unitOfMeasure: true
InspectionSpecificationUnit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
@EndUserText.label: 'Target Value'
fltp_to_dec(InspSpecTargetValue as abap.dec( 10, 2 )) as InspSpecTargetValue,
@Semantics.booleanIndicator: true
InspSpecHasTargetValue,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
@EndUserText.label: 'Upper Limit'
fltp_to_dec(InspSpecUpperLimit as abap.dec( 10, 2 )) as InspSpecUpperLimit,
@Semantics.booleanIndicator: true
InspSpecHasUpperLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
@EndUserText.label: 'Lower Limit'
fltp_to_dec(InspSpecLowerLimit as abap.dec( 10, 2 )) as InspSpecLowerLimit,
@Semantics.booleanIndicator: true
InspSpecHasLowerLimit,
@EndUserText.label: 'Defect Code Group at Lower Tolerance '
InspSpecDefectCodeGrpRjcnLower,
@EndUserText.label: 'Defect Code Type at Lower Tolerance '
InspSpecDefectCodeRjcnLower,
@EndUserText.label: 'Defect Code Group at Upper Tolerance '
InspSpecDefectCodeGrpRjcnUpper,
@EndUserText.label: 'Defect Code Type at Upper Tolerance '
InspSpecDefectCodeRjcnUpper,
CharcInternalID,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DefectCodeGroupStdVH',
element: 'DefectCodeGroup' }
}]
@EndUserText.label: 'Defect Code Group for Rejection'
InspSpecDefectCodeGrpRejection,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DefectCodeStdVH',
element: 'DefectCode' },
additionalBinding: [{ localElement: 'InspSpecDefectCodeGrpRejection',
element: 'DefectCodeGroup' }]
}]
@EndUserText.label: 'Defect Code for Rejection'
InspSpecDefectCodeRejection,
_Text[1:Language = $session.system_language].InspectionSpecificationText,
InspectionSpecificationStatus,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_SamplingProcedureStdVH',
element: 'SamplingProcedure' }
}]
cast('' as qstichverf ) as SamplingProcedure,
@Semantics.quantity.unitOfMeasure: 'InspCharacteristicSampleUnit'
cast(0 as qprobefak) as BOOCharcSampleQuantity,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_UnitOfMeasure',
element: 'UnitOfMeasure' }
}]
@EndUserText.label: 'Sample Unit of Measure'
cast('' as qprobme ) as InspCharacteristicSampleUnit,
//SPC Criterion
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_QltyCtrlChartAggrgnCriterion',
element: 'QltyCtrlChartAggrgnCriterion' }
}]
cast ('' as qspckrit) as QltyCtrlChartAggrgnCriterion,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_InspMethForInspSpecVH', element: 'InspectionMethod'},
additionalBinding: [{ localElement: 'InspectionMethodPlant', element: 'InspectionMethodPlant'},
{ localElement: 'InspectionMethodVersion', element: 'InspectionMethodVersion' }]}]
cast('' as qpmethode ) as InspectionMethod,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_InspMethForInspSpecVH', element: 'InspectionMethodPlant'},
additionalBinding: [{ localElement: 'InspectionMethod', element: 'InspectionMethod'},
{ localElement: 'InspectionMethodVersion', element: 'InspectionMethodVersion' }]}]
cast('' as q_meth_plant ) as InspectionMethodPlant,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_InspMethForInspSpecVH', element: 'InspectionMethodVersion'},
additionalBinding: [{ localElement: 'InspectionMethod', element: 'InspectionMethod'},
{ localElement: 'InspectionMethodPlant', element: 'InspectionMethodPlant' }]}]
cast('' as qversnrpm ) as InspectionMethodVersion,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CharcAttribSeldCodeSetStdVH',
element: 'SelectedCodeSet' },
additionalBinding: [{ localElement: 'SelectedCodeSetPlant',
element: 'SelectedCodeSetPlant' }]
}]
@EndUserText.label: 'Selected Set'
InspectionMethod.SelectedCodeSet,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CharcAttribSeldCodeSetStdVH',
element: 'SelectedCodeSetPlant' }
}]
InspectionMethod.SelectedCodeSetPlant,
/* Associations */
_InspSpecVersReldVH,
_InspDefectCodeGrpRejection,
_InspDefectCodeGrpRjcnLower,
_InspDefectCodeGrpRjcnUpper,
_InspDefectCodeRejection,
_InspDefectCodeRjcnLower,
_InspDefectCodeRjcnUpper,
_InspectionMethod,
_InspectionSpecification,
_InspSpecCharcCategory,
_InspSpecCharcCategoryText,
_InspSpecCharcType,
_InspSpecCharcTypeText,
_InspSpecificationPlant,
_InspSpecRecordingType,
_InspSpecRecordingTypeText,
_InspSpecTransferType,
_InspSpecTransferTypeText,
_Text,
_UnitOfMeasure
}
where
I_InspSpecificationVersion.InspectionSpecificationStatus = '2'
and InspSpecTransferType <> ' ' and InspSpecTransferType <> ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ASSGMTINSPMETHINSPSPEC",
"I_INSPSPECIFICATIONVERSION",
"I_INSPSPECIFICATIONVERSIONTEXT"
],
"ASSOCIATED":
[
"C_INSPLOTUNPLNDINSPSPECVH",
"I_ASSGMTINSPMETHINSPSPEC",
"I_DEFECTCODE",
"I_DEFECTCODEGROUP",
"I_INSPECTIONSPECIFICATION",
"I_INSPSPECCHARCCATEGORY",
"I_INSPSPECCHARCCATEGORYTEXT",
"I_INSPSPECCHARCTYPE",
"I_INSPSPECCHARCTYPETEXT",
"I_INSPSPECIFICATIONVERSIONTEXT",
"I_INSPSPECRECORDINGTYPE",
"I_INSPSPECRECORDINGTYPETEXT",
"I_INSPSPECTRANSFERTYPE",
"I_INSPSPECTRANSFERTYPETEXT",
"I_PLANT",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_INSPSPECIFICATIONVERSION"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/