R_PurchaseOrderScheduleLine

DDL: R_PURCHASEORDERSCHEDULELINE SQL: RMMPOSCHEDULELN Type: view BASIC

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)

SourceAliasJoin Type
I_PurchaseOrderItem I_PurchaseOrderItem inner
R_PurchasingDocScheduleLine R_PurchasingDocScheduleLine from

Associations (7)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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
}