P_MaintBacklogNonStkCompUnion

DDL: P_MAINTBACKLOGNONSTKCOMPUNION Type: view CONSUMPTION

Maintenance Backlog Non Stock Component Union

P_MaintBacklogNonStkCompUnion is a Consumption CDS View that provides data about "Maintenance Backlog Non Stock Component Union" in SAP S/4HANA. It reads from 5 data sources (I_MaintenanceOrderComponent_2, I_MaintenanceOrder, I_MaintenanceOrder, I_PurgDocAccountAssignment, I_PurReqnAcctAssgmt) and exposes 184 fields with key fields MaintenanceOrder, MaintOrdProcurementDocument, MaintOrdProcurementDocument, MaintOrdProcurementDocument. It has 13 associations to related views.

Data Sources (5)

SourceAliasJoin Type
I_MaintenanceOrderComponent_2 _MaintenanceOrderComponent from
I_MaintenanceOrder I_MaintenanceOrder union_all
I_MaintenanceOrder I_MaintenanceOrder union_all
I_PurgDocAccountAssignment I_PurgDocAccountAssignment inner
I_PurReqnAcctAssgmt I_PurReqnAcctAssgmt inner

Associations (13)

CardinalityTargetAliasCondition
[0..1] I_PurchasingDocumentItem _PurchaseOrderItem _PurchaseOrderItem.PurchaseRequisition = _MaintenanceOrderComponent.PurchaseRequisition and _PurchaseOrderItem.PurchaseRequisitionItem = _MaintenanceOrderComponent.PurchaseRequisitionItem
[0..1] I_PurchasingDocument _PurchaseOrder _PurchaseOrder.PurchasingDocument = _PurgRequisitionItem.PurchasingDocument
[1..1] I_MaintenanceOrder _MaintenanceOrder _MaintenanceOrder.MaintenanceOrder = _MaintenanceOrderComponent.MaintenanceOrder
[0..1] I_MaintenanceOrderOperation _MaintenanceOrderOperation _MaintenanceOrderOperation.MaintOrderRoutingNumber = _MaintenanceOrderComponent.MaintOrderRoutingNumber and _MaintenanceOrderOperation.MaintOrderOperationCounter = _MaintenanceOrderComponent.MaintOrderOperationCounter
[0..1] I_MaintOrdProcurementMilestone _MaintOrdProcurementMilestone _MaintOrdProcurementMilestone.MaintenanceOrder = _MaintenanceOrderComponent.MaintenanceOrder and _MaintOrdProcurementMilestone.MaintOrdProcurementDocument = _MaintenanceOrderComponent.MaintOrderComponentInternalID and _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnIsCurrent = 'X' and _MaintOrdProcurementMilestone.MaintOrdProcurementDocType = 'OKP'
[0..1] I_Supplier _PreferredSupplier _PreferredSupplier.Supplier = $projection.PreferredSupplier
[0..1] I_FunctionalLocation _FunctionalLocation _FunctionalLocation.FunctionalLocation = $projection.functionallocation
[0..*] I_FunclocationLabelInternal _FuncnlLocationLabel _FuncnlLocationLabel.FunctionalLocation = $projection.functionallocation
[1..1] P_PurOrdSingleScheduleLine _PurOrdSingleScheduleLine $projection.PurchaseOrder = _PurOrdSingleScheduleLine.PurchasingDocument and $projection.PurchaseOrderItem = _PurOrdSingleScheduleLine.PurchasingDocumentItem
[0..1] I_EAMMaterialItemCategory _BillOfMaterialItemCategory _BillOfMaterialItemCategory.BOMItemCategory = $projection.MaintComponentItemCategory
[0..1] I_StatusObjectStatusBasic _IsDeletedStatus _IsDeletedStatus.StatusObject = $projection.MaintOrderComponentInternalID and _IsDeletedStatus.StatusCode = 'I0013'
[0..1] I_Material _Material _Material.Material = $projection.Material
[1..1] I_PurchasingDocument _PurchasingDocument I_PurgDocAccountAssignment.PurchasingDocument = _PurchasingDocument.PurchasingDocument

Annotations (11)

NameValueLevelField
EndUserText.label Maintenance Backlog Non Stock Component Union view
AbapCatalog.sqlViewName PMBACKLOGCOMPUNI view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
VDM.private true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #XL view

