I_InspCharacteristicAggregate

DDL: I_INSPCHARACTERISTICAGGREGATE SQL: IINSPCHARCAGGR Type: view COMPOSITE Package: VDM_QM_INSPECTION

Aggregation on inspection characteristic level

I_InspCharacteristicAggregate is a Composite CDS View that provides data about "Aggregation on inspection characteristic level" in SAP S/4HANA. It reads from 12 data sources and exposes 12 fields with key fields InspectionLot, InspPlanOperationInternalID, InspectionCharacteristic, InspPlanOperationInternalID, InspectionCharacteristic. Part of development package VDM_QM_INSPECTION.

Data Sources (12)

SourceAliasJoin Type
I_InspectionCharacteristic I_InspectionCharacteristic from
I_InspectionCharacteristic I_InspectionCharacteristic union_all
I_InspectionCharacteristic I_InspectionCharacteristic union_all
I_InspectionLot I_InspectionLot inner
I_InspectionLot I_InspectionLot inner
I_InspectionLot I_InspectionLot inner
I_InspectionOperation I_InspectionOperation inner
I_InspectionOperation I_InspectionOperation inner
I_InspectionOperation I_InspectionOperation inner
I_InspectionResult I_InspectionResult left_outer
I_InspSubsetCharacteristic I_InspSubsetCharacteristic left_outer
I_InspSubsetResult I_InspSubsetResult left_outer

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IINSPCHARCAGGR view
AbapCatalog.preserveKey true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Aggregation on inspection characteristic level view
VDM.viewType #COMPOSITE view

Fields (12)

