I_MfgOrderDocdGoodsMovement

DDL: I_MFGORDERDOCDGOODSMOVEMENT Type: view_entity BASIC

Documented Goods Movement of a Manufacturing Order

I_MfgOrderDocdGoodsMovement is a Basic CDS View that provides data about "Documented Goods Movement of a Manufacturing Order" in SAP S/4HANA. It reads from 1 data source (I_OrderDocumentedGoodsMovement) and exposes 73 fields with key fields GoodsMovement, GoodsMovementYear, GoodsMovementItem. It has 5 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_OrderDocumentedGoodsMovement I_OrderDocumentedGoodsMovement from

Associations (5)

CardinalityTargetAliasCondition
[1..1] I_ManufacturingOrder _MfgOrder $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
[1..1] I_MfgOrderCategory _MfgOrderCategory $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory
[1..1] I_MfgOrderType _MfgOrderType $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType
[1..1] I_Plant _ProductionPlant $projection.ProductionPlant = _ProductionPlant.Plant
[0..1] I_Batch _Batch $projection.GoodsMovementPlant = _Batch.Plant and $projection.Material = _Batch.Material and $projection.Batch = _Batch.Batch

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #BASIC view
EndUserText.label Documented Goods Movement of a Manufacturing Order view

Fields (73)

KeyFieldSource TableSource FieldDescription
KEY GoodsMovement GoodsMovement
KEY GoodsMovementYear GoodsMovementYear
KEY GoodsMovementItem GoodsMovementItem
ManufacturingOrder
ManufacturingOrderCategory OrderCategory
ManufacturingOrderType
ProductionPlant
Material Material
GoodsMovementPlant GoodsMovementPlant
Reservation Reservation
ReservationItem ReservationItem
ReservationRecordType ReservationRecordType
ReservationIsFinallyIssued ReservationIsFinallyIssued
StorageLocation StorageLocation
Batch Batch
InventoryValuationType InventoryValuationType
DebitCreditCode DebitCreditCode
GoodsMovementType GoodsMovementType
GoodsMovementRefDocType GoodsMovementRefDocType
InventorySpecialStockType InventorySpecialStockType
SalesOrder SalesOrder
SalesOrderItem SalesOrderItem
WBSElementInternalID WBSElementInternalID
PurchaseOrder
PurchaseOrderItem
Supplier Supplier
GoodsRecipientName GoodsRecipientName
UnloadingPointName UnloadingPointName
GoodsReceiptIsNonValuated GoodsReceiptIsNonValuated
GoodsReceiptIsCmpltlyDelivered GoodsReceiptIsCmpltlyDelivered
ControllingArea ControllingArea
GLAccount
PostingDate PostingDate
DocumentDate DocumentDate
BaseUnit BaseUnit
QuantityInBaseUnit QuantityInBaseUnit
EntryUnit EntryUnit
QuantityInEntryUnit QuantityInEntryUnit
CompanyCodeCurrency CompanyCodeCurrency
TotalGoodsMvtAmtInCCCrcy TotalGoodsMvtAmtInCCCrcy
_GoodsMovementYear _GoodsMovementYear
_GoodsMovementHeader _GoodsMovementHeader
_GoodsMovementItem _GoodsMovementItem
_MfgOrder _MfgOrder
_MfgOrderCategory _MfgOrderCategory
_MfgOrderType _MfgOrderType
_ProductionPlant _ProductionPlant
_DocumentDate _DocumentDate
_PostingDate _PostingDate
_Material _Material
_GoodsMovementPlant _GoodsMovementPlant
_Reservation _Reservation
_ReservationItem _ReservationItem
_ReservationRecordType _ReservationRecordType
_StorageLocation _StorageLocation
_Batch _Batch
_BaseUnit _BaseUnit
_EntryUnit _EntryUnit
_GoodsMovementType _GoodsMovementType
_GoodsMovementRefDocType _GoodsMovementRefDocType
_InventorySpecialStockType _InventorySpecialStockType
_InventoryValuationType _InventoryValuationType
_DebitCreditCode _DebitCreditCode
_SalesOrder _SalesOrder
_SalesOrderItem _SalesOrderItem
_WBSElement _WBSElement
_PurchaseOrder _PurchaseOrder
_PurchaseOrderItem _PurchaseOrderItem
_Supplier _Supplier
_SupplierCompanyByPlant _SupplierCompanyByPlant
_GLAccount _GLAccount
_ControllingArea _ControllingArea
_Currency _Currency
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE]
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #BASIC
@EndUserText.label: 'Documented Goods Movement of a Manufacturing Order'

