C_ReqnToOrderCycleTime

DDL: C_REQNTOORDERCYCLETIME SQL: CMMREQORDCYCL Type: view CONSUMPTION

Requisition To Order Cycle Time

C_ReqnToOrderCycleTime is a Consumption CDS View that provides data about "Requisition To Order Cycle Time" in SAP S/4HANA. It reads from 2 data sources (P_ReqnToOrderCycleTime2, I_PurchasingCategoryMatlGroup). It has 8 associations to related views. It is used in 3 Fiori applications: Purchase Requisition Item Changes, Purchase Requisition to Order Cycle Time, Purchase Requisition No Touch Rate.

Data Sources (2)

SourceAliasJoin Type
P_ReqnToOrderCycleTime2 P_ReqnToOrderCycleTime2 from
I_PurchasingCategoryMatlGroup PurchasingCategoryMatlGroup left_outer

Parameters (7)

NameTypeDefault
P_DisplayCurrency displaycurrency
P_DateFunction datefunctionid
P_StartDate badat
P_EndDate badat
P_PriceForLowCostItem mm_a_low_cost_value
P_PriceForMediumCostItem mm_a_medium_cost_value
P_PriceForHighCostItem mm_a_high_cost_value

Associations (8)

CardinalityTargetAliasCondition
[1..1] I_Purreqvaluationarea _PurReqValuationArea $projection.Plant = _PurReqValuationArea.ValuationArea
[1..1] I_Material _Material $projection.Material = _Material.Material
[1..1] I_MaterialGroup _MaterialGroup $projection.MaterialGroup = _MaterialGroup.MaterialGroup
[1..1] I_Supplier _Supplier $projection.Supplier = _Supplier.Supplier
[1..1] I_Country _Country $projection.SupplierCountry = _Country.Country
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[1..1] I_PurchasingOrganization _PurchasingOrganization $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
[1..1] I_PurchasingGroup _PurchasingGroup $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup

Annotations (11)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
AbapCatalog.sqlViewName CMMREQORDCYCL view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
EndUserText.label Requisition To Order Cycle Time view
VDM.viewType #CONSUMPTION view
OData.publish true view

Fiori Apps (3)

App IDApp NameTypeDescription
F2015 Purchase Requisition Item Changes Analytical
F2017 Purchase Requisition to Order Cycle Time Analytical
F2018 Purchase Requisition No Touch Rate Analytical

Purchase Requisition Item Changes

Business Role: Strategic Buyer

This app displays the absolute number of item changes in the last 365 days from the current date. All changes to items are logged.The catalog role Materials Management - Purchasing Strategy (SAP_BCR_MM_PUR_STRATEGY) is required to access the app. Note that this catalog role is included in the business role Strategic Buyer (SAP_BR_BUYER). The following authorization objects must be maintained in SU22:•M_BANF_EKG•M_BANF_EKO•M_BANF_WRK•F_BKPF_BUKThe KPI is displayed in the following views:•By Supplier•By Material Group•By Purchasing Group•By Purchasing Organization•Document•TrendThis app displays the absolute number of item changes in the last 365 days from the current date. All changes to items are logged. The catalog role Materials Management - Purchasing Strategy (SAP_BCR_MM_PUR_STRATEGY) is required to access the app.

Purchase Requisition to Order Cycle Time

Business Role: Strategic Buyer

This app is used to identify the average cycle time in days from shopping cart creation to sending the purchase order to the supplier, over the last 365 days from the current date.The catalog role Materials Management - Purchasing Strategy (SAP_BCR_MM_PUR_STRATEGY) is required to access the app. Note that this catalog role is included in the business role Strategic Buyer (SAP_BR_BUYER). The following authorization objects must be maintained in SU22:•M_BANF_EKG•M_BANF_EKO•M_BANF_WRK•F_BKPF_BUKThe KPI is displayed in the following views:•By Supplier•By Material Group•By Purchasing Group•By Purchasing Organization•Document•Trend

Purchase Requisition No Touch Rate

Business Role: Strategic Buyer

You can use this app to identify the percentage of those purchase requisition items that are processed automatically from a shopping cart. The time frame covers the last 365 days from the current date.The catalog role Materials Management - Purchasing Strategy (SAP_BCR_MM_PUR_STRATEGY) is required to access the app. Note that this catalog role is included in the business role Strategic Buyer (SAP_BR_BUYER). The following authorization objects must be maintained in SU22:•M_BANF_EKG•M_BANF_EKO•M_BANF_WRK•F_BKPF_BUK•S_RS_COMP•S_RS_COMP1The KPI is displayed in the following views:•By Supplier•By Material Group•By Purchasing Group•By Purchasing Organization•Document•Trend