Fields (184)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintenanceOrderComponent_2 MaintenanceOrder
KEY MaintOrdProcurementDocument I_MaintenanceOrderComponent_2 MaintOrderComponentInternalID
MaintenanceOrderOperation I_MaintenanceOrderComponent_2 MaintenanceOrderOperation
MaintenanceOrderComponent I_MaintenanceOrderComponent_2 MaintenanceOrderComponent
ProcuredtFromCode
PurchaseRequisition I_MaintenanceOrderComponent_2 PurchaseRequisition
PurchaseRequisitionItem I_MaintenanceOrderComponent_2 PurchaseRequisitionItem
PurchaseOrder _PurgRequisitionItem PurchasingDocument
PurchaseOrderItem _PurgRequisitionItem PurchasingDocumentItem
MaintenanceOrderDesc
MaintenanceOrderSubOperation I_MaintenanceOrderComponent_2 MaintenanceOrderSubOperation
OperationDescription _MaintenanceOrderOperation OperationDescription
MaintOperationExecStageCode _MaintenanceOrderOperation MaintOperationExecStageCode
MaintOpExecStageShortText
MaintOpExecutionStageName
Product I_MaintenanceOrderComponent_2 Material
Material I_MaintenanceOrderComponent_2 Material
ProductType
ProductGroup I_MaintenanceOrderComponent_2 MaterialGroup
ProductTypeCode I_MaintenanceOrderComponent_2 ProductTypeCode
MaterialNameendasComponentDescription
RequirementQuantityInBaseUnit I_MaintenanceOrderComponent_2 RequirementQuantityInBaseUnit
BaseUnit I_MaintenanceOrderComponent_2 BaseUnit
PurchaseOrderSupplier _PurchaseOrder Supplier
FixedSupplier _PurgRequisitionItem FixedSupplier
PreferredSupplier I_MaintenanceOrderComponent_2 Supplier
OperationSupplier _MaintenanceOrderOperation OperationSupplier
OperationSupplierendasSupplier
Reservation I_MaintenanceOrderComponent_2 Reservation
ReservationItem I_MaintenanceOrderComponent_2 ReservationItem
ReservationType I_MaintenanceOrderComponent_2 ReservationType
MaintComponentItemCategory I_MaintenanceOrderComponent_2 MaintComponentItemCategory
GoodsMovementType I_MaintenanceOrderComponent_2 GoodsMovementType
WithdrawnQuantity I_MaintenanceOrderComponent_2 WithdrawnQuantity
ReceivedQuantity
MaintOrderComponentInternalID I_MaintenanceOrderComponent_2 MaintOrderComponentInternalID
RequirementDate I_MaintenanceOrderComponent_2 RequirementDate
MaintOrdProcessPhaseCode
ScheduledBasicStartDate
ScheduledBasicStartTime
ScheduledBasicEndDate
ScheduledBasicEndTime
MaintOrdBasicStartDate
MaintOrdBasicStartTime
MaintOrdBasicEndDate
MaintOrdBasicEndTime
MaintenancePlanningPlant
MaintenancePlant
PlantSection
MaintenancePlannerGroup
WorkCenterInternalID
MainWorkCenter
Equipment
FunctionalLocation
MaintProcurementMilestone _MaintOrdProcurementMilestone MaintProcurementMilestone
MaintOrdProcmtMilestoneDate _MaintOrdProcurementMilestone MaintOrdProcmtMilestoneDate
MaintOrdProcmtMlstnWarningDate _MaintOrdProcurementMilestone MaintOrdProcmtMlstnWarningDate
MaintOrdProcurementDocType _MaintOrdProcurementMilestone MaintOrdProcurementDocType
IsCompletelyDelivered I_MaintenanceOrderComponent_2 ReservationIsFinallyIssued
_FunctionalLocation _FunctionalLocation
_FuncnlLocationLabel _FuncnlLocationLabel
MaintenanceOrder
KEY MaintOrdProcurementDocument _PurchaseRequisitionItem PurchaseReqnItemUniqueID
MaintenanceOrderOperation
MaintenanceOrderComponent
ProcuredtFromCode
PurchaseRequisition I_PurReqnAcctAssgmt PurchaseRequisition
PurchaseRequisitionItem I_PurReqnAcctAssgmt PurchaseRequisitionItem
PurchaseOrder _PurchaseRequisitionItem PurchasingDocument
PurchaseOrderItem _PurchaseRequisitionItem PurchasingDocumentItem
MaintenanceOrderDesc I_MaintenanceOrder MaintenanceOrderDesc
MaintenanceOrderSubOperation
OperationDescription
MaintOperationExecStageCode
MaintOpExecStageShortText
MaintOpExecutionStageName
Product _PurchaseRequisitionItem Material
Material _PurchaseRequisitionItem Material
ProductType _Material MaterialType
ProductGroup _PurchaseRequisitionItem MaterialGroup
ProductTypeCode _PurchaseRequisitionItem ProductType
ComponentDescription _PurchaseRequisitionItem PurchaseRequisitionItemText
RequirementQuantityInBaseUnit _PurchaseRequisitionItem RequestedQuantity
BaseUnit _PurchaseRequisitionItem BaseUnit
PurchaseOrderSupplier _PurchaseOrder Supplier
FixedSupplier _PurchaseRequisitionItem FixedSupplier
PreferredSupplier _PurchaseRequisitionItem Supplier
OperationSupplier
SupplierendasSupplier
Reservation
ReservationItem
ReservationType
MaintComponentItemCategory
GoodsMovementType
WithdrawnQuantity
ReceivedQuantity
MaintOrderComponentInternalID
RequirementDate
MaintOrdProcessPhaseCode I_MaintenanceOrder MaintOrdProcessPhaseCode
ScheduledBasicStartDate I_MaintenanceOrder ScheduledBasicStartDate
ScheduledBasicStartTime I_MaintenanceOrder ScheduledBasicStartTime
ScheduledBasicEndDate I_MaintenanceOrder ScheduledBasicEndDate
ScheduledBasicEndTime I_MaintenanceOrder ScheduledBasicEndTime
MaintOrdBasicStartDate I_MaintenanceOrder MaintOrdBasicStartDate
MaintOrdBasicStartTime I_MaintenanceOrder MaintOrdBasicStartTime
MaintOrdBasicEndDate I_MaintenanceOrder MaintOrdBasicEndDate
MaintOrdBasicEndTime I_MaintenanceOrder MaintOrdBasicEndTime
MaintenancePlanningPlant I_MaintenanceOrder MaintenancePlanningPlant
MaintenancePlant I_MaintenanceOrder MaintenancePlant
PlantSection
MaintenancePlannerGroup I_MaintenanceOrder MaintenancePlannerGroup
WorkCenterInternalID I_MaintenanceOrder WorkCenterInternalID
MainWorkCenter I_MaintenanceOrder MainWorkCenter
Equipment I_MaintenanceOrder Equipment
FunctionalLocation
MaintProcurementMilestone _MaintOrdProcurementMilestone MaintProcurementMilestone
MaintOrdProcmtMilestoneDate _MaintOrdProcurementMilestone MaintOrdProcmtMilestoneDate
MaintOrdProcmtMlstnWarningDate _MaintOrdProcurementMilestone MaintOrdProcmtMlstnWarningDate
MaintOrdProcurementDocType _MaintOrdProcurementMilestone MaintOrdProcurementDocType
IsCompletelyDelivered _PurchaseOrderItem IsCompletelyDelivered
_FunctionalLocation _FunctionalLocation
_FuncnlLocationLabel _FuncnlLocationLabel
MaintenanceOrder
KEY MaintOrdProcurementDocument I_PurchasingDocumentItem PurchasingDocumentItemUniqueID
MaintenanceOrderOperation
MaintenanceOrderComponent
ProcuredtFromCode
PurchaseRequisition I_PurchasingDocumentItem PurchaseRequisition
PurchaseRequisitionItem I_PurchasingDocumentItem PurchaseRequisitionItem
PurchaseOrder I_PurgDocAccountAssignment PurchasingDocument
PurchaseOrderItem I_PurgDocAccountAssignment PurchasingDocumentItem
MaintenanceOrderDesc I_MaintenanceOrder MaintenanceOrderDesc
MaintenanceOrderSubOperation
OperationDescription
MaintOperationExecStageCode
MaintOpExecStageShortText
MaintOpExecutionStageName
Product I_PurchasingDocumentItem Material
Material I_PurchasingDocumentItem Material
ProductType
ProductGroup I_PurchasingDocumentItem MaterialGroup
ProductTypeCode I_PurchasingDocumentItem ProductType
ComponentDescription I_PurchasingDocumentItem PurchasingDocumentItemText
RequirementQuantityInBaseUnit I_PurchasingDocumentItem OrderQuantity
BaseUnit I_PurchasingDocumentItem OrderQuantityUnit
PurchaseOrderSupplier _PurchasingDocument Supplier
FixedSupplier
PreferredSupplier
OperationSupplier
SupplierendasSupplier
Reservation
ReservationItem
ReservationType
MaintComponentItemCategory
GoodsMovementType
WithdrawnQuantity
ReceivedQuantity
MaintOrderComponentInternalID
RequirementDate
MaintOrdProcessPhaseCode I_MaintenanceOrder MaintOrdProcessPhaseCode
ScheduledBasicStartDate I_MaintenanceOrder ScheduledBasicStartDate
ScheduledBasicStartTime I_MaintenanceOrder ScheduledBasicStartTime
ScheduledBasicEndDate I_MaintenanceOrder ScheduledBasicEndDate
ScheduledBasicEndTime I_MaintenanceOrder ScheduledBasicEndTime
MaintOrdBasicStartDate I_MaintenanceOrder MaintOrdBasicStartDate
MaintOrdBasicStartTime I_MaintenanceOrder MaintOrdBasicStartTime
MaintOrdBasicEndDate I_MaintenanceOrder MaintOrdBasicEndDate
MaintOrdBasicEndTime I_MaintenanceOrder MaintOrdBasicEndTime
MaintenancePlanningPlant I_MaintenanceOrder MaintenancePlanningPlant
MaintenancePlant I_MaintenanceOrder MaintenancePlant
PlantSection
MaintenancePlannerGroup I_MaintenanceOrder MaintenancePlannerGroup
WorkCenterInternalID I_MaintenanceOrder WorkCenterInternalID
MainWorkCenter I_MaintenanceOrder MainWorkCenter
Equipment I_MaintenanceOrder Equipment
FunctionalLocation
MaintProcurementMilestone _MaintOrdProcurementMilestone MaintProcurementMilestone
MaintOrdProcmtMilestoneDate _MaintOrdProcurementMilestone MaintOrdProcmtMilestoneDate
MaintOrdProcmtMlstnWarningDate _MaintOrdProcurementMilestone MaintOrdProcmtMlstnWarningDate
MaintOrdProcurementDocType _MaintOrdProcurementMilestone MaintOrdProcurementDocType
IsCompletelyDelivered I_PurchasingDocumentItem IsCompletelyDelivered
_FunctionalLocation _FunctionalLocation
_FuncnlLocationLabel _FuncnlLocationLabel
_MaintenanceOrder _MaintenanceOrder
@EndUserText.label: 'Maintenance Backlog Non Stock Component Union'
@AbapCatalog: {
  sqlViewName: 'PMBACKLOGCOMPUNI',
  compiler.compareFilter: true,
  preserveKey: true
}
@AccessControl: {
  authorizationCheck: #CHECK
//  privilegedAssociations: ['_PlanningBucketOrder', '_ReservationItem']

}
@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM: {
  viewType: #CONSUMPTION,
  private: true
}

