C_POItemChangeCount

DDL: C_POITEMCHANGECOUNT SQL: CMMPOITMCHGCNT Type: view CONSUMPTION

Purchase Order Item Changes

C_POItemChangeCount is a Consumption CDS View that provides data about "Purchase Order Item Changes" in SAP S/4HANA. It reads from 2 data sources (I_PurchaseOrder, I_PurchaseOrderItem) and exposes 1 field. It has 10 associations to related views. It is used in 1 Fiori application: Purchase Order Changes.

Data Sources (2)

SourceAliasJoin Type
I_PurchaseOrder _PurchaseOrder left_outer
I_PurchaseOrderItem _purchaseOrderItem left_outer

Parameters (3)

NameTypeDefault
P_DateFunction datefunctionid
P_StartDate badat
P_EndDate badat

Associations (10)

CardinalityTargetAliasCondition
[0..1] I_Supplier _Supplier _PurchaseOrder.Supplier = _Supplier.Supplier
[0..1] I_PurchasingGroup _PurchasingGroup _PurchaseOrder.PurchasingGroup = _PurchasingGroup.PurchasingGroup
[0..1] I_PurchasingOrganization _PurchasingOrganization _PurchaseOrder.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
[0..1] I_Material _Material _purchaseOrderItem.Material = _Material.Material
[0..1] I_MaterialGroup _MaterialGroup _purchaseOrderItem.MaterialGroup = _MaterialGroup.MaterialGroup
[0..1] I_CompanyCode _CompanyCode _PurchaseOrder.CompanyCode = _CompanyCode.CompanyCode
[0..1] I_CompanyCode _ReceivingCompanyCode _purchaseOrderItem.CompanyCode = _ReceivingCompanyCode.CompanyCode
[0..1] I_Plant _Plant _purchaseOrderItem.Plant = _Plant.Plant
[0..1] I_CalendarDate _PurchaseOrderDate _PurchaseOrderDate.CalendarDate = _PurchaseOrder.PurchaseOrderDate
[1..1] I_PurchasingCategoryMatlGroup _PurchasingCategoryMatlGroup _purchaseOrderItem.MaterialGroup = _PurchasingCategoryMatlGroup.MaterialGroup

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName CMMPOITMCHGCNT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
OData.publish true view
ObjectModel.usageType.sizeCategory #XL view
EndUserText.label Purchase Order Item Changes view

Fiori Apps (1)

App IDApp NameTypeDescription
F3791 Purchase Order Changes Analytical This app displays the count of changes carried out on certain important attributes like purchase order price, quantity, incoterms so on and so forth. These measures can be displayed based on dimensions like by supplier, by purchasing organisation etc.

Purchase Order Changes

Business Role: Strategic Buyer

With this app, you can now view the number of changes made in the purchase orders.

Fields (1)

KeyFieldSource TableSource FieldDescription
PurchasingCategory Receiving Plant Company Code
@AbapCatalog.sqlViewName: 'CMMPOITMCHGCNT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@VDM.viewType : #CONSUMPTION
//@Analytics.dataCategory: #CUBE

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

@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@OData.publish: true
@ObjectModel.usageType.sizeCategory:  #XL
@EndUserText.label: 'Purchase Order Item Changes'



define view C_POItemChangeCount
  with parameters
    @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


  as select distinct from P_PURCHASEORDERITEMCHGDOCSUM( P_StartDate: $parameters.P_StartDate, P_EndDate: $parameters.P_EndDate) as _PurchaseChange
    left outer join       I_PurchaseOrder                                                                                       as _PurchaseOrder     on _PurchaseChange.PurchaseOrder = _PurchaseOrder.PurchaseOrder
    left outer join       I_PurchaseOrderItem                                                                                   as _purchaseOrderItem on  _PurchaseChange.PurchaseOrder     = _purchaseOrderItem.PurchaseOrder
                                                                                                                                                      and _PurchaseChange.PurchaseOrderItem = _purchaseOrderItem.PurchaseOrderItem
  // left outer join       P_PurchaseOrderItemDateRange( P_StartDate:  $parameters.P_StartDate, P_EndDate: $parameters.P_EndDate) as _purchaseOrderItem on  _PurchaseChange.PurchaseOrder     = _purchaseOrderItem.PurchaseOrder

  //                                                                                                                                                  and _PurchaseChange.PurchaseOrderItem = _purchaseOrderItem.PurchaseOrderItem

  association [0..1] to I_Supplier                    as _Supplier                    on _PurchaseOrder.Supplier = _Supplier.Supplier
  association [0..1] to I_PurchasingGroup             as _PurchasingGroup             on _PurchaseOrder.PurchasingGroup = _PurchasingGroup.PurchasingGroup
  association [0..1] to I_PurchasingOrganization      as _PurchasingOrganization      on _PurchaseOrder.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
  association [0..1] to I_Material                    as _Material                    on _purchaseOrderItem.Material = _Material.Material
  association [0..1] to I_MaterialGroup               as _MaterialGroup               on _purchaseOrderItem.MaterialGroup = _MaterialGroup.MaterialGroup
  association [0..1] to I_CompanyCode                 as _CompanyCode                 on _PurchaseOrder.CompanyCode = _CompanyCode.CompanyCode
  association [0..1] to I_CompanyCode                 as _ReceivingCompanyCode        on _purchaseOrderItem.CompanyCode = _ReceivingCompanyCode.CompanyCode
  association [0..1] to I_Plant                       as _Plant                       on _purchaseOrderItem.Plant = _Plant.Plant
  association [0..1] to I_CalendarDate                as _PurchaseOrderDate           on _PurchaseOrderDate.CalendarDate = _PurchaseOrder.PurchaseOrderDate
  association [1..1] to I_PurchasingCategoryMatlGroup as _PurchasingCategoryMatlGroup on _purchaseOrderItem.MaterialGroup = _PurchasingCategoryMatlGroup.MaterialGroup

