A_ProductionOrder

DDL: A_PRODUCTIONORDER Type: view_entity COMPOSITE

API Production Order

A_ProductionOrder is a Composite CDS View that provides data about "API Production Order" in SAP S/4HANA. It reads from 1 data source (I_MfgOrderDuration) and exposes 77 fields with key field ProductionOrder. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MfgOrderDuration I_MfgOrderDuration from

Associations (6)

CardinalityTargetAliasCondition
[0..*] A_ProductionOrderOperation _ProductionOrderOperation $projection.ProductionOrder = _ProductionOrderOperation.ManufacturingOrder
[0..*] A_ProductionOrderComponent _ProductionOrderComponent $projection.ProductionOrder = _ProductionOrderComponent.ManufacturingOrder
[0..*] A_ProductionOrderItem _ProductionOrderItem $projection.ProductionOrder = _ProductionOrderItem.ManufacturingOrder
[0..*] A_ProductionOrderStatus _ProductionOrderStatus $projection.ProductionOrder = _ProductionOrderStatus.ManufacturingOrder
[0..*] A_ProductionRsceTools _ProductionRsceTools $projection.ProductionOrder = _ProductionRsceTools.ManufacturingOrder
[1..1] E_LogisticsOrder _Extension $projection.ProductionOrder = _Extension.OrderID

Annotations (11)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label API Production Order view
VDM.viewType #COMPOSITE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.representativeKey ProductionOrder 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 (77)

KeyFieldSource TableSource FieldDescription
KEY ProductionOrder ManufacturingOrder Production Order
ProductionPlant ProductionPlant
OrderInternalBillOfOperations OrderInternalBillOfOperations
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 ObjectInternalID
Plant MRPPlant
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
ActualCostsCostingVariant ActualCostsCostingVariant
UserID _MRPController UserID
ProductionVersion ProductionVersion
MRPController MRPController
ProductionSupervisor ProductionSupervisor
ManufacturingOrderCategory ManufacturingOrderCategory
_ProductionOrderOperation _ProductionOrderOperation
_ProductionOrderComponent _ProductionOrderComponent
_ProductionOrderStatus _ProductionOrderStatus
_ProductionOrderItem _ProductionOrderItem
_ProductionRsceTools _ProductionRsceTools
BusinessArea BusinessArea
MfgOrderPlannedScrapQty MfgOrderPlannedScrapQty
ProfitCenter ProfitCenter
ManufacturingOrderImportance ManufacturingOrderImportance
OrderSequenceNumber OrderSequenceNumber
MfgOrderCreationDate MfgOrderCreationDate
MfgOrderCreationTime MfgOrderCreationTime
MfgOrderActualReleaseDate MfgOrderActualReleaseDate
GoodsRecipientName GoodsRecipientName
MaterialGoodsReceiptDuration MaterialGoodsReceiptDuration
InventoryUsabilityCode InventoryUsabilityCode
UnloadingPointName UnloadingPointName
QuantityDistributionKey QuantityDistributionKey
StockSegment StockSegment
StorageLocation StorageLocation
BasicSchedulingType BasicSchedulingType
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'API Production Order'
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.representativeKey: 'ProductionOrder'
@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_ProductionOrder as select from I_MfgOrderDuration

  association [0..*] to A_ProductionOrderOperation      as _ProductionOrderOperation // Operations

                                                                          on  $projection.ProductionOrder = _ProductionOrderOperation.ManufacturingOrder
  association [0..*] to A_ProductionOrderComponent      as _ProductionOrderComponent // Components

                                                                          on  $projection.ProductionOrder = _ProductionOrderComponent.ManufacturingOrder
  association [0..*] to A_ProductionOrderItem     as _ProductionOrderItem // Items

                                                                          on  $projection.ProductionOrder = _ProductionOrderItem.ManufacturingOrder
  association [0..*] to A_ProductionOrderStatus   as _ProductionOrderStatus // Status

                                                                          on  $projection.ProductionOrder = _ProductionOrderStatus.ManufacturingOrder
  association [0..*] to A_ProductionRsceTools     as _ProductionRsceTools //PRT

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

                                                                          on  $projection.ProductionOrder = _Extension.OrderID
                                                                                                                                                     
{

      //General Information

      @EndUserText.label: 'Production Order'
  key ManufacturingOrder                                                as   ProductionOrder,
      ProductionPlant,
      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,
      ObjectInternalID as ManufacturingObject,      
      MRPPlant                                                            as   Plant,      
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      MfgOrderConfirmedYieldQty,
      //Dates/Times

      MfgOrderPlannedStartDate,
      MfgOrderPlannedStartTime,
      MfgOrderPlannedEndDate,
      MfgOrderPlannedEndTime,
      MfgOrderScheduledStartDate,
      MfgOrderScheduledStartTime,
      MfgOrderScheduledEndDate,
      MfgOrderScheduledEndTime,
      SalesOrder,
      SalesOrderItem,
      PlannedOrder,
      _PlannedOrder._Customer.CustomerName                                 as   CustomerName,
      cast( _WBSElement.WBSElement as rcpe_ps_posnr  preserving type )     as   WBSElement,
      WBSElementInternalID,
      @Semantics.text: true
      _WBSElement.WBSDescription,
      CompanyCode,
      FunctionalArea,
      PlannedCostsCostingVariant,
      ActualCostsCostingVariant,
      _MRPController.UserID                                                as   UserID,
      ProductionVersion,
      //Responsibilities

      MRPController,
      ProductionSupervisor,
      ManufacturingOrderCategory,
      _ProductionOrderOperation,
      _ProductionOrderComponent,
      _ProductionOrderStatus,
      _ProductionOrderItem,
      _ProductionRsceTools,

      // added for extension of API_PRODUCION_ORDERS

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

      // additional items

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

          concat(MfgOrderCreationDate,MfgOrderCreationTime)
        else
          concat(LastChangeDate,LastChangeTime)
      end as LastChangeDateTime,
      BasicSchedulingType
}

where
  ManufacturingOrderCategory = '10';
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTOMER",
"I_MATERIAL",
"I_MATERIALTEXT",
"I_MFGORDERDURATION",
"I_MRPCONTROLLER",
"I_PLANNEDORDER",
"I_WBSELEMENTBYINTERNALKEY"
],
"ASSOCIATED":
[
"A_PRODUCTIONORDERCOMPONENT",
"A_PRODUCTIONORDERITEM",
"A_PRODUCTIONORDEROPERATION",
"A_PRODUCTIONORDERSTATUS",
"A_PRODUCTIONRSCETOOLS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/