@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin

@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@AbapCatalog.sqlViewName: 'CMMREQORDCYCL'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Requisition To Order Cycle Time'
@VDM.viewType: #CONSUMPTION
@OData.publish: true

define view C_ReqnToOrderCycleTime

  with parameters
    @Consumption.defaultValue: 'EUR'
    @Consumption.valueHelpDefinition: [{
      entity: {
        name:'I_Currency',
        element:'Currency'
      }
    }]
    P_DisplayCurrency        : displaycurrency,
    @Consumption.defaultValue: 'PREVIOUSYEARTODATE'
    @Consumption.valueHelpDefinition: [{
      entity: {
        name:'C_GregorianCalDateFuncVH',
        element:'DateFunction'
      }
    }]
    P_DateFunction           : datefunctionid,

    @Consumption.derivation: { lookupEntity: 'C_SglGregorianCalDateFunction',
    resultElement: 'DateFunctionStartDate', binding: [ {
      targetParameter: 'P_DateFunction', type: #PARAMETER, value : 'P_DateFunction' },
       { targetParameter : 'P_Language' , type : #SYSTEM_FIELD, value : '#SYSTEM_LANGUAGE'  } ]
    }
    @Consumption.hidden: true
    P_StartDate              : badat,

    @Consumption.derivation: { lookupEntity: 'C_SglGregorianCalDateFunction',
    resultElement: 'DateFunctionEndDate', binding: [ {
      targetParameter: 'P_DateFunction', type: #PARAMETER, value : 'P_DateFunction' },
       { targetParameter : 'P_Language' , type : #SYSTEM_FIELD, value : '#SYSTEM_LANGUAGE'  } ]
    }
    @Consumption.hidden: true
    P_EndDate                : badat,

    P_PriceForLowCostItem    : mm_a_low_cost_value,

    P_PriceForMediumCostItem : mm_a_medium_cost_value,

    P_PriceForHighCostItem   : mm_a_high_cost_value

  as select from    P_ReqnToOrderCycleTime2( P_DisplayCurrency: $parameters.P_DisplayCurrency,
                                             P_StartDate : $parameters.P_StartDate,
                                             P_EndDate : $parameters.P_EndDate) as RequisitionItem

    left outer join I_PurchasingCategoryMatlGroup                               as PurchasingCategoryMatlGroup on RequisitionItem.MaterialGroup = PurchasingCategoryMatlGroup.MaterialGroup

//    left outer join I_CalendarYear on I_CalendarYear.NumberOfDays =1  //3053587

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

  association [1..1] to I_Purreqvaluationarea    as _PurReqValuationArea    on $projection.Plant = _PurReqValuationArea.ValuationArea

  association [1..1] to I_Material               as _Material               on $projection.Material = _Material.Material

  association [1..1] to I_MaterialGroup          as _MaterialGroup          on $projection.MaterialGroup = _MaterialGroup.MaterialGroup

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

  association [1..1] to I_Country                as _Country                on $projection.SupplierCountry = _Country.Country

  association [1..1] to I_Plant                  as _Plant                  on $projection.Plant = _Plant.Plant

  association [1..1] to I_PurchasingOrganization as _PurchasingOrganization on $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization

  association [1..1] to I_PurchasingGroup        as _PurchasingGroup        on $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup

{
      @EndUserText.label: 'Purchase Requisition'
  key PurchaseRequisition,

      @EndUserText.label: 'Purchase Requisition Item'
  key PurchaseRequisitionItem,
      
      @EndUserText.label: 'Purchase Order'
  key PurchaseOrder,

 // key PurchaseOrderItem,


      /* Org Data */
      @ObjectModel.text.element: ['PurchasingGroupName'] //Inserted by VDM CDS Suite Plugin

      @Consumption.labelElement: 'PurchasingGroupName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingGroupValueHelp', element : 'PurchasingGroup' } }]
      PurchasingGroup,
      @Semantics.text: true
      _PurchasingGroup.PurchasingGroupName,

      @ObjectModel.text.element: ['PurchasingOrganizationName'] //Inserted by VDM CDS Suite Plugin

      @Consumption.labelElement: 'PurchasingOrganizationName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingOrgValueHelp', element : 'PurchasingOrganization' } }]
      PurchasingOrganization,
      @Semantics.text: true
      _PurchasingOrganization.PurchasingOrganizationName,

      @ObjectModel.text.element: ['PurgCatName']
      @Consumption.labelElement: 'PurgCatName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_PurchasingCategoryValueHelp', element : 'PurchasingCategory' } }]
      cast(coalesce(PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory,'') as /srmsmc/purchasing_category_id) as PurchasingCategory,
      @Semantics.text: true
      PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName                                                             as PurgCatName,

      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_CompanyCodeValueHelp', element : 'CompanyCode' } }]
      _PurReqValuationArea.CompanyCode,

      /* Supplier */
      @ObjectModel.text.element: ['SupplierName'] //Inserted by VDM CDS Suite Plugin

      @Consumption.labelElement: 'SupplierName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_SmplSupplierValueHelp', element : 'Supplier' } }]
      Supplier,
      @Semantics.text: true
      _Supplier.SupplierName,

      @ObjectModel.text.element: ['CountryName'] //Inserted by VDM CDS Suite Plugin

      @Consumption.labelElement: 'CountryName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_CountryValueHelp', element : 'SupplierCountry' } }]
      SupplierCountry,
      @Semantics.text: true
      _Country._Text[1: Language = $session.system_language].CountryName,

      /* Item Data */
      @ObjectModel.text.element: ['MaterialName'] //Inserted by VDM CDS Suite Plugin

      @Consumption.labelElement: 'MaterialName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialValueHelp', element : 'Material' } }]
      Material,
      @Semantics.text: true
      _Material._Text[1: Language = $session.system_language].MaterialName,

      @ObjectModel.text.element: ['MaterialGroupName'] //Inserted by VDM CDS Suite Plugin

      @Consumption.labelElement: 'MaterialGroupName'
      RequisitionItem.MaterialGroup,
      @Semantics.text: true
      _MaterialGroup._Text[1: Language = $session.system_language].MaterialGroupName,

      @ObjectModel.text.element: ['PlantName'] //Inserted by VDM CDS Suite Plugin

      @Consumption.labelElement: 'PlantName'
      Plant,
      @Semantics.text: true
      _Plant.PlantName,

      //   cast(PurchaseRequisitionPrice as mm_a_purchase_reqn_price) as PurchaseRequisitionPrice,


      /*Dates*/

