I_ORDERDOCUMENTEDGOODSMOVEMENT

CDS View

Documented Goods Movement of an Order

I_ORDERDOCUMENTEDGOODSMOVEMENT is a CDS View in S/4HANA. Documented Goods Movement of an Order. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
I_MfgOrderDocdGoodsMovement view_entity from BASIC Documented Goods Movement of a Manufacturing Order
@AbapCatalog.sqlViewName: 'IORDDOCDGMVT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@ClientHandling.algorithm: #SESSION_VARIABLE
@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 an Order'

/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
define view I_OrderDocumentedGoodsMovement
  as select from aufm as aufm
    inner join   aufk as aufk on aufm.aufnr = aufk.aufnr

  association [1..1] to I_MaterialDocumentYear      as _GoodsMovementYear         on  $projection.GoodsMovementYear = _GoodsMovementYear.MaterialDocumentYear
  association [1..1] to I_MaterialDocumentHeader_2  as _GoodsMovementHeader       on  $projection.GoodsMovementYear = _GoodsMovementHeader.MaterialDocumentYear
                                                                                  and $projection.GoodsMovement     = _GoodsMovementHeader.MaterialDocument
  association [1..1] to I_MaterialDocumentItem_2    as _GoodsMovementItem         on  $projection.GoodsMovementYear = _GoodsMovementItem.MaterialDocumentYear 
                                                                                  and $projection.GoodsMovement     = _GoodsMovementItem.MaterialDocument
                                                                                  and $projection.GoodsMovementItem = _GoodsMovementItem.MaterialDocumentItem
  association [0..1] to I_LogisticsOrder            as _Order                     on  $projection.OrderID = _Order.OrderID
  association [0..1] to I_ProjectNetwork            as _ProjectNetwork            on  $projection.ProjectNetwork = _ProjectNetwork.ProjectNetwork 
  association [1..1] to I_OrderType                 as _OrderType                 on  $projection.OrderType = _OrderType.OrderType
  association [1..1] to I_OrderCategory             as _OrderCategory             on  $projection.OrderCategory = _OrderCategory.OrderCategory
  association [1..1] to I_Plant                     as _OrderPlant                on  $projection.Plant = _OrderPlant.Plant
  association [0..1] to I_CalendarDate              as _DocumentDate              on  $projection.DocumentDate = _DocumentDate.CalendarDate
  association [0..1] to I_CalendarDate              as _PostingDate               on  $projection.PostingDate = _PostingDate.CalendarDate
  association [0..1] to I_ReservationDocumentHeader as _Reservation               on  $projection.Reservation = _Reservation.Reservation
  association [0..1] to I_ReservationDocumentItem   as _ReservationItem           on  $projection.Reservation           = _ReservationItem.Reservation
                                                                                  and $projection.ReservationItem       = _ReservationItem.ReservationItem
                                                                                  and $projection.ReservationRecordType = _ReservationItem.RecordType
  association [0..1] to I_ReservationDocRecordType  as _ReservationRecordType     on  $projection.ReservationRecordType = _ReservationRecordType.RecordType
  association [0..1] to I_Plant                     as _GoodsMovementPlant        on  $projection.GoodsMovementPlant = _GoodsMovementPlant.Plant
  association [0..1] to I_Product                   as _Material                  on  $projection.Material = _Material.Product
  association [0..1] to I_UnitOfMeasure             as _BaseUnit                  on  $projection.BaseUnit = _BaseUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure             as _EntryUnit                 on  $projection.EntryUnit = _EntryUnit.UnitOfMeasure
  association [1..1] to I_GoodsMovementType         as _GoodsMovementType         on  $projection.GoodsMovementType = _GoodsMovementType.GoodsMovementType
  association [0..1] to I_GoodsMovementRefDocType   as _GoodsMovementRefDocType   on  $projection.GoodsMovementRefDocType = _GoodsMovementRefDocType.GoodsMovementRefDocType
  association [0..1] to I_InventorySpecialStockType as _InventorySpecialStockType on  $projection.InventorySpecialStockType = _InventorySpecialStockType.InventorySpecialStockType
  association [0..1] to I_InventoryValuationType    as _InventoryValuationType    on  $projection.InventoryValuationType = _InventoryValuationType.InventoryValuationType
  association [0..1] to I_DebitCreditCode           as _DebitCreditCode           on  $projection.DebitCreditCode = _DebitCreditCode.DebitCreditCode
  association [0..1] to I_StorageLocation           as _StorageLocation           on  $projection.GoodsMovementPlant = _StorageLocation.Plant
                                                                                  and $projection.StorageLocation    = _StorageLocation.StorageLocation
  association [0..1] to I_Batch                     as _Batch                     on  $projection.Plant    = _Batch.Plant
                                                                                  and $projection.Material = _Batch.Material
                                                                                  and $projection.Batch    = _Batch.Batch
  association [0..1] to I_SalesOrder                as _SalesOrder                on  $projection.SalesOrder = _SalesOrder.SalesOrder
  association [0..1] to I_SalesOrderItem            as _SalesOrderItem            on  $projection.SalesOrder     = _SalesOrderItem.SalesOrder
                                                                                  and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem
  association [0..1] to I_WBSElementBasicData       as _WBSElement                on  $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
  association [0..1] to I_PurchaseOrderAPI01        as _PurchaseOrder             on  $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
  association [0..1] to I_PurchaseOrderItemAPI01    as _PurchaseOrderItem         on  $projection.PurchaseOrder     = _PurchaseOrderItem.PurchaseOrder
                                                                                  and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
  association [0..1] to I_Supplier                  as _Supplier                  on  $projection.Supplier = _Supplier.Supplier
  association [0..1] to I_SupplierCompanyByPlant    as _SupplierCompanyByPlant    on  $projection.GoodsMovementPlant = _SupplierCompanyByPlant.Plant 
                                                                                  and $projection.Supplier           = _SupplierCompanyByPlant.Supplier
  association [0..1] to I_ControllingArea           as _ControllingArea           on  $projection.ControllingArea = _ControllingArea.ControllingArea
  association [0..*] to I_GLAccount                 as _GLAccount                 on  $projection.GLAccount   = _GLAccount.GLAccount
  association [0..1] to I_Currency                  as _Currency                  on  $projection.CompanyCodeCurrency = _Currency.Currency