/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
define view entity I_MfgOrderDocdGoodsMovement
  as select from I_OrderDocumentedGoodsMovement

  association [1..1] to I_ManufacturingOrder as _MfgOrder         on  $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
  association [1..1] to I_MfgOrderCategory   as _MfgOrderCategory on  $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory
  association [1..1] to I_MfgOrderType       as _MfgOrderType     on  $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType
  association [1..1] to I_Plant              as _ProductionPlant  on  $projection.ProductionPlant = _ProductionPlant.Plant
  association [0..1] to I_Batch              as _Batch            on  $projection.GoodsMovementPlant = _Batch.Plant
                                                                  and $projection.Material           = _Batch.Material
                                                                  and $projection.Batch              = _Batch.Batch
{     
      // Key

      @ObjectModel.foreignKey.association: '_GoodsMovementHeader'
  key GoodsMovement,
      @ObjectModel.foreignKey.association: '_GoodsMovementYear'
  key GoodsMovementYear, 
      @ObjectModel.foreignKey.association: '_GoodsMovementItem'
  key GoodsMovementItem,

      // Order data

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderStdVH', element: 'ManufacturingOrder' } } ]
      @ObjectModel.foreignKey.association: '_MfgOrder'
      cast(OrderID as manufacturingorder preserving type)       as ManufacturingOrder,
      @ObjectModel.foreignKey.association: '_MfgOrderCategory'
      OrderCategory                                             as ManufacturingOrderCategory,
      @ObjectModel.foreignKey.association: '_MfgOrderType'
      cast(OrderType as manufacturingordertype preserving type) as ManufacturingOrderType,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
      @ObjectModel.foreignKey.association: '_ProductionPlant'
      cast(Plant as pwwrk preserving type)                      as ProductionPlant,

      // Goods Movement data

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductStdVH', element: 'Product' } } ]
      @ObjectModel.foreignKey.association: '_Material'
      Material,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
      @ObjectModel.foreignKey.association: '_GoodsMovementPlant'
      GoodsMovementPlant,
      @ObjectModel.foreignKey.association: '_Reservation'
      Reservation,
      @ObjectModel.foreignKey.association: '_ReservationItem'
      ReservationItem,
      @ObjectModel.foreignKey.association: '_ReservationRecordType'
      ReservationRecordType,
      ReservationIsFinallyIssued,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      StorageLocation,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_BatchStdVH', element: 'Batch' } } ]
      @ObjectModel.foreignKey.association: '_Batch'
      Batch,
      @ObjectModel.foreignKey.association: '_InventoryValuationType'
      InventoryValuationType,
      @ObjectModel.foreignKey.association: '_DebitCreditCode'
      DebitCreditCode,
      @ObjectModel.foreignKey.association: '_GoodsMovementType'
      GoodsMovementType,
      @ObjectModel.foreignKey.association: '_GoodsMovementRefDocType'
      GoodsMovementRefDocType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockType'
      InventorySpecialStockType,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_SalesOrderStdVH', element: 'SalesOrder' } } ]
      @ObjectModel.foreignKey.association: '_SalesOrder'
      SalesOrder,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_SalesOrderItemStdVH', element: 'SalesOrderItem' } } ]
      @ObjectModel.foreignKey.association: '_SalesOrderItem'
      SalesOrderItem,
      @ObjectModel.foreignKey.association: '_WBSElement'
      WBSElementInternalID,
--    @ObjectModel.foreignKey.association: '_PurchaseOrder'
      PurchaseOrder,
--    @ObjectModel.foreignKey.association: '_PurchaseOrderItem'
      PurchaseOrderItem,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_Supplier_VH', element: 'Supplier' } } ]
      @ObjectModel.foreignKey.association: '_Supplier'
      Supplier,
      @Semantics.text: true
      GoodsRecipientName,
      @Semantics.text: true
      UnloadingPointName,
      GoodsReceiptIsNonValuated,
      GoodsReceiptIsCmpltlyDelivered,

      // Assignments FI/CO

      @ObjectModel.foreignKey.association: '_ControllingArea'
      ControllingArea,
--    @ObjectModel.foreignKey.association: '_GLAccount'
      GLAccount,

      // Dates

      @Semantics.businessDate.at: true
      PostingDate,
      @Semantics.businessDate.at: true
      DocumentDate,

      // Quantities and UoM

      BaseUnit,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      QuantityInBaseUnit,

      EntryUnit,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      @Aggregation.default: #SUM
      QuantityInEntryUnit,

      // Amount and Currency

      CompanyCodeCurrency,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @Aggregation.default: #SUM
      TotalGoodsMvtAmtInCCCrcy,

      // Associations

      _GoodsMovementYear,
      _GoodsMovementHeader,
      _GoodsMovementItem,
      @ObjectModel.association.type: [#TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT]
      _MfgOrder,
      _MfgOrderCategory,
      _MfgOrderType,
      _ProductionPlant,
      _DocumentDate,
      _PostingDate,
      _Material,
      _GoodsMovementPlant,
      _Reservation,
      _ReservationItem,
      _ReservationRecordType,
      _StorageLocation,
      _Batch,
      _BaseUnit,
      _EntryUnit,
      _GoodsMovementType,
      _GoodsMovementRefDocType,
      _InventorySpecialStockType,
      _InventoryValuationType,
      _DebitCreditCode,
      _SalesOrder,
      _SalesOrderItem,
      _WBSElement,
      _PurchaseOrder,
      _PurchaseOrderItem,
      _Supplier,
      @Consumption.hidden: true
      _SupplierCompanyByPlant,
      _GLAccount,
      _ControllingArea,
      _Currency
}
where ( OrderCategory = '10' or
        OrderCategory = '40' );  //Manufacturing orders only