R_PURCHASEORDERSCHEDULELINE

CDS View

Purchase Order Schedule Line

R_PURCHASEORDERSCHEDULELINE is a CDS View in S/4HANA. Purchase Order Schedule Line. 3 CDS views read from this table.

CDS Views using this table (3)

ViewTypeJoinVDMDescription
I_ACMPurchaseOrderScheduleLine view from COMPOSITE ACM Purchase Order Schedule Line
R_PPS_PurOrderScheduleLineTP view_entity from TRANSACTIONAL Purchase Order Schedule Line
R_PurchaseOrderScheduleLineTP view_entity from TRANSACTIONAL Purchase Order Schedule Line TP view
@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
}