P_ProjPlnBudgetLineItms

DDL: P_PROJPLNBUDGETLINEITMS SQL: PPRJBYPLNBGT Type: view COMPOSITE

P_ProjPlnBudgetLineItms is a Composite CDS View in SAP S/4HANA. It reads from 12 data sources and exposes 169 fields with key fields SourceLedger, Ledger, CompanyCodeendasCompanyCode, FiscalYear, AccountingDocument. It has 1 association to related views.

Data Sources (12)

SourceAliasJoin Type
P_GetRlvtSemanticTagForProj _AllCost inner
P_GetRlvtSemanticTagForProj _AllCost inner
I_ControllingArea _ContArea inner
I_ControllingArea _ContArea inner
I_OrderPlanningCategoryMap _OrderCategoryMap inner
I_MaintenanceOrder _Orders inner
I_FinancialPlanningEntryItem _ProjCstLineItm inner
I_FinancialPlanningEntryItem _ProjCstLineItm inner
P_PROJECTSEMTAGACC _SemTagGL inner
P_PROJECTSEMTAGACC _SemTagGL inner
P_ProjectsWithProjCat6 Project from
P_ProjectsWithProjCat6 Project union_all

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_FiscalPeriodForVariant _FiscalPeriod $projection.LedgerFiscalYear = _FiscalPeriod.FiscalYear and $projection.FiscalPeriod = _FiscalPeriod.FiscalPeriod and $projection.FiscalYearVariant = _FiscalPeriod.FiscalYearVariant

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName PPRJBYPLNBGT view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AbapCatalog.buffering.status #NOT_ALLOWED view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
VDM.viewType #COMPOSITE view
VDM.private true view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (169)

