C_QuantityContractAcctAssgmt
Quantity Contract Account Assignment
C_QuantityContractAcctAssgmt is a Consumption CDS View (Cube) that provides data about "Quantity Contract Account Assignment" in SAP S/4HANA. It reads from 8 data sources and exposes 100 fields with key fields PurchaseContract, PurchaseContractItem, AccountAssignmentNumber, ReleaseOrder, ReleaseOrderItem. It has 10 associations to related views. Part of development package ODATA_MM_ANALYTICS.
Data Sources (8)
| Source | Alias | Join Type |
|---|---|---|
| P_UNSGNDMATGRPTXT | _Doc | left_outer |
| P_UNSGNDMATGRPTXT | _Doc | left_outer |
| P_QuantityContractAcctAssgmt | P_QuantityContractAcctAssgmt | from |
| P_QuantityContractPrediction | P_QuantityContractPrediction | union_all |
| I_PurchasingCategoryMatlGroup | PurchasingCategoryMatlGroup | left_outer |
| I_PurchasingCategoryMatlGroup | PurchasingCategoryMatlGroup | left_outer |
| I_CalendarDate | RelevantDates | left_outer |
| I_CalendarDate | RelevantDates | left_outer |
Parameters (3)
| Name | Type | Default |
|---|---|---|
| P_DisplayCurrency | displaycurrency | |
| P_StartDate | vdm_validitystart | |
| P_EndDate | vdm_validitystart |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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_Plant | _Plant | $projection.Plant = _Plant.Plant |
| [1..1] | I_PurchasingOrganization | _PurchasingOrganization | $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization |
| [1..1] | I_PurchasingGroup | _PurchasingGroup | $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup |
| [1..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [1..1] | I_PurchasingDocumentType | _PurchasingDocumentType | $projection.PurchaseContractType = _PurchasingDocumentType.PurchasingDocumentType and $projection.PurchasingDocumentCategory = _PurchasingDocumentType.PurchasingDocumentCategory |
| [1..1] | I_PurgDocumentItemCategory | _PurgDocumentItemCategory | $projection.PurchasingDocumentItemCategory = _PurgDocumentItemCategory.PurchasingDocumentItemCategory |
| [1..1] | I_PurchasingDocumentCategory | _PurchaseOrderCategory | $projection.PurchasingDocumentCategory = _PurchaseOrderCategory.PurchasingDocumentCategory |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| AbapCatalog.sqlViewName | CQTYCONTRACCT | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Analytics.dataCategory | #CUBE | view | |
| Metadata.allowExtensions | true | view | |
| EndUserText.label | Quantity Contract Account Assignment | view |
Fields (100)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseContract | PurchaseContractItem | PurchaseContract | |
| KEY | PurchaseContractItem | PurchaseContractItem | PurchaseContractItem | |
| KEY | AccountAssignmentNumber | AccountAssignmentNumber | ||
| KEY | ReleaseOrder | ReleaseOrder | ||
| KEY | ReleaseOrderItem | ReleaseOrderItem | ||
| PurchaseOrderItemUniqueID | ||||
| FormattedPurchaseContractItem | FormattedPurchaseContractItem | |||
| DocNumber | ||||
| Supplier | Supplier | |||
| PurchasingGroup | PurchaseContractItem | PurchasingGroup | ||
| PurchasingOrganization | PurchaseContractItem | PurchasingOrganization | ||
| CompanyCode | PurchaseContractItem | CompanyCode | ||
| PurchasingDocumentCategory | PurchasingDocumentCategory | |||
| PurchaseContractType | PurchaseContractType | |||
| PurchasingDocumentItemCategory | PurchasingDocumentItemCategory | |||
| Material | PurchaseContractItem | Material | ||
| MaterialGroup | PurchaseContractItem | MaterialGroup | ||
| Plant | PurchaseContractItem | Plant | ||
| CostCenter | CostCenter | |||
| PurchasingCategory | ||||
| PurgCatNameendasPurgCatName | ||||
| CreatedByUser | CreatedByUser | |||
| ValidityEndDate | ValidityEndDate | |||
| CalendarYear | I_CalendarDate | CalendarYear | ||
| CalendarQuarter | I_CalendarDate | CalendarQuarter | ||
| CalendarMonth | I_CalendarDate | CalendarMonth | ||
| CalendarWeek | I_CalendarDate | CalendarWeek | ||
| DisplayCurrency | PurchaseContractItem | DisplayCurrency | ||
| OrderQuantityUnit | PurchaseContractItem | OrderQuantityUnit | ||
| TargetQuantity | PurchaseContractItem | TargetQuantity | ||
| TargetAmount | ||||
| RelOrdLvlContractTargetAmount | ||||
| ReleaseOrderItemNetAmount | ||||
| ContrNetPrRltvReleasedAmount | ||||
| ReleaseOrderItemOrderQuantity | ReleaseOrderItemOrderQuantity | |||
| PredictedConsumptionAmount | ||||
| ContractExpiryPredictedDate | ||||
| PredictedDaysToContrExpiry | ||||
| PredictiveConsumptionInPct | ||||
| NumberOfPurchaseOrders | Number of Purchase Orders | |||
| _PurchaseOrderCategory | _PurchaseOrderCategory | |||
| _PurchasingDocumentType | _PurchasingDocumentType | |||
| _PurgDocumentItemCategory | _PurgDocumentItemCategory | |||
| _Material | _Material | |||
| _MaterialGroup | _MaterialGroup | |||
| _Plant | _Plant | |||
| _Supplier | _Supplier | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| P_DisplayCurrency | ||||
| P_StartDate | ||||
| KEY | PurchaseContractItem | PurchaseContractItem | ||
| KEY | AccountAssignmentNumber | AccountAssignmentNumber | ||
| KEY | ReleaseOrder | ReleaseOrder | ||
| KEY | ReleaseOrderItem | ReleaseOrderItem | ||
| PurchaseOrderItemUniqueID | ||||
| FormattedPurchaseContractItem | FormattedPurchaseContractItem | |||
| DocNumber | ||||
| Supplier | Supplier | |||
| PurchasingGroup | PurchasingGroup | |||
| PurchasingOrganization | PurchasingOrganization | |||
| CompanyCode | CompanyCode | |||
| PurchasingDocumentCategory | PurchasingDocumentCategory | |||
| PurchaseContractType | PurchaseContractType | |||
| PurchasingDocumentItemCategory | PurchasingDocumentItemCategory | |||
| Material | Material | |||
| MaterialGroup | ContractPrediction | MaterialGroup | ||
| Plant | Plant | |||
| CostCenter | CostCenter | |||
| PurchasingCategory | ||||
| PurgCatNameendasPurgCatName | ||||
| CreatedByUser | CreatedByUser | |||
| ValidityEndDate | ValidityEndDate | |||
| CalendarYear | I_CalendarDate | CalendarYear | ||
| CalendarQuarter | I_CalendarDate | CalendarQuarter | ||
| CalendarMonth | I_CalendarDate | CalendarMonth | ||
| CalendarWeek | I_CalendarDate | CalendarWeek | ||
| DisplayCurrency | DisplayCurrency | |||
| OrderQuantityUnit | OrderQuantityUnit | |||
| TargetQuantity | 0 | |||
| TargetAmount | ||||
| RelOrdLvlContractTargetAmount | 0 | |||
| ReleaseOrderItemNetAmount | ||||
| ContrNetPrRltvReleasedAmount | ||||
| ReleaseOrderItemOrderQuantity | ||||
| PredictedConsumptionAmount | PredictedConsumptionAmount | |||
| ContractExpiryPredictedDate | ContractExpiryPredictedDate | |||
| PredictedDaysToContrExpiry | PredictedDaysToContrExpiry | |||
| PredictiveConsumptionInPct | ||||
| NumberOfPurchaseOrders | Number of Purchase Orders | |||
| _PurchaseOrderCategory | _PurchaseOrderCategory | |||
| _PurchasingDocumentType | _PurchasingDocumentType | |||
| _PurgDocumentItemCategory | _PurgDocumentItemCategory | |||
| _Material | _Material | |||
| _MaterialGroup | _MaterialGroup | |||
| _Plant | _Plant | |||
| _Supplier | _Supplier | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| _CompanyCode | _CompanyCode |
@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@AbapCatalog.sqlViewName: 'CQTYCONTRACCT'
//Commented by VDM CDS Suite Plugin:@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@VDM.viewType : #CONSUMPTION
@Analytics.dataCategory: #CUBE
@Metadata.allowExtensions:true
@EndUserText.label: 'Quantity Contract Account Assignment'
define view C_QuantityContractAcctAssgmt
with parameters
P_DisplayCurrency : displaycurrency,
P_StartDate : vdm_validitystart,
P_EndDate : vdm_validitystart
as select from P_QuantityContractAcctAssgmt( P_DisplayCurrency:$parameters.P_DisplayCurrency,
P_StartDate:$parameters.P_StartDate,
P_EndDate:$parameters.P_EndDate) as PurchaseContractItem
left outer join I_CalendarDate as RelevantDates on ReleaseOrderDate = RelevantDates.CalendarDate
left outer join I_PurchasingCategoryMatlGroup as PurchasingCategoryMatlGroup on PurchaseContractItem.MaterialGroup = PurchasingCategoryMatlGroup.MaterialGroup
left outer join P_UNSGNDMATGRPTXT as _Doc on DocNumber = _Doc.DocNumber
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_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
association [1..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [1..1] to I_PurchasingDocumentType as _PurchasingDocumentType on $projection.PurchaseContractType = _PurchasingDocumentType.PurchasingDocumentType
and $projection.PurchasingDocumentCategory = _PurchasingDocumentType.PurchasingDocumentCategory
association [1..1] to I_PurgDocumentItemCategory as _PurgDocumentItemCategory on $projection.PurchasingDocumentItemCategory = _PurgDocumentItemCategory.PurchasingDocumentItemCategory
association [1..1] to I_PurchasingDocumentCategory as _PurchaseOrderCategory on $projection.PurchasingDocumentCategory = _PurchaseOrderCategory.PurchasingDocumentCategory //2968854
{
key PurchaseContractItem.PurchaseContract,
key PurchaseContractItem.PurchaseContractItem,
key AccountAssignmentNumber,
key ReleaseOrder,
key ReleaseOrderItem,
concat(ReleaseOrder,ReleaseOrderItem) as PurchaseOrderItemUniqueID,
FormattedPurchaseContractItem,
cast('1' as exbu_type ) as DocNumber,
@ObjectModel.foreignKey.association: '_Supplier'
Supplier,
@ObjectModel.foreignKey.association: '_PurchasingGroup'
PurchaseContractItem.PurchasingGroup,
@ObjectModel.foreignKey.association: '_PurchasingOrganization'
PurchaseContractItem.PurchasingOrganization,
@ObjectModel.foreignKey.association: '_CompanyCode'
PurchaseContractItem.CompanyCode,
@ObjectModel.foreignKey.association: '_PurchaseOrderCategory' //2968854
PurchasingDocumentCategory,
@ObjectModel.foreignKey.association: '_PurchasingDocumentType'
PurchaseContractType,
@ObjectModel.foreignKey.association: '_PurgDocumentItemCategory'
PurchasingDocumentItemCategory,
@ObjectModel.foreignKey.association: '_Material'
PurchaseContractItem.Material,
@ObjectModel.foreignKey.association: '_MaterialGroup'
PurchaseContractItem.MaterialGroup,
@ObjectModel.foreignKey.association: '_Plant'
PurchaseContractItem.Plant,
CostCenter,
cast(coalesce(PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory,'') as /srmsmc/purchasing_category_id) as PurchasingCategory,
case when PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName is null then
_Doc.DomainText // 'Material Group not linked to purchasing category'
else PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName end as PurgCatName,
CreatedByUser,
ValidityEndDate,
@Semantics.calendar.year: true
RelevantDates.CalendarYear,
RelevantDates.CalendarQuarter,
RelevantDates.CalendarMonth,
RelevantDates.CalendarWeek,
@Semantics.currencyCode: true
PurchaseContractItem.DisplayCurrency,
@Semantics.unitOfMeasure: true
PurchaseContractItem.OrderQuantityUnit,
//@Aggregation.default: #SUM
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
PurchaseContractItem.TargetQuantity,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( ContractNetPriceAmount * AverageTargetQuantity as mm_a_target_amount ) as TargetAmount,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( ContractNetPriceAmount * TargetQuantity as mm_a_target_amount ) as RelOrdLvlContractTargetAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast(ReleaseOrderItemNetAmount as mm_a_release_ord_net_amt_21_2 ) as ReleaseOrderItemNetAmount, //3229617
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( ContractNetPriceAmount * ReleaseOrderItemOrderQuantity as mm_a_release_ord_net_amt_21_2 ) as ContrNetPrRltvReleasedAmount, //3229617
//@DefaultAggregation: #SUM
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
ReleaseOrderItemOrderQuantity,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast(0 as mm_a_release_order_net_amount ) as PredictedConsumptionAmount,
@DefaultAggregation: #MAX
cast ( '00000000' as mm_a_cntr_expiry_predict_date) as ContractExpiryPredictedDate,
@DefaultAggregation: #MAX
cast(0 as abap.int4 ) as PredictedDaysToContrExpiry,
@DefaultAggregation: #MAX
cast( 0 as abap.dec(15,2) ) as PredictiveConsumptionInPct,
// Added for ATC,not used in KPI,dont remove as the CDS has @Metadata.allowExtensions:true
@Consumption.hidden: true
@DefaultAggregation: #SUM
@EndUserText.label: 'Number of Purchase Orders'
cast(0 as abap.int4 ) as NumberOfPurchaseOrders,
_PurchaseOrderCategory, //2968854
_PurchasingDocumentType,
_PurgDocumentItemCategory,
_Material,
_MaterialGroup,
_Plant,
_Supplier,
_PurchasingGroup,
_PurchasingOrganization,
_CompanyCode
}
union all select from P_QuantityContractPrediction(P_DisplayCurrency:$parameters.P_DisplayCurrency,
P_StartDate:$parameters.P_StartDate,
P_EndDate:$parameters.P_EndDate) as ContractPrediction
left outer join I_PurchasingCategoryMatlGroup as PurchasingCategoryMatlGroup on ContractPrediction.MaterialGroup = PurchasingCategoryMatlGroup.MaterialGroup
left outer join I_CalendarDate as RelevantDates on ContractPrediction.ContractExpiryPredictedDate = RelevantDates.CalendarDate
left outer join P_UNSGNDMATGRPTXT as _Doc on DocNumber = _Doc.DocNumber
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_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
association [1..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [1..1] to I_PurchasingDocumentType as _PurchasingDocumentType on $projection.PurchaseContractType = _PurchasingDocumentType.PurchasingDocumentType
and $projection.PurchasingDocumentCategory = _PurchasingDocumentType.PurchasingDocumentCategory
association [1..1] to I_PurgDocumentItemCategory as _PurgDocumentItemCategory on $projection.PurchasingDocumentItemCategory = _PurgDocumentItemCategory.PurchasingDocumentItemCategory
association [1..1] to I_PurchasingDocumentCategory as _PurchaseOrderCategory on $projection.PurchasingDocumentCategory = _PurchaseOrderCategory.PurchasingDocumentCategory //2968854
{
key PurchaseContract as PurchaseContract,
key PurchaseContractItem as PurchaseContractItem,
key AccountAssignmentNumber,
key ReleaseOrder,
key ReleaseOrderItem,
concat(ReleaseOrder,ReleaseOrderItem) as PurchaseOrderItemUniqueID,
FormattedPurchaseContractItem,
cast('1' as exbu_type ) as DocNumber,
@ObjectModel.foreignKey.association: '_Supplier'
Supplier,
@ObjectModel.foreignKey.association: '_PurchasingGroup'
PurchasingGroup,
@ObjectModel.foreignKey.association: '_PurchasingOrganization'
PurchasingOrganization,
@ObjectModel.foreignKey.association: '_CompanyCode'
CompanyCode,
@ObjectModel.foreignKey.association: '_PurchaseOrderCategory' //2968854
PurchasingDocumentCategory,
@ObjectModel.foreignKey.association: '_PurchasingDocumentType'
PurchaseContractType,
@ObjectModel.foreignKey.association: '_PurgDocumentItemCategory'
PurchasingDocumentItemCategory,
@ObjectModel.foreignKey.association: '_Material'
Material,
@ObjectModel.foreignKey.association: '_MaterialGroup'
ContractPrediction.MaterialGroup,
@ObjectModel.foreignKey.association: '_Plant'
Plant,
CostCenter,
cast(coalesce(PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory,'') as /srmsmc/purchasing_category_id) as PurchasingCategory,
case when PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName is null then
_Doc.DomainText // 'Material Group not linked to purchasing category'
else PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName end as PurgCatName,
CreatedByUser,
ValidityEndDate,
RelevantDates.CalendarYear,
RelevantDates.CalendarQuarter,
RelevantDates.CalendarMonth,
RelevantDates.CalendarWeek,
@Semantics.currencyCode: true
DisplayCurrency,
@Semantics.unitOfMeasure: true
OrderQuantityUnit,
//@Aggregation.default: #SUM
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
0 as TargetQuantity,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast( 0 as mm_a_target_amount ) as TargetAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
0 as RelOrdLvlContractTargetAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast(0 as mm_a_release_ord_net_amt_21_2 ) as ReleaseOrderItemNetAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
cast(0 as mm_a_release_ord_net_amt_21_2 ) as ContrNetPrRltvReleasedAmount, //3229617
//@DefaultAggregation: #SUM
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
cast( 0 as mm_a_release_order_quantity ) as ReleaseOrderItemOrderQuantity,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
PredictedConsumptionAmount,
@DefaultAggregation: #MAX
ContractExpiryPredictedDate,
@DefaultAggregation: #MAX
PredictedDaysToContrExpiry,
@DefaultAggregation: #MAX
cast( 1 as abap.dec(15,2) ) as PredictiveConsumptionInPct,
// Added for ATC,not used in KPI,dont remove as the CDS has @Metadata.allowExtensions:true
@Consumption.hidden: true
@DefaultAggregation: #SUM
@EndUserText.label: 'Number of Purchase Orders'
cast(0 as abap.int4 ) as NumberOfPurchaseOrders,
_PurchaseOrderCategory, //2968854
_PurchasingDocumentType,
_PurgDocumentItemCategory,
_Material,
_MaterialGroup,
_Plant,
_Supplier,
_PurchasingGroup,
_PurchasingOrganization,
_CompanyCode
//
// _PurchaseContractItem,
// _PurchaseContract,
// _CalendarDate
}
where
PredictedConsumptionAmount >= 0
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA