P_REQNTOORDERCYCLETIME2

CDS View

Requisition To Order Cycle Time 2

P_REQNTOORDERCYCLETIME2 is a CDS View in S/4HANA. Requisition To Order Cycle Time 2. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
C_ReqnToOrderCycleTime view from CONSUMPTION Requisition To Order Cycle Time
@AbapCatalog.sqlViewName: 'PMMREQORDCYCL2'
@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true

@VDM.viewType: #CONSUMPTION
@VDM.private : true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED

define view P_ReqnToOrderCycleTime2

  with parameters
    P_DisplayCurrency : displaycurrency,
    P_StartDate       : badat,
    P_EndDate         : badat

  as select from P_PurchaseReqnItms(P_StartDate : $parameters.P_StartDate,
                                    P_EndDate : $parameters.P_EndDate )          as PurchaseReqItem

    inner join   P_PurchaseOrderOutputStatus2(P_StartDate : $parameters.P_StartDate,
                                              P_EndDate : $parameters.P_EndDate) as MessageHeader on  MessageHeader.PurchaseRequisition     = PurchaseReqItem.PurchaseRequisition
                                                                                                  and MessageHeader.PurchaseRequisitionItem = PurchaseReqItem.PurchaseRequisitionItem


  //    inner join             P_PRToFirstPurchasOrder1(P_StartDate : $parameters.P_StartDate,

  //                                                    P_EndDate : $parameters.P_EndDate) as PurchaseOrderItem on  PurchaseOrderItem.PurchaseRequisition     = PurchaseReqItem.PurchaseRequisition

  //                                                                                                            and PurchaseOrderItem.PurchaseRequisitionItem = PurchaseReqItem.PurchaseRequisitionItem

  //    inner join             P_PurchaseOrderOutputStatus1                                as MessageHeader     on PurchaseOrderItem.PurchaseOrder = MessageHeader.PurchaseOrder


  //    left outer to one join I_CalendarDate                                              as CalendarDate      on PurchaseReqItem.PurReqCreationDate = CalendarDate.CalendarDate


  association [0..1] to I_Supplier as _Supplier on $projection.FixedSupplier = _Supplier.Supplier

{
  key PurchaseReqItem.PurchaseRequisition,
  key PurchaseReqItem.PurchaseRequisitionItem,

      MessageHeader.PurchaseOrder,

      /* Org Data */
      PurchaseReqItem.PurchasingGroup,
      PurchaseReqItem.PurchasingOrganization,

      /* Supplier */
      cast(PurchaseReqItem.FixedSupplier as md_supplier)                           as Supplier,
      FixedSupplier,
      cast( _Supplier._StandardAddress._Country.Country as mm_a_supplier_country ) as SupplierCountry,
      /* Item Data */

      PurchaseReqItem.Material,
      PurchaseReqItem.MaterialGroup,
      PurchaseReqItem.Plant,
      PurchaseReqItem.ReleaseCode,
      PurchaseReqItem.PurchaseRequisitionStatus,
      PurchaseReqItem.ReleaseStrategy,
      PurchaseReqItem.AccountAssignmentCategory,
      PurchaseReqItem.MultipleAcctAssgmtDistribution,

      /*Dates*/
      PurReqCreationDate,
      PurchaseReqItem.CreatedByUser,

      PurchaseRequisitionType,
      PurchaseReqItem.PurReqnItemCurrency,
      PurchaseReqItem.PurReqnPriceQuantity,
      PurchaseReqItem.RequestedQuantity,

      //      case when PurReqnPriceQuantity > 0 and PurReqnItemCurrency != ''

      //        then

      cast(currency_conversion(
                             amount             => PurchaseRequisitionPrice ,
                             source_currency    => PurReqnItemCurrency,
                             target_currency    =>  :P_DisplayCurrency,
                             exchange_rate_date => PurchaseReqItem.PurReqCreationDate,
                             exchange_rate_type => 'M'

                             ) as abap.curr(21,5) ) *
      division (RequestedQuantity, PurchaseReqItem.PurReqnPriceQuantity,5)         as PurchaseRequisitionPrice, //2897312

      //      else 0

      //      end



      MessageHeader.PostingDate                                                    as ProcessingDate,

      case when PurReqCreationDate is not null
                then (dats_days_between(PurReqCreationDate, MessageHeader.PostingDate))
                else 0
           end                                                                     as CycleTime

}
where
      PurReqnPriceQuantity >  0
  and PurReqnItemCurrency  != ''




union all select from P_PurchaseReqnItms(P_StartDate : $parameters.P_StartDate,
                                         P_EndDate : $parameters.P_EndDate )          as PurchaseReqItem

  inner join          P_PurchaseOrderOutputStatus2(P_StartDate : $parameters.P_StartDate,
                                                   P_EndDate : $parameters.P_EndDate) as MessageHeader on  MessageHeader.PurchaseRequisition     = PurchaseReqItem.PurchaseRequisition
                                                                                                       and MessageHeader.PurchaseRequisitionItem = PurchaseReqItem.PurchaseRequisitionItem


//    inner join             P_PRToFirstPurchasOrder1(P_StartDate : $parameters.P_StartDate,

//                                                    P_EndDate : $parameters.P_EndDate) as PurchaseOrderItem on  PurchaseOrderItem.PurchaseRequisition     = PurchaseReqItem.PurchaseRequisition

//                                                                                                            and PurchaseOrderItem.PurchaseRequisitionItem = PurchaseReqItem.PurchaseRequisitionItem

//    inner join             P_PurchaseOrderOutputStatus1                                as MessageHeader     on PurchaseOrderItem.PurchaseOrder = MessageHeader.PurchaseOrder


//    left outer to one join I_CalendarDate                                              as CalendarDate      on PurchaseReqItem.PurReqCreationDate = CalendarDate.CalendarDate


association [0..1] to I_Supplier as _Supplier on $projection.FixedSupplier = _Supplier.Supplier

{
  key PurchaseReqItem.PurchaseRequisition,
  key PurchaseReqItem.PurchaseRequisitionItem,

      MessageHeader.PurchaseOrder,

      /* Org Data */
      PurchaseReqItem.PurchasingGroup,
      PurchaseReqItem.PurchasingOrganization,

      /* Supplier */
      cast(PurchaseReqItem.FixedSupplier as md_supplier)                           as Supplier,
      FixedSupplier,
      cast( _Supplier._StandardAddress._Country.Country as mm_a_supplier_country ) as SupplierCountry,
      /* Item Data */

      PurchaseReqItem.Material,
      PurchaseReqItem.MaterialGroup,
      PurchaseReqItem.Plant,
      PurchaseReqItem.ReleaseCode,
      PurchaseReqItem.PurchaseRequisitionStatus,
      PurchaseReqItem.ReleaseStrategy,
      PurchaseReqItem.AccountAssignmentCategory,
      PurchaseReqItem.MultipleAcctAssgmtDistribution,

      /*Dates*/
      PurReqCreationDate,
      PurchaseReqItem.CreatedByUser,

      PurchaseRequisitionType,
      PurchaseReqItem.PurReqnItemCurrency,
      PurchaseReqItem.PurReqnPriceQuantity,
      PurchaseReqItem.RequestedQuantity,
      0                                                                            as PurchaseRequisitionPrice,

      MessageHeader.PostingDate                                                    as ProcessingDate,

      case when PurReqCreationDate is not null
                then (dats_days_between(PurReqCreationDate, MessageHeader.PostingDate))
                else 0
           end                                                                     as CycleTime


}
where
     PurReqnPriceQuantity <= 0
  or PurReqnItemCurrency  =  ''