P_ProcOrdOpsMgmtGoodsMovement

DDL: P_PROCORDOPSMGMTGOODSMOVEMENT SQL: PPOROPGDMVMT Type: view COMPOSITE Package: VDM_PP_PROC_ORD_MNG

Process Order Operation Goods Movement

P_ProcOrdOpsMgmtGoodsMovement is a Composite CDS View that provides data about "Process Order Operation Goods Movement" in SAP S/4HANA. It reads from 1 data source (I_MaterialDocumentRecord) and exposes 27 fields with key fields MaterialDocument, MaterialDocumentYear, MaterialDocumentItem. It has 5 associations to related views. Part of development package VDM_PP_PROC_ORD_MNG.

Data Sources (1)

SourceAliasJoin Type
I_MaterialDocumentRecord _Document from

Associations (5)

CardinalityTargetAliasCondition
[1..1] I_ManufacturingOrder _Order $projection.ProcessOrder = _Order.ManufacturingOrder and _Order.ManufacturingOrderCategory = '40'
[0..1] I_MaterialText _MaterialText $projection.Material = _MaterialText.Material and _MaterialText.Language = $session.system_language
[0..1] I_GoodsMovementTypeT _GoodsMovementTypeText $projection.GoodsMovementType = _GoodsMovementTypeText.GoodsMovementType and _GoodsMovementTypeText.Language = $session.system_language
[0..1] P_ProcOrdMgmtFirstOperation _FirstOperation $projection.ProcessOrder = _FirstOperation.ProcessOrder
[0..1] P_ProcOrdMgmtLastOperation _LastOperation $projection.ProcessOrder = _LastOperation.ProcessOrder

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName PPOROPGDMVMT view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ClientHandling.type #CLIENT_DEPENDENT view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY MaterialDocument MaterialDocument
KEY MaterialDocumentYear MaterialDocumentYear
KEY MaterialDocumentItem MaterialDocumentItem
ProcessOrder I_MaterialDocumentRecord ManufacturingOrder
ManufacturingOrderItem ManufacturingOrderItem
ManufacturingOrderCategory _Order ManufacturingOrderCategory
ManufacturingOrderType _Order ManufacturingOrderType
ProductionPlant _Order ProductionPlant
ProductionSupervisor _Order ProductionSupervisor
Plant I_MaterialDocumentRecord Plant
PlantName
GoodsMovementType GoodsMovementType
GoodsMovementTypeName _GoodsMovementTypeText GoodsMovementTypeName
Material I_MaterialDocumentRecord Material
MaterialName _MaterialText MaterialName
PostingDate PostingDate
QuantityInBaseUnit QuantityInBaseUnit
BaseUnit MaterialBaseUnit
QuantityInEntryUnit QuantityInEntryUnit
EntryUnit EntryUnit
PlantForEdit I_MaterialDocumentRecord Plant
MaterialForEdit I_MaterialDocumentRecord Material
BatchForEdit Batch
Batch Batch
StorageLocation StorageLocation
StorageLocationName _StorageLocation StorageLocationName
GoodsMovementIsCancelled GoodsMovementIsCancelled
@AbapCatalog.sqlViewName: 'PPOROPGDMVMT'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
//@EndUserText.label: 'Process Order Operation Goods Movement'

@AccessControl.personalData.blocking: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ClientHandling.type: #CLIENT_DEPENDENT
@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #MIXED}
@VDM.viewType: #COMPOSITE
@VDM.private: true
define view P_ProcOrdOpsMgmtGoodsMovement
  as select from I_MaterialDocumentRecord as _Document
  association [1..1] to I_ManufacturingOrder        as _Order                 on  $projection.ProcessOrder          = _Order.ManufacturingOrder
                                                                              and _Order.ManufacturingOrderCategory = '40'
  association [0..1] to I_MaterialText              as _MaterialText          on  $projection.Material   = _MaterialText.Material
                                                                              and _MaterialText.Language = $session.system_language

  association [0..1] to I_GoodsMovementTypeT        as _GoodsMovementTypeText on  $projection.GoodsMovementType   = _GoodsMovementTypeText.GoodsMovementType
                                                                              and _GoodsMovementTypeText.Language = $session.system_language

  association [0..1] to P_ProcOrdMgmtFirstOperation as _FirstOperation        on  $projection.ProcessOrder = _FirstOperation.ProcessOrder
  //and $projection.OrderInternalBillOfOperations = _FirstOperation.MfgOrderInternalID

  association [0..1] to P_ProcOrdMgmtLastOperation  as _LastOperation         on  $projection.ProcessOrder = _LastOperation.ProcessOrder
  // and $projection.OrderInternalBillOfOperations = _LastOperation.MfgOrderInternalID

{
  key   MaterialDocument,
  key   MaterialDocumentYear,
  key   MaterialDocumentItem,


        case when MaintOrderRoutingNumber is not initial then
                MaintOrderRoutingNumber
                else _Order.MfgOrderInternalID end                    as OrderInternalBillOfOperations,

        case when MaintOrderOperationCounter is not initial then
         MaintOrderOperationCounter
         when GoodsMovementType = '261' or GoodsMovementType = '262' or GoodsMovementType = '531' or GoodsMovementType = '532'
         then        _FirstOperation.OrderOperationInternalID
         when    GoodsMovementType = '101' or GoodsMovementType = '102'
         then             _LastOperation.OrderOperationInternalID end as OrderIntBillOfOperationsItem,

        _Document.ManufacturingOrder                                  as ProcessOrder,
        ManufacturingOrderItem,

        _Order.ManufacturingOrderCategory                             as ManufacturingOrderCategory,

        _Order.ManufacturingOrderType                                 as ManufacturingOrderType,

        _Order.ProductionPlant,

        _Order.ProductionSupervisor,

        _Document.Plant,
        _Document._Plant.PlantName,

        GoodsMovementType,
        _GoodsMovementTypeText.GoodsMovementTypeName,

        _Document.Material,
        _MaterialText.MaterialName,

        PostingDate,

        QuantityInBaseUnit,
        MaterialBaseUnit                                              as BaseUnit,
        
        QuantityInEntryUnit,
        EntryUnit,

        _Document.Plant                                               as PlantForEdit,
        _Document.Material                                            as MaterialForEdit,

        Batch                                                         as BatchForEdit,
        Batch,
        StorageLocation,
        _StorageLocation.StorageLocationName,
        GoodsMovementIsCancelled
}
where
  _Order.ManufacturingOrderCategory = '40';