@AbapCatalog.sqlViewName: 'PPRJBYPMIOCST'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@VDM.viewType: #COMPOSITE
@VDM.private: true
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_ProjPMOCostLineItms
as select from P_ProjCostAcctgLineItms as _ProjCstLineItm
inner join P_MAINTORDERBASICDATA as _maintorder on _ProjCstLineItm.ProjectInternalID = _maintorder.projectinternalid
and _ProjCstLineItm.OrderID = _maintorder.MaintenanceOrder
{
key _ProjCstLineItm.ProjectInternalID,
key _ProjCstLineItm.OrderID,
key SourceLedger,
key Ledger,
key _ProjCstLineItm.CompanyCode,
key FiscalYear,
key AccountingDocument,
key FinancialPlanningReqTransSqnc,
key FinancialPlanningDataPacket,
key ActualPlanJournalEntryItem,
_ProjCstLineItm.GLAccountHierarchy,
_maintorder.MaintenanceOrder,
_ProjCstLineItm.OrderOperation,
_ProjCstLineItm._MaintenanceOrder.MaintenanceOrderDesc,
_ProjCstLineItm._MaintenanceOrderOperation.OperationDescription,
// _ProjCstLineItm.ProjectObject,
// _maintorder.MaintenanceOrder as ProjectObjectNode,
LedgerFiscalYear,
LedgerGLLineItem,
FinancialPlanningEntryItem,
AccountingDocCreatedByUser,
BusinessArea,
//Sending Partner fields
PartnerOrder,
PartnerOrderCategory,
PartnerWBSElement,
PartnerProject,
BusinessTransactionType,
DebitCreditCode,
ControllingDebitCreditCode,
_maintorder._WBSElement.WBSElement,
_ProjCstLineItm.Project,
_maintorder.WBSElementInternalID,
_ProjCstLineItm.ControllingArea,
_ProjCstLineItm.GLAccount,
_ProjCstLineItm.ChartOfAccounts,
_ProjCstLineItm.CostCenter,
_ProjCstLineItm.ProfitCenter,
CreationDate,
_ProjCstLineItm.FunctionalArea,
CostCtrActivityType,
@Semantics.currencyCode: true
ControllingObjectCurrency,
@Semantics.amount.currencyCode: 'ControllingObjectCurrency'
AmountInObjectCurrency,
@Semantics.currencyCode:true
TransactionCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
AmountInTransactionCurrency,
@Semantics.currencyCode:true
CompanyCodeCurrency,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
AmountInCompanyCodeCurrency,
@Semantics.currencyCode:true
GlobalCurrency,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
AmountInGlobalCurrency,
@Semantics.currencyCode:true
FreeDefinedCurrency1,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
AmountInFreeDefinedCurrency1,
@Semantics.currencyCode:true
FreeDefinedCurrency2,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
AmountInFreeDefinedCurrency2,
@Semantics.currencyCode:true
FreeDefinedCurrency3,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
AmountInFreeDefinedCurrency3,
@Semantics.currencyCode:true
FreeDefinedCurrency4,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
AmountInFreeDefinedCurrency4,
@Semantics.currencyCode:true
FreeDefinedCurrency5,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
AmountInFreeDefinedCurrency5,
@Semantics.currencyCode:true
FreeDefinedCurrency6,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
AmountInFreeDefinedCurrency6,
@Semantics.currencyCode:true
FreeDefinedCurrency7,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
AmountInFreeDefinedCurrency7,
@Semantics.currencyCode:true
FreeDefinedCurrency8,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
AmountInFreeDefinedCurrency8,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
AmountInGlobalCurrency as ActualAmountInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
AmountInObjectCurrency as ActlCostInProjCrcy,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
AmountInFreeDefinedCurrency1 as ActualAmountInFreeDfndCrcy1,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
AmountInFreeDefinedCurrency2 as ActualAmountInFreeDfndCrcy2,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
AmountInFreeDefinedCurrency3 as ActualAmountInFreeDfndCrcy3,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
AmountInFreeDefinedCurrency4 as ActualAmountInFreeDfndCrcy4,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
AmountInFreeDefinedCurrency5 as ActualAmountInFreeDfndCrcy5,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
AmountInFreeDefinedCurrency6 as ActualAmountInFreeDfndCrcy6,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
AmountInFreeDefinedCurrency7 as ActualAmountInFreeDfndCrcy7,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
AmountInFreeDefinedCurrency8 as ActualAmountInFreeDfndCrcy8,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(0 as fis_ksl) as CmtmtCostInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
cast(0 as fins_vco_ocur12) as CmtmtCostInProjCrcy,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
cast(0 as fis_osl) as CmtmtCostInFreeDefinedCrcy1,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
cast(0 as fis_vsl) as CmtmtCostInFreeDefinedCrcy2,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
cast(0 as fis_bsl) as CmtmtCostInFreeDefinedCrcy3,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
cast(0 as fis_csl) as CmtmtCostInFreeDefinedCrcy4,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
cast(0 as fis_dsl) as CmtmtCostInFreeDefinedCrcy5,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
cast(0 as fis_esl) as CmtmtCostInFreeDefinedCrcy6,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
cast(0 as fis_fsl) as CmtmtCostInFreeDefinedCrcy7,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
cast(0 as fis_gsl) as CmtmtCostInFreeDefinedCrcy8,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(0 as fis_ksl) as PlanAmountInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
cast(0 as fins_vco_ocur12) as PlndCostAmtInProjCrcy,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
cast(0 as fis_osl) as PlanAmountInFreeDefinedCrcy1,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
cast(0 as fis_vsl) as PlanAmountInFreeDefinedCrcy2,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
cast(0 as fis_bsl) as PlanAmountInFreeDefinedCrcy3,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
cast(0 as fis_csl) as PlanAmountInFreeDefinedCrcy4,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
cast(0 as fis_dsl) as PlanAmountInFreeDefinedCrcy5,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
cast(0 as fis_esl) as PlanAmountInFreeDefinedCrcy6,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
cast(0 as fis_fsl) as PlanAmountInFreeDefinedCrcy7,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
cast(0 as fis_gsl) as PlanAmountInFreeDefinedCrcy8,
SourceReferenceDocumentType,
SourceLogicalSystem,
SourceReferenceDocumentCntxt,
SourceReferenceDocument,
SourceReferenceDocumentItem,
SourceReferenceDocSubitem,
'' as IsCommitment,
'X' as IsSettled,
_ProjCstLineItm.PlanningCategory,
cast('' as fcom_category ) as PlanningCategory1,
cast('' as fcom_category ) as PlanningCategory2,
PostingDate,
DocumentDate,
FiscalPeriod,
FiscalYearPeriod,
_ProjCstLineItm.FiscalYearVariant,
_ProjCstLineItm.IsLeadingLedger,
_ProjCstLineItm.SemanticTag
// _ProjectBasicData.ProjectDescription,
// _ProjectBasicData.ProjectProfileCode,
// _ProjCstLineItm.WBSDescription,
// _ProjCstLineItm.ResponsibleCostCenter,
// _ProjCstLineItm.WBSElementProfitCenter,
// _ProjectBasicData._AvailabilityCtrlProfile.AvailyCtrlTimeRangeType,
// _ProjectBasicData._AvailabilityCtrlProfile.BudgetCurrencyRole
}
where
_ProjCstLineItm.Ledger = _ProjCstLineItm.SourceLedger
and _ProjCstLineItm.IsLeadingLedger = 'X'
and(
_ProjectBasicData.Project is not null
and _maintorder.project is not null
)
//and _ProjCstLineItm.CompanyCode = _ProjCstLineItm.WBSElementCoCode
and _ProjCstLineItm.OrderID is not initial
and _ProjCstLineItm.PlanningCategory = 'ACT01'
and _ProjCstLineItm.IsCommitment <> 'X'
and _ProjCstLineItm.OrderID = _maintorder.MaintenanceOrder
and _maintorder.MaintenanceOrderCategory = '30'
union all select from P_ProjCostAcctgLineItms as _ProjCstLineItm
inner join P_MAINTORDERBASICDATA as _maintorder on _ProjCstLineItm.ProjectInternalID = _maintorder.projectinternalid
and _ProjCstLineItm.OrderID = _maintorder.MaintenanceOrder
inner join I_OrderPlanningCategoryMap as _OrderCategoryMap on _ProjCstLineItm.PlanningCategory = _OrderCategoryMap.PlanningCategory1
or _ProjCstLineItm.PlanningCategory = _OrderCategoryMap.PlanningCategory2
{
key _ProjCstLineItm.ProjectInternalID,
key _ProjCstLineItm.OrderID,
key SourceLedger,
key Ledger,
key _ProjCstLineItm.CompanyCode,
key FiscalYear,
key AccountingDocument,
key FinancialPlanningReqTransSqnc,
key FinancialPlanningDataPacket,
key ActualPlanJournalEntryItem,
_ProjCstLineItm.GLAccountHierarchy,
_maintorder.MaintenanceOrder,
_ProjCstLineItm.OrderOperation,
_ProjCstLineItm._MaintenanceOrder.MaintenanceOrderDesc,
_ProjCstLineItm._MaintenanceOrderOperation.OperationDescription,
// _ProjCstLineItm.ProjectObject,
// _maintorder.MaintenanceOrder as ProjectObjectNode,
LedgerFiscalYear,
LedgerGLLineItem,
FinancialPlanningEntryItem,
AccountingDocCreatedByUser,
BusinessArea,
//Sending Partner fields
PartnerOrder,
PartnerOrderCategory,
PartnerWBSElement,
PartnerProject,
BusinessTransactionType,
DebitCreditCode,
ControllingDebitCreditCode,
_maintorder._WBSElement.WBSElement,
_ProjCstLineItm.Project,
_maintorder.WBSElementInternalID,
_ProjCstLineItm.ControllingArea,
_ProjCstLineItm.GLAccount,
_ProjCstLineItm.ChartOfAccounts,
_ProjCstLineItm.CostCenter,
_ProjCstLineItm.ProfitCenter,
CreationDate,
_ProjCstLineItm.FunctionalArea,
CostCtrActivityType,
@Semantics.currencyCode: true
ControllingObjectCurrency,
@Semantics.amount.currencyCode: 'ControllingObjectCurrency'
AmountInObjectCurrency,
@Semantics.currencyCode:true
TransactionCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
AmountInTransactionCurrency,
@Semantics.currencyCode:true
CompanyCodeCurrency,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
AmountInCompanyCodeCurrency,
@Semantics.currencyCode:true
GlobalCurrency,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
AmountInGlobalCurrency,
@Semantics.currencyCode:true
FreeDefinedCurrency1,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
AmountInFreeDefinedCurrency1,
@Semantics.currencyCode:true
FreeDefinedCurrency2,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
AmountInFreeDefinedCurrency2,
@Semantics.currencyCode:true
FreeDefinedCurrency3,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
AmountInFreeDefinedCurrency3,
@Semantics.currencyCode:true
FreeDefinedCurrency4,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
AmountInFreeDefinedCurrency4,
@Semantics.currencyCode:true
FreeDefinedCurrency5,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
AmountInFreeDefinedCurrency5,
@Semantics.currencyCode:true
FreeDefinedCurrency6,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
AmountInFreeDefinedCurrency6,
@Semantics.currencyCode:true
FreeDefinedCurrency7,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
AmountInFreeDefinedCurrency7,
@Semantics.currencyCode:true
FreeDefinedCurrency8,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
AmountInFreeDefinedCurrency8,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(0 as fis_ksl) as ActualAmountInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
cast(0 as fins_vco_ocur12) as ActlCostInProjCrcy,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
cast(0 as fis_osl) as ActualAmountInFreeDfndCrcy1,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
cast(0 as fis_vsl) as ActualAmountInFreeDfndCrcy2,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
cast(0 as fis_bsl) as ActualAmountInFreeDfndCrcy3,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
cast(0 as fis_csl) as ActualAmountInFreeDfndCrcy4,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
cast(0 as fis_dsl) as ActualAmountInFreeDfndCrcy5,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
cast(0 as fis_esl) as ActualAmountInFreeDfndCrcy6,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
cast(0 as fis_fsl) as ActualAmountInFreeDfndCrcy7,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
cast(0 as fis_gsl) as ActualAmountInFreeDfndCrcy8,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
cast(0 as fis_ksl) as CmtmtCostInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
cast(0 as fins_vco_ocur12) as CmtmtCostInProjCrcy,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
cast(0 as fis_osl) as CmtmtCostInFreeDefinedCrcy1,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
cast(0 as fis_vsl) as CmtmtCostInFreeDefinedCrcy2,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
cast(0 as fis_bsl) as CmtmtCostInFreeDefinedCrcy3,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
cast(0 as fis_csl) as CmtmtCostInFreeDefinedCrcy4,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
cast(0 as fis_dsl) as CmtmtCostInFreeDefinedCrcy5,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
cast(0 as fis_esl) as CmtmtCostInFreeDefinedCrcy6,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
cast(0 as fis_fsl) as CmtmtCostInFreeDefinedCrcy7,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
cast(0 as fis_gsl) as CmtmtCostInFreeDefinedCrcy8,
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
AmountInGlobalCurrency as PlanAmountInGlobalCurrency,
@Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
AmountInObjectCurrency as PlndCostAmtInProjCrcy,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
AmountInFreeDefinedCurrency1 as PlanAmountInFreeDefinedCrcy1,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
AmountInFreeDefinedCurrency2 as PlanAmountInFreeDefinedCrcy2,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
AmountInFreeDefinedCurrency3 as PlanAmountInFreeDefinedCrcy3,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
AmountInFreeDefinedCurrency4 as PlanAmountInFreeDefinedCrcy4,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
AmountInFreeDefinedCurrency5 as PlanAmountInFreeDefinedCrcy5,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
AmountInFreeDefinedCurrency6 as PlanAmountInFreeDefinedCrcy6,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
AmountInFreeDefinedCurrency7 as PlanAmountInFreeDefinedCrcy7,
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
AmountInFreeDefinedCurrency8 as PlanAmountInFreeDefinedCrcy8,
SourceReferenceDocumentType,
SourceLogicalSystem,
SourceReferenceDocumentCntxt,
SourceReferenceDocument,
SourceReferenceDocumentItem,
SourceReferenceDocSubitem,
'' as IsCommitment,
'X' as IsSettled,
_ProjCstLineItm.PlanningCategory,
_OrderCategoryMap.PlanningCategory1,
_OrderCategoryMap.PlanningCategory2,
PostingDate,
DocumentDate,
FiscalPeriod,
FiscalYearPeriod,
_ProjCstLineItm.FiscalYearVariant,
_ProjCstLineItm.IsLeadingLedger,
_ProjCstLineItm.SemanticTag
// _ProjectBasicData.ProjectDescription,
// _ProjectBasicData.ProjectProfileCode,
// _ProjCstLineItm.WBSDescription,
// _ProjCstLineItm.ResponsibleCostCenter,
// _ProjCstLineItm.WBSElementProfitCenter,
//
// _ProjectBasicData._AvailabilityCtrlProfile.AvailyCtrlTimeRangeType,
// _ProjectBasicData._AvailabilityCtrlProfile.BudgetCurrencyRole
}
where
_ProjCstLineItm.SourceLedger = '' // needed for plan data
and _ProjCstLineItm.IsLeadingLedger = 'X'
and(
_ProjectBasicData.Project is not null
and _maintorder.project is not null
)
and _ProjCstLineItm.OrderID is not initial
and _ProjCstLineItm.PlanningCategory <> 'ACT01'
and _ProjCstLineItm.IsCommitment <> 'X'
and _ProjCstLineItm.OrderID = _maintorder.MaintenanceOrder
and _maintorder.MaintenanceOrderCategory = '30'