KeyFieldSource TableSource FieldDescription
KEY SourceLedger
KEY Ledger I_FinancialPlanningEntryItem Ledger
KEY CompanyCodeendasCompanyCode
KEY FiscalYear I_FinancialPlanningEntryItem FiscalYear
KEY AccountingDocument
KEY FinancialPlanningReqTransSqnc I_FinancialPlanningEntryItem FinancialPlanningReqTransSqnc
KEY FinancialPlanningDataPacket I_FinancialPlanningEntryItem FinancialPlanningDataPacket
KEY ActualPlanJournalEntryItem
LedgerFiscalYear I_FinancialPlanningEntryItem LedgerFiscalYear
LedgerGLLineItem
FinancialPlanningEntryItem I_FinancialPlanningEntryItem FinancialPlanningEntryItem
GLAccount I_FinancialPlanningEntryItem GLAccount
ChartOfAccounts I_FinancialPlanningEntryItem ChartOfAccounts
AccountingDocCreatedByUser I_FinancialPlanningEntryItem FinPlngEntryItemCreatedByUser
GLAccountHierarchy P_PROJECTSEMTAGACC GLAccountHierarchy
BusinessArea I_FinancialPlanningEntryItem BusinessArea
CostCenter I_FinancialPlanningEntryItem CostCenter
BudgetProcess I_FinancialPlanningEntryItem BudgetProcess
PartnerOrder I_FinancialPlanningEntryItem PartnerOrder_2
PartnerOrderCategory
PartnerWBSElement
PartnerProject
BusinessTransactionType I_FinancialPlanningEntryItem BusinessTransactionType
ControllingDebitCreditCode I_FinancialPlanningEntryItem ControllingDebitCreditCode
ProfitCenterendasProfitCenter
WBSElementProfitCenter _WBSElementBasicData ProfitCenter
WBSDescription _WBSElementBasicData WBSDescription
ProjectObjectNode _WBSElementBasicData WBSElementObject
WBSElement _WBSElementBasicData WBSElementExternalID
ResponsibleCostCenter _WBSElementBasicData ResponsibleCostCenter
ProjectType _WBSElementBasicData ProjectType
WBSElementInternalID I_FinancialPlanningEntryItem WBSElementInternalID
ControllingArea I_FinancialPlanningEntryItem ControllingArea
Project P_ProjectsWithProjCat6 ProjectExternalID
ProjectInternalID P_ProjectsWithProjCat6 ProjectInternalID
ProjectExternalID _ProjectSummary Project
ProjectDescription P_ProjectsWithProjCat6 ProjectDescription
ProjectProfileCode P_ProjectsWithProjCat6 ProjectProfileCode
ProjectObject P_ProjectsWithProjCat6 ProjectObject
AvailabilityControlProfile P_ProjectsWithProjCat6 AvailabilityControlProfile
AvailabilityControlIsActive P_ProjectsWithProjCat6 AvailabilityControlIsActive
ParentSemanticTag
AvailyCtrlTimeRangeType
BudgetCurrencyRole
ProjectCurrency P_ProjectsWithProjCat6 ProjectCurrency
ProjectSummaryTaskUUID _ProjectSummary ProjectSummaryTaskUUID
ProjectCategory
ProjectUUID _ProjectSummary ProjectUUID
ProcessingStatus _ProjectSummary ProcessingStatus
TaskUUID _ProjectSummary ProjectSummaryTaskUUID
CreationDate
FunctionalArea I_FinancialPlanningEntryItem FunctionalArea
CostCtrActivityType I_FinancialPlanningEntryItem CostCtrActivityType
ControllingObjectCurrency I_FinancialPlanningEntryItem ControllingObjectCurrency
AmountInObjectCurrency I_FinancialPlanningEntryItem AmountInObjectCurrency
TransactionCurrency I_FinancialPlanningEntryItem TransactionCurrency
AmountInTransactionCurrency I_FinancialPlanningEntryItem AmountInTransactionCurrency
CompanyCodeCurrency I_FinancialPlanningEntryItem CompanyCodeCurrency
AmountInCompanyCodeCurrency I_FinancialPlanningEntryItem AmountInCompanyCodeCurrency
GlobalCurrency I_FinancialPlanningEntryItem GlobalCurrency
AmountInGlobalCurrency I_FinancialPlanningEntryItem AmountInGlobalCurrency
FunctionalCurrency I_FinancialPlanningEntryItem FunctionalCurrency
AmountInFunctionalCurrency I_FinancialPlanningEntryItem AmountInFunctionalCurrency
PlanningCategory I_FinancialPlanningEntryItem PlanningCategory
PostingDate I_FinancialPlanningEntryItem PostingDate
DocumentDate
FiscalPeriod I_FinancialPlanningEntryItem FiscalPeriod
FiscalYearPeriod I_FinancialPlanningEntryItem FiscalYearPeriod
FiscalYearVariant I_FinancialPlanningEntryItem FiscalYearVariant
IsSettled
SourceReferenceDocumentType
SourceLogicalSystem
SourceReferenceDocumentCntxt
SourceReferenceDocument
SourceReferenceDocumentItem
SourceReferenceDocSubitem
IsCommitment
OrderID I_FinancialPlanningEntryItem OrderID
OrderPlanningCategory
MaintenanceOrderIsSelected
SemanticTag P_PROJECTSEMTAGACC SemanticTag
SemanticTagIsBudgetRelevant P_GetRlvtSemanticTagForProj SemanticTagIsBudgetRelevant
ObjectIsBudgeted P_GetRlvtSemanticTagForProj SemanticTagIsBudgetRelevant
ProjectIsBudgetRelevant P_GetRlvtSemanticTagForProj ProjectIsBudgetRelevant
char2asfins_ledger_persasSourceLedger
KEY Ledger I_FinancialPlanningEntryItem Ledger
KEY CompanyCodeendasCompanyCode
KEY FiscalYear I_FinancialPlanningEntryItem FiscalYear
KEY AccountingDocument
KEY FinancialPlanningReqTransSqnc I_FinancialPlanningEntryItem FinancialPlanningReqTransSqnc
KEY FinancialPlanningDataPacket I_FinancialPlanningEntryItem FinancialPlanningDataPacket
KEY ActualPlanJournalEntryItem
LedgerFiscalYear I_FinancialPlanningEntryItem LedgerFiscalYear
LedgerGLLineItem
FinancialPlanningEntryItem I_FinancialPlanningEntryItem FinancialPlanningEntryItem
GLAccount I_FinancialPlanningEntryItem GLAccount
ChartOfAccounts I_FinancialPlanningEntryItem ChartOfAccounts
AccountingDocCreatedByUser I_FinancialPlanningEntryItem FinPlngEntryItemCreatedByUser
GLAccountHierarchy P_PROJECTSEMTAGACC GLAccountHierarchy
BusinessArea I_FinancialPlanningEntryItem BusinessArea
CostCenter I_FinancialPlanningEntryItem CostCenter
BudgetProcess I_FinancialPlanningEntryItem BudgetProcess
PartnerOrder I_FinancialPlanningEntryItem PartnerOrder_2
PartnerOrderCategory
PartnerWBSElement
PartnerProject
BusinessTransactionType I_FinancialPlanningEntryItem BusinessTransactionType
ControllingDebitCreditCode I_FinancialPlanningEntryItem ControllingDebitCreditCode
ProfitCenterendasProfitCenter
WBSElementProfitCenter _WBSElementBasicData ProfitCenter
WBSDescription _WBSElementBasicData WBSDescription
ProjectObjectNode I_FinancialPlanningEntryItem OrderID
WBSElement _WBSElementBasicData WBSElementExternalID
ResponsibleCostCenter _WBSElementBasicData ResponsibleCostCenter
ProjectType _WBSElementBasicData ProjectType
WBSElementInternalID I_FinancialPlanningEntryItem WBSElementInternalID
ControllingArea I_FinancialPlanningEntryItem ControllingArea
Project P_ProjectsWithProjCat6 ProjectExternalID
ProjectInternalID P_ProjectsWithProjCat6 ProjectInternalID
ProjectExternalID _ProjectSummary Project
ProjectDescription P_ProjectsWithProjCat6 ProjectDescription
ProjectProfileCode P_ProjectsWithProjCat6 ProjectProfileCode
ProjectObject P_ProjectsWithProjCat6 ProjectObject
AvailabilityControlProfile P_ProjectsWithProjCat6 AvailabilityControlProfile
AvailabilityControlIsActive P_ProjectsWithProjCat6 AvailabilityControlIsActive
ParentSemanticTag
AvailyCtrlTimeRangeType
BudgetCurrencyRole
ProjectCurrency P_ProjectsWithProjCat6 ProjectCurrency
ProjectSummaryTaskUUID _ProjectSummary ProjectSummaryTaskUUID
ProjectCategory
ProjectUUID _ProjectSummary ProjectUUID
ProcessingStatus _ProjectSummary ProcessingStatus
TaskUUID _ProjectSummary ProjectSummaryTaskUUID
CreationDate
FunctionalArea I_FinancialPlanningEntryItem FunctionalArea
CostCtrActivityType I_FinancialPlanningEntryItem CostCtrActivityType
ControllingObjectCurrency I_FinancialPlanningEntryItem ControllingObjectCurrency
AmountInObjectCurrency I_FinancialPlanningEntryItem AmountInObjectCurrency
TransactionCurrency I_FinancialPlanningEntryItem TransactionCurrency
AmountInTransactionCurrency I_FinancialPlanningEntryItem AmountInTransactionCurrency
CompanyCodeCurrency I_FinancialPlanningEntryItem CompanyCodeCurrency
AmountInCompanyCodeCurrency I_FinancialPlanningEntryItem AmountInCompanyCodeCurrency
GlobalCurrency I_FinancialPlanningEntryItem GlobalCurrency
AmountInGlobalCurrency I_FinancialPlanningEntryItem AmountInGlobalCurrency
FunctionalCurrency I_FinancialPlanningEntryItem FunctionalCurrency
AmountInFunctionalCurrency I_FinancialPlanningEntryItem AmountInFunctionalCurrency
PlanningCategory I_FinancialPlanningEntryItem PlanningCategory
PostingDate I_FinancialPlanningEntryItem PostingDate
DocumentDate
FiscalPeriod I_FinancialPlanningEntryItem FiscalPeriod
FiscalYearPeriod I_FinancialPlanningEntryItem FiscalYearPeriod
FiscalYearVariant I_FinancialPlanningEntryItem FiscalYearVariant
IsSettled
SourceReferenceDocumentType
SourceLogicalSystem
SourceReferenceDocumentCntxt
SourceReferenceDocument
SourceReferenceDocumentItem
SourceReferenceDocSubitem
IsCommitment
OrderID I_FinancialPlanningEntryItem OrderID
OrderPlanningCategory I_OrderPlanningCategoryMap PlanningCategory1
MaintenanceOrderIsSelected
SemanticTag P_PROJECTSEMTAGACC SemanticTag
SemanticTagIsBudgetRelevant P_GetRlvtSemanticTagForProj SemanticTagIsBudgetRelevant
ObjectIsBudgeted P_GetRlvtSemanticTagForProj SemanticTagIsBudgetRelevant
ProjectIsBudgetRelevant P_GetRlvtSemanticTagForProj ProjectIsBudgetRelevant
_FiscalPeriod _FiscalPeriod
@AbapCatalog.sqlViewName: 'PPRJBYPLNBGT'
@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_ProjPlnBudgetLineItms
  as select from           P_ProjectsWithProjCat6       as Project
    inner join             I_FinancialPlanningEntryItem as _ProjCstLineItm      on _ProjCstLineItm.ProjectInternalID = Project.ProjectInternalID
    inner join             I_ControllingArea            as _ContArea            on _ContArea.ControllingArea = _ProjCstLineItm.ControllingArea
    inner join             P_PROJECTSEMTAGACC           as _SemTagGL            on  _ProjCstLineItm.ControllingArea = _SemTagGL.ControllingArea
                                                                                and _ProjCstLineItm.GLAccount       = _SemTagGL.HierarchyNodeVal
                                                                                and _ProjCstLineItm.ChartOfAccounts = _SemTagGL.HierarchyNodeClass
    inner join             P_GetRlvtSemanticTagForProj  as _AllCost             on _AllCost.ProjectInternalID = _ProjCstLineItm.ProjectInternalID
    left outer to one join I_WBSElementBasicData        as _WBSElementBasicData on _ProjCstLineItm.WBSElementInternalID = _WBSElementBasicData.WBSElementInternalID
    left outer to one join I_EnterpriseProject          as _ProjectSummary      on _ProjectSummary.ProjectInternalID = _ProjCstLineItm.ProjectInternalID
  association [0..1] to I_FiscalPeriodForVariant as _FiscalPeriod on  $projection.LedgerFiscalYear  = _FiscalPeriod.FiscalYear
                                                                  and $projection.FiscalPeriod      = _FiscalPeriod.FiscalPeriod
                                                                  and $projection.FiscalYearVariant = _FiscalPeriod.FiscalYearVariant
{
  key  cast(cast('' as abap.char (2)) as fins_ledger_pers )                                                                                as SourceLedger,
  key  _ProjCstLineItm.Ledger,

  key  case
       when _ProjCstLineItm.CompanyCode is initial or _ProjCstLineItm.CompanyCode is null
       then _WBSElementBasicData.CompanyCode
       else _ProjCstLineItm.CompanyCode end                                                                                                as CompanyCode,
  key  _ProjCstLineItm.FiscalYear,

  key  cast(cast('' as abap.char (10)) as farp_belnr_d )                                                                                   as AccountingDocument,

  key  _ProjCstLineItm.FinancialPlanningReqTransSqnc,
  key  _ProjCstLineItm.FinancialPlanningDataPacket,
  key  cast(abs(_ProjCstLineItm.FinancialPlanningEntryItem) as  fis_act_pln_docln )                                                        as ActualPlanJournalEntryItem,


       _ProjCstLineItm.LedgerFiscalYear,

       cast(cast('' as abap.char (6)) as fis_docln )                                                                                       as LedgerGLLineItem,

       _ProjCstLineItm.FinancialPlanningEntryItem,

       _ProjCstLineItm.GLAccount,
       _ProjCstLineItm.ChartOfAccounts,

       _ProjCstLineItm.FinPlngEntryItemCreatedByUser                                                                                       as AccountingDocCreatedByUser,

       _SemTagGL.GLAccountHierarchy,
       _ProjCstLineItm.BusinessArea,
       _ProjCstLineItm.CostCenter,

       _ProjCstLineItm.BudgetProcess,

       // S/4 Hana CE2302- Field Deprecation - Begin

       //  _ProjCstLineItm.PartnerOrder,

       _ProjCstLineItm.PartnerOrder_2                                                                                                      as PartnerOrder,
       // S/4 Hana CE2302- Field Deprecation - End


       cast(_ProjCstLineItm._PartnerOrder.OrderCategory as fis_par_auftyp preserving type )                                                as PartnerOrderCategory,

       // S/4 Hana CE2302- Field Deprecation - Begin

       // _ProjCstLineItm.PartnerWBSElement,

       _ProjCstLineItm._PartnerWBSElementBasicData.WBSElementExternalID                                                                    as PartnerWBSElement,

       // _ProjCstLineItm.PartnerProject,

       _ProjCstLineItm._PartnerProjectBasicData.ProjectExternalID                                                                          as PartnerProject,
       // S/4 Hana CE2302- Field Deprecation - End

       _ProjCstLineItm.BusinessTransactionType,

       cast( ( case _ProjCstLineItm.ControllingDebitCreditCode
                when 'S' then 'S'
                         else 'H'
          end )
        as fis_shkzg preserving type )                                                                                                     as DebitCreditCode,

       _ProjCstLineItm.ControllingDebitCreditCode,

       case
       when _ProjCstLineItm.ProfitCenter is initial or _ProjCstLineItm.ProfitCenter is null
       then _WBSElementBasicData.ProfitCenter
       else _ProjCstLineItm.ProfitCenter end                                                                                               as ProfitCenter,

       _WBSElementBasicData.ProfitCenter                                                                                                   as WBSElementProfitCenter,
       _WBSElementBasicData.WBSDescription,

       _WBSElementBasicData.WBSElementObject                                                                                               as ProjectObjectNode,

       //   S/4 HANA CE2208:  mapping change for coding mask - start

       // _ProjCstLineItm.WBSElement,

       _WBSElementBasicData.WBSElementExternalID                                                                                           as WBSElement,
       //   S/4 HANA CE2208:  mapping change for coding mask - end


       _WBSElementBasicData.ResponsibleCostCenter,
       //S/4HANA CE2202: Project Type normalization - Begin

       _WBSElementBasicData.ProjectType,
       //S/4HANA CE2202: Project Type normalization - End

       _ProjCstLineItm.WBSElementInternalID,

       // S/4 HANA CE2208:  mapping change for coding mask - start

       //Project.ControllingArea,

       _ProjCstLineItm.ControllingArea,

       // _ProjCstLineItm.Project,

       Project.ProjectExternalID                                                                                                           as Project,

       //_ProjCstLineItm.ProjectInternalID,

       Project.ProjectInternalID,
       //   S/4 HANA CE2208:  mapping change for coding mask - end


       _ProjectSummary.Project                                                                                                             as ProjectExternalID,

       Project.ProjectDescription,
       Project.ProjectProfileCode,
       Project.ProjectObject,
       Project.AvailabilityControlProfile,
       Project.AvailabilityControlIsActive,
       Project._AvailabilityCtrlProfile._SemanticTag.SemanticTag                                                                           as ParentSemanticTag,
       Project._AvailabilityCtrlProfile.AvailyCtrlTimeRangeType,
       Project._AvailabilityCtrlProfile.BudgetCurrencyRole,
       Project.ProjectCurrency,
       _ProjectSummary.ProjectSummaryTaskUUID,
       '6'                                                                                                                                 as ProjectCategory,
       _ProjectSummary.ProjectUUID,
       _ProjectSummary.ProcessingStatus,
       _ProjectSummary.ProjectSummaryTaskUUID                                                                                              as TaskUUID,

       cast( cast(substring( cast(_ProjCstLineItm.FinPlngEntryItemCrtnDateTime as abap.char(30)) , 1 , 8) as abap.dats(8))  as fis_cpdat ) as CreationDate,

       _ProjCstLineItm.FunctionalArea,
       _ProjCstLineItm.CostCtrActivityType,

       @Semantics.currencyCode: true
       _ProjCstLineItm.ControllingObjectCurrency,

       @DefaultAggregation: #SUM
       @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
       _ProjCstLineItm.AmountInObjectCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.TransactionCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
       _ProjCstLineItm.AmountInTransactionCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.CompanyCodeCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
       _ProjCstLineItm.AmountInCompanyCodeCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.GlobalCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       _ProjCstLineItm.AmountInGlobalCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FunctionalCurrency,

       @Semantics: { amount : {currencyCode: 'FunctionalCurrency'} }
       @DefaultAggregation: #SUM
       _ProjCstLineItm.AmountInFunctionalCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }

       _ProjCstLineItm.PlanningCategory,

       _ProjCstLineItm.PostingDate,

       cast( '00000000' as bldat )                                                                                                         as DocumentDate,

       _ProjCstLineItm.FiscalPeriod,
       _ProjCstLineItm.FiscalYearPeriod,
       _ProjCstLineItm.FiscalYearVariant,

       'X'                                                                                                                                 as IsSettled,
       cast('' as fins_src_awtyp   )                                                                                                       as SourceReferenceDocumentType,
       cast('' as fins_src_awsys   )                                                                                                       as SourceLogicalSystem,
       cast('' as fins_src_aworg   )                                                                                                       as SourceReferenceDocumentCntxt,
       cast('' as fins_src_awref   )                                                                                                       as SourceReferenceDocument,
       cast('000000' as fins_src_awitem preserving type )                                                                                  as SourceReferenceDocumentItem,
       cast('000000' as fins_src_awsubit preserving type )                                                                                 as SourceReferenceDocSubitem,
       cast(' ' as fins_xcommitment preserving type )                                                                                      as IsCommitment,

       //S/4HANA CE2302 - Maintenance Order enablement-Begin

       _ProjCstLineItm.OrderID,
       cast('' as fcom_category )                                                                                                          as OrderPlanningCategory,
       
       cast( 'X' as boolean )                                                                                                              as MaintenanceOrderIsSelected,
       //S/4HANA CE2302 - Maintenance Order enablement-End

       _SemTagGL.SemanticTag,
       _AllCost.SemanticTagIsBudgetRelevant,
       _AllCost.SemanticTagIsBudgetRelevant                                                                                                as ObjectIsBudgeted,
       _AllCost.ProjectIsBudgetRelevant,

       _FiscalPeriod
}

