I_MAINTENANCEORDERCOMPONENT
Maintenance Order Component
I_MAINTENANCEORDERCOMPONENT is a CDS View in S/4HANA. Maintenance Order Component. It contains 1 fields. 3 CDS views read from this table.
CDS Views using this table (3)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_MaintOrderOpCompLongText | view | inner | BASIC | Maintenance Order Op Component Long Text |
| P_MaintOrdCompScheduleLine | view | inner | COMPOSITE | |
| R_MaintOrderOpComponentTP | view_entity | from | TRANSACTIONAL | Maintenance Order Operation Component TP |
Fields (1)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | MaintenanceOrder | MaintenanceOrder | 1 |
@AbapCatalog.sqlViewName: 'IMAINTORDCOMP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Order Component'
@VDM.viewType: #BASIC
@ObjectModel.representativeKey: 'MaintenanceOrderComponent'
@ObjectModel.semanticKey: [ 'MaintenanceOrder', 'MaintenanceOrderOperation', 'MaintenanceOrderComponent' ]
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #XL
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'I_MaintenanceOrderComponent_2'
define view I_MaintenanceOrderComponent
as select from resb
left outer to one join aufk on resb.aufnr = aufk.aufnr
left outer join rsdb as rsdb_banfn on rsdb_banfn.rsnum = resb.rsnum
and rsdb_banfn.rspos = resb.rspos
and rsdb_banfn.rsart = resb.rsart
and rsdb_banfn.banfn <> ''
left outer join rsadd on resb.rsnum = rsadd.rsnum
and resb.rspos = rsadd.rspos
and resb.rsart = rsadd.rsart
association [0..1] to I_MaintenanceOrder as _MaintenanceOrder on _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder
association [0..1] to I_MaintenanceOrderOperation as _MaintenanceOrderOperation on _MaintenanceOrderOperation.MaintenanceOrder = $projection.MaintenanceOrder
and _MaintenanceOrderOperation.MaintOrderRoutingNumber = $projection.MaintOrderRoutingNumber
and _MaintenanceOrderOperation.MaintOrderOperationCounter = $projection.MaintOrderOperationCounter
association [0..1] to I_Material as _Material on _Material.Material = $projection.Material
association [0..*] to I_MaterialText as _MaterialText on _MaterialText.Material = $projection.Material
association [0..1] to I_MaterialGroup as _MaterialGroup on _MaterialGroup.MaterialGroup = $projection.MaterialGroup
association [0..1] to I_StorageLocation as _StorageLocation on _StorageLocation.Plant = $projection.Plant
and _StorageLocation.StorageLocation = $projection.StorageLocation
association [0..1] to I_Supplier as _Supplier on _Supplier.Supplier = $projection.Supplier
association [0..1] to I_StatusObject as _StatusObject on _StatusObject.StatusObject = $projection.MaintOrderComponentInternalID
association [0..1] to I_Plant as _Plant on _Plant.Plant = $projection.Plant
association [0..1] to I_PMUnitOfMeasureVH as _UnitOfMeasure on _UnitOfMeasure.UnitOfMeasure = $projection.BaseUnit
association [0..1] to I_PMUnitOfMeasureVH as _UnitOfMeasureEntry on _UnitOfMeasureEntry.UnitOfMeasure = $projection.UnitOfEntry
association [0..1] to I_SafetyRelevance as _SafetyRelevance on _SafetyRelevance.SafetyRelevantObjectType = 'MA'
and _SafetyRelevance.SafetyRelevantObject = $projection.Material
association [0..*] to I_BomItemCategoryText as _ItemCategoryText on _ItemCategoryText.BillOfMaterialItemCategory = $projection.ItemCategory
association [0..1] to I_Purchaserequisitionitem as _PurchaseRequisitionItem on _PurchaseRequisitionItem.PurchaseRequisition = $projection.PurchaseRequisition
and _PurchaseRequisitionItem.PurchaseRequisitionItem = $projection.PurchaseRequisitionItem
association [0..1] to I_Indicator as _ReservationIsFinallyIssued on $projection.ReservationIsFinallyIssued = _ReservationIsFinallyIssued.IndicatorValue
association [0..1] to I_ProductTypeCode as _ProductTypeCode on _ProductTypeCode.ProductTypeCode = $projection.ProductTypeCode
association [0..1] to I_ReservationItem as _ReservationItem on _ReservationItem.Reservation = $projection.Reservation
and _ReservationItem.ReservationItem = $projection.ReservationItem
and _ReservationItem.RecordType = $projection.ReservationType
association [0..1] to I_PurReqnOrResvnGeneration as _PurReqnOrResvnGeneration on $projection.PurReqnOrResvnGeneration = _PurReqnOrResvnGeneration.PurReqnOrResvnGeneration
association [0..*] to I_StatusObjectActiveStatus as _StatusObjectActiveStatus on $projection.MaintOrderComponentInternalID = _StatusObjectActiveStatus.StatusObject
association [0..*] to I_MaintOrdCompDelivDateAdjmtT as _MaintOrdCompDelivDateAdjmtT on $projection.MaintOrdCompDeliveryDateAdjmt = _MaintOrdCompDelivDateAdjmtT.MaintOrdCompDeliveryDateAdjmt
{
@ObjectModel.foreignKey.association: '_MaintenanceOrder'
key resb.aufnr as MaintenanceOrder,
key resb.vornr as MaintenanceOrderOperation,
// key resb.uvorn as MaintenanceOrderSubOperation,
key resb.posnr as MaintenanceOrderComponent,
resb.rsnum as Reservation,
@ObjectModel.foreignKey.association: '_ReservationItem'
resb.rspos as ReservationItem,
resb.rsart as ReservationType,
resb.uvorn as MaintenanceOrderSubOperation,
@ObjectModel.text.association: '_MaterialText'
resb.matnr as Material,
resb.potx1 as ComponentDescription,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
@DefaultAggregation: #NONE
resb.bdmng as RequirementQuantityInBaseUnit,
@ObjectModel.foreignKey.association: '_UnitOfMeasure'
@Semantics.unitOfMeasure:true
resb.meins as BaseUnit,
@Semantics.quantity.unitOfMeasure: 'UnitOfEntry'
@DefaultAggregation: #NONE
resb.erfmg as QuantityInUnitOfEntry,
@ObjectModel.foreignKey.association: '_UnitOfMeasureEntry'
@Semantics.unitOfMeasure:true
resb.erfme as UnitOfEntry,
resb.bdter as RequirementDate,
resb.bdztp as RequirementTime,
resb.lifnr as Supplier,
@ObjectModel.foreignKey.association: '_Plant'
resb.werks as Plant,
@ObjectModel.foreignKey.association: '_StorageLocation'
resb.lgort as StorageLocation,
// @ObjectModel.foreignKey.association: '_MaintenanceOrderOperation'
resb.aufpl as MaintOrderRoutingNumber,
resb.aplzl as MaintOrderOperationCounter,
resb.objnr as MaintOrderComponentInternalID,
@ObjectModel.text.association: '_ItemCategoryText'
resb.postp as ItemCategory,
@ObjectModel.foreignKey.association: '_MaterialGroup'
resb.matkl as MaterialGroup,
-- careful: XLOEK refers to the reservation! After confirmation of order, reservation is always "deleted"
-- --> see logic in composite view, where we check the system status
resb.xloek as IsDeleted,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
@DefaultAggregation: #NONE
resb.enmng as QuantityWithdrawnInBaseUnit,
@ObjectModel.foreignKey.association: '_PurReqnOrResvnGeneration'
cast(
case
when resb.no_disp = '1' then '1'
when resb.no_disp = 'X' then '2'
when resb.no_disp = '' then '3'
end as purreqnorresvngeneration) as PurReqnOrResvnGeneration,
@ObjectModel.foreignKey.association: '_ReservationIsFinallyIssued'
resb.kzear as ReservationIsFinallyIssued,
// cast(
// case when resb.dbskz = 'F' then 'X' else ' ' end as xfeld
// ) as MaterialCompIsProcuredDirectly,
cast(
case when resb.dbskz = 'F' then 'X'
end as xfeld ) as MaterialCompIsProcuredDirectly,
//_DirectProcurement.PurchaseRequisition,
//_DirectProcurement.PurchaseRequisitionItem,
// coalesce( rsdb_banfn.banfn, resb.banfn ) as PurchaseRequisition,
// coalesce( rsdb_banfn.bnfpo, resb.bnfpo ) as PurchaseRequisitionItem,
rsdb_banfn.banfn as PurchaseRequisition,
rsdb_banfn.bnfpo as PurchaseRequisitionItem,
@ObjectModel.foreignKey.association: '_ProductTypeCode'
resb.producttype as ProductTypeCode,
resb.startdate as PerformancePeriodStartDate,
resb.enddate as PerformancePeriodEndDate,
resb.performanceperiodstarttime as PerformancePeriodStartTime,
resb.performanceperiodendtime as PerformancePeriodEndTime,
@Semantics.quantity.unitOfMeasure: 'LeanServiceDurationUnit'
resb.serviceduration as LeanServiceDuration,
resb.servicedurationunit as LeanServiceDurationUnit,
resb.funct as DistributionFunction,
cast(
case
when resb.kzmpf = 'X' then 'M'
when resb.funct = 'S10' then ''
when resb.funct = 'S50' then 'X'
end as cc4_delvry_date_adj preserving type ) as MaintOrdCompDeliveryDateAdjmt,
resb.operationworkcenteralignment as SrvcSchedgIsAlignedWthOpWrkCtr,
resb.serviceperformer as ServicePerformer,
resb.bwart as GoodsMovementType,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
cast(resb.enmng as pph_enmng preserving type) as WithdrawnQuantity,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
cast(resb.vmeng as pph_vmeng preserving type) as ConfirmedAvailableQuantity,
// Debit-Credit Indicator
resb.shkzg as MaintOrderCompDebitCreditCode,
-- Field Logistics:
@Feature: 'BF:FIELD_LOGISTICS'
// Note: After removal of feature toggle, @Feature shall be switched to BF:FIELD_LOGISTICS
resb.fldlogsdelivisheldonshore as FldLogsDelivIsHeldOnShore,
@Feature: 'BF:FIELD_LOGISTICS'
resb.fldlogssupplyprocess as FldLogsSupplyProcess,
// case when resb.banfn != '' then resb.banfn
// else rsdb_banfn.banfn end as PurchaseRequisition,
//
// case when resb.bnfpo != '00000' then resb.bnfpo
// else rsdb_banfn.bnfpo end as PurchaseRequisitionItem,
//
// '' as PurchaseOrder,
// '' as PurchaseOrderItem,
resb.xwaok as GoodsMovementIsAllowed,
resb.charg as MaintenanceOrderComponentBatch,
resb.fmeng as QuantityIsFixed,
@Semantics.currencyCode: true
resb.waers as MaintOrdOpComponentCurrency,
//resb.kdauf as SalesOrderNumber,
//resb.kdpos as SalesOrderItemNumber,
resb.saknr as MaintOrdOpComponentGLAccount,
// @Semantics.quantity.unitOfMeasure: 'BaseUnit'
// resb.nomng as QUANTITYINUNITOFENTRY,
resb.sanka as MaintOrdOpCompCostingRelevancy,
resb.ewahr as MaintCompAltvProdUsgeRateInPct,
resb.sortf as MaintOrderOpComponentSortText,
resb.schgt as MaintOrdOpCompIsBulkProduct,
resb.beikz as MaterialProvisionType,
cast( resb.pspel as ps_s4_pspnr preserving type ) as MaintOrdOpCompAssgdWBSElmntInt,
@Semantics.amount.currencyCode: 'MaintOrdOpComponentCurrency'
@DefaultAggregation: #NONE
resb.gpreis as MaintOrderOpComponentPrice,
resb.peinh as MaintOrdOpCompPriceUnitQty,
resb.rgekz as MatlCompIsMarkedForBackflush,
resb.ekgrp as PurchasingGroup,
resb.lifzt as DeliveryTimeInDays,
resb.wempf as MaintOrdOpCompGdsRecipientName,
resb.ablad as MaintOrdOpCompUnloadingPtTxt,
resb.webaz as GoodsReceiptDurationInWorkDays,
resb.infnr as PurchasingInfoRecord,
@Semantics.quantity.unitOfMeasure: 'OpsLeadTimeOffsetUnit'
resb.nlfzv as OperationLeadTimeOffset,
@Semantics.unitOfMeasure:true
resb.nlfmv as OpsLeadTimeOffsetUnit,
// rsdb.afnam as MaintOrdOpCompRequisitioner,
rsadd.bednr as MaintOrdOpCompProcmtTrckgNmbr,
rsadd.ekorg as ResponsiblePurchaseOrg,
resb.ebeln as MaintOrdOpCompPurOutlineAgrmt,
resb.ebelp as MaintOrdCompPurOutlineAgrmtItm,
//rsdb_banfn.ebeln as AgreementNumber,
//rsdb_banfn.ebelp as AgreementItem,
cast( rsdb_banfn.aobar as ps_s4_aobar preserving type ) as OrderOpRelationshipIntType,
@Semantics.unitOfMeasure:true
rsdb_banfn.zeinh as OpRelshpOffsetDurationUnit,
@Semantics.quantity.unitOfMeasure: 'OpRelshpOffsetDurationUnit'
rsdb_banfn.dauer as OpRelshpOffsetDuration,
resb.dbskz as MaintOrdCompIsDirectlyProcured,
resb.sobkz as MaintOrdOpCompSpecialStockType,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
resb.roms1 as VariableSizeDimension1,
@Semantics.unitOfMeasure:true
resb.romei as VariableSizeDimensionUnit,
resb.rform as VariableSizeCompFormulaKey,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
resb.roms2 as VariableSizeDimension2,
cast(resb.roanz as vdm_roanz) as NumberOfVariableSizeItem,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
resb.roms3 as VariableSizeDimension3,
@Semantics.quantity.unitOfMeasure: 'VariableSizeComponentUnit'
resb.romen as VariableSizeItemQuantity,
@Semantics.unitOfMeasure:true
resb.rokme as VariableSizeComponentUnit,
resb.kzmpf as RqmtDateIsEnteredManually,
rsadd.idnlf as SupplierProduct,
rsadd.afnam as MaintOrdOpCompRequisitioner,
@Semantics.amount.currencyCode: 'MaintOrdOpComponentCurrency'
rsadd.overalllimitamount as OverallLimitAmount,
@Semantics.amount.currencyCode: 'MaintOrdOpComponentCurrency'
rsadd.expectedoveralllimitamount as ExpectedOverallLimitAmount,
resb.maintordcompcmtdqtyiskept as MaintOrdCompCmtdQtyIsKept,
rsadd.catalogid as MaintOrdOpCompProcmtCatalog,
rsadd.catalog_prod_id as MaintOrdOpCompProcmtCatalogItm,
// associations:
_MaintenanceOrder,
_MaintenanceOrderOperation,
_Material,
_MaterialText,
_MaterialGroup,
_StorageLocation,
_Plant,
_ItemCategoryText,
_UnitOfMeasure,
_UnitOfMeasureEntry,
_StatusObject,
_SafetyRelevance,
_Supplier,
_PurchaseRequisitionItem,
_ReservationIsFinallyIssued,
_ProductTypeCode,
_ReservationItem,
_PurReqnOrResvnGeneration,
_StatusObjectActiveStatus,
_MaintOrdCompDelivDateAdjmtT
}
where
aufk.autyp = '30'