R_PurchaseOrderScheduleLine
Purchase Order Schedule Line
R_PurchaseOrderScheduleLine is a Basic CDS View that provides data about "Purchase Order Schedule Line" in SAP S/4HANA. It reads from 2 data sources (I_PurchaseOrderItem, R_PurchasingDocScheduleLine) and exposes 36 fields with key fields PurchaseOrder, PurchaseOrderItem, ScheduleLine. It has 7 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrderItem | I_PurchaseOrderItem | inner |
| R_PurchasingDocScheduleLine | R_PurchasingDocScheduleLine | from |
Associations (7)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_PurchaseOrder | _PurchaseOrder | $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder |
| [1..1] | I_PurchaseOrderItem | _PurchaseOrderItem | $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem |
| [0..1] | I_UnitOfMeasure | _PurchaseOrderQuantityUnit | $projection.PurchaseOrderQuantityUnit = _PurchaseOrderQuantityUnit.UnitOfMeasure |
| [0..1] | I_Currency | _Currency | $projection.Currency = _Currency.Currency |
| [0..1] | I_Purchaserequisition | _PurchaseRequisition | $projection.PurchaseRequisition = _PurchaseRequisition.PurchaseRequisition |
| [0..1] | I_Purchaserequisitionitem | _PurchaseRequisitionItem | $projection.PurchaseRequisition = _PurchaseRequisitionItem.PurchaseRequisition and $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem.PurchaseRequisitionItem |
| [0..*] | I_POSubcontractingCompAPI01 | _SubcontractingComponent | $projection.PurchaseOrder = _SubcontractingComponent.PurchaseOrder and $projection.PurchaseOrderItem = _SubcontractingComponent.PurchaseOrderItem and $projection.ScheduleLine = _SubcontractingComponent.PurchaseOrderScheduleLine |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Purchase Order Schedule Line | view | |
| VDM.viewType | #BASIC | view | |
| AbapCatalog.sqlViewName | RMMPOSCHEDULELN | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.representativeKey | ScheduleLine | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (36)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | R_PurchasingDocScheduleLine | PurchasingDocument | |
| KEY | PurchaseOrderItem | R_PurchasingDocScheduleLine | PurchasingDocumentItem | |
| KEY | ScheduleLine | R_PurchasingDocScheduleLine | ScheduleLine | |
| ScheduleLineDeliveryDate | R_PurchasingDocScheduleLine | ScheduleLineDeliveryDate | ||
| SchedLineStscDeliveryDate | R_PurchasingDocScheduleLine | SchedLineStscDeliveryDate | ||
| PerformancePeriodStartDate | R_PurchasingDocScheduleLine | PerformancePeriodStartDate | ||
| PerformancePeriodEndDate | R_PurchasingDocScheduleLine | PerformancePeriodEndDate | ||
| ScheduleLineDeliveryTime | R_PurchasingDocScheduleLine | ScheduleLineDeliveryTime | ||
| Batch | R_PurchasingDocScheduleLine | Batch | ||
| BatchBySupplier | R_PurchasingDocScheduleLine | BatchBySupplier | ||
| ScheduleLineOrderQuantity | R_PurchasingDocScheduleLine | ScheduleLineOrderQuantity | ||
| RoughGoodsReceiptQty | R_PurchasingDocScheduleLine | RoughGoodsReceiptQty | ||
| OpenPurchaseOrderQuantity | ||||
| PurchaseOrderQuantityUnit | _PurchaseOrderItem | PurchaseOrderQuantityUnit | ||
| Currency | _PurchaseOrderItem | DocumentCurrency | ||
| curr213endasOpenPurchaseOrderNetAmount | ||||
| PurchaseRequisition | R_PurchasingDocScheduleLine | PurchaseRequisition | ||
| PurchaseRequisitionItem | R_PurchasingDocScheduleLine | PurchaseRequisitionItem | ||
| DelivDateCategory | R_PurchasingDocScheduleLine | DelivDateCategory | ||
| ScheduleLineOrderDate | R_PurchasingDocScheduleLine | ScheduleLineOrderDate | ||
| ProductAvailabilityDate | R_PurchasingDocScheduleLine | ProductAvailabilityDate | ||
| LoadingDate | R_PurchasingDocScheduleLine | LoadingDate | ||
| LoadingTime | R_PurchasingDocScheduleLine | LoadingTime | ||
| TransportationPlanningDate | R_PurchasingDocScheduleLine | TransportationPlanningDate | ||
| TransportationPlanningTime | R_PurchasingDocScheduleLine | TransportationPlanningTime | ||
| GoodsIssueDate | R_PurchasingDocScheduleLine | GoodsIssueDate | ||
| GoodsIssueTime | R_PurchasingDocScheduleLine | GoodsIssueTime | ||
| RouteSchedule | R_PurchasingDocScheduleLine | RouteSchedule | ||
| ProductAvailabilityTime | R_PurchasingDocScheduleLine | ProductAvailabilityTime | ||
| _PurchaseRequisition | _PurchaseRequisition | |||
| _PurchaseOrder | _PurchaseOrder | |||
| _PurchaseOrderItem | _PurchaseOrderItem | |||
| _PurchaseOrderQuantityUnit | _PurchaseOrderQuantityUnit | |||
| _Currency | _Currency | |||
| _PurchaseRequisitionItem | _PurchaseRequisitionItem | |||
| _SubcontractingComponent | _SubcontractingComponent |
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin
@EndUserText.label: 'Purchase Order Schedule Line'
@VDM.viewType: #BASIC
@AbapCatalog.sqlViewName: 'RMMPOSCHEDULELN'
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.representativeKey: 'ScheduleLine'
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
define view R_PurchaseOrderScheduleLine
as select from R_PurchasingDocScheduleLine
inner join I_PurchaseOrderItem on R_PurchasingDocScheduleLine.PurchasingDocument = I_PurchaseOrderItem.PurchaseOrder
and R_PurchasingDocScheduleLine.PurchasingDocumentItem = I_PurchaseOrderItem.PurchaseOrderItem
association [1..1] to I_PurchaseOrder as _PurchaseOrder on $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
association [1..1] to I_PurchaseOrderItem as _PurchaseOrderItem on $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
association [0..1] to I_UnitOfMeasure as _PurchaseOrderQuantityUnit on $projection.PurchaseOrderQuantityUnit = _PurchaseOrderQuantityUnit.UnitOfMeasure
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
association [0..1] to I_Purchaserequisition as _PurchaseRequisition on $projection.PurchaseRequisition = _PurchaseRequisition.PurchaseRequisition
association [0..1] to I_Purchaserequisitionitem as _PurchaseRequisitionItem on $projection.PurchaseRequisition = _PurchaseRequisitionItem.PurchaseRequisition
and $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem.PurchaseRequisitionItem
association [0..*] to I_POSubcontractingCompAPI01 as _SubcontractingComponent on $projection.PurchaseOrder = _SubcontractingComponent.PurchaseOrder
and $projection.PurchaseOrderItem = _SubcontractingComponent.PurchaseOrderItem
and $projection.ScheduleLine = _SubcontractingComponent.PurchaseOrderScheduleLine
{
@ObjectModel.foreignKey.association: '_PurchaseOrder'
key R_PurchasingDocScheduleLine.PurchasingDocument as PurchaseOrder,
@ObjectModel.foreignKey.association: '_PurchaseOrderItem'
key R_PurchasingDocScheduleLine.PurchasingDocumentItem as PurchaseOrderItem,
key R_PurchasingDocScheduleLine.ScheduleLine as ScheduleLine,
R_PurchasingDocScheduleLine.ScheduleLineDeliveryDate,
R_PurchasingDocScheduleLine.SchedLineStscDeliveryDate,
R_PurchasingDocScheduleLine.PerformancePeriodStartDate,
R_PurchasingDocScheduleLine.PerformancePeriodEndDate,
R_PurchasingDocScheduleLine.ScheduleLineDeliveryTime,
R_PurchasingDocScheduleLine.Batch,
R_PurchasingDocScheduleLine.BatchBySupplier,
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
@DefaultAggregation: #SUM
R_PurchasingDocScheduleLine.ScheduleLineOrderQuantity,
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
@DefaultAggregation: #SUM
R_PurchasingDocScheduleLine.RoughGoodsReceiptQty,
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
@DefaultAggregation: #SUM
(R_PurchasingDocScheduleLine.ScheduleLineOrderQuantity - R_PurchasingDocScheduleLine.RoughGoodsReceiptQty) as OpenPurchaseOrderQuantity,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_PurchaseOrderQuantityUnit'
_PurchaseOrderItem.PurchaseOrderQuantityUnit as PurchaseOrderQuantityUnit,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_Currency'
_PurchaseOrderItem.DocumentCurrency as Currency,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
case
when ( _PurchaseOrderItem.OrderQuantity = 0 ) // prevent division by 0
then
0
else
cast(( R_PurchasingDocScheduleLine.ScheduleLineOrderQuantity - R_PurchasingDocScheduleLine.RoughGoodsReceiptQty) *
DIVISION( _PurchaseOrderItem.NetAmount , _PurchaseOrderItem.OrderQuantity, 3 )
as abap.curr( 21, 3 ))
end as OpenPurchaseOrderNetAmount,
@ObjectModel.foreignKey.association: '_PurchaseRequisition'
R_PurchasingDocScheduleLine.PurchaseRequisition,
@ObjectModel.foreignKey.association: '_PurchaseRequisitionItem'
R_PurchasingDocScheduleLine.PurchaseRequisitionItem,
// Fields added for R_*TP development
R_PurchasingDocScheduleLine.DelivDateCategory,
R_PurchasingDocScheduleLine.ScheduleLineOrderDate,
R_PurchasingDocScheduleLine.ProductAvailabilityDate,
R_PurchasingDocScheduleLine.LoadingDate,
R_PurchasingDocScheduleLine.LoadingTime,
R_PurchasingDocScheduleLine.TransportationPlanningDate,
R_PurchasingDocScheduleLine.TransportationPlanningTime,
R_PurchasingDocScheduleLine.GoodsIssueDate,
R_PurchasingDocScheduleLine.GoodsIssueTime,
R_PurchasingDocScheduleLine.RouteSchedule,
R_PurchasingDocScheduleLine.ProductAvailabilityTime,
// GoodsReceiptEndDate,
// GoodsReceiptEndTime,
// CommittedDate,
// HandoverDte,
// HandoverTme,
// GeographicalRoute,
// Associations
_PurchaseRequisition,
_PurchaseOrder,
_PurchaseOrderItem,
_PurchaseOrderQuantityUnit,
_Currency,
_PurchaseRequisitionItem,
_SubcontractingComponent
}
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