where
        _SemTagGL.GLAccountHierarchy            =  _ContArea.CtrlgStdFinStatementVersion
  and   _ContArea.CtrlgStdFinStatementVersion   is not initial
  and(
        _ProjCstLineItm._Ledger.IsLeadingLedger =  'X'
  )
  and   Project.Project != ''
  and(
        _SemTagGL.ValidityStartDate             <= $session.system_date
    and _SemTagGL.ValidityEndDate               >= $session.system_date
  )
  and   _SemTagGL.SemanticTag                   =  _AllCost.SemanticTag
  and   _AllCost.FinancialStatementVariant      =  _ContArea.CtrlgStdFinStatementVersion
  and   Project.ProjectProfileCode              <> 'YP01'

  and   _ProjCstLineItm.AccountAssignmentType != 'OR'

//S/4HANA CE2302 - Maintenance Order enablement-Begin

  union all 
   select from            P_ProjectsWithProjCat6       as Project
    inner join            I_FinancialPlanningEntryItem as _ProjCstLineItm      on _ProjCstLineItm.ProjectInternalID = Project.ProjectInternalID
    inner join            I_MaintenanceOrder           as _Orders              on _ProjCstLineItm.OrderID          = _Orders.MaintenanceOrder
                                                                                                                          and  _ProjCstLineItm.ProjectInternalID     = _Orders.ProjectInternalID
    inner join            I_ControllingArea            as _ContArea            on _ContArea.ControllingArea = _ProjCstLineItm.ControllingArea
    inner join            P_PROJECTSEMTAGACC           as _SemTagGL            on  _ProjCstLineItm.ControllingArea = _SemTagGL.ControllingArea
                                                                               and _ProjCstLineItm.GLAccount       = _SemTagGL.HierarchyNodeVal
                                                                               and _ProjCstLineItm.ChartOfAccounts = _SemTagGL.HierarchyNodeClass
    inner join            P_GetRlvtSemanticTagForProj  as _AllCost             on _AllCost.ProjectInternalID = _ProjCstLineItm.ProjectInternalID
    inner join            I_OrderPlanningCategoryMap   as _OrderCategoryMap    on _OrderCategoryMap.OrderCategory    = _Orders.MaintenanceOrderCategory
                                                                               and _ProjCstLineItm.PlanningCategory    = _OrderCategoryMap.PlanningCategory1
    left outer to one join I_WBSElementBasicData        as _WBSElementBasicData on  _Orders.ProjectInternalID    = _WBSElementBasicData.ProjectInternalID
                                                                               and  _Orders.WBSElementInternalID = _WBSElementBasicData .WBSElementInternalID
    left outer to one join I_EnterpriseProject          as _ProjectSummary      on _ProjectSummary.ProjectInternalID = _Orders.ProjectInternalID
    association [0..1] to I_FiscalPeriodForVariant as _FiscalPeriod on  $projection.LedgerFiscalYear  = _FiscalPeriod.FiscalYear
                                                                    and $projection.FiscalPeriod      = _FiscalPeriod.FiscalPeriod
                                                                    and $projection.FiscalYearVariant = _FiscalPeriod.FiscalYearVariant
{
  key  cast(cast('' as abap.char (2)) as fins_ledger_pers )                                                                                as SourceLedger,
  key  _ProjCstLineItm.Ledger,

  key  case
       when _ProjCstLineItm.CompanyCode is initial or _ProjCstLineItm.CompanyCode is null
       then _WBSElementBasicData.CompanyCode
       else _ProjCstLineItm.CompanyCode end                                                                                                as CompanyCode,
  key  _ProjCstLineItm.FiscalYear,

  key  cast(cast('' as abap.char (10)) as farp_belnr_d )                                                                                   as AccountingDocument,

  key  _ProjCstLineItm.FinancialPlanningReqTransSqnc,
  key  _ProjCstLineItm.FinancialPlanningDataPacket,
  key  cast(abs(_ProjCstLineItm.FinancialPlanningEntryItem) as  fis_act_pln_docln )                                                        as ActualPlanJournalEntryItem,


       _ProjCstLineItm.LedgerFiscalYear,

       cast(cast('' as abap.char (6)) as fis_docln )                                                                                       as LedgerGLLineItem,

       _ProjCstLineItm.FinancialPlanningEntryItem,

       _ProjCstLineItm.GLAccount,
       _ProjCstLineItm.ChartOfAccounts,

       _ProjCstLineItm.FinPlngEntryItemCreatedByUser                                                                                       as AccountingDocCreatedByUser,

       _SemTagGL.GLAccountHierarchy,
       _ProjCstLineItm.BusinessArea,
       _ProjCstLineItm.CostCenter,

       _ProjCstLineItm.BudgetProcess,

       // S/4 Hana CE2302- Field Deprecation - Begin

       //  _ProjCstLineItm.PartnerOrder,

       _ProjCstLineItm.PartnerOrder_2                                                                                                      as PartnerOrder,
       // S/4 Hana CE2302- Field Deprecation - End


       cast(_ProjCstLineItm._PartnerOrder.OrderCategory as fis_par_auftyp preserving type )                                                as PartnerOrderCategory,

       // S/4 Hana CE2302- Field Deprecation - Begin

       // _ProjCstLineItm.PartnerWBSElement,

       _ProjCstLineItm._PartnerWBSElementBasicData.WBSElementExternalID                                                                    as PartnerWBSElement,

       // _ProjCstLineItm.PartnerProject,

       _ProjCstLineItm._PartnerProjectBasicData.ProjectExternalID                                                                          as PartnerProject,
       // S/4 Hana CE2302- Field Deprecation - End

       _ProjCstLineItm.BusinessTransactionType,

       cast( ( case _ProjCstLineItm.ControllingDebitCreditCode
                when 'S' then 'S'
                         else 'H'
          end )
        as fis_shkzg preserving type )                                                                                                     as DebitCreditCode,

       _ProjCstLineItm.ControllingDebitCreditCode,

       case
       when _ProjCstLineItm.ProfitCenter is initial or _ProjCstLineItm.ProfitCenter is null
       then _WBSElementBasicData.ProfitCenter
       else _ProjCstLineItm.ProfitCenter end                                                                                               as ProfitCenter,

       _WBSElementBasicData.ProfitCenter                                                                                                   as WBSElementProfitCenter,
       _WBSElementBasicData.WBSDescription,

      _ProjCstLineItm.OrderID                                                            as ProjectObjectNode,

       //   S/4 HANA CE2208:  mapping change for coding mask - start

       // _ProjCstLineItm.WBSElement,

       _WBSElementBasicData.WBSElementExternalID                                                                                           as WBSElement,
       //   S/4 HANA CE2208:  mapping change for coding mask - end


       _WBSElementBasicData.ResponsibleCostCenter,
       //S/4HANA CE2202: Project Type normalization - Begin

       _WBSElementBasicData.ProjectType,
       //S/4HANA CE2202: Project Type normalization - End

       _ProjCstLineItm.WBSElementInternalID,

       // S/4 HANA CE2208:  mapping change for coding mask - start

       //Project.ControllingArea,

       _ProjCstLineItm.ControllingArea,

       // _ProjCstLineItm.Project,

       Project.ProjectExternalID                                                                                                           as Project,

       //_ProjCstLineItm.ProjectInternalID,

       Project.ProjectInternalID,
       //   S/4 HANA CE2208:  mapping change for coding mask - end


       _ProjectSummary.Project                                                                                                             as ProjectExternalID,

       Project.ProjectDescription,
       Project.ProjectProfileCode,
       Project.ProjectObject,
       Project.AvailabilityControlProfile,
       Project.AvailabilityControlIsActive,
       Project._AvailabilityCtrlProfile._SemanticTag.SemanticTag                                                                           as ParentSemanticTag,
       Project._AvailabilityCtrlProfile.AvailyCtrlTimeRangeType,
       Project._AvailabilityCtrlProfile.BudgetCurrencyRole,
       Project.ProjectCurrency,
       _ProjectSummary.ProjectSummaryTaskUUID,
       '6'                                                                                                                                 as ProjectCategory,
       _ProjectSummary.ProjectUUID,
       _ProjectSummary.ProcessingStatus,
       _ProjectSummary.ProjectSummaryTaskUUID                                                                                              as TaskUUID,

       cast( cast(substring( cast(_ProjCstLineItm.FinPlngEntryItemCrtnDateTime as abap.char(30)) , 1 , 8) as abap.dats(8))  as fis_cpdat ) as CreationDate,

       _ProjCstLineItm.FunctionalArea,
       _ProjCstLineItm.CostCtrActivityType,

       @Semantics.currencyCode: true
       _ProjCstLineItm.ControllingObjectCurrency,

       @DefaultAggregation: #SUM
       @Semantics.amount.currencyCode: 'ControllingObjectCurrency'
       _ProjCstLineItm.AmountInObjectCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.TransactionCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
       _ProjCstLineItm.AmountInTransactionCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.CompanyCodeCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
       _ProjCstLineItm.AmountInCompanyCodeCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.GlobalCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       _ProjCstLineItm.AmountInGlobalCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FunctionalCurrency,

       @Semantics: { amount : {currencyCode: 'FunctionalCurrency'} }
       @DefaultAggregation: #SUM
       _ProjCstLineItm.AmountInFunctionalCurrency,

       @DefaultAggregation: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }

       _ProjCstLineItm.PlanningCategory,

       _ProjCstLineItm.PostingDate,

       cast( '00000000' as bldat )                                                                                                         as DocumentDate,

       _ProjCstLineItm.FiscalPeriod,
       _ProjCstLineItm.FiscalYearPeriod,
       _ProjCstLineItm.FiscalYearVariant,

       'X'                                                                                                                                 as IsSettled,
       cast('' as fins_src_awtyp   )                                                                                                       as SourceReferenceDocumentType,
       cast('' as fins_src_awsys   )                                                                                                       as SourceLogicalSystem,
       cast('' as fins_src_aworg   )                                                                                                       as SourceReferenceDocumentCntxt,
       cast('' as fins_src_awref   )                                                                                                       as SourceReferenceDocument,
       cast('000000' as fins_src_awitem preserving type )                                                                                  as SourceReferenceDocumentItem,
       cast('000000' as fins_src_awsubit preserving type )                                                                                 as SourceReferenceDocSubitem,
       cast(' ' as fins_xcommitment preserving type )                                                                                      as IsCommitment,
       
       //S/4HANA CE2302 - Maintenance Order enablement-Begin

       _ProjCstLineItm.OrderID,
       _OrderCategoryMap.PlanningCategory1                                                                                                 as OrderPlanningCategory,
       
       cast( ' ' as boolean )                                                                                                              as MaintenanceOrderIsSelected,
       //S/4HANA CE2302 - Maintenance Order enablement - End

       
       _SemTagGL.SemanticTag,
       _AllCost.SemanticTagIsBudgetRelevant,
       _AllCost.SemanticTagIsBudgetRelevant                                                                                                as ObjectIsBudgeted,
       _AllCost.ProjectIsBudgetRelevant,

       _FiscalPeriod
}

