I_HandlingUnitHeaderCombined

DDL: I_HANDLINGUNITHEADERCOMBINED Type: view COMPOSITE Package: LOHUM_VDM

Combined Handling Units from ERP and EWM

I_HandlingUnitHeaderCombined is a Composite CDS View that provides data about "Combined Handling Units from ERP and EWM" in SAP S/4HANA. It reads from 2 data sources (I_HndlgUntHdrERPAddlFieldsEWM, P_EWM_HandlingUnitHeader08) and exposes 159 fields with key fields HandlingUnitExternalID, Warehouse, Warehouse. It has 5 associations to related views. Part of development package LOHUM_VDM.

Data Sources (2)

SourceAliasJoin Type
I_HndlgUntHdrERPAddlFieldsEWM I_HndlgUntHdrERPAddlFieldsEWM from
P_EWM_HandlingUnitHeader08 P_EWM_HandlingUnitHeader08 union_all

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_UnitOfMeasure _WeightUnit _WeightUnit.UnitOfMeasure = P_EWM_HandlingUnitHeader08.WeightUnit
[0..1] I_UnitOfMeasure _WeightUnitTare _WeightUnitTare.UnitOfMeasure = P_EWM_HandlingUnitHeader08.HandlingUnitTareWeightUnit
[0..1] I_UnitOfMeasure _VolumeUnit _VolumeUnit.UnitOfMeasure = P_EWM_HandlingUnitHeader08.VolumeUnit
[0..1] I_UnitOfMeasure _VolumeUnitTare _VolumeUnitTare.UnitOfMeasure = P_EWM_HandlingUnitHeader08.HandlingUnitTareVolumeUnit
[0..1] I_UnitOfMeasure _UnitOfMeasureDimension _UnitOfMeasureDimension.UnitOfMeasure = P_EWM_HandlingUnitHeader08.EWMDimensionUnit

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName IHANDLINGUNITHCO view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Combined Handling Units from ERP and EWM view
Metadata.ignorePropagatedAnnotations true view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (159)