{
  key _PurchaseChange.PurchaseOrder                                                     as PurchaseOrder,
  key _PurchaseChange.PurchaseOrderItem                                                 as PurchaseOrderItem,

      @Consumption.labelElement: 'SupplierName'
      _PurchaseOrder.Supplier                                                           as Supplier,
      @Semantics.text: true
      _Supplier.SupplierName,


      @Consumption.labelElement: 'MaterialName'
      Material                                                                          as Material,
      @Semantics.text: true
      _Material._Text[1: Language = $session.system_language].MaterialName,

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

      @Consumption.labelElement: 'PurchasingGroupName'
      _PurchaseOrder.PurchasingGroup                                                    as PurchasingGroup,
      @Semantics.text: true
      _PurchasingGroup.PurchasingGroupName,

      @Consumption.labelElement: 'PurchasingOrganizationName'
      _PurchaseOrder.PurchasingOrganization                                             as PurchasingOrganization,
      @Semantics.text: true
      _PurchasingOrganization.PurchasingOrganizationName,

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

      @Consumption.labelElement: 'CompanyCodeName'
      _PurchaseOrder.CompanyCode,
      @Semantics.text: true
      _CompanyCode.CompanyCodeName,

      @Consumption.labelElement: 'ReceivingCompanyCodeName'
      @EndUserText.label: 'Receiving Plant Company Code'
      _purchaseOrderItem.CompanyCode                                                    as ReceivingCompanyCode,

      @Semantics.text: true
      _ReceivingCompanyCode.CompanyCodeName                                             as ReceivingCompanyCodeName,

      // @ObjectModel.text.element: ['PurgCatName']

      @Consumption.labelElement: 'PurgCatName'
      @EndUserText.label: 'Purchasing Category'
      coalesce( _PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory,'') as PurchasingCategory,
      //_PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory                                                                                                                                                                                          as PurchasingCategory,

      @Semantics.text: true
      _PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName                      as PurgCatName,


      _PurchaseOrder.CreatedByUser,

      _PurchaseOrderDate.CalendarYear,
      _PurchaseOrderDate.CalendarQuarter,
      _PurchaseOrderDate.CalendarMonth,
      _PurchaseOrderDate.CalendarWeek,

      @DefaultAggregation: #SUM
      @EndUserText.label: 'Quantity Changes'
      cast(_PurchaseChange.NumberOfQuantityChanges as mm_a_numberofquantitychanges)     as NumberOfQuantityChanges,

      @DefaultAggregation: #SUM
      @EndUserText.label:  'Price Changes'
      cast(_PurchaseChange.NumberOfPriceChanges as mm_a_numberofpricechanges)           as NumberOfPriceChanges,

      @DefaultAggregation: #SUM
      @EndUserText.label: 'Purchasing Group Changes'
      cast(_PurchaseChange.NmbrOfPurchasingGroupChanges as mm_a_numberofpurggrpchanges) as NmbrOfPurchasingGroupChanges,

      @DefaultAggregation: #SUM
      @EndUserText.label: 'Storage Location Changes'
      cast(_PurchaseChange.NumberOfStorageLocChanges as mm_a_numberofstoragelocchanges) as TotalNoOfStorageLocChanges,

      @DefaultAggregation: #SUM
      @EndUserText.label: 'No. of Items Added'
      cast(_PurchaseChange.NumberOfItemsAdded as mm_a_numberofpoitemsadded)             as TotalNoOfPOItemsAdded,

      @DefaultAggregation: #SUM
      @EndUserText.label: 'Payment Term Changes'
      cast(_PurchaseChange.NumberOfPaymentTermChanges as mm_a_numberofpaymttermchanges) as TotalNoOfPOPayTermChanges,


      @DefaultAggregation: #SUM
      @EndUserText.label: 'Delivery Date Changes'
      cast(_PurchaseChange.NumberOfDeliveryDateChanges as mm_a_numberofdeldatechanges)  as TotalNoOfPODelDateChanges,


      @DefaultAggregation: #SUM
      @EndUserText.label: 'Total Purchase Order Item Changes'
      cast(_PurchaseChange.PurchaseOrderItemChanges as mm_a_totalnumberofpoitemchange)  as TotalNoOfPOItemChanges



}
where
        not(
          _purchaseOrderItem.Material              = ''
          and _purchaseOrderItem.IsStatisticalItem = 'X'
        )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CALENDARDATE",
"I_COMPANYCODE",
"I_MATERIAL",
"I_MATERIALGROUP",
"I_MATERIALGROUPTEXT",
"I_MATERIALTEXT",
"I_PLANT",
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM",
"I_PURCHASINGCATEGORY",
"I_PURCHASINGCATEGORYMATLGROUP",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_SUPPLIER",
"P_PURCHASEORDERITEMCHGDOCSUM"
],
"ASSOCIATED":
[
"I_CALENDARDATE",
"I_COMPANYCODE",
"I_MATERIAL",
"I_MATERIALGROUP",
"I_PLANT",
"I_PURCHASINGCATEGORYMATLGROUP",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_SUPPLIER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/