I_AvailMaterialSerialNumberVH

DDL: I_AVAILMATERIALSERIALNUMBERVH Type: view COMPOSITE Package: MPE_EXEC_SFI

Available Material Serial Number

I_AvailMaterialSerialNumberVH is a Composite CDS View that provides data about "Available Material Serial Number" in SAP S/4HANA. It reads from 1 data source (I_Equipment) and exposes 11 fields with key field Equipment. Part of development package MPE_EXEC_SFI.

Data Sources (1)

SourceAliasJoin Type
I_Equipment sn from

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IAMSNVH view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Available Material Serial Number view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.dataCategory #VALUE_HELP view
ObjectModel.representativeKey Equipment view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
VDM.viewType #COMPOSITE view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY Equipment I_Equipment Equipment
Material I_Equipment Material
SerialNumber I_Equipment SerialNumber
UniqueItemIdentifier I_Equipment UniqueItemIdentifier
ManufacturerSerialNumber I_Equipment ManufacturerSerialNumber
_EquipmentText I_Equipment _EquipmentText
Customer I_Equipment Customer
Supplier I_Equipment Supplier
AuthorizationGroup I_Equipment AuthorizationGroup
_Customer I_Equipment _Customer
_Supplier I_Equipment _Supplier
@AbapCatalog: {
  sqlViewName: 'IAMSNVH',
  compiler.compareFilter: true,
  preserveKey: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  privilegedAssociations: ['_EquipmentText']
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Available Material Serial Number'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: {
  dataCategory: #VALUE_HELP,
  representativeKey: 'Equipment',
  usageType: {
    dataClass: #MIXED,
    serviceQuality: #D,
    sizeCategory: #L
  }
}
@UI.presentationVariant: [{requestAtLeast: ['SerialNumberIsOnStock']}]
@VDM.viewType: #COMPOSITE
define view I_AvailMaterialSerialNumberVH
  as select from           I_Equipment                  as sn
  -- Check serial number status DLFL"Flagged for Deletion"
    left outer to one join I_StatusObjectStatusBasic    as dlfl on  dlfl.StatusObject     = sn.MaintObjectInternalID
                                                                and dlfl.StatusCode       = 'I0076'
                                                                and dlfl.StatusIsInactive = ''
  -- Check serial number status ESTO "In the warehouse"
    left outer to one join I_StatusObjectStatusBasic    as esto on  esto.StatusObject     = sn.MaintObjectInternalID
                                                                and esto.StatusCode       = 'I0184'
                                                                and esto.StatusIsInactive = ''
    left outer to one join I_MfgOrderCompAssemblyAggrgn as wul  on  wul.Material                  =  sn.Material
                                                                and wul.AssembledSerialNumber     =  sn.SerialNumber
                                                                and wul.MaterialComponentQuantity <> 0
{

      @ObjectModel.text.association: '_EquipmentText'
  key sn.Equipment,
      sn.Material,
      sn.SerialNumber,
      sn.UniqueItemIdentifier,
      sn.ManufacturerSerialNumber,
      sn._EquipmentText,
      @Consumption.hidden: true
      sn.Customer,
      @Consumption.hidden: true
      sn.Supplier,
      @Consumption.hidden: true
      sn.AuthorizationGroup,
      @EndUserText: {
        label: 'On Stock',
        quickInfo: 'Serial Number is on Stock'
      }
      cast(case
           when esto.StatusCode is null then ''
           else 'X'
        end as boolean preserving type) as SerialNumberIsOnStock,

      @Consumption.hidden: true
      sn._Customer,
      @Consumption.hidden: true
      sn._Supplier

}
where
      SerialNumber      <> ''
  and dlfl.StatusObject is null
  and wul.Material      is null