@ObjectModel: {
  usageType: {
    serviceQuality: #D,
    dataClass:      #TRANSACTIONAL,
    sizeCategory:   #XL
  }
}
@Consumption.dbHints: ['NO_SUBPLAN_SHARING']
//@AbapCatalog.dbHints: [{dbSystem: #HDB, hint: 'NO_SUBPLAN_SHARING'}]

define view P_MaintBacklogNonStkCompUnion
  as select from           I_MaintenanceOrderComponent_2  as _MaintenanceOrderComponent
    left outer to one join I_PurchaseRequisitionItemBasic as _PurgRequisitionItem on  _PurgRequisitionItem.SettlementReservation     = _MaintenanceOrderComponent.Reservation
                                                                                  and _PurgRequisitionItem.SettlementReservationItem = _MaintenanceOrderComponent.ReservationItem
  association [0..1] to I_PurchasingDocumentItem       as _PurchaseOrderItem            on  _PurchaseOrderItem.PurchaseRequisition     = _MaintenanceOrderComponent.PurchaseRequisition
                                                                                        and _PurchaseOrderItem.PurchaseRequisitionItem = _MaintenanceOrderComponent.PurchaseRequisitionItem
  association [0..1] to I_PurchasingDocument           as _PurchaseOrder                on  _PurchaseOrder.PurchasingDocument = _PurgRequisitionItem.PurchasingDocument
  association [1..1] to I_MaintenanceOrder             as _MaintenanceOrder             on  _MaintenanceOrder.MaintenanceOrder = _MaintenanceOrderComponent.MaintenanceOrder
  association [0..1] to I_MaintenanceOrderOperation    as _MaintenanceOrderOperation    on  _MaintenanceOrderOperation.MaintOrderRoutingNumber    = _MaintenanceOrderComponent.MaintOrderRoutingNumber
                                                                                        and _MaintenanceOrderOperation.MaintOrderOperationCounter = _MaintenanceOrderComponent.MaintOrderOperationCounter
  association [0..1] to I_MaintOrdProcurementMilestone as _MaintOrdProcurementMilestone on  _MaintOrdProcurementMilestone.MaintenanceOrder             = _MaintenanceOrderComponent.MaintenanceOrder
                                                                                        and _MaintOrdProcurementMilestone.MaintOrdProcurementDocument  = _MaintenanceOrderComponent.MaintOrderComponentInternalID
                                                                                        and _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnIsCurrent = 'X'
                                                                                        and _MaintOrdProcurementMilestone.MaintOrdProcurementDocType   = 'OKP'
  association [0..1] to I_Supplier                     as _PreferredSupplier            on  _PreferredSupplier.Supplier = $projection.PreferredSupplier
  association [0..1] to I_FunctionalLocation           as _FunctionalLocation           on  _FunctionalLocation.FunctionalLocation = $projection.functionallocation
  association [0..*] to I_FunclocationLabelInternal    as _FuncnlLocationLabel          on  _FuncnlLocationLabel.FunctionalLocation = $projection.functionallocation
  association [1..1] to P_PurOrdSingleScheduleLine     as _PurOrdSingleScheduleLine     on  $projection.PurchaseOrder     = _PurOrdSingleScheduleLine.PurchasingDocument
                                                                                        and $projection.PurchaseOrderItem = _PurOrdSingleScheduleLine.PurchasingDocumentItem
  association [0..1] to I_EAMMaterialItemCategory      as _BillOfMaterialItemCategory   on  _BillOfMaterialItemCategory.BOMItemCategory = $projection.MaintComponentItemCategory
  association [0..1] to I_StatusObjectStatusBasic      as _IsDeletedStatus              on  _IsDeletedStatus.StatusObject = $projection.MaintOrderComponentInternalID
                                                                                        and _IsDeletedStatus.StatusCode   = 'I0013'
{
  key _MaintenanceOrderComponent.MaintenanceOrder,
  key _MaintenanceOrderComponent.MaintOrderComponentInternalID                                                   as MaintOrdProcurementDocument,
      _MaintenanceOrderComponent.MaintenanceOrderOperation,
      _MaintenanceOrderComponent.MaintenanceOrderComponent,
      cast ('RESERVATION' as abap.char( 11 ) )                                                                   as ProcuredtFromCode,
      _MaintenanceOrderComponent.PurchaseRequisition,
      _MaintenanceOrderComponent.PurchaseRequisitionItem,
      _PurgRequisitionItem.PurchasingDocument                                                                    as PurchaseOrder,
      _PurgRequisitionItem.PurchasingDocumentItem                                                                as PurchaseOrderItem,
      _MaintenanceOrderComponent._MaintenanceOrder.MaintenanceOrderDesc,
      _MaintenanceOrderComponent.MaintenanceOrderSubOperation,
      _MaintenanceOrderOperation.OperationDescription,
      _MaintenanceOrderOperation.MaintOperationExecStageCode,
      _MaintenanceOrderOperation._MaintOperationExecStageCode._MaintOpExecStageCodeText[1: LanguageCode = $session.system_language ].MaintOpExecStageShortText,
      _MaintenanceOrderOperation._MaintOperationExecStageCode._MaintOpExecStageCodeText[1: LanguageCode = $session.system_language ].MaintOpExecutionStageName,
      _MaintenanceOrderComponent.Material                                                                        as Product,
      _MaintenanceOrderComponent.Material,
      _MaintenanceOrderComponent._Material.MaterialType                                                          as ProductType,
      _MaintenanceOrderComponent.MaterialGroup                                                                   as ProductGroup,

      _MaintenanceOrderComponent.ProductTypeCode,
      case when _MaintenanceOrderComponent.Material = ''
        then _MaintenanceOrderComponent.ComponentDescription
        else _MaintenanceOrderComponent._MaterialText[1:Language = $session.system_language ].MaterialName end   as ComponentDescription,
      _MaintenanceOrderComponent.RequirementQuantityInBaseUnit,
      _MaintenanceOrderComponent.BaseUnit,
      _PurchaseOrder.Supplier                                                                                    as PurchaseOrderSupplier,
      _PurgRequisitionItem.FixedSupplier,
      _MaintenanceOrderComponent.Supplier                                                                        as PreferredSupplier,
      _MaintenanceOrderOperation.OperationSupplier,
      case when _PurgRequisitionItem.PurchasingDocument != '' then _PurchaseOrder.Supplier
           when _PurgRequisitionItem.FixedSupplier != '' then _PurgRequisitionItem.FixedSupplier
           when _MaintenanceOrderComponent.Supplier != '' then _MaintenanceOrderComponent.Supplier
           else _MaintenanceOrderOperation.OperationSupplier end                                                 as Supplier,
      _MaintenanceOrderComponent.Reservation,
      _MaintenanceOrderComponent.ReservationItem,
      _MaintenanceOrderComponent.ReservationType,
      _MaintenanceOrderComponent.MaintComponentItemCategory,
      _MaintenanceOrderComponent.GoodsMovementType,
      _MaintenanceOrderComponent.WithdrawnQuantity,
      cast (0  as pph_enmng )                                                                                    as ReceivedQuantity,
      _MaintenanceOrderComponent.MaintOrderComponentInternalID,
      _MaintenanceOrderComponent.RequirementDate,
      //      case when _MaintenanceOrderComponent.PurchaseRequisition is null then 1

      //           when I_MaintOrdCompResvnPurgDoc.PurchaseOrder is null then 2

      //           when _MaintenanceOrderComponent.PurchaseRequisition != '' and I_MaintOrdCompResvnPurgDoc.PurchaseOrder != '' then  3 end as MaintOrdCompAvailyCritltyCode,

      case  when _MaintOrdProcurementMilestone.MaintOrdProcmtMilestoneDate    <= $session.system_date then 1
            when _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnWarningDate <= $session.system_date then 2
            else 3                                                                                           end as MaintOrdCompAvailyCritltyCode,


      _MaintenanceOrderComponent._MaintenanceOrder.MaintOrdProcessPhaseCode,
      _MaintenanceOrderComponent._MaintenanceOrder.ScheduledBasicStartDate,
      _MaintenanceOrderComponent._MaintenanceOrder.ScheduledBasicStartTime,
      _MaintenanceOrderComponent._MaintenanceOrder.ScheduledBasicEndDate,
      _MaintenanceOrderComponent._MaintenanceOrder.ScheduledBasicEndTime,
      _MaintenanceOrderComponent._MaintenanceOrder.MaintOrdBasicStartDate,
      _MaintenanceOrderComponent._MaintenanceOrder.MaintOrdBasicStartTime,
      _MaintenanceOrderComponent._MaintenanceOrder.MaintOrdBasicEndDate,
      _MaintenanceOrderComponent._MaintenanceOrder.MaintOrdBasicEndTime,
      _MaintenanceOrderComponent._MaintenanceOrder.MaintenancePlanningPlant,
      _MaintenanceOrderComponent._MaintenanceOrder.MaintenancePlant,
      _MaintenanceOrderComponent._MaintenanceOrder._LocationAccountAssignment.PlantSection,
      _MaintenanceOrderComponent._MaintenanceOrder.MaintenancePlannerGroup,
      _MaintenanceOrderComponent._MaintenanceOrder.WorkCenterInternalID,
      _MaintenanceOrderComponent._MaintenanceOrder.MainWorkCenter,
      _MaintenanceOrderComponent._MaintenanceOrder.Equipment,
      _MaintenanceOrderComponent._MaintenanceOrder._LocationAccountAssignment.FunctionalLocation,

      _MaintOrdProcurementMilestone.MaintProcurementMilestone,
      _MaintOrdProcurementMilestone.MaintOrdProcmtMilestoneDate,
      _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnWarningDate,
      _MaintOrdProcurementMilestone.MaintOrdProcurementDocType,

      _MaintenanceOrderComponent.ReservationIsFinallyIssued                                                      as IsCompletelyDelivered,

      _FunctionalLocation,
      _FuncnlLocationLabel,
      _MaintenanceOrder
}
where
          _BillOfMaterialItemCategory.MaterialIsInventoryManaged                     =  '' // Restrict the result set only the non stock componenets

  and     _MaintenanceOrderComponent._ReservationItem.MaterialCompIsProcuredDirectly =  'F'
  and(
          _IsDeletedStatus.StatusCode                                                is null
    or    _IsDeletedStatus.StatusIsInactive                                          =  'X'
  )
  and(
          _MaintenanceOrderComponent.ProductTypeCode                                 =  '1'
    or(
          _MaintenanceOrderComponent.ProductTypeCode                                 is null
      or  _MaintenanceOrderComponent.ProductTypeCode                                 =  ''
    )

  )
  and(
          _MaintenanceOrder.MaintenanceProcessingPhase                               <  '4'
    or(
          _MaintenanceOrder.MaintenanceProcessingPhase                               =  '6'
      and _MaintenanceOrder.TechnicalCompletionDate                                  != '00000000'
    )
  )
