A_ProcessOrder

DDL: A_PROCESSORDER Type: view_entity COMPOSITE Package: ODATA_PP_API_PROCORDER

API Process Order

A_ProcessOrder is a Composite CDS View that provides data about "API Process Order" in SAP S/4HANA. It reads from 1 data source (I_MfgOrderWithStatus) and exposes 76 fields with key field ProcessOrder. It has 5 associations to related views. Part of development package ODATA_PP_API_PROCORDER.

Data Sources (1)

SourceAliasJoin Type
I_MfgOrderWithStatus I_MfgOrderWithStatus from

Associations (5)

CardinalityTargetAliasCondition
[0..*] A_ProcessOrderOperation _ProcessOrderOperation $projection.ProcessOrder = _ProcessOrderOperation.ManufacturingOrder
[0..*] A_ProcessOrderComponent _ProcessOrderComponent $projection.ProcessOrder = _ProcessOrderComponent.ManufacturingOrder
[0..*] A_ProcessOrderItem _ProcessOrderItem $projection.ProcessOrder = _ProcessOrderItem.ManufacturingOrder
[0..*] A_ProcessOrderStatus _ProcessOrderStatus $projection.ProcessOrder = _ProcessOrderStatus.ManufacturingOrder
[1..1] E_LogisticsOrder _Extension $projection.ProcessOrder = _Extension.OrderID

Annotations (11)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label API Process Order view
VDM.viewType #COMPOSITE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.representativeKey ProcessOrder view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view

Fields (76)

KeyFieldSource TableSource FieldDescription
KEY ProcessOrder ManufacturingOrder Process Order
ProductionPlant ProductionPlant
OrderInternalBillOfOperations MfgOrderInternalID Operation Task List No.
OrderIsCreated OrderIsCreated
OrderIsReleased OrderIsReleased
OrderIsPrinted OrderIsPrinted
OrderIsConfirmed OrderIsConfirmed
OrderIsPartiallyConfirmed OrderIsPartiallyConfirmed
OrderIsDelivered OrderIsDelivered
OrderIsDeleted OrderIsDeleted
OrderIsPreCosted OrderIsPreCosted
SettlementRuleIsCreated SettlementRuleIsCreated
OrderIsPartiallyReleased OrderIsPartiallyReleased
OrderIsLocked OrderIsLocked
OrderIsTechnicallyCompleted OrderIsTechnicallyCompleted
OrderIsClosed OrderIsClosed
OrderIsPartiallyDelivered OrderIsPartiallyDelivered
OrderIsMarkedForDeletion OrderIsMarkedForDeletion
SettlementRuleIsCrtedManually SettlementRuleIsCrtedManually
OrderIsScheduled OrderIsScheduled
OrderHasGeneratedOperations OrderHasGeneratedOperations
OrderIsToBeHandledInBatches OrderIsToBeHandledInBatches
MaterialAvailyIsNotChecked MaterialAvailyIsNotChecked
Material Material
MaterialName
ProductionUnit ProductionUnit
TotalQuantity MfgOrderPlannedTotalQty
ManufacturingOrderType ManufacturingOrderType
MRPArea MRPArea
ManufacturingObject ManufacturingObject
Plant PlanningPlant
MfgOrderConfirmedYieldQty MfgOrderConfirmedYieldQty
MfgOrderPlannedStartDate MfgOrderPlannedStartDate
MfgOrderPlannedStartTime MfgOrderPlannedStartTime
MfgOrderPlannedEndDate MfgOrderPlannedEndDate
MfgOrderPlannedEndTime MfgOrderPlannedEndTime
MfgOrderScheduledStartDate MfgOrderScheduledStartDate
MfgOrderScheduledStartTime MfgOrderScheduledStartTime
MfgOrderScheduledEndDate MfgOrderScheduledEndDate
MfgOrderScheduledEndTime MfgOrderScheduledEndTime
SalesOrder SalesOrder
SalesOrderItem SalesOrderItem
PlannedOrder PlannedOrder
CustomerName
WBSElement
WBSElementInternalID WBSElementInternalID
WBSDescription _WBSElement WBSDescription
CompanyCode CompanyCode
FunctionalArea FunctionalArea
PlannedCostsCostingVariant PlannedCostsCostingVariant Planned Costing Variant
ActualCostsCostingVariant ActualCostsCostingVariant Actual Costing Variant
UserID _MRPController UserID
ProductionVersion ProductionVersion
MRPController MRPController
ProductionSupervisor ProductionSupervisor Production Supervisor
ManufacturingOrderCategory ManufacturingOrderCategory
_ProcessOrderOperation _ProcessOrderOperation
_ProcessOrderComponent _ProcessOrderComponent
_ProcessOrderItem _ProcessOrderItem
_ProcessOrderStatus _ProcessOrderStatus
BusinessArea BusinessArea
MfgOrderPlannedScrapQty MfgOrderPlannedScrapQty
ProfitCenter ProfitCenter
ManufacturingOrderImportance ManufacturingOrderImportance
OrderSequenceNumber OrderSequenceNumber
MfgOrderCreationDate CreationDate
MfgOrderCreationTime CreationTime
MfgOrderActualReleaseDate MfgOrderActualReleaseDate
GoodsRecipientName GoodsRecipientName
MaterialGoodsReceiptDuration MaterialGoodsReceiptDuration
InventoryUsabilityCode InventoryUsabilityCode
UnloadingPointName UnloadingPointName
QuantityDistributionKey QuantityDistributionKey
StockSegment StockSegment
StorageLocation StorageLocation
BasicSchedulingType BasicSchedulingType
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'API Process Order'
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.representativeKey: 'ProcessOrder'
@ObjectModel.createEnabled: true
@ObjectModel.updateEnabled: true
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED}
@VDM.lifecycle.contract.type: #PUBLIC_REMOTE_API

