A_ProductionOrder_2

DDL: A_PRODUCTIONORDER_2 Type: view_entity COMPOSITE

Production Order

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

Data Sources (1)

SourceAliasJoin Type
I_MfgOrderDuration I_MfgOrderDuration from

Associations (8)

CardinalityTargetAliasCondition
[0..*] A_ProductionOrderOperation_2 _ProductionOrderOperation $projection.ManufacturingOrder = _ProductionOrderOperation.ManufacturingOrder
[0..*] A_ProductionOrderComponent_2 _ProductionOrderComponent $projection.ManufacturingOrder = _ProductionOrderComponent.ManufacturingOrder
[0..*] A_ProductionOrderComponent_3 _ProductionOrderComponentExt $projection.ManufacturingOrder = _ProductionOrderComponentExt.ManufacturingOrder
[0..*] A_ProductionOrderComponent_4 _ProductionOrderComponentExt4 $projection.ManufacturingOrder = _ProductionOrderComponentExt4.ManufacturingOrder
[0..*] A_ProductionOrderItem_2 _ProductionOrderItem $projection.ManufacturingOrder = _ProductionOrderItem.ManufacturingOrder
[0..*] A_ProductionOrderStatus_2 _ProductionOrderStatus $projection.ManufacturingOrder = _ProductionOrderStatus.ManufacturingOrder
[0..*] A_ProductionRsceTools_2 _ProductionRsceTools $projection.ManufacturingOrder = _ProductionRsceTools.ManufacturingOrder
[1..1] E_LogisticsOrder _Extension $projection.ManufacturingOrder = _Extension.OrderID

Annotations (12)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Production Order view
VDM.viewType #COMPOSITE view
AccessControl.personalData.blocking #REQUIRED view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.representativeKey ManufacturingOrder 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 (79)

KeyFieldSource TableSource FieldDescription
KEY ManufacturingOrder
ManufacturingOrderCategory ManufacturingOrderCategory
ManufacturingOrderType ManufacturingOrderType
OrderLongText _LongText PlainLongText
ManufacturingOrderImportance ManufacturingOrderImportance
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
MfgOrderCreationDate MfgOrderCreationDate
MfgOrderCreationTime MfgOrderCreationTime
Material Material
StorageLocation StorageLocation
GoodsRecipientName GoodsRecipientName
UnloadingPointName UnloadingPointName
InventoryUsabilityCode InventoryUsabilityCode
MaterialGoodsReceiptDuration MaterialGoodsReceiptDuration
QuantityDistributionKey QuantityDistributionKey
StockSegment StockSegment
OrderInternalBillOfOperations OrderInternalBillOfOperations
ProductionPlant ProductionPlant
Plant MRPPlant
MRPArea MRPArea
MRPController MRPController
ProductionSupervisor ProductionSupervisor
ProductionVersion ProductionVersion
PlannedOrder PlannedOrder
SalesOrder SalesOrder
SalesOrderItem SalesOrderItem
BasicSchedulingType BasicSchedulingType
ManufacturingObject ObjectInternalID
ProductConfiguration ProductConfiguration
OrderSequenceNumber OrderSequenceNumber
BusinessArea BusinessArea
CompanyCode CompanyCode
ProfitCenter ProfitCenter
ActualCostsCostingVariant ActualCostsCostingVariant Actual Costing Variant
PlannedCostsCostingVariant PlannedCostsCostingVariant Planned Costing Variant
FunctionalArea FunctionalArea
MfgOrderPlannedStartDate MfgOrderPlannedStartDate
MfgOrderPlannedStartTime MfgOrderPlannedStartTime
MfgOrderPlannedEndDate MfgOrderPlannedEndDate
MfgOrderPlannedEndTime MfgOrderPlannedEndTime
MfgOrderScheduledStartDate MfgOrderScheduledStartDate
MfgOrderScheduledStartTime MfgOrderScheduledStartTime
MfgOrderScheduledEndDate MfgOrderScheduledEndDate
MfgOrderScheduledEndTime MfgOrderScheduledEndTime
MfgOrderActualReleaseDate MfgOrderActualReleaseDate
ProductionUnit ProductionUnit
ProductionUnitISOCode _ProductionUnit UnitOfMeasureISOCode
ProductionUnitSAPCode _ProductionUnit UnitOfMeasureSAPCode
TotalQuantity MfgOrderPlannedTotalQty
MfgOrderPlannedScrapQty MfgOrderPlannedScrapQty
MfgOrderConfirmedYieldQty MfgOrderConfirmedYieldQty
CustomerName
WBSElementExternalID _WBSElementBasicData WBSElementExternalID
_ProductionOrderOperation _ProductionOrderOperation
_ProductionOrderComponent _ProductionOrderComponent
_ProductionOrderComponentExt _ProductionOrderComponentExt
_ProductionOrderComponentExt4 _ProductionOrderComponentExt4
_ProductionOrderStatus _ProductionOrderStatus
_ProductionOrderItem _ProductionOrderItem
_ProductionRsceTools _ProductionRsceTools
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Production Order'
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #REQUIRED
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.representativeKey: 'ManufacturingOrder'
@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_2 as select from I_MfgOrderDuration

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

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

                                                     on  $projection.ManufacturingOrder = _ProductionOrderComponent.ManufacturingOrder
                                                      
  association [0..*] to A_ProductionOrderComponent_3 as _ProductionOrderComponentExt  // Components with Recordtype and Extensibility

                                                     on  $projection.ManufacturingOrder = _ProductionOrderComponentExt.ManufacturingOrder

  association [0..*] to A_ProductionOrderComponent_4 as _ProductionOrderComponentExt4  // Components with Recordtype and Extensibility. Change via RAP BO

                                                     on  $projection.ManufacturingOrder = _ProductionOrderComponentExt4.ManufacturingOrder

  association [0..*] to A_ProductionOrderItem_2      as _ProductionOrderItem               // Items

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

                                                     on  $projection.ManufacturingOrder = _ProductionOrderStatus.ManufacturingOrder