KeyFieldSource TableSource FieldDescription
KEY InspectionLot I_InspectionCharacteristic InspectionLot
KEY InspPlanOperationInternalID I_InspectionCharacteristic InspPlanOperationInternalID
KEY InspectionCharacteristic I_InspectionCharacteristic InspectionCharacteristic
InspectionOperation I_InspectionOperation InspectionOperation
InspectionLot
KEY InspPlanOperationInternalID I_InspectionCharacteristic InspPlanOperationInternalID
KEY InspectionCharacteristic I_InspectionCharacteristic InspectionCharacteristic
InspectionOperation I_InspectionOperation InspectionOperation
InspectionLot
KEY InspPlanOperationInternalID I_InspectionCharacteristic InspPlanOperationInternalID
KEY InspectionCharacteristic I_InspectionCharacteristic InspectionCharacteristic
InspectionOperation I_InspectionOperation InspectionOperation
@AbapCatalog.sqlViewName: 'IINSPCHARCAGGR'
@AbapCatalog.preserveKey: true
@ObjectModel.usageType: { serviceQuality: #D, sizeCategory: #M, dataClass: #TRANSACTIONAL }
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Aggregation on inspection characteristic level'
@VDM.viewType: #COMPOSITE
define view I_InspCharacteristicAggregate
  as

  // All characteristic results which does not have inspection samples

  select from       I_InspectionCharacteristic
    inner join      I_InspectionLot       on I_InspectionCharacteristic.InspectionLot = I_InspectionLot.InspectionLot
    inner join      I_InspectionOperation on  I_InspectionCharacteristic.InspectionLot               = I_InspectionOperation.InspectionLot
                                          and I_InspectionCharacteristic.InspPlanOperationInternalID = I_InspectionOperation.InspPlanOperationInternalID
    left outer join I_InspectionResult    on  I_InspectionCharacteristic.InspectionLot               = I_InspectionResult.InspectionLot
                                          and I_InspectionCharacteristic.InspPlanOperationInternalID = I_InspectionResult.InspPlanOperationInternalID
                                          and I_InspectionCharacteristic.InspectionCharacteristic    = I_InspectionResult.InspectionCharacteristic
{
  key I_InspectionCharacteristic.InspectionLot,
  key I_InspectionCharacteristic.InspPlanOperationInternalID,
  key I_InspectionCharacteristic.InspectionCharacteristic,
      //Further attributes of characteristic

      I_InspectionOperation.InspectionOperation,
      //Aggregates

      sum(case when I_InspectionResult.InspectionValuationResult is null or
         I_InspectionResult.InspectionValuationResult = ' ' or
         I_InspectionResult.InspectionValuationResult = 'F' then 1
         when I_InspectionResult.InspectionValuationResult = '+' then 999999 //to force int4-type

         else 0 end) as InspCharOpenSampleCount,
      sum(case when I_InspectionResult.InspectionValuationResult = 'A' then 1
         when I_InspectionResult.InspectionValuationResult = '+' then 999999 //to force int4-type

         else 0 end) as InspCharcAcceptedSampleCount,
      sum(case when I_InspectionResult.InspectionValuationResult = 'R' then 1
         when I_InspectionResult.InspectionValuationResult = '+' then 999999 //to force int4-type

      else 0 end)    as InspCharRejectedSampleCount
}
where
      I_InspectionLot.InspLotHasSubsets               = ' '
  and I_InspectionCharacteristic.HasInspCharcPrtlSmpl = ' '
group by
  I_InspectionCharacteristic.InspectionLot,
  I_InspectionCharacteristic.InspPlanOperationInternalID,
  I_InspectionOperation.InspectionOperation,
  I_InspectionCharacteristic.InspectionCharacteristic

union all

//All Characteristics with multiple, independent samples

select from       I_InspectionCharacteristic
  inner join      I_InspectionLot       on I_InspectionCharacteristic.InspectionLot = I_InspectionLot.InspectionLot
  inner join      I_InspectionOperation on  I_InspectionCharacteristic.InspectionLot               = I_InspectionOperation.InspectionLot
                                        and I_InspectionCharacteristic.InspPlanOperationInternalID = I_InspectionOperation.InspPlanOperationInternalID
  left outer join I_InspSubsetResult    on  I_InspectionCharacteristic.InspectionLot               = I_InspSubsetResult.InspectionLot
                                        and I_InspectionCharacteristic.InspPlanOperationInternalID = I_InspSubsetResult.InspPlanOperationInternalID
                                        and I_InspectionCharacteristic.InspectionCharacteristic    = I_InspSubsetResult.InspectionCharacteristic
{
  key I_InspectionCharacteristic.InspectionLot,
  key I_InspectionCharacteristic.InspPlanOperationInternalID,
  key I_InspectionCharacteristic.InspectionCharacteristic,
      //Further attributes of characteristic

      I_InspectionOperation.InspectionOperation,
      //Aggregates

      sum(case when I_InspSubsetResult.InspectionValuationResult is null or
         I_InspSubsetResult.InspectionValuationResult = ' ' or
         I_InspSubsetResult.InspectionValuationResult = 'F' then 1
         when I_InspSubsetResult.InspectionValuationResult = '+' then 999999 //to force int4-type

         else 0 end)  as InspCharOpenSampleCount,
      sum(case when I_InspSubsetResult.InspectionValuationResult = 'A' then 1
          when I_InspSubsetResult.InspectionValuationResult = '+' then 999999 //to force int4-type

          else 0 end) as InspCharcAcceptedSampleCount,
      sum(case when I_InspSubsetResult.InspectionValuationResult = 'R' then 1
          when I_InspSubsetResult.InspectionValuationResult = '+' then 999999 //to force int4-type

          else 0 end) as InspCharRejectedSampleCount
}
where
      I_InspectionLot.InspLotHasSubsets               = ' '
  and I_InspectionCharacteristic.HasInspCharcPrtlSmpl = 'X'
group by
  I_InspectionCharacteristic.InspectionLot,
  I_InspectionCharacteristic.InspPlanOperationInternalID,
  I_InspectionOperation.InspectionOperation,
  I_InspectionCharacteristic.InspectionCharacteristic

union all

//Results for inspection points/subset

select from       I_InspectionCharacteristic
  inner join      I_InspectionLot            on I_InspectionCharacteristic.InspectionLot = I_InspectionLot.InspectionLot
  inner join      I_InspectionOperation      on  I_InspectionCharacteristic.InspectionLot               = I_InspectionOperation.InspectionLot
                                             and I_InspectionCharacteristic.InspPlanOperationInternalID = I_InspectionOperation.InspPlanOperationInternalID
  left outer join I_InspSubsetCharacteristic on  I_InspectionCharacteristic.InspectionLot               = I_InspSubsetCharacteristic.InspectionLot
                                             and I_InspectionCharacteristic.InspPlanOperationInternalID = I_InspSubsetCharacteristic.InspPlanOperationInternalID
                                             and I_InspectionCharacteristic.InspectionCharacteristic    = I_InspSubsetCharacteristic.InspectionCharacteristic
{
  key I_InspectionCharacteristic.InspectionLot,
  key I_InspectionCharacteristic.InspPlanOperationInternalID,
  key I_InspectionCharacteristic.InspectionCharacteristic,
      I_InspectionOperation.InspectionOperation,
      //Aggregates

      sum(case when I_InspSubsetCharacteristic._InspSubsetResult.InspectionValuationResult is null or
             I_InspSubsetCharacteristic._InspSubsetResult.InspectionValuationResult = ' ' then 1
          when I_InspectionCharacteristic._InspectionResult.InspectionValuationResult = '+' then 999999 //to force int4-type

          else 0 end) as InspCharOpenSampleCount,
      sum(case when I_InspSubsetCharacteristic._InspSubsetResult.InspectionValuationResult = 'A' then 1
          when I_InspectionCharacteristic._InspectionResult.InspectionValuationResult = '+' then 999999 //to force int4-type

          else 0 end) as InspCharcAcceptedSampleCount,
      sum(case when I_InspSubsetCharacteristic._InspSubsetResult.InspectionValuationResult = 'R' then 1
          when I_InspectionCharacteristic._InspectionResult.InspectionValuationResult = '+' then 999999 //to force int4-type

          else 0 end) as InspCharRejectedSampleCount
}
where
      I_InspectionLot.InspLotHasSubsets                     =  'X'
  and I_InspSubsetCharacteristic.InspectionSubsetInternalID <> '000000'
group by
  I_InspectionCharacteristic.InspectionLot,
  I_InspectionCharacteristic.InspPlanOperationInternalID,
  I_InspectionOperation.InspectionOperation,
  I_InspectionCharacteristic.InspectionCharacteristic