//      RequisitionItem.CalendarYear,                         //^3053587 

//      RequisitionItem.CalendarQuarter,

//      RequisitionItem.CalendarMonth,

//      RequisitionItem.CalendarWeek,                         //v3053587


 //     CostCenter,


      CreatedByUser,
      
      CalendarDate.CalendarWeek,
      CalendarDate.CalendarMonth,
      CalendarDate.CalendarQuarter,
      CalendarDate.CalendarYear,

      @DefaultAggregation: #AVG
      cast(CycleTime as mm_a_order_cycle_time)                                                                                as PurReqnAverageCycleTime,

      @DefaultAggregation: #AVG
      cast(case when PurchaseRequisitionPrice  <=  $parameters.P_PriceForLowCostItem
                      then CycleTime
//                      else I_CalendarYear.NumberOfDays      //3053587

               end as mm_a_approvaldays_lowcostitems )                                                                        as ApprovalDaysForLowCostItems,

      @DefaultAggregation: #AVG
      cast(case when PurchaseRequisitionPrice >$parameters.P_PriceForLowCostItem  and PurchaseRequisitionPrice <= $parameters.P_PriceForMediumCostItem
                       then CycleTime
//                       else I_CalendarYear.NumberOfDays     //3053587

                end as mm_a_apprvldays_mediumcostitem )                                                                       as ApprovalDaysForMediumCostItems,

      @DefaultAggregation: #AVG
      cast(case when PurchaseRequisitionPrice > $parameters.P_PriceForMediumCostItem and PurchaseRequisitionPrice <= $parameters.P_PriceForHighCostItem
                      then CycleTime
//                      else I_CalendarYear.NumberOfDays      //3053587

               end as mm_a_apprvldays_highcostitem )                                                                          as ApprovalDaysForHighCostItems,

      @DefaultAggregation: #AVG
      cast(case when PurchaseRequisitionPrice > $parameters.P_PriceForHighCostItem
                      then CycleTime
//                      else I_CalendarYear.NumberOfDays      //3053587

               end as mm_a_apprvldaysforvhcostitem )                                                                          as ApprvlDaysForVeryHighCostItems

}