where
        _SemTagGL.GLAccountHierarchy            =  _ContArea.CtrlgStdFinStatementVersion
  and   _ContArea.CtrlgStdFinStatementVersion   is not initial
  and(  _ProjCstLineItm._Ledger.IsLeadingLedger =  'X' )
  and   Project.Project != ''
  and(  _SemTagGL.ValidityStartDate             <= $session.system_date
        and _SemTagGL.ValidityEndDate           >= $session.system_date )
  and   _SemTagGL.SemanticTag                   =  _AllCost.SemanticTag
  and   _AllCost.FinancialStatementVariant      =  _ContArea.CtrlgStdFinStatementVersion
  and   Project.ProjectProfileCode              <> 'YP01'
  and   _ProjCstLineItm.AccountAssignmentType   = 'OR'
  
//S/4HANA CE2302 - Maintenance Order enablement-Begin

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_AVAILABILITYCTRLPROFILE",
"I_AVAILYCTRLPROFILESEMANTICTAG",
"I_CONTROLLINGAREA",
"I_ENTERPRISEPROJECT",
"I_FINANCIALPLANNINGENTRYITEM",
"I_INTERNALORDER",
"I_LEDGER",
"I_MAINTENANCEORDER",
"I_ORDERPLANNINGCATEGORYMAP",
"I_PROJECTBASICDATA",
"I_WBSELEMENTBASICDATA",
"P_GETRLVTSEMANTICTAGFORPROJ",
"P_PROJECTSEMTAGACC",
"P_PROJECTSWITHPROJCAT6"
],
"ASSOCIATED":
[
"I_FISCALPERIODFORVARIANT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/