define view entity A_ProcessOrder as select from I_MfgOrderWithStatus

  association [0..*] to A_ProcessOrderOperation     as _ProcessOrderOperation // Operations

                                                                          on  $projection.ProcessOrder = _ProcessOrderOperation.ManufacturingOrder
  association [0..*] to A_ProcessOrderComponent     as _ProcessOrderComponent // Components

                                                                          on  $projection.ProcessOrder = _ProcessOrderComponent.ManufacturingOrder
  association [0..*] to A_ProcessOrderItem          as _ProcessOrderItem // Items

                                                                          on  $projection.ProcessOrder = _ProcessOrderItem.ManufacturingOrder
  association [0..*] to A_ProcessOrderStatus        as _ProcessOrderStatus // Status

                                                                          on  $projection.ProcessOrder = _ProcessOrderStatus.ManufacturingOrder
  association [1..1] to E_LogisticsOrder            as _Extension           // Extensibility

                                                                          on  $projection.ProcessOrder = _Extension.OrderID                                                                          
{

      //General Information

      @EndUserText.label: 'Process Order'
  key ManufacturingOrder                                                                                                                                                                                 as   ProcessOrder,
      ProductionPlant,
      @EndUserText.label: 'Operation Task List No.'
      MfgOrderInternalID as OrderInternalBillOfOperations,

      // Status

      OrderIsCreated,
      OrderIsReleased,
      OrderIsPrinted,
      OrderIsConfirmed,
      OrderIsPartiallyConfirmed,
      OrderIsDelivered,
      OrderIsDeleted,
      OrderIsPreCosted,
      SettlementRuleIsCreated,
      OrderIsPartiallyReleased,
      OrderIsLocked,
      OrderIsTechnicallyCompleted,
      OrderIsClosed,
      OrderIsPartiallyDelivered,
      OrderIsMarkedForDeletion,
      SettlementRuleIsCrtedManually,
      OrderIsScheduled,
      OrderHasGeneratedOperations,
      OrderIsToBeHandledInBatches,
      MaterialAvailyIsNotChecked,
      
      Material,

      _Material._Text[1: Language=$session.system_language].MaterialName                                                                                                                                 as   MaterialName,
      ProductionUnit,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      MfgOrderPlannedTotalQty                                                                                                                                                                            as   TotalQuantity,
      ManufacturingOrderType,
      MRPArea,
      ManufacturingObject,

      PlanningPlant                                                                                                                                                                                      as   Plant,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      MfgOrderConfirmedYieldQty,
      //Dates/Times

      MfgOrderPlannedStartDate,
      MfgOrderPlannedStartTime,
      MfgOrderPlannedEndDate,
      MfgOrderPlannedEndTime,
      MfgOrderScheduledStartDate,
      MfgOrderScheduledStartTime,
      MfgOrderScheduledEndDate,
      MfgOrderScheduledEndTime,

      //       Assignments

      SalesOrder,
      SalesOrderItem,
      PlannedOrder,
      _SalesDocument._SoldToParty.CustomerName,
      cast( _WBSElement.WBSElement as rcpe_ps_posnr preserving type )                                                                                                                                    as   WBSElement,

      WBSElementInternalID,
      @Semantics.text: true
      _WBSElement.WBSDescription,
      CompanyCode,

      FunctionalArea,
      @EndUserText.label: 'Planned Costing Variant'
      PlannedCostsCostingVariant,
      
      @EndUserText.label: 'Actual Costing Variant'
      ActualCostsCostingVariant,

      _MRPController.UserID,
      ProductionVersion,
 
      //Responsibilities

      MRPController,
      @EndUserText.label: 'Production Supervisor'
      ProductionSupervisor,
      ManufacturingOrderCategory,
      _ProcessOrderOperation,
      _ProcessOrderComponent,
      _ProcessOrderItem,
      _ProcessOrderStatus,
      
    // added for extension of API_PROCESS_ORDERS

      BusinessArea,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      MfgOrderPlannedScrapQty,
      ProfitCenter,
      ManufacturingOrderImportance,
      OrderSequenceNumber,
      CreationDate as MfgOrderCreationDate,
      CreationTime as MfgOrderCreationTime,
      MfgOrderActualReleaseDate,

      // additional items

      GoodsRecipientName,
      MaterialGoodsReceiptDuration,
      InventoryUsabilityCode,
      UnloadingPointName,
      QuantityDistributionKey,
      StockSegment,
      StorageLocation,
          
      
      case LastChangeDate
        when '00000000' then  // not changed yet, use create

          concat(CreationDate,CreationTime)
        else
          concat(LastChangeDate,LastChangeTime)
      end as LastChangeDateTime,    
      BasicSchedulingType
}
where
  ManufacturingOrderCategory = '40';