union all select from    I_MaintenanceOrder
  inner join             I_PurReqnAcctAssgmt                                        on I_MaintenanceOrder.MaintenanceOrder = I_PurReqnAcctAssgmt.OrderID
  left outer to one join I_PurchaseRequisitionItemBasic as _PurchaseRequisitionItem on  _PurchaseRequisitionItem.PurchaseRequisition     = I_PurReqnAcctAssgmt.PurchaseRequisition
                                                                                    and _PurchaseRequisitionItem.PurchaseRequisitionItem = I_PurReqnAcctAssgmt.PurchaseRequisitionItem

  left outer to one join I_MaintenanceOrderOperation                                on  I_PurReqnAcctAssgmt.ProjectNetworkInternalID  = I_MaintenanceOrderOperation.MaintOrderRoutingNumber
                                                                                    and I_PurReqnAcctAssgmt.NetworkActivityInternalID = I_MaintenanceOrderOperation.MaintOrderOperationCounter
  left outer to one join I_PurchasingDocumentItem       as _PurchaseOrderItem             on  _PurchaseOrderItem.PurchaseRequisition     = I_PurReqnAcctAssgmt.PurchaseRequisition
                                                                                          and _PurchaseOrderItem.PurchaseRequisitionItem = I_PurReqnAcctAssgmt.PurchaseRequisitionItem