KeyFieldSource TableSource FieldDescription
KEY HandlingUnitExternalID HandlingUnitExternalID
KEY Warehouse EWMWarehouse
HandlingUnitCharUUID HandlingUnitCharUUID
HandlingUnitInternalCharUUID HandlingUnitInternalCharUUID
HandlingUnitExternalIdType HandlingUnitExternalIdType
HandlingUnitInternalID HandlingUnitInternalID
SourceHandlingUnitUUID HandlingUnitHandle
HandlingUnitSecondExternalId HandlingUnitSecondExternalId
HandlingUnitLowerLevelRefer HandlingUnitLowerLevelRefer
ParentHandlingUnitNumber ParentHandlingUnitNumber
HighestLevelHandlingUnitNumber HighestLevelHandlingUnitNumber
Plant Plant
StorageLocation StorageLocation
ShippingPoint ShippingPoint
PackagingMaterial PackagingMaterial
PackagingMaterialType PackagingMaterialType
PackingInstruction PackingInstruction
GrossWeight GrossWeight
NetWeight NetWeight
HandlingUnitMaxWeight HandlingUnitMaxWeight
WeightUnit WeightUnit
HandlingUnitTareWeight HandlingUnitTareWeight
HandlingUnitTareWeightUnit HandlingUnitTareWeightUnit
GrossVolume GrossVolume
HandlingUnitNetVolume HandlingUnitNetVolume
HandlingUnitMaxVolume HandlingUnitMaxVolume
VolumeUnit VolumeUnit
HandlingUnitTareVolume HandlingUnitTareVolume
HandlingUnitTareVolumeUnit HandlingUnitTareVolumeUnit
HandlingUnitLength HandlingUnitLength
HandlingUnitWidth HandlingUnitWidth
HandlingUnitHeight HandlingUnitHeight
UnitOfMeasureDimension HandlingUnitDimensionUnit
HandlingUnitPackingObjectType HandlingUnitPackingObjectType
HandlingUnitReferenceDocument HandlingUnitReferenceDocument
HandlingUnitHasCrossRefDoc HandlingUnitHasCrossRefDoc
ShipToParty ShipToParty
CreatedByUser CreatedByUser
CreationDateTime HandlingUnitCreationDateTime
LastChangedByUser LastChangedByUser
LastChangeDateTime HandlingUnitLastChangeDateTime
HandlingUnitInternalStatus HandlingUnitInternalStatus
HandlingUnitProcessStatus HandlingUnitProcessStatus
StorageType EWMStorageType
StorageSection StorageSection
StorageBin EWMStorageBin
EWMResource EWMResource
EWMConsolidationGroup EWMConsolidationGroup
HandlingUnitIsClosed HandlingUnitIsClosed
HandlingUnitType HandlingUnitType
ExternalStorageProcessStep ExternalStorageProcessStep
EWMHUProcessStepIsCompleted EWMHUProcessStepIsCompleted
StorageProcess StorageProcess
EWMHandlingUnitIsPlanned EWMHandlingUnitIsPlanned
EWMHandlingUnitIsInStock EWMHandlingUnitIsInStock
EWMHandlingUnitIsUnloaded EWMHandlingUnitIsUnloaded
EWMHandlingUnitIsLoaded EWMHandlingUnitIsLoaded
EWMTranspUnitIsAssigned EWMTranspUnitIsAssigned
EWMHUContentChangeIsBlocked EWMHUContentChangeIsBlocked
EWMHUMovementChangeIsBlocked EWMHUMovementChangeIsBlocked
EWMHUAttributeChangeIsBlocked EWMHUAttributeChangeIsBlocked
EWMHUPostingChangeIsBlocked EWMHUPostingChangeIsBlocked
EWMHUIsBlockedByCustoms EWMHUIsBlockedByCustoms
EWMHUIsPackedForShipping EWMHUIsPackedForShipping
EntitledToDisposeParty EntitledToDisposeParty
HandlingUnitLogicalPosition HandlingUnitLogicalPosition
HandlingUnitPackingGroup HandlingUnitPackingGroup
HazardousSubstanceIndicator HazardousSubstanceIndicator
WorkloadIdentification WorkloadIdentification
HandlingUnitWeightTolerance HandlingUnitWeightTolerance
HandlingUnitVolumeTolerance HandlingUnitVolumeTolerance
HandlingUnitMaxLength HandlingUnitMaxLength
HandlingUnitMaxWidth HandlingUnitMaxWidth
HandlingUnitMaxHeight HandlingUnitMaxHeight
HandlingUnitMaxDimensionUnit HandlingUnitMaxDimensionUnit
HandlingUnitOrigin HandlingUnitOrigin
_WeightUnit _WeightUnit
_WeightUnitTare _WeightUnitTare
_VolumeUnit _VolumeUnit
_VolumeUnitTare _VolumeUnitTare
KEY Warehouse EWMWarehouse
HandlingUnitCharUUID
HandlingUnitInternalCharUUID
HandlingUnitExternalIdType
HandlingUnitInternalID
SourceHandlingUnitUUID
HandlingUnitSecondExternalId
HandlingUnitLowerLevelRefer
ParentHandlingUnitNumber ParentHandlingUnitNumber
HighestLevelHandlingUnitNumber EWMHghstLvlHandlingUnitNumber
Plant
StorageLocation
ShippingPoint
PackagingMaterial PackagingMaterial
PackagingMaterialType PackagingMaterialType
PackingInstruction
GrossWeight GrossWeight
NetWeight NetWeight
HandlingUnitMaxWeight HandlingUnitMaxWeight
WeightUnit WeightUnit
HandlingUnitTareWeight HandlingUnitTareWeight
HandlingUnitTareWeightUnit HandlingUnitTareWeightUnit
GrossVolume GrossVolume
HandlingUnitNetVolume HandlingUnitNetVolume
HandlingUnitMaxVolume HandlingUnitMaxVolume
VolumeUnit VolumeUnit
HandlingUnitTareVolume HandlingUnitTareVolume
HandlingUnitTareVolumeUnit HandlingUnitTareVolumeUnit
HandlingUnitLength HandlingUnitLength
HandlingUnitWidth HandlingUnitWidth
HandlingUnitHeight HandlingUnitHeight
UnitOfMeasureDimension EWMDimensionUnit
HandlingUnitReferenceDocument ReferenceDocumentNumber
HandlingUnitHasCrossRefDoc HandlingUnitHasCrossRefDoc
ShipToParty ShipToParty
CreatedByUser CreatedByUser
CreationDateTime CreationDateTime
LastChangedByUser
LastChangeDateTime
HandlingUnitInternalStatus
HandlingUnitProcessStatus HandlingUnitStatus
StorageType EWMStorageType
StorageSection EWMStorageBinSection
StorageBin EWMStorageBin
EWMResource EWMResource
EWMConsolidationGroup EWMConsolidationGroup
HandlingUnitIsClosed HandlingUnitIsClosed
HandlingUnitType HandlingUnitType
ExternalStorageProcessStep ExternalStorageProcessStep
EWMHUProcessStepIsCompleted EWMHUProcessStepIsCompleted
StorageProcess StorageProcess
EWMHandlingUnitIsPlanned EWMHandlingUnitIsPlanned
EWMHandlingUnitIsInStock EWMHandlingUnitIsInStock
EWMHandlingUnitIsUnloaded EWMHandlingUnitIsUnloaded
EWMHandlingUnitIsLoaded EWMHandlingUnitIsLoaded
EWMTranspUnitIsAssigned EWMTranspUnitIsAssigned
EWMHUContentChangeIsBlocked EWMHUContentChangeIsBlocked
EWMHUMovementChangeIsBlocked EWMHUMovementChangeIsBlocked
EWMHUAttributeChangeIsBlocked EWMHUAttributeChangeIsBlocked
EWMHUPostingChangeIsBlocked EWMHUPostingChangeIsBlocked
EWMHUIsBlockedByCustoms EWMHUIsBlockedByCustoms
EWMHUIsPackedForShipping EWMHUIsPackedForShipping
EntitledToDisposeParty EntitledToDisposeParty
HandlingUnitLogicalPosition HandlingUnitLogicalPosition
HandlingUnitPackingGroup HandlingUnitPackingGroup
HazardousSubstanceIndicator HazardousSubstanceIndicator
WorkloadIdentification WorkloadIdentification
HandlingUnitWeightTolerance HandlingUnitWeightTolerance
HandlingUnitVolumeTolerance HandlingUnitVolumeTolerance
HandlingUnitMaxLength HandlingUnitMaxLength
HandlingUnitMaxWidth HandlingUnitMaxWidth
HandlingUnitMaxHeight HandlingUnitMaxHeight
HandlingUnitMaxDimensionUnit HandlingUnitMaxDimensionUnit
HandlingUnitOrigin
_WeightUnit _WeightUnit
_WeightUnitTare _WeightUnitTare
_VolumeUnit _VolumeUnit
_VolumeUnitTare _VolumeUnitTare
_UnitOfMeasureDimension _UnitOfMeasureDimension
@AbapCatalog: {
    sqlViewName: 'IHANDLINGUNITHCO',
    compiler.compareFilter: true
}

