@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Inspection Characteristics Assignment'
@ObjectModel.usageType: { serviceQuality: #C, sizeCategory: #M, dataClass: #MASTER }
@VDM: { viewType: #TRANSACTIONAL, lifecycle.contract.type: #SAP_INTERNAL_API }
define view entity R_ProdnRtgInspCharcsAssgmtTP
as select from I_ProdnRtgInspCharcsAssgmt
--For DCL
association [1..*] to I_ProductionRoutingHeaderTP as _Header on $projection.ProductionRoutingGroup = _Header.ProductionRoutingGroup
and $projection.ProductionRouting = _Header.ProductionRouting
and $projection.ValidityEndDate >= _Header.ValidityStartDate
and $projection.ValidityStartDate <= _Header.ValidityEndDate
-- for Lock/Authorization
association to I_ProdnRtgNonHistoricHdrTP as _ProdnRtgTP on $projection.ProductionRoutingGroup = _ProdnRtgTP.ProductionRoutingGroup
and $projection.ProductionRouting = _ProdnRtgTP.ProductionRouting
-- to Parent
association to parent I_ProdnRtgNonHistoricSqncTP as _NonSqncTP on $projection.ProductionRoutingGroup = _NonSqncTP.ProductionRoutingGroup
and $projection.ProductionRouting = _NonSqncTP.ProductionRouting
and $projection.ProductionRoutingSequence = _NonSqncTP.ProductionRoutingSequence
{
key BillOfOperationsGroup as ProductionRoutingGroup,
key BillOfOperationsVariant as ProductionRouting,
key BillOfOperationsSequence as ProductionRoutingSequence,
key BOOOperationInternalID as ProductionRoutingOpIntID,
key BOOCharacteristic,
key BOOCharacteristicVersion,
// --------------------------------------------------------------------------------------------------------
// Validity
// --------------------------------------------------------------------------------------------------------
@Semantics.businessDate.from: true
ValidityStartDate,
@Semantics.businessDate.to: true
ValidityEndDate,
// --------------------------------------------------------------------------------------------------------
// General Data
// --------------------------------------------------------------------------------------------------------
ChangeNumber,
IsDeleted,
// Reference to inspection method (table QMTB)
InspectionMethodPlant,
InspectionMethod,
InspectionMethodVersion,
InspSpecImportanceCode,
InspectorQualification,
// Assigned Test Equipment (Item counter for production resources/tools)
BOOOperationPRTInternalID,
// --------------------------------------------------------------------------------------------------------
// Reference to Inspection Specification Version (Inspection Characteristic Master, table QPMK)
// --------------------------------------------------------------------------------------------------------
InspectionSpecificationPlant,
InspectionSpecification,
InspectionSpecificationVersion,
@Semantics.booleanIndicator: true
BOOCharcHasInspSpecReference,
// --------------------------------------------------------------------------------------------------------
// Control indicators
// --------------------------------------------------------------------------------------------------------
// STEUERKZ is a string consisting of several flags (characters of length 1) each having an own
// semantic (Control indicator, see DDIC structure QMKST) which have to are mapped to one single field each
InspSpecControlIndicators, // Publish structure as a whole
@Semantics.booleanIndicator: true
InspSpecIsQuantitative, // Quantitative
@Semantics.booleanIndicator: true
InspSpecIsQualitative, // Qualitative
// InspSpecCharacteristicType,
@Semantics.booleanIndicator: true
InspSpecIsMeasuredValueRqd, // Measured Value Must Be Recorded
@Semantics.booleanIndicator: true
InspSpecIsSelectedSetRequired, // Selected set is required
@Semantics.booleanIndicator: true
InspSpecIsUpperLimitRequired, // Upper Specification Limit Required
@Semantics.booleanIndicator: true
InspSpecIsLowerLimitRequired, // Lower Specification Limit Required
@Semantics.booleanIndicator: true
InspSpecIsTargetValueInLimit, // Check if target value is between lower and upper limit
InspectionScope, // Inspection Scope
@Semantics.booleanIndicator: true
InspSpecIsLongTermInspection, // Long-Term Inspection
InspSpecRecordingType, // RecordingType: Values from domain QESTKUZ
InspResultIsDocumentationRqd, // Documentation Required for Inspection Result: Values from domain QDOKUKZ
InspSpecCharcCategory, // Characteristic Category
@Semantics.booleanIndicator: true
InspSpecIsSampleQtyAdditive, // Sample Quantity Is Additive
@Semantics.booleanIndicator: true
InspSpecIsDestructive, // Destructive Inspection
InspSpecResultCalculation, // Result Calculation for Characteristics
@Semantics.booleanIndicator: true
InspSpecIsSamplingProcedRqd, // Sampling Procedure Is Required
@Semantics.booleanIndicator: true
InspSpecIsScrapRelevant, // Characteristic Relevant for Quality Score and Scrap Share
@Semantics.booleanIndicator: true
InspSpecHasFixedCtrlIndicators, // Control Indicator fixed
@Semantics.booleanIndicator: true
InspSpecIsDefectRecordingRqd, // Defects Recording required
@Semantics.booleanIndicator: true
InspSpecIsTestEquipmentRqd, // Assignment of Test Equipment Required
@Semantics.booleanIndicator: true
InspSpecIsDefectsRecgAutomatic, // Defects Recording Automatically Called Up
@Semantics.booleanIndicator: true
InspSpecIsChgDocRequired, // Create Change Documents During Results Recording
@Semantics.booleanIndicator: true
InspSpecIsControlChartUsed, // SPC Characteristic; Control Chart is Used
InspSpecPrintControl, // Print Control
// --------------------------------------------------------------------------------------------------------
// Quantitative Data/ Tolerances
// --------------------------------------------------------------------------------------------------------
InspToleranceSpecification,
InspSpecDecimalPlaces,
InspectionSpecificationUnit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecTargetValue,
@Semantics.booleanIndicator: true
InspSpecHasTargetValue,
// Tolerance
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecUpperLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecLowerLimit,
@Semantics.booleanIndicator: true
InspSpecHasUpperLimit,
@Semantics.booleanIndicator: true
InspSpecHasLowerLimit,
// Plausibility
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecUpperPlausibilityLimit,
@Semantics.booleanIndicator: true
InspSpecHasUprPlausibilityLmt,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecLowerPlausibilityLimit,
@Semantics.booleanIndicator: true
InspSpecHasLowrPlausibilityLmt,
// Additional Pairs of Limits
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecFirstUpperSpecLimit,
@Semantics.booleanIndicator: true
InspSpecHasFirstUpperSpecLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecFirstLowerSpecLimit,
@Semantics.booleanIndicator: true
InspSpecHasFirstLowerSpecLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecSecondUpperSpecLimit,
@Semantics.booleanIndicator: true
InspSpecHasSecondUprSpecLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecSecondLowerSpecLimit,
@Semantics.booleanIndicator: true
InspSpecHasSecondLowrSpecLimit,
// Tolerance Change
// Validity
InspSpecToleranceChgValidFrom,
InspSpecToleranceChgValidTo,
// Spec. Limits
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecUpperSpecLimitChange,
@Semantics.booleanIndicator: true
InspSpecHasUprSpecLimitChange,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecLowerSpecLimitChange,
@Semantics.booleanIndicator: true
InspSpecHasLowrSpecLimitChange,
// Classed Recording
InspSpecNumberOfClasses,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecClassWidthQty,
@Semantics.booleanIndicator: true
InspSpecHasClassWidth,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
InspSpecClassMidpointQty,
@Semantics.booleanIndicator: true
InspSpecHasClassMidpoint,
@Semantics.booleanIndicator: true
InspSpecHasFormula,
InspSpecFormula1, // formula (if control indicator calculated characteristic is set)
InspSpecFormula2, // formula (if control indicator calculated characteristic is set)
// --------------------------------------------------------------------------------------------------------
// Cataloges
// --------------------------------------------------------------------------------------------------------
InspSpecDefectCodeGrpRejection,
InspSpecDefectCodeRejection,
InspSpecDefectCodeGrpRjcnUpper,
InspSpecDefectCodeRjcnUpper,
InspSpecDefectCodeGrpRjcnLower,
InspSpecDefectCodeRjcnLower,
SelectedCodeSet,
SelectedCodeSetPlant,
InspSpecAdditionalCatalog2,
InspSpecAdditionalSelectedSet2,
InspSpecAdditionalCodeGroup2,
InspSpecAddlSeldCodeSetPlant2,
InspSpecAdditionalCatalog3,
InspSpecAdditionalSelectedSet3,
InspSpecAdditionalCodeGroup3,
InspSpecAddlSeldCodeSetPlant3,
InspSpecAdditionalCatalog4,
InspSpecAdditionalSelectedSet4,
InspSpecAdditionalCodeGroup4,
InspSpecAddlSeldCodeSetPlant4,
InspSpecAdditionalCatalog5,
InspSpecAdditionalSelectedSet5,
InspSpecAdditionalCodeGroup5,
InspSpecAddlSeldCodeSetPlant5,
// --------------------------------------------------------------------------------------------------------
// Sample Data
// --------------------------------------------------------------------------------------------------------
SamplingProcedure,
InspCharacteristicSampleUnit,
@Semantics.quantity.unitOfMeasure: 'InspCharacteristicSampleUnit'
BOOCharcSampleQuantity,
// --------------------------------------------------------------------------------------------------------
// Additional Data
// --------------------------------------------------------------------------------------------------------
InspSpecInformationField1,
InspSpecInformationField2,
InspSpecInformationField3,
// --------------------------------------------------------------------------------------------------------
// Texts
// --------------------------------------------------------------------------------------------------------
InspectionSpecificationText,
// --------------------------------------------------------------------------------------------------------
// Administrative Data
// --------------------------------------------------------------------------------------------------------
CreatedByUser,
CreationDate,
LastChangedByUser,
LastChangeDate,
@Semantics.booleanIndicator: true
MatlIsConsideredForDynModif,
@Semantics.booleanIndicator: true
SuplrIsConsideredForDynModif,
@Semantics.booleanIndicator: true
MfrIsConsideredForDynModif,
@Semantics.booleanIndicator: true
CustIsConsideredForDynModif,
InspLotDynamicRule,
InspCharcDynModifRef,
QltyCtrlChartAggrgnCriterion,
InspSpecInputProcedure,
BOOCharcGroup,
BOOCharcSourceCharc,
BOOCharcGroupDivision,
BillOfOperationsVersion,
_NonSqncTP.ChangedDateTime,
/* Associations */
_NonSqncTP,
_ProdnRtgTP,
@Consumption.hidden: true
_Header
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODNRTGINSPCHARCSASSGMT",
"I_PRODNRTGNONHISTORICSQNCTP"
],
"ASSOCIATED":
[
"I_PRODNRTGNONHISTORICHDRTP",
"I_PRODNRTGNONHISTORICSQNCTP",
"I_PRODUCTIONROUTINGHEADERTP"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/