P_InspOpAggr

DDL: P_INSPOPAGGR SQL: PINSPOPAGGR Type: view CONSUMPTION

P_InspOpAggr is a Consumption CDS View in SAP S/4HANA. It reads from 3 data sources (P_InspCharcAggr, I_InspectionOperation, I_InspOperationUsageDecision) and exposes 4 fields with key field InspectionLot.

Data Sources (3)

SourceAliasJoin Type
P_InspCharcAggr InspCharcAggr from
I_InspectionOperation InspOp left_outer
I_InspOperationUsageDecision InspOperationUsageDecision left_outer

Annotations (5)

NameValueLevelField
AbapCatalog.sqlViewName PINSPOPAGGR view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.private true view
VDM.viewType #CONSUMPTION view

Fields (4)

KeyFieldSource TableSource FieldDescription
KEY InspectionLot P_InspCharcAggr InspectionLot
InspCharOpenCount P_InspCharcAggr InspCharOpenCount
InspCharAcceptedCount P_InspCharcAggr InspCharAcceptedCount
InspCharRejectedCount P_InspCharcAggr InspCharRejectedCount
@AbapCatalog.sqlViewName: 'PINSPOPAGGR'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.private: true
@VDM.viewType: #CONSUMPTION
define view P_InspOpAggr
  as select from    P_InspCharcAggr              as InspCharcAggr
    left outer join I_InspectionOperation        as InspOp                     on InspOp.InspectionLot = InspCharcAggr.InspectionLot
    left outer join I_InspOperationUsageDecision as InspOperationUsageDecision on  InspOperationUsageDecision.InspectionLot               = InspCharcAggr.InspectionLot
                                                                               and InspOperationUsageDecision.InspPlanOperationInternalID = InspOp.BOOOperationInternalID
{
  key InspCharcAggr.InspectionLot,
      InspCharcAggr.InspCharOpenCount,
      InspCharcAggr.InspCharAcceptedCount,
      InspCharcAggr.InspCharRejectedCount,
      sum( case
              when ( ( InspOperationUsageDecision.InspOpUsageDecisionValuation = 'A' or InspOperationUsageDecision.InspOpUsageDecisionValuation = 'R' ) and
                     InspCharcAggr.InspCharOpenCount > 0 and
                     InspCharcAggr.InspCharAcceptedCount = 0 and
                     InspCharcAggr.InspCharRejectedCount = 0 ) then 1
              when ( ( InspOperationUsageDecision.InspOpUsageDecisionValuation = '' or InspOperationUsageDecision.InspOpUsageDecisionValuation is null ) and
                     InspCharcAggr.InspCharRejectedCount = 0 ) then 1
              else  0
              end ) as InspOpNmbrOfOpen,
      sum( case
              when ( ( InspOperationUsageDecision.InspOpUsageDecisionValuation = 'R' or InspOperationUsageDecision.InspOpUsageDecisionValuation = 'A' or
                       InspOperationUsageDecision.InspOpUsageDecisionValuation = ''  or InspOperationUsageDecision.InspOpUsageDecisionValuation is null ) and
                     InspCharcAggr.InspCharRejectedCount > 0 ) then 1
              else  0
              end ) as InspOpNmbrOfRjctd,
      sum( case
            when ( ( InspOperationUsageDecision.InspOpUsageDecisionValuation = 'A' or InspOperationUsageDecision.InspOpUsageDecisionValuation = 'R' ) and
                   InspCharcAggr.InspCharAcceptedCount > 0 and
                   InspCharcAggr.InspCharRejectedCount = 0 ) then 1
            else 0
            end )   as InspOpNmbrOfAccepted,

      //------

      sum( case
              when ( InspOperationUsageDecision.InspOpUsageDecisionValuation = 'A' ) then 1
              else 0
              end ) as InspOpNmbrOfAcceptedCmpltd, //when completed operation is accepted

      sum( case
              when ( InspOperationUsageDecision.InspOpUsageDecisionValuation = 'R') then 1
              else 0
              end ) as InspOpNmbrOfRjctdCmpltd, //when completed operation is rejected

      sum( case
              when ( InspOperationUsageDecision.InspOpUsageDecisionValuation = '' or InspOperationUsageDecision.InspOpUsageDecisionValuation is null ) then 1
              else 0
              end ) as InspOpNmbrOfOpenCmpltd   //when valuation is blank

}
group by
  InspCharcAggr.InspectionLot,
  InspCharcAggr.InspCharOpenCount,
  InspCharcAggr.InspCharAcceptedCount,
  InspCharcAggr.InspCharRejectedCount
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INSPECTIONOPERATION",
"I_INSPOPERATIONUSAGEDECISION",
"P_INSPCHARCAGGR"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/