association [0..1] to I_PurchasingDocument           as _PurchaseOrder                on  _PurchaseOrder.PurchasingDocument = _PurchaseRequisitionItem.PurchasingDocument
//association [0..1] to I_OperationControlProfile     as _OperationControlProfile     on  $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile

association [1..1] to I_MaintenanceOrder             as _MaintenanceOrder             on  _MaintenanceOrder.MaintenanceOrder = I_MaintenanceOrder.MaintenanceOrder
association [0..1] to I_MaintOrdProcurementMilestone as _MaintOrdProcurementMilestone on  _MaintOrdProcurementMilestone.MaintenanceOrder             = I_MaintenanceOrder.MaintenanceOrder
                                                                                      and _MaintOrdProcurementMilestone.MaintOrdProcurementDocument  = _PurchaseRequisitionItem.PurchaseReqnItemUniqueID
                                                                                      and _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnIsCurrent = 'X'
                                                                                      and _MaintOrdProcurementMilestone.MaintOrdProcurementDocType   = 'PR'
association [0..1] to I_Supplier                     as _PreferredSupplier            on  _PreferredSupplier.Supplier = $projection.PreferredSupplier
association [0..1] to I_FunctionalLocation           as _FunctionalLocation           on  _FunctionalLocation.FunctionalLocation = $projection.functionallocation
association [0..*] to I_FunclocationLabelInternal    as _FuncnlLocationLabel          on  _FuncnlLocationLabel.FunctionalLocation = $projection.functionallocation
association [0..1] to I_Material                     as _Material                     on  _Material.Material = $projection.Material
{
  key  I_MaintenanceOrder.MaintenanceOrder,
  key  _PurchaseRequisitionItem.PurchaseReqnItemUniqueID                                                   as MaintOrdProcurementDocument,
       ''                                                                                                  as MaintenanceOrderOperation,
       ''                                                                                                  as MaintenanceOrderComponent,
       cast ('PRUCHREQ' as abap.char( 11 ) )                                                               as ProcuredtFromCode,
       I_PurReqnAcctAssgmt.PurchaseRequisition,
       I_PurReqnAcctAssgmt.PurchaseRequisitionItem,
       _PurchaseRequisitionItem.PurchasingDocument                                                         as PurchaseOrder,
       _PurchaseRequisitionItem.PurchasingDocumentItem                                                     as PurchaseOrderItem,
       I_MaintenanceOrder.MaintenanceOrderDesc,
       '    '                                                                                              as MaintenanceOrderSubOperation,
       ''                                                                                                  as OperationDescription,
       ''                                                                                                  as MaintOperationExecStageCode,
       ''                                                                                                  as MaintOpExecStageShortText,
       ''                                                                                                  as MaintOpExecutionStageName,
       _PurchaseRequisitionItem.Material                                                                   as Product,
       _PurchaseRequisitionItem.Material,
       _Material.MaterialType                                                                              as ProductType,
       _PurchaseRequisitionItem.MaterialGroup                                                              as ProductGroup,
       _PurchaseRequisitionItem.ProductType                                                                as ProductTypeCode,
       _PurchaseRequisitionItem.PurchaseRequisitionItemText                                                as ComponentDescription,
       _PurchaseRequisitionItem.RequestedQuantity                                                          as RequirementQuantityInBaseUnit,
       _PurchaseRequisitionItem.BaseUnit,
       _PurchaseOrder.Supplier                                                                             as PurchaseOrderSupplier,
       _PurchaseRequisitionItem.FixedSupplier,
       _PurchaseRequisitionItem.Supplier                                                                   as PreferredSupplier,
       ''                                                                                                  as OperationSupplier,
       case when _PurchaseRequisitionItem.PurchasingDocument != '' then _PurchaseOrder.Supplier
            when _PurchaseRequisitionItem.FixedSupplier != '' then _PurchaseRequisitionItem.FixedSupplier
            else _PurchaseRequisitionItem.Supplier  end                                                    as Supplier,
       cast( '' as rsnum )                                                                                 as Reservation,
       cast( '' as rspos )                                                                                 as ReservationItem,
       cast( '' as rsart )                                                                                 as ReservationType,
       cast ('' as postp )                                                                                 as MaintComponentItemCategory,
       cast ('' as bwart )                                                                                 as GoodsMovementType,
       cast (0  as pph_enmng )                                                                             as WithdrawnQuantity,
       cast (0  as pph_enmng )                                                                             as ReceivedQuantity,
       cast ('' as objnr )                                                                                 as MaintOrderComponentInternalID,
       '00000000'                                                                                          as RequirementDate,
       //       case when _PurchaseRequisitionItem.PurchasingDocument = '' then 2

       //       when _PurchaseRequisitionItem.PurchasingDocument != '' then 3 end as MaintOrdCompAvailyCritltyCode,

       case when _MaintOrdProcurementMilestone.MaintOrdProcmtMilestoneDate        <= $session.system_date then 1
       when _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnWarningDate     <= $session.system_date then 2
       else 3                                                                                          end as MaintOrdCompAvailyCritltyCode,

       I_MaintenanceOrder.MaintOrdProcessPhaseCode,
       I_MaintenanceOrder.ScheduledBasicStartDate,
       I_MaintenanceOrder.ScheduledBasicStartTime,
       I_MaintenanceOrder.ScheduledBasicEndDate,
       I_MaintenanceOrder.ScheduledBasicEndTime,
       I_MaintenanceOrder.MaintOrdBasicStartDate,
       I_MaintenanceOrder.MaintOrdBasicStartTime,
       I_MaintenanceOrder.MaintOrdBasicEndDate,
       I_MaintenanceOrder.MaintOrdBasicEndTime,
       I_MaintenanceOrder.MaintenancePlanningPlant,
       I_MaintenanceOrder.MaintenancePlant,
       I_MaintenanceOrder._LocationAccountAssignment.PlantSection,
       I_MaintenanceOrder.MaintenancePlannerGroup,
       I_MaintenanceOrder.WorkCenterInternalID,
       I_MaintenanceOrder.MainWorkCenter,
       I_MaintenanceOrder.Equipment,
       I_MaintenanceOrder._LocationAccountAssignment.FunctionalLocation,

       _MaintOrdProcurementMilestone.MaintProcurementMilestone,
       _MaintOrdProcurementMilestone.MaintOrdProcmtMilestoneDate,
       _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnWarningDate,
       _MaintOrdProcurementMilestone.MaintOrdProcurementDocType,

       _PurchaseOrderItem.IsCompletelyDelivered,

       _FunctionalLocation,
       _FuncnlLocationLabel,
       _MaintenanceOrder
}
where
          I_PurReqnAcctAssgmt.IsDeleted                    =  ''
  and     _PurchaseRequisitionItem.IsDeleted               =  ''
  and(
          _PurchaseRequisitionItem.ProductTypeCode         =  '1'
    or(
          _PurchaseRequisitionItem.ProductTypeCode         is null
      or  _PurchaseRequisitionItem.ProductTypeCode         =  ''
    )
  )
  and     I_PurReqnAcctAssgmt.OrderIntBillOfOperationsItem =  '00000000' //exclude PR for PM02 operations

  and     _PurchaseRequisitionItem.SettlementReservation   =  '0000000000'
  and(
          _MaintenanceOrder.MaintenanceProcessingPhase     <  '4'
    or(
          _MaintenanceOrder.MaintenanceProcessingPhase     =  '6'
      and _MaintenanceOrder.TechnicalCompletionDate        != '00000000'
    )
  )