@ClientHandling.algorithm: #SESSION_VARIABLE

@EndUserText.label: 'Combined Handling Units from ERP and EWM'

@Metadata.ignorePropagatedAnnotations: true

@AccessControl: {
    authorizationCheck:    #MANDATORY,
    personalData.blocking: #BLOCKED_DATA_EXCLUDED
}

@ObjectModel: {
    usageType: {
      dataClass:      #MIXED,
      serviceQuality: #C,
      sizeCategory:   #XL
    }
}

@VDM: {
    viewType: #COMPOSITE,
    lifecycle.contract.type: #SAP_INTERNAL_API
}

// This view is a union of two parts: the Handling Units managed by ERP and the Handling Units managed by CloudWM / EWM

// The Handling Units are distinguished by the key field 'Warehouse'

// For ERP Handling Units the Warehouse is always empty, for EWM Handling Units the Warehouse is always filled

define view I_HandlingUnitHeaderCombined

  // Part I: Handling Units managed by ERP

  as select from I_HndlgUntHdrERPAddlFieldsEWM

{
      // Key

  key HandlingUnitExternalID,
  @Environment.sql.passValue: true
  key EWMWarehouse                   as Warehouse,

      // Identifier fields

      HandlingUnitCharUUID,
      HandlingUnitInternalCharUUID,
      HandlingUnitExternalIdType,
      HandlingUnitInternalID,
      HandlingUnitHandle             as SourceHandlingUnitUUID,
      HandlingUnitSecondExternalId,

      // Identifier fields of parent

      HandlingUnitLowerLevelRefer,
      ParentHandlingUnitNumber,
      HighestLevelHandlingUnitNumber,

      // Organizational data

      Plant,
      StorageLocation,
      ShippingPoint,

      // Packaging data

      PackagingMaterial,
      PackagingMaterialType,
      PackingInstruction,

      // Weights

      @Semantics.quantity.unitOfMeasure: 'WeightUnit'
      GrossWeight,
      @Semantics.quantity.unitOfMeasure: 'WeightUnit'
      NetWeight,
      @Semantics.quantity.unitOfMeasure: 'WeightUnit'
      HandlingUnitMaxWeight,
      @Semantics.unitOfMeasure:true
      WeightUnit,
      @Semantics.quantity.unitOfMeasure: 'HandlingUnitTareWeightUnit'
      HandlingUnitTareWeight,
      @Semantics.unitOfMeasure:true
      HandlingUnitTareWeightUnit,

      // Volumes

      @Semantics.quantity.unitOfMeasure: 'VolumeUnit'
      GrossVolume,
      @Semantics.quantity.unitOfMeasure: 'VolumeUnit'
      HandlingUnitNetVolume,
      @Semantics.quantity.unitOfMeasure: 'VolumeUnit'
      HandlingUnitMaxVolume,
      @Semantics.unitOfMeasure:true
      VolumeUnit,
      @Semantics.quantity.unitOfMeasure: 'HandlingUnitTareVolumeUnit'
      HandlingUnitTareVolume,
      @Semantics.unitOfMeasure:true
      HandlingUnitTareVolumeUnit,

      // Dimensions

      @Semantics.quantity.unitOfMeasure: 'UnitOfMeasureDimension'
      HandlingUnitLength,
      @Semantics.quantity.unitOfMeasure: 'UnitOfMeasureDimension'
      HandlingUnitWidth,
      @Semantics.quantity.unitOfMeasure: 'UnitOfMeasureDimension'
      HandlingUnitHeight,
      @Semantics.unitOfMeasure:true
      HandlingUnitDimensionUnit      as UnitOfMeasureDimension,

      // Reference object

      HandlingUnitPackingObjectType,
      HandlingUnitReferenceDocument,
      HandlingUnitHasCrossRefDoc,

      //Delivery

      ShipToParty,

      // Change log

      CreatedByUser,
      @Semantics.systemDateTime.createdAt: true
      HandlingUnitCreationDateTime   as CreationDateTime,
      LastChangedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      HandlingUnitLastChangeDateTime as LastChangeDateTime,

      // Status

      HandlingUnitInternalStatus,
      HandlingUnitProcessStatus,

      // EWM fields - Organizational data

      EWMStorageType                 as StorageType,
      StorageSection,
      EWMStorageBin                  as StorageBin,
      EWMResource,

      // EWM fields - Handling Unit specifics

      EWMConsolidationGroup,
      HandlingUnitIsClosed,
      HandlingUnitType,

      // EWM fields - Process storage control

      ExternalStorageProcessStep,
      EWMHUProcessStepIsCompleted,
      StorageProcess,

      // EWM fields - Handling Unit process status

      EWMHandlingUnitIsPlanned,
      EWMHandlingUnitIsInStock,
      EWMHandlingUnitIsUnloaded,
      EWMHandlingUnitIsLoaded,
      EWMTranspUnitIsAssigned,

      // EWM fields - Handling Unit blocked status

      EWMHUContentChangeIsBlocked,
      EWMHUMovementChangeIsBlocked,
      EWMHUAttributeChangeIsBlocked,
      EWMHUPostingChangeIsBlocked,
      EWMHUIsBlockedByCustoms,
      EWMHUIsPackedForShipping,

      // EWM fields - Other

      EntitledToDisposeParty,
      HandlingUnitLogicalPosition,
      HandlingUnitPackingGroup,
      HazardousSubstanceIndicator,
      WorkloadIdentification,
      @Semantics.quantity.unitOfMeasure: 'WeightUnit'
      HandlingUnitWeightTolerance,
      @Semantics.quantity.unitOfMeasure: 'VolumeUnit'
      HandlingUnitVolumeTolerance,

      // EWM fields - Maximum dimensions

      @Semantics.quantity.unitOfMeasure: 'HandlingUnitMaxDimensionUnit'
      HandlingUnitMaxLength,
      @Semantics.quantity.unitOfMeasure: 'HandlingUnitMaxDimensionUnit'
      HandlingUnitMaxWidth,
      @Semantics.quantity.unitOfMeasure: 'HandlingUnitMaxDimensionUnit'
      HandlingUnitMaxHeight,
      @Semantics.unitOfMeasure: true
      HandlingUnitMaxDimensionUnit,

      // EWM fields - Origin

      HandlingUnitOrigin,

      // Associations

      _WeightUnit,
      _WeightUnitTare,
      _VolumeUnit,
      _VolumeUnitTare,
      _UnitOfMeasureDimension
}