{     
      // Key

      @ObjectModel.foreignKey.association: '_GoodsMovementHeader'
  key aufm.mblnr                                                as GoodsMovement,
      @ObjectModel.foreignKey.association: '_GoodsMovementYear'
  key cast(aufm.mjahr as nsdm_mjahr preserving type)            as GoodsMovementYear, 
      @ObjectModel.foreignKey.association: '_GoodsMovementItem'
  key cast(aufm.zeile as nsdm_mblpo preserving type)            as GoodsMovementItem,

      // Order or Network

      @ObjectModel.foreignKey.association: '_Order'
      aufm.aufnr                                                as OrderID,
      @ObjectModel.foreignKey.association: '_ProjectNetwork'
      aufm.nplnr                                                as ProjectNetwork,
      @ObjectModel.foreignKey.association: '_OrderCategory'
      cast(aufk.autyp as pph_autyp preserving type)             as OrderCategory,
      @ObjectModel.foreignKey.association: '_OrderType'
      aufk.auart                                                as OrderType,
      @ObjectModel.foreignKey.association: '_OrderPlant'
      aufk.werks                                                as Plant,

      // Goods Movement data

      @ObjectModel.foreignKey.association: '_Material'
      cast(aufm.matnr as co_matnr preserving type)              as Material,
      @ObjectModel.foreignKey.association: '_GoodsMovementPlant'
      aufm.werks                                                as GoodsMovementPlant,
      @ObjectModel.foreignKey.association: '_Reservation'
      aufm.rsnum                                                as Reservation,
      @ObjectModel.foreignKey.association: '_ReservationItem'
      cast(aufm.rspos as pph_rspos preserving type)             as ReservationItem,
      @ObjectModel.foreignKey.association: '_ReservationRecordType'
      cast(aufm.rsart as pph_rsart preserving type)             as ReservationRecordType,
      aufm.kzear                                                as ReservationIsFinallyIssued,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      cast(aufm.lgort as pph_lgort preserving type)             as StorageLocation,
      @ObjectModel.foreignKey.association: '_Batch'
      aufm.charg                                                as Batch,
      @ObjectModel.foreignKey.association: '_InventoryValuationType'
      cast(aufm.bwtar as pph_bwtar preserving type)             as InventoryValuationType,
      @ObjectModel.foreignKey.association: '_DebitCreditCode'
      cast(aufm.shkzg as pph_shkzg preserving type)             as DebitCreditCode,
      @ObjectModel.foreignKey.association: '_GoodsMovementType'
      cast(aufm.bwart as pph_bwart preserving type)             as GoodsMovementType,
      @ObjectModel.foreignKey.association: '_GoodsMovementRefDocType'
      cast(aufm.kzbew as pph_kzbew preserving type)             as GoodsMovementRefDocType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockType'
      cast(aufm.sobkz as pph_sobkz preserving type)             as InventorySpecialStockType,
      @ObjectModel.foreignKey.association: '_SalesOrder'
      cast(aufm.kdauf as co_kdauf preserving type)              as SalesOrder,
      @ObjectModel.foreignKey.association: '_SalesOrderItem'
      cast(aufm.kdpos as co_kdpos preserving type)              as SalesOrderItem,
      @ObjectModel.foreignKey.association: '_WBSElement'
      cast(aufm.ps_psp_pnr as ps_s4_pspnr preserving type)      as WBSElementInternalID,
--    @ObjectModel.foreignKey.association: '_PurchaseOrder'
      cast(aufm.ebeln as vdm_purchaseorder preserving type)     as PurchaseOrder,
--    @ObjectModel.foreignKey.association: '_PurchaseOrderItem'
      cast(aufm.ebelp as vdm_purchaseorderitem preserving type) as PurchaseOrderItem,
      @ObjectModel.foreignKey.association: '_Supplier'
      aufm.lifnr                                                as Supplier,
      @Semantics.text: true
      cast(aufm.wempf as pph_wempf preserving type)             as GoodsRecipientName,
      @Semantics.text: true
      aufm.ablad                                                as UnloadingPointName,
      cast(aufm.weunb as pph_weunb preserving type)             as GoodsReceiptIsNonValuated,
      aufm.elikz                                                as GoodsReceiptIsCmpltlyDelivered,

      // Assignments FI/CO

      @ObjectModel.foreignKey.association: '_ControllingArea'
      aufm.kokrs as ControllingArea,
--    @ObjectModel.foreignKey.association: '_GLAccount'
      aufm.sakto as GLAccount,

      // Dates

      @Semantics.businessDate.at: true
      aufm.budat as PostingDate,
      aufm.bldat as DocumentDate,

      // Quantities and UoM

      @Semantics.unitOfMeasure: true
      aufm.meins as BaseUnit,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      cast(aufm.menge as vdm_pp_menge preserving type) as QuantityInBaseUnit,
      @Semantics.unitOfMeasure: true
      aufm.erfme as EntryUnit,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      @Aggregation.default: #SUM
      cast(aufm.erfmg as pph_erfmg preserving type)    as QuantityInEntryUnit,

      // Amount and Currency

      @Semantics.currencyCode: true
      aufm.waers as CompanyCodeCurrency,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @Aggregation.default: #SUM
      cast(aufm.dmbtr as pph_dmbtr preserving type)    as TotalGoodsMvtAmtInCCCrcy,

      // Associations

      _GoodsMovementYear,
      _GoodsMovementHeader,
      _GoodsMovementItem,
      _Order,
      _ProjectNetwork,
      _OrderCategory,
      _OrderType,
      _OrderPlant,
      _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
};