//Name of the A-View A_ProductionRsceTools_2 is not correct, this should be corrected with Production Order (Version 3) see also Process Order (Version 2)                                                      

  association [0..*] to A_ProductionRsceTools_2      as _ProductionRsceTools               // PRT   

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

                                                     on  $projection.ManufacturingOrder = _Extension.OrderID
                                                                                                                                                     
{
      // Key

  @ObjectModel.sapObjectNodeTypeReference: 'ProductionOrder'
  key cast(ManufacturingOrder                        as vdm_manufacturingorder preserving type) as ManufacturingOrder,                                                         

      // Category and Type

      @ObjectModel.sapObjectNodeTypeReference: 'ManufacturingOrderCategory'
      ManufacturingOrderCategory,
      @ObjectModel.sapObjectNodeTypeReference: 'ManufacturingOrderType'
      ManufacturingOrderType,
      
      // Text

      @Semantics.text:true
      _LongText.PlainLongText                        as OrderLongText,                     // New field in CE2008


      // Attributes

      @ObjectModel.sapObjectNodeTypeReference: 'ManufacturingOrderImportance'
      ManufacturingOrderImportance,                                                        // New change field in CE2008         


      // Status

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

      // Admin

      MfgOrderCreationDate,
      MfgOrderCreationTime,      
      case LastChangeDate
        when '00000000' then                                                               // not changed yet, use create

          concat(MfgOrderCreationDate,MfgOrderCreationTime)          
        else
          concat(LastChangeDate,LastChangeTime)
      end                                            as LastChangeDateTime,                // eTag


      // Header Material data          

      Material,
      @ObjectModel.sapObjectNodeTypeReference: 'StorageLocation'                                                                            
      StorageLocation,                                                                     // New change field in CE2008

      @Semantics.text: true      
      GoodsRecipientName,                                                                  // New change field in CE2008

      @Semantics.text: true   
      UnloadingPointName,                                                                  // New change field in CE2008

      @ObjectModel.sapObjectNodeTypeReference: 'InventoryUsabilityCode'
      InventoryUsabilityCode,                                                              // New change field in CE2008       

      MaterialGoodsReceiptDuration,                                                        // New change field in CE2008

      QuantityDistributionKey,                                                             // New change field in CE2008

      StockSegment,                                                                        // New change field in CE2008

                    
      // Assignments

      OrderInternalBillOfOperations,
      ProductionPlant,
      MRPPlant                                  as Plant,
      @ObjectModel.sapObjectNodeTypeReference: 'MRPArea'      
      MRPArea,
      @ObjectModel.sapObjectNodeTypeReference: 'MRPController'
      MRPController,                                                                       // New change field in CE2008

      @ObjectModel.sapObjectNodeTypeReference: 'ProductionSupervisor'    
      ProductionSupervisor,
      ProductionVersion,                                                                   // New change field in CE2008    

      @ObjectModel.sapObjectNodeTypeReference: 'PlannedOrder'
      PlannedOrder,
      @ObjectModel.sapObjectNodeTypeReference: 'SalesOrder'
      SalesOrder,
      SalesOrderItem,
      @ObjectModel.sapObjectNodeTypeReference: 'SchedulingType'
      BasicSchedulingType,
      ObjectInternalID as ManufacturingObject,
      ProductConfiguration,                                                                // New field in CE2008

      OrderSequenceNumber,                                                                 // New change field in CE2008    

 
      // Assignments FI/CO

      @ObjectModel.sapObjectNodeTypeReference: 'BusinessArea'
      BusinessArea,                                                                        // New change field in CE2008                                

      @ObjectModel.sapObjectNodeTypeReference: 'CompanyCode'
      CompanyCode,
      @ObjectModel.sapObjectNodeTypeReference: 'ProfitCenter'
      ProfitCenter,                                                                        // New change field in CE2008

      @EndUserText.label: 'Actual Costing Variant'
      @ObjectModel.sapObjectNodeTypeReference: 'CostingVariant'
      ActualCostsCostingVariant,
      @EndUserText.label: 'Planned Costing Variant'
      PlannedCostsCostingVariant,
      FunctionalArea,                            
                   
      // Dates and Times

      MfgOrderPlannedStartDate,
      MfgOrderPlannedStartTime,
      MfgOrderPlannedEndDate,
      MfgOrderPlannedEndTime,
      MfgOrderScheduledStartDate,
      MfgOrderScheduledStartTime,
      MfgOrderScheduledEndDate,
      MfgOrderScheduledEndTime,
      MfgOrderActualReleaseDate,
                 
      // Quantities and UoM

      ProductionUnit,
      _ProductionUnit.UnitOfMeasureISOCode           as ProductionUnitISOCode,             // CE2105 

      _ProductionUnit.UnitOfMeasureSAPCode           as ProductionUnitSAPCode,             // CE2105

      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      MfgOrderPlannedTotalQty                        as TotalQuantity,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      MfgOrderPlannedScrapQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      MfgOrderConfirmedYieldQty,
      
      // Associations

      _SalesDocument._SoldToParty.CustomerName       as CustomerName,
      _WBSElementBasicData.WBSElementExternalID,                                           // New field in CE2008

      _ProductionOrderOperation,
      _ProductionOrderComponent,
      _ProductionOrderComponentExt,
      _ProductionOrderComponentExt4,
      _ProductionOrderStatus,
      _ProductionOrderItem,
      _ProductionRsceTools

}
where
  ManufacturingOrderCategory = '10';
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTOMER",
"I_MFGORDERDURATION",
"I_ORDERLONGTEXT",
"I_SALESDOCUMENT",
"I_UNITOFMEASURE",
"I_WBSELEMENTBASICDATA"
],
"ASSOCIATED":
[
"A_PRODUCTIONORDERCOMPONENT_2",
"A_PRODUCTIONORDERCOMPONENT_3",
"A_PRODUCTIONORDERCOMPONENT_4",
"A_PRODUCTIONORDERITEM_2",
"A_PRODUCTIONORDEROPERATION_2",
"A_PRODUCTIONORDERSTATUS_2",
"A_PRODUCTIONRSCETOOLS_2"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/