union all select from    I_MaintenanceOrder
  inner join             I_PurgDocAccountAssignment on I_MaintenanceOrder.MaintenanceOrder = I_PurgDocAccountAssignment.OrderID
  left outer to one join I_PurchasingDocumentItem   on  I_PurchasingDocumentItem.PurchasingDocument     = I_PurgDocAccountAssignment.PurchasingDocument
                                                    and I_PurchasingDocumentItem.PurchasingDocumentItem = I_PurgDocAccountAssignment.PurchasingDocumentItem
association [1..1] to I_PurchasingDocument           as _PurchasingDocument           on  I_PurgDocAccountAssignment.PurchasingDocument = _PurchasingDocument.PurchasingDocument
association [1..1] to I_MaintenanceOrder             as _MaintenanceOrder             on  _MaintenanceOrder.MaintenanceOrder = I_MaintenanceOrder.MaintenanceOrder
association [0..1] to I_MaintOrdProcurementMilestone as _MaintOrdProcurementMilestone on  _MaintOrdProcurementMilestone.MaintenanceOrder             = I_MaintenanceOrder.MaintenanceOrder
                                                                                      and _MaintOrdProcurementMilestone.MaintOrdProcurementDocument  = I_PurchasingDocumentItem.PurchasingDocumentItemUniqueID
                                                                                      and _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnIsCurrent = 'X'
                                                                                      and _MaintOrdProcurementMilestone.MaintOrdProcurementDocType   = 'PO'
