P_ResvnDocItemState

DDL: P_RESVNDOCITEMSTATE SQL: PRESDOCITST Type: view COMPOSITE

P_ResvnDocItemState is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_ReservationHeader, I_ReservationItem) and exposes 8 fields with key field Reservation.

Data Sources (2)

SourceAliasJoin Type
I_ReservationHeader ResDocHeader from
I_ReservationItem ResDocItem inner

Annotations (7)

NameValueLevelField
AbapCatalog.sqlViewName PRESDOCITST view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_ReservationHeader Reservation
GoodsMovementType I_ReservationHeader GoodsMovementType
Customer I_ReservationHeader Customer
NmbrOfResvnDocItemsInProgress
NmbrOfResvnDocItems
NmbrOfCompletedResvnDocItms
_GoodsMovementType I_ReservationHeader _GoodsMovementType
_Customer I_ReservationHeader _Customer
@AbapCatalog.sqlViewName: 'PRESDOCITST'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM: {
  private: true,
  viewType: #COMPOSITE
}
define view P_ResvnDocItemState
  as select from I_ReservationHeader as ResDocHeader

    inner join   I_ReservationItem   as ResDocItem on ResDocHeader.Reservation = ResDocItem.Reservation

{

  key ResDocHeader.Reservation,

      ResDocHeader.GoodsMovementType,

      ResDocHeader.Customer,


      cast ( sum ( case when ResDocItem.ResvnItmWithdrawnQtyInBaseUnit is not initial and ResDocItem.ReservationItmIsMarkedForDeltn is initial and ResDocItem.ReservationItemIsFinallyIssued is initial then 1 else 0 end ) as int2 ) as NmbrOfResvnDocItemsInProgress,

      cast ( sum( case when ResDocItem.ReservationItmIsMarkedForDeltn is initial then 1 else 0 end ) as int2 )                                                                                                                        as NmbrOfResvnDocItems,

      cast ( sum( case when ResDocItem.ReservationItemIsFinallyIssued is not initial and ResDocItem.ReservationItmIsMarkedForDeltn is initial then 1 else 0 end ) as int2 )                                                           as NmbrOfCompletedResvnDocItms,

      cast ( sum( case when 
                        //ResDocItem.GoodsMovementIsAllowed         is initial

                       //and

                         ResDocItem.ResvnItmWithdrawnQtyInBaseUnit is initial
                       and  ResDocItem.ReservationItemIsFinallyIssued is initial
                       and  ResDocItem.ReservationItmIsMarkedForDeltn is initial
                       then 1 else 0 end ) as int2 )  as NmbrOfNotCompletedResvnDocItms, //Open Items

      //      sum( case when ReservationItemIsFinallyIssued is initial and ReservationItmIsMarkedForDeltn is initial then 1 else 0 end )     as NmbrOfNotCompletedResvnDocItms,      


      /* Associations */
      ResDocHeader._GoodsMovementType,
      ResDocHeader._Customer

}
where
      ResDocHeader.GoodsMovementType         is not initial
  and ResDocItem.RequirementType             = 'MR'
  and ResDocItem.ReservationItemCreationCode = 'M'
group by
  ResDocHeader.Reservation,
  ResDocHeader.GoodsMovementType,
  ResDocHeader.Customer
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_RESERVATIONHEADER",
"I_RESERVATIONITEM"
],
"ASSOCIATED":
[
"I_CUSTOMER",
"I_GOODSMOVEMENTTYPE"
],
"BASE":
[
"I_RESERVATIONHEADER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/