union all

  // Part II: Handling Units managed by EWM

  select from P_EWM_HandlingUnitHeader08
  
  association [0..1] to I_UnitOfMeasure as _WeightUnit             on _WeightUnit.UnitOfMeasure = P_EWM_HandlingUnitHeader08.WeightUnit
  association [0..1] to I_UnitOfMeasure as _WeightUnitTare         on _WeightUnitTare.UnitOfMeasure = P_EWM_HandlingUnitHeader08.HandlingUnitTareWeightUnit
  association [0..1] to I_UnitOfMeasure as _VolumeUnit             on _VolumeUnit.UnitOfMeasure = P_EWM_HandlingUnitHeader08.VolumeUnit
  association [0..1] to I_UnitOfMeasure as _VolumeUnitTare         on _VolumeUnitTare.UnitOfMeasure = P_EWM_HandlingUnitHeader08.HandlingUnitTareVolumeUnit
  association [0..1] to I_UnitOfMeasure as _UnitOfMeasureDimension on _UnitOfMeasureDimension.UnitOfMeasure = P_EWM_HandlingUnitHeader08.EWMDimensionUnit

{
      // Key

  key HandlingUnitNumber                                                                        as HandlingUnitExternalID,
  @Environment.sql.passValue: true
  key EWMWarehouse                                                                              as Warehouse,

      // Identifier fields

      bintohex(EWMHandlingUnitExternalUUID)                                                     as HandlingUnitCharUUID,
      bintohex(HandlingUnitUUID)                                                                as HandlingUnitInternalCharUUID,
      cast(' ' as exida preserving type)                                                        as HandlingUnitExternalIdType,
      cast('          ' as venum preserving type)                                               as HandlingUnitInternalID,
      cast('0000000000000000000000' as guid_vekp)                                               as SourceHandlingUnitUUID,
      cast('00000000000000000000' as exidv2 )                                                   as HandlingUnitSecondExternalId,

      // Identifier fields of parent

      cast('          ' as uevel preserving type)                                               as HandlingUnitLowerLevelRefer,
      ParentHandlingUnitNumber,
      EWMHghstLvlHandlingUnitNumber                                                             as HighestLevelHandlingUnitNumber,

      // Organizational data - for EWM HUs Plant and Storage location are not filled

      // An EWM HU can contain items from different Plants

      cast('    ' as hum_werks preserving type)                                                 as Plant,
      cast('    ' as hum_lgort preserving type)                                                 as StorageLocation,
      cast('    ' as vstel preserving type)                                                     as ShippingPoint,

      // Packaging data

      PackagingMaterial                                                                         as PackagingMaterial,
      PackagingMaterialType                                                                     as PackagingMaterialType,
      cast('                      ' as pl_packnr_conv preserving type)                          as PackingInstruction,

      // Weights

      GrossWeight,
      NetWeight,
      HandlingUnitMaxWeight,
      WeightUnit,
      HandlingUnitTareWeight,
      HandlingUnitTareWeightUnit,

      // Volumes

      GrossVolume,
      HandlingUnitNetVolume,
      HandlingUnitMaxVolume,
      VolumeUnit,
      HandlingUnitTareVolume,
      HandlingUnitTareVolumeUnit,

      // Dimensions

      HandlingUnitLength,
      HandlingUnitWidth,
      HandlingUnitHeight,
      EWMDimensionUnit                                                                          as UnitOfMeasureDimension,

      // Reference object

      case EWMDeliveryDocumentCategory
        when 'PDO' then '01'  // Outbound Delivery

        when 'PDI' then '03'  // Inbound Delivery

        else cast('  ' as vpobj preserving type)
      end                                                                                       as HandlingUnitPackingObjectType,
      ReferenceDocumentNumber                                                                   as HandlingUnitReferenceDocument,
      HandlingUnitHasCrossRefDoc,
      
      //Delivery

      ShipToParty,

      // Change log

      CreatedByUser                                                                             as CreatedByUser,
      CreationDateTime                                                                          as CreationDateTime,
      case when LastChangedByUser is initial then CreatedByUser else LastChangedByUser end      as LastChangedByUser,
      case when LastChangeDateTime is initial then CreationDateTime else LastChangeDateTime end as LastChangeDateTime,

      // Status

      cast('    ' as hu_status preserving type)                                                 as HandlingUnitInternalStatus,
      HandlingUnitStatus                                                                        as HandlingUnitProcessStatus,

      // EWM fields - Organizational data

      EWMStorageType                                                                            as StorageType,
      EWMStorageBinSection                                                                      as StorageSection,
      EWMStorageBin                                                                             as StorageBin,
      EWMResource,

      // EWM fields - Handling Unit specifics

      EWMConsolidationGroup,
      HandlingUnitIsClosed,
      HandlingUnitType,

      // EWM fields - Process storage control

      ExternalStorageProcessStep,
      EWMHUProcessStepIsCompleted,
      StorageProcess,

      // EWM fields - Handling Unit process status

      EWMHandlingUnitIsPlanned,
      EWMHandlingUnitIsInStock,
      EWMHandlingUnitIsUnloaded,
      EWMHandlingUnitIsLoaded,
      EWMTranspUnitIsAssigned,

      // EWM fields - Handling Unit blocked status

      EWMHUContentChangeIsBlocked,
      EWMHUMovementChangeIsBlocked,
      EWMHUAttributeChangeIsBlocked,
      EWMHUPostingChangeIsBlocked,
      EWMHUIsBlockedByCustoms,
      EWMHUIsPackedForShipping,

      // EWM fields - Other

      EntitledToDisposeParty,
      HandlingUnitLogicalPosition,
      HandlingUnitPackingGroup,
      HazardousSubstanceIndicator,
      WorkloadIdentification,
      HandlingUnitWeightTolerance,
      HandlingUnitVolumeTolerance,

      // EWM fields - Maximum dimensions

      HandlingUnitMaxLength,
      HandlingUnitMaxWidth,
      HandlingUnitMaxHeight,
      HandlingUnitMaxDimensionUnit,

      // EWM fields - Origin

      cast('EWM' as lo_hu_hu_origin preserving type)                                            as HandlingUnitOrigin,

      _WeightUnit,
      _WeightUnitTare,
      _VolumeUnit,
      _VolumeUnitTare,
      _UnitOfMeasureDimension
}
where
      HandlingUnitStatus != 'D'
  and EWMWarehouse       is not initial