association [0..1] to I_Supplier                     as _PreferredSupplier            on  _PreferredSupplier.Supplier = $projection.PreferredSupplier
association [0..1] to I_FunctionalLocation           as _FunctionalLocation           on  _FunctionalLocation.FunctionalLocation = $projection.functionallocation
association [0..*] to I_FunclocationLabelInternal    as _FuncnlLocationLabel          on  _FuncnlLocationLabel.FunctionalLocation = $projection.functionallocation
{
  key  I_MaintenanceOrder.MaintenanceOrder,
  key  I_PurchasingDocumentItem.PurchasingDocumentItemUniqueID                                                                                         as MaintOrdProcurementDocument,
       ''                                                                                                                                              as MaintenanceOrderOperation,
       ''                                                                                                                                              as MaintenanceOrderComponent,
       cast ('PRUCHORD' as abap.char( 11 ) )                                                                                                           as ProcuredtFromCode,
       I_PurchasingDocumentItem.PurchaseRequisition,
       I_PurchasingDocumentItem.PurchaseRequisitionItem,

       I_PurgDocAccountAssignment.PurchasingDocument                                                                                                   as PurchaseOrder,
       I_PurgDocAccountAssignment.PurchasingDocumentItem                                                                                               as PurchaseOrderItem,

       I_MaintenanceOrder.MaintenanceOrderDesc,
       '0000'                                                                                                                                          as MaintenanceOrderSubOperation,
       ''                                                                                                                                              as OperationDescription,
       ''                                                                                                                                              as MaintOperationExecStageCode,
       ''                                                                                                                                              as MaintOpExecStageShortText,
       ''                                                                                                                                              as MaintOpExecutionStageName,
       I_PurchasingDocumentItem.Material                                                                                                               as Product,
       I_PurchasingDocumentItem.Material,
       I_PurchasingDocumentItem._Material.MaterialType                                                                                                 as ProductType,
       I_PurchasingDocumentItem.MaterialGroup                                                                                                          as ProductGroup,
       I_PurchasingDocumentItem.ProductType                                                                                                            as ProductTypeCode,
       I_PurchasingDocumentItem.PurchasingDocumentItemText                                                                                             as ComponentDescription,
       I_PurchasingDocumentItem.OrderQuantity                                                                                                          as RequirementQuantityInBaseUnit,
       I_PurchasingDocumentItem.OrderQuantityUnit                                                                                                      as BaseUnit,
       _PurchasingDocument.Supplier                                                                                                                    as PurchaseOrderSupplier,
       I_PurchasingDocumentItem._PurchaseRequisitionItem.FixedSupplier,
       I_PurchasingDocumentItem._PurchaseRequisitionItem.Supplier                                                                                      as PreferredSupplier,
       ''                                                                                                                                              as OperationSupplier,
       case when _PurchasingDocument.Supplier != '' then _PurchasingDocument.Supplier
            when I_PurchasingDocumentItem._PurchaseRequisitionItem.FixedSupplier != '' then  I_PurchasingDocumentItem._PurchaseRequisitionItem.FixedSupplier
            when I_PurchasingDocumentItem._PurchaseRequisitionItem.Supplier != '' then  I_PurchasingDocumentItem._PurchaseRequisitionItem.Supplier end as Supplier,

       cast ('' as rsnum )                                                                                                                             as Reservation,
       cast ('' as rspos )                                                                                                                             as ReservationItem,
       cast ('' as rsart )                                                                                                                             as ReservationType,
       cast ('' as postp )                                                                                                                             as MaintComponentItemCategory,
       cast ('' as bwart )                                                                                                                             as GoodsMovementType,
       cast (0  as pph_enmng )                                                                                                                         as WithdrawnQuantity,
       cast (0  as pph_enmng )                                                                                                                         as ReceivedQuantity,
       cast ('' as objnr )                                                                                                                             as MaintOrderComponentInternalID,

       cast ('00000000' as bdter )                                                                                                                     as RequirementDate,
       // 3                                                                                                                            as MaintOrdCompAvailyCritltyCode,

       case when _MaintOrdProcurementMilestone.MaintOrdProcmtMilestoneDate <= $session.system_date then 1
       when _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnWarningDate <= $session.system_date then 2
       else 3                                                                                                                                      end as MaintOrdCompAvailyCritltyCode,

       I_MaintenanceOrder.MaintOrdProcessPhaseCode,
       I_MaintenanceOrder.ScheduledBasicStartDate,
       I_MaintenanceOrder.ScheduledBasicStartTime,
       I_MaintenanceOrder.ScheduledBasicEndDate,
       I_MaintenanceOrder.ScheduledBasicEndTime,
       I_MaintenanceOrder.MaintOrdBasicStartDate,
       I_MaintenanceOrder.MaintOrdBasicStartTime,
       I_MaintenanceOrder.MaintOrdBasicEndDate,
       I_MaintenanceOrder.MaintOrdBasicEndTime,
       I_MaintenanceOrder.MaintenancePlanningPlant,
       I_MaintenanceOrder.MaintenancePlant,
       I_MaintenanceOrder._LocationAccountAssignment.PlantSection,
       I_MaintenanceOrder.MaintenancePlannerGroup,
       I_MaintenanceOrder.WorkCenterInternalID,
       I_MaintenanceOrder.MainWorkCenter,
       I_MaintenanceOrder.Equipment,
       I_MaintenanceOrder._LocationAccountAssignment.FunctionalLocation,

       _MaintOrdProcurementMilestone.MaintProcurementMilestone,
       _MaintOrdProcurementMilestone.MaintOrdProcmtMilestoneDate,
       _MaintOrdProcurementMilestone.MaintOrdProcmtMlstnWarningDate,
       _MaintOrdProcurementMilestone.MaintOrdProcurementDocType,

       I_PurchasingDocumentItem.IsCompletelyDelivered,

       _FunctionalLocation,
       _FuncnlLocationLabel,
       _MaintenanceOrder
}
where
          I_PurgDocAccountAssignment.IsDeleted         =  ''
  and(
          I_PurchasingDocumentItem.ProductType         =  '1'
    or(
          I_PurchasingDocumentItem.ProductType         is null
      or  I_PurchasingDocumentItem.ProductType         =  ''
    )
  )
  and     I_MaintenanceOrder.MaintenanceOrder          is not null
  and     I_MaintenanceOrder.MaintenanceOrderCategory  =  '30'
  and(
          _MaintenanceOrder.MaintenanceProcessingPhase <  '4'
    or(
          _MaintenanceOrder.MaintenanceProcessingPhase =  '6'
      and _MaintenanceOrder.TechnicalCompletionDate    != '00000000'
    )
  )
  and     I_PurchasingDocumentItem.PurchaseRequisition is initial //Those POs, which are assigned into Purchase Requisition, are covered in the P_MaintOrdNonStkCompFrmPurReqn select statement.