P_ProjectPlanCostLineItem

DDL: P_PROJECTPLANCOSTLINEITEM SQL: PPROJBYPLANCOST Type: view COMPOSITE

P_ProjectPlanCostLineItem is a Composite CDS View in SAP S/4HANA. It reads from 4 data sources (P_ProjectObject_2, I_FinancialPlanningEntryItem, I_FinancialPlanningEntryItem, I_InternalOrder) and exposes 219 fields with key fields FinancialPlanningReqTransSqnc, FinancialPlanningDataPacket, ActualPlanJournalEntryItem, FinancialPlanningDataPacket, ActualPlanJournalEntryItem. It has 1 association to related views.

Data Sources (4)

SourceAliasJoin Type
P_ProjectObject_2 _hierachyData inner
I_FinancialPlanningEntryItem _ProjCstLineItm from
I_FinancialPlanningEntryItem _ProjCstLineItm union_all
I_InternalOrder InternalOrder inner

Parameters (1)

NameTypeDefault
P_ProjectObjectRootNode j_objnr

Associations (1)

CardinalityTargetAliasCondition
[0..*] I_VirtualPlanningCategory _VirtualPlanningCategory $projection.PlanningCategory = _VirtualPlanningCategory.SourcePlanningCategory

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName PPROJBYPLANCOST view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED 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 (219)

KeyFieldSource TableSource FieldDescription
KEY FinancialPlanningReqTransSqnc I_FinancialPlanningEntryItem FinancialPlanningReqTransSqnc
KEY FinancialPlanningDataPacket I_FinancialPlanningEntryItem FinancialPlanningDataPacket
KEY ActualPlanJournalEntryItem
SourceLedger
Ledger I_FinancialPlanningEntryItem Ledger
CompanyCode I_FinancialPlanningEntryItem CompanyCode
FiscalYear I_FinancialPlanningEntryItem FiscalYear
AccountingDocument
LedgerFiscalYear I_FinancialPlanningEntryItem LedgerFiscalYear
LedgerGLLineItem
FinancialPlanningEntryItem I_FinancialPlanningEntryItem FinancialPlanningEntryItem
ActualPlanCode
AccountingDocCreatedByUser I_FinancialPlanningEntryItem FinPlngEntryItemCreatedByUser
BusinessArea I_FinancialPlanningEntryItem BusinessArea
PartnerOrder I_FinancialPlanningEntryItem PartnerOrder
OrderID I_FinancialPlanningEntryItem OrderID
ControllingObject I_FinancialPlanningEntryItem ControllingObject
OrderOperation I_FinancialPlanningEntryItem OrderOperation
OrderSuboperation I_FinancialPlanningEntryItem OrderSuboperation
OrderIDelseendasInternalOrder
PartnerOrderCategory
ProjectObjectType P_ProjectObject_2 ProjectObjectType
PartnerOrderendasProjectPartnerObject
PartnerProject I_FinancialPlanningEntryItem PartnerProject
BusinessTransactionType I_FinancialPlanningEntryItem BusinessTransactionType
ControllingDebitCreditCode I_FinancialPlanningEntryItem ControllingDebitCreditCode
WBSElement P_ProjectObject_2 WBSElement
ProjectNetwork I_FinancialPlanningEntryItem ProjectNetwork
NetworkActivity _NetworkActivity NetworkActivity
NetworkActivityElement _NetworkActivity NetworkActivityElement
ProjectObjectExternalID P_ProjectObject_2 ProjectObjectExternalID
OrderItemendasProjectNetworkActivity
Project P_ProjectObject_2 Project
ProjectInternalID I_FinancialPlanningEntryItem ProjectInternalID
ProjectNetworkendasObjectInternalID
ControllingArea I_FinancialPlanningEntryItem ControllingArea
GLAccount I_FinancialPlanningEntryItem GLAccount
CostCenter I_FinancialPlanningEntryItem CostCenter
ProfitCenter I_FinancialPlanningEntryItem ProfitCenter
ChartOfAccounts I_FinancialPlanningEntryItem ChartOfAccounts
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
PlanAmountInFunctionalCurrency I_FinancialPlanningEntryItem AmountInFunctionalCurrency
FreeDefinedCurrency1 I_FinancialPlanningEntryItem FreeDefinedCurrency1
AmountInFreeDefinedCurrency1 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency1
FreeDefinedCurrency2 I_FinancialPlanningEntryItem FreeDefinedCurrency2
AmountInFreeDefinedCurrency2 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency2
FreeDefinedCurrency3 I_FinancialPlanningEntryItem FreeDefinedCurrency3
AmountInFreeDefinedCurrency3 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency3
FreeDefinedCurrency4 I_FinancialPlanningEntryItem FreeDefinedCurrency4
AmountInFreeDefinedCurrency4 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency4
FreeDefinedCurrency5 I_FinancialPlanningEntryItem FreeDefinedCurrency5
AmountInFreeDefinedCurrency5 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency5
FreeDefinedCurrency6 I_FinancialPlanningEntryItem FreeDefinedCurrency6
AmountInFreeDefinedCurrency6 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency6
FreeDefinedCurrency7 I_FinancialPlanningEntryItem FreeDefinedCurrency7
AmountInFreeDefinedCurrency7 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency7
FreeDefinedCurrency8 I_FinancialPlanningEntryItem FreeDefinedCurrency8
AmountInFreeDefinedCurrency8 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency8
PlndCostAmtInProjCrcy I_FinancialPlanningEntryItem AmountInObjectCurrency
PlanAmountInGlobalCurrency I_FinancialPlanningEntryItem AmountInGlobalCurrency
PlanAmountInFreeDefinedCrcy1 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency1
PlanAmountInFreeDefinedCrcy2 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency2
PlanAmountInFreeDefinedCrcy3 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency3
PlanAmountInFreeDefinedCrcy4 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency4
PlanAmountInFreeDefinedCrcy5 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency5
PlanAmountInFreeDefinedCrcy6 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency6
PlanAmountInFreeDefinedCrcy7 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency7
PlanAmountInFreeDefinedCrcy8 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency8
SourceReferenceDocumentType
SourceLogicalSystem
SourceReferenceDocumentCntxt
SourceReferenceDocument
SourceReferenceDocumentItem
SourceReferenceDocSubitem
IsCommitment
IsSettled
PlanningCategory I_FinancialPlanningEntryItem PlanningCategory
PostingDate I_FinancialPlanningEntryItem PostingDate
DocumentDate
FiscalPeriod I_FinancialPlanningEntryItem FiscalPeriod
FiscalYearPeriod I_FinancialPlanningEntryItem FiscalYearPeriod
FiscalYearVariant I_FinancialPlanningEntryItem FiscalYearVariant
PartnerProfitCenter I_FinancialPlanningEntryItem PartnerProfitCenter
PartnerCompanyCode I_FinancialPlanningEntryItem PartnerCompanyCode
MaintenanceOrderIsSelected
ProjectObjectProfitCenter P_ProjectObject_2 ProjectObjectProfitCenter
ProjectObjectDescription P_ProjectObject_2 ProjectObjectDescription
ProjectObjectNode P_ProjectObject_2 ProjectObjectNode
ProjectObjectRootNode P_ProjectObject_2 ProjectObjectRootNode
ResponsibleCostCenter P_ProjectObject_2 ResponsibleCostCenter
ProjectType P_ProjectObject_2 ProjectType
OrderType P_ProjectObject_2 OrderType
_VirtualPlanningCategory _VirtualPlanningCategory
_WBSElement _WBSElement
_ProjectNetwork _ProjectNetwork
_NetworkActivity _NetworkActivity
_PMOrder _PMOrder
FinancialPlanningReqTransSqnc
KEY FinancialPlanningDataPacket I_FinancialPlanningEntryItem FinancialPlanningDataPacket
KEY ActualPlanJournalEntryItem
SourceLedger
Ledger I_FinancialPlanningEntryItem Ledger
CompanyCode I_FinancialPlanningEntryItem CompanyCode
FiscalYear I_FinancialPlanningEntryItem FiscalYear
AccountingDocument
LedgerFiscalYear I_FinancialPlanningEntryItem LedgerFiscalYear
LedgerGLLineItem
FinancialPlanningEntryItem I_FinancialPlanningEntryItem FinancialPlanningEntryItem
ActualPlanCode
AccountingDocCreatedByUser I_FinancialPlanningEntryItem FinPlngEntryItemCreatedByUser
BusinessArea I_FinancialPlanningEntryItem BusinessArea
PartnerOrder I_FinancialPlanningEntryItem PartnerOrder
OrderID I_FinancialPlanningEntryItem OrderID
ControllingObject I_FinancialPlanningEntryItem ControllingObject
OrderOperation I_FinancialPlanningEntryItem OrderOperation
OrderSuboperation I_FinancialPlanningEntryItem OrderSuboperation
InternalOrder I_FinancialPlanningEntryItem OrderID
PartnerOrderCategory
ProjectObjectType
ProjectPartnerObject I_FinancialPlanningEntryItem PartnerWBSElement
PartnerProjectNetworkActivity
PartnerProject I_FinancialPlanningEntryItem PartnerProject
BusinessTransactionType I_FinancialPlanningEntryItem BusinessTransactionType
ControllingDebitCreditCode I_FinancialPlanningEntryItem ControllingDebitCreditCode
WBSElement _WBSElement WBSElementExternalID
ProjectNetwork I_FinancialPlanningEntryItem ProjectNetwork
NetworkActivity
NetworkActivityElement
ProjectObjectExternalID I_InternalOrder InternalOrder
ProjectNetworkActivity
Project
ProjectInternalID
ObjectInternalID I_FinancialPlanningEntryItem OrderID
ControllingArea I_FinancialPlanningEntryItem ControllingArea
GLAccount I_FinancialPlanningEntryItem GLAccount
CostCenter I_FinancialPlanningEntryItem CostCenter
ProfitCenter I_FinancialPlanningEntryItem ProfitCenter
ChartOfAccounts I_FinancialPlanningEntryItem ChartOfAccounts
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
PlanAmountInFunctionalCurrency I_FinancialPlanningEntryItem AmountInFunctionalCurrency
FreeDefinedCurrency1 I_FinancialPlanningEntryItem FreeDefinedCurrency1
AmountInFreeDefinedCurrency1 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency1
FreeDefinedCurrency2 I_FinancialPlanningEntryItem FreeDefinedCurrency2
AmountInFreeDefinedCurrency2 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency2
FreeDefinedCurrency3 I_FinancialPlanningEntryItem FreeDefinedCurrency3
AmountInFreeDefinedCurrency3 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency3
FreeDefinedCurrency4 I_FinancialPlanningEntryItem FreeDefinedCurrency4
AmountInFreeDefinedCurrency4 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency4
FreeDefinedCurrency5 I_FinancialPlanningEntryItem FreeDefinedCurrency5
AmountInFreeDefinedCurrency5 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency5
FreeDefinedCurrency6 I_FinancialPlanningEntryItem FreeDefinedCurrency6
AmountInFreeDefinedCurrency6 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency6
FreeDefinedCurrency7 I_FinancialPlanningEntryItem FreeDefinedCurrency7
AmountInFreeDefinedCurrency7 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency7
FreeDefinedCurrency8 I_FinancialPlanningEntryItem FreeDefinedCurrency8
AmountInFreeDefinedCurrency8 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency8
PlndCostAmtInProjCrcy I_FinancialPlanningEntryItem AmountInObjectCurrency
PlanAmountInGlobalCurrency I_FinancialPlanningEntryItem AmountInGlobalCurrency
PlanAmountInFreeDefinedCrcy1 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency1
PlanAmountInFreeDefinedCrcy2 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency2
PlanAmountInFreeDefinedCrcy3 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency3
PlanAmountInFreeDefinedCrcy4 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency4
PlanAmountInFreeDefinedCrcy5 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency5
PlanAmountInFreeDefinedCrcy6 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency6
PlanAmountInFreeDefinedCrcy7 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency7
PlanAmountInFreeDefinedCrcy8 I_FinancialPlanningEntryItem AmountInFreeDefinedCurrency8
SourceReferenceDocumentType
SourceLogicalSystem
SourceReferenceDocumentCntxt
SourceReferenceDocument
SourceReferenceDocumentItem
SourceReferenceDocSubitem
IsCommitment
IsSettled
PlanningCategory I_FinancialPlanningEntryItem PlanningCategory
PostingDate I_FinancialPlanningEntryItem PostingDate
DocumentDate
FiscalPeriod I_FinancialPlanningEntryItem FiscalPeriod
FiscalYearPeriod I_FinancialPlanningEntryItem FiscalYearPeriod
FiscalYearVariant I_FinancialPlanningEntryItem FiscalYearVariant
PartnerProfitCenter I_FinancialPlanningEntryItem PartnerProfitCenter
PartnerCompanyCode I_FinancialPlanningEntryItem PartnerCompanyCode
MaintenanceOrderIsSelected
ProjectSelectedObject
ProjectObjectProfitCenter I_InternalOrder ProfitCenter
ProjectObjectDescription I_InternalOrder InternalOrderDescription
ProjectObjectNode I_InternalOrder ControllingObject
ProjectObjectRootNode
ResponsibleCostCenter I_InternalOrder ResponsibleCostCenter
ProjectType
OrderType I_InternalOrder OrderType
_VirtualPlanningCategory _VirtualPlanningCategory
_WBSElement _WBSElement
_ProjectNetwork _ProjectNetwork
_NetworkActivity _NetworkActivity
_PMOrder _PMOrder
_InternalOrder _InternalOrder
@AbapCatalog.sqlViewName: 'PPROJBYPLANCOST'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@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_ProjectPlanCostLineItem
  with parameters
    P_ProjectObjectRootNode : j_objnr
 //   P_ControllingArea: kokrs

  as select from(
                 I_FinancialPlanningEntryItem as _ProjCstLineItm
      inner join P_ProjectObject_2            as _hierachyData on  _ProjCstLineItm.ControllingObject   =  _hierachyData.ProjectObjectNode
                                                               and _ProjCstLineItm.ControllingObject   <> ''
                                                               and _hierachyData.ProjectObjectRootNode = $parameters.P_ProjectObjectRootNode
  )
 // left outer join I_PrjAppendedOrdForCostReport( P_ControllingArea: $parameters.P_ControllingArea ) as _AppendIndicator on _AppendIndicator.OrderType = _hierachyData.OrderType

  association [0..*] to I_VirtualPlanningCategory      as _VirtualPlanningCategory on  $projection.PlanningCategory = _VirtualPlanningCategory.SourcePlanningCategory
  association        to I_WBSElementData_2             as _WBSElement              on  _hierachyData.ProjectObjectNode = _WBSElement.WBSElementObject
  association        to I_NetworkActivityForCostReport as _NetworkActivity         on  _hierachyData.ProjectObjectNode = _NetworkActivity.NetworkActivityObject

  association        to I_ProjectNetwork               as _ProjectNetwork          on  _hierachyData.ProjectObjectNode = _ProjectNetwork.ProjectNetworkObject
  association        to I_MaintenanceOrder             as _PMOrder                 on  _hierachyData.ProjectObjectNode = _PMOrder.MaintenanceOrderInternalID
  association        to I_InternalOrder                as _InternalOrder           on  $projection.InternalOrder = _InternalOrder.InternalOrder
  association [0..1] to I_PrjAppendedOrdForCostReport  as _AppendIndicator         on  $projection.OrderType       = _AppendIndicator.OrderType
                                                                                   and $projection.ControllingArea = _AppendIndicator.ControllingArea
{
  key  _ProjCstLineItm.FinancialPlanningReqTransSqnc,
  key  _ProjCstLineItm.FinancialPlanningDataPacket,
  key  cast(abs(_ProjCstLineItm.FinancialPlanningEntryItem) as  fis_act_pln_docln )       as ActualPlanJournalEntryItem,
       cast(cast('' as abap.char (2)) as fins_ledger_pers )                               as SourceLedger,
       _ProjCstLineItm.Ledger,
       _ProjCstLineItm.CompanyCode,
       _ProjCstLineItm.FiscalYear,
       cast(cast('' as abap.char (10)) as farp_belnr_d )                                  as AccountingDocument,
       _ProjCstLineItm.LedgerFiscalYear,
       cast(cast('' as abap.char (6)) as fis_docln )                                      as LedgerGLLineItem,
       _ProjCstLineItm.FinancialPlanningEntryItem,
       cast(cast( 'P' as abap.char (1)) as fis_actual_plan_code)                          as ActualPlanCode,
       _ProjCstLineItm.FinPlngEntryItemCreatedByUser                                      as AccountingDocCreatedByUser,
       _ProjCstLineItm.BusinessArea,
       _ProjCstLineItm.PartnerOrder,
       //       _ProjCstLineItm.OrderID,

       case
       when _hierachyData.ProjectObjectType = 'OR'
       then
       _ProjCstLineItm.OrderID
       else
       ''
       end                                                                                as OrderID,

       _ProjCstLineItm.ControllingObject,
       _ProjCstLineItm.OrderOperation,
       _ProjCstLineItm.OrderSuboperation,

       case
       when _hierachyData.ProjectObjectType = 'IO'
       then
       _ProjCstLineItm.OrderID
       else
       ''
       end                                                                                as InternalOrder,

       case
       when _hierachyData.ProjectObjectType = 'PP'
       then
       _ProjCstLineItm.OrderID
       else
       ''
       end                                                                                as ProductionOrder,

       _ProjCstLineItm.Product,

       case
       when _hierachyData.ProjectObjectType = 'SV'
       then
       _ProjCstLineItm.ServiceDocument
       else
       ''
       end                                                                                as ServiceOrder,

       case
       when _hierachyData.ProjectObjectType = 'SV'
       then
       _ProjCstLineItm.ServiceDocumentItem
       else
       ''
       end                                                                                as ServiceOrderItem,

       case
       when _hierachyData.ProjectObjectType = 'SC'
       then
       _ProjCstLineItm.ServiceDocument
       else
       ''
       end                                                                                as ServiceContract,

       case
       when _hierachyData.ProjectObjectType = 'SC'
       then
       _ProjCstLineItm.ServiceDocumentItem
       else
       ''
       end                                                                                as ServiceContractItem,

       cast(_PartnerOrder.OrderCategory as fis_par_auftyp preserving type )               as PartnerOrderCategory,
       _hierachyData.ProjectObjectType                                                    as ProjectObjectType,
       case
       when _hierachyData.ProjectObjectType = 'PR' or _hierachyData.ProjectObjectType = 'OR'
       then _ProjCstLineItm.PartnerWBSElement
       when _hierachyData.ProjectObjectType = 'NV' or _hierachyData.ProjectObjectType = 'EL'
       or _hierachyData.ProjectObjectType = 'NP'
       then _ProjCstLineItm.PartnerOrder
       end                                                                                as ProjectPartnerObject,

       case
       when _hierachyData.ProjectObjectType = 'PR' or _hierachyData.ProjectObjectType = 'OR' or _hierachyData.ProjectObjectType = 'NP'
       then ''
       when _hierachyData.ProjectObjectType = 'NV' or _hierachyData.ProjectObjectType = 'EL'
       then _ProjCstLineItm.PartnerOrderItem
       end                                                                                as PartnerProjectNetworkActivity,

       _ProjCstLineItm.PartnerProject,
       _ProjCstLineItm.BusinessTransactionType,
       cast( ( case ControllingDebitCreditCode
               when 'S' then 'S'
                        else 'H'
         end )
       as fis_shkzg preserving type )                                                     as DebitCreditCode,
       _ProjCstLineItm.ControllingDebitCreditCode,
       _hierachyData.WBSElement,
       _ProjCstLineItm.ProjectNetwork                                                     as ProjectNetwork,
       _NetworkActivity.NetworkActivity                                                   as NetworkActivity,
       _NetworkActivity.NetworkActivityElement                                            as NetworkActivityElement,
       _hierachyData.ProjectObjectExternalID,

       case
       when _hierachyData.ProjectObjectType = 'PR' or _hierachyData.ProjectObjectType = 'OR' or _hierachyData.ProjectObjectType = 'NP'
       then ''
       when _hierachyData.ProjectObjectType = 'NV' or _hierachyData.ProjectObjectType = 'EL'
       then _ProjCstLineItm.OrderItem
       end                                                                                as ProjectNetworkActivity,


       _hierachyData.Project,

       _ProjCstLineItm.ProjectInternalID,

       case
       when _hierachyData.ProjectObjectType = 'PR'
       then _ProjCstLineItm.WBSElementInternalID
       when _hierachyData.ProjectObjectType = 'OR' or _hierachyData.ProjectObjectType = 'PP'
       then _ProjCstLineItm.OrderID
       when _hierachyData.ProjectObjectType = 'NV' or _hierachyData.ProjectObjectType = 'EL'
       or _hierachyData.ProjectObjectType = 'NP'
       then _ProjCstLineItm.ProjectNetwork
       end                                                                                as ObjectInternalID,
       _ProjCstLineItm.ControllingArea,
       _ProjCstLineItm.GLAccount,
       _ProjCstLineItm.CostCenter,
       _ProjCstLineItm.ProfitCenter,
       _ProjCstLineItm.ChartOfAccounts,
       cast(cast(substring(FinancialPlanningReqTransSqnc,1,8)as abap.dats) as fis_budat ) as CreationDate,
       _ProjCstLineItm.FunctionalArea,
       _ProjCstLineItm.CostCtrActivityType,
       _ProjCstLineItm.OriginCostCtrActivityType,
       _ProjCstLineItm.OriginCostCenter,
       @Semantics.currencyCode: true
       _ProjCstLineItm.ControllingObjectCurrency,

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

       @Semantics.currencyCode:true
       _ProjCstLineItm.TransactionCurrency,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
       _ProjCstLineItm.AmountInTransactionCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.CompanyCodeCurrency,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
       _ProjCstLineItm.AmountInCompanyCodeCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.GlobalCurrency,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       _ProjCstLineItm.AmountInGlobalCurrency,

       @Semantics.currencyCode: true
       _ProjCstLineItm.FunctionalCurrency,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FunctionalCurrency'} }
       _ProjCstLineItm.AmountInFunctionalCurrency                                         as PlanAmountInFunctionalCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency1,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency1,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency2,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency2,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency3,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency3,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency4,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency4,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency5,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency5,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency6,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency6,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency7,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency7,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency8,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency8,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
       _ProjCstLineItm.AmountInObjectCurrency                                             as PlndCostAmtInProjCrcy,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       _ProjCstLineItm.AmountInGlobalCurrency                                             as PlanAmountInGlobalCurrency,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency1                                       as PlanAmountInFreeDefinedCrcy1,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency2                                       as PlanAmountInFreeDefinedCrcy2,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency3                                       as PlanAmountInFreeDefinedCrcy3,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency4                                       as PlanAmountInFreeDefinedCrcy4,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency5                                       as PlanAmountInFreeDefinedCrcy5,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency6                                       as PlanAmountInFreeDefinedCrcy6,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency7                                       as PlanAmountInFreeDefinedCrcy7,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency8                                       as PlanAmountInFreeDefinedCrcy8,

       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,
       'X'                                                                                as IsSettled,
       _ProjCstLineItm.PlanningCategory,

       _ProjCstLineItm.PostingDate,

       cast( '00000000' as bldat )                                                        as DocumentDate,
       _ProjCstLineItm.FiscalPeriod,
       _ProjCstLineItm.FiscalYearPeriod,
       _ProjCstLineItm.FiscalYearVariant,
       _ProjCstLineItm.PartnerProfitCenter,
       _ProjCstLineItm.PartnerCompanyCode,
       cast( 'X' as boolean )                                                             as MaintenanceOrderIsSelected,
       case
       when _hierachyData.ProjectObjectType = 'PR'
       then _hierachyData.ProjectObjectType
       when _hierachyData.ProjectObjectType = 'OR' or _hierachyData.ProjectObjectType = 'OV'
       then  cast( 'OR' as ps_s4_projselobj )
       when _hierachyData.ProjectObjectType = 'NV' or _hierachyData.ProjectObjectType = 'EL' or
       _hierachyData.ProjectObjectType = 'NP'
       then cast( 'ZZ' as ps_s4_projselobj )
       when _hierachyData.ProjectObjectType = 'IO'
       then _hierachyData.ProjectObjectType
       when _hierachyData.ProjectObjectType = 'SV'
       then _hierachyData.ProjectObjectType
       when _hierachyData.ProjectObjectType = 'SC'
       then _hierachyData.ProjectObjectType
       when _hierachyData.ProjectObjectType = 'PP'
       then _hierachyData.ProjectObjectType
       end                                                                                as ProjectSelectedObject,

       _hierachyData.ProjectObjectProfitCenter,

       _hierachyData.ProjectObjectDescription,
       _hierachyData.ProjectObjectNode,
       _hierachyData.ProjectObjectRootNode,
       _hierachyData.ResponsibleCostCenter,

       _hierachyData.ProjectType,
       _hierachyData.OrderType,
       case when _hierachyData.ProjectObjectType = 'PR' 
              or _hierachyData.ProjectObjectType = 'SV' 
              or _hierachyData.ProjectObjectType = 'SC'
            then '1'
            else
              _AppendIndicator.OrderTypeAppendedCode end                                  as OrderTypeAppendedCode,
       _VirtualPlanningCategory,
       _WBSElement,
       _ProjectNetwork,
       _NetworkActivity,
       _PMOrder,
       _InternalOrder

}

union all select from I_FinancialPlanningEntryItem as _ProjCstLineItm //Statistical Internal Orders


  inner join          I_InternalOrder              as InternalOrder on  InternalOrder.InternalOrder      =  _ProjCstLineItm.OrderID
                                                                    and InternalOrder.IsStatisticalOrder =  'X'
                                                                    and _ProjCstLineItm.OrderID          <> ''

//left outer join I_PrjAppendedOrdForCostReport( P_ControllingArea: $parameters.P_ControllingArea  ) as _AppendIndicator   on  _AppendIndicator.OrderType = InternalOrder.OrderType

association [0..*] to I_VirtualPlanningCategory      as _VirtualPlanningCategory on  $projection.PlanningCategory = _VirtualPlanningCategory.SourcePlanningCategory
association        to I_WBSElementData_2             as _WBSElement              on  InternalOrder.ControllingObject = _WBSElement.WBSElementObject
association        to I_NetworkActivityForCostReport as _NetworkActivity         on  InternalOrder.ControllingObject = _NetworkActivity.NetworkActivityObject
association        to I_ProjectNetwork               as _ProjectNetwork          on  InternalOrder.ControllingObject = _ProjectNetwork.ProjectNetworkObject

association        to I_MaintenanceOrder             as _PMOrder                 on  InternalOrder.ControllingObject = _PMOrder.MaintenanceOrderInternalID
association        to I_InternalOrder                as _InternalOrder           on  $projection.InternalOrder = _InternalOrder.InternalOrder
association [0..1] to I_PrjAppendedOrdForCostReport  as _AppendIndicator         on  $projection.OrderType       = _AppendIndicator.OrderType
                                                                               and $projection.ControllingArea = _AppendIndicator.ControllingArea
{

  key  _ProjCstLineItm.FinancialPlanningReqTransSqnc,
  key  _ProjCstLineItm.FinancialPlanningDataPacket,
  key  cast(abs(_ProjCstLineItm.FinancialPlanningEntryItem) as  fis_act_pln_docln )       as ActualPlanJournalEntryItem,
       cast(cast('' as abap.char (2)) as fins_ledger_pers )                               as SourceLedger,
       _ProjCstLineItm.Ledger,
       _ProjCstLineItm.CompanyCode,
       _ProjCstLineItm.FiscalYear,
       cast(cast('' as abap.char (10)) as farp_belnr_d )                                  as AccountingDocument,
       _ProjCstLineItm.LedgerFiscalYear,
       cast(cast('' as abap.char (6)) as fis_docln )                                      as LedgerGLLineItem,
       _ProjCstLineItm.FinancialPlanningEntryItem,
       cast(cast( 'P' as abap.char (1)) as fis_actual_plan_code)                          as ActualPlanCode,
       _ProjCstLineItm.FinPlngEntryItemCreatedByUser                                      as AccountingDocCreatedByUser,
       _ProjCstLineItm.BusinessArea,
       _ProjCstLineItm.PartnerOrder,
       _ProjCstLineItm.OrderID,
       _ProjCstLineItm.ControllingObject,
       _ProjCstLineItm.OrderOperation,
       _ProjCstLineItm.OrderSuboperation,


       _ProjCstLineItm.OrderID                                                            as InternalOrder,
       ''                                                                                 as ProductionOrder,
       _ProjCstLineItm.Product,
       ''                                                                                 as ServiceOrder,
       ''                                                                                 as ServiceOrderItem,
       ''                                                                                 as ServiceContract,
       ''                                                                                 as ServiceContractItem,
       cast(_PartnerOrder.OrderCategory as fis_par_auftyp preserving type )               as PartnerOrderCategory,
       cast('IO' as abap.char(2))                                                         as ProjectObjectType,
       _ProjCstLineItm.PartnerWBSElement                                                  as ProjectPartnerObject,

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

       _WBSElement.WBSElementExternalID                                                   as WBSElement,

       _ProjCstLineItm.ProjectNetwork                                                     as ProjectNetwork,
       ''                                                                                 as NetworkActivity,
       ''                                                                                 as NetworkActivityElement,
       InternalOrder.InternalOrder                                                        as ProjectObjectExternalID,

       ''                                                                                 as ProjectNetworkActivity,


       InternalOrder._WBSElementBasicData._Project.Project,
       InternalOrder._WBSElementBasicData.ProjectInternalID,

       _ProjCstLineItm.OrderID                                                            as ObjectInternalID,


       _ProjCstLineItm.ControllingArea,
       _ProjCstLineItm.GLAccount,
       _ProjCstLineItm.CostCenter,
       _ProjCstLineItm.ProfitCenter,
       _ProjCstLineItm.ChartOfAccounts,
       cast(cast(substring(FinancialPlanningReqTransSqnc,1,8)as abap.dats) as fis_budat ) as CreationDate,
       _ProjCstLineItm.FunctionalArea,
       _ProjCstLineItm.CostCtrActivityType,
       _ProjCstLineItm.OriginCostCtrActivityType,
       _ProjCstLineItm.OriginCostCenter,
       @Semantics.currencyCode: true
       _ProjCstLineItm.ControllingObjectCurrency,

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

       @Semantics.currencyCode:true
       _ProjCstLineItm.TransactionCurrency,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
       _ProjCstLineItm.AmountInTransactionCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.CompanyCodeCurrency,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
       _ProjCstLineItm.AmountInCompanyCodeCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.GlobalCurrency,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       _ProjCstLineItm.AmountInGlobalCurrency,

       @Semantics.currencyCode: true
       _ProjCstLineItm.FunctionalCurrency,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FunctionalCurrency'} }
       _ProjCstLineItm.AmountInFunctionalCurrency                                         as PlanAmountInFunctionalCurrency,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency1,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency1,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency2,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency2,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency3,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency3,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency4,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency4,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency5,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency5,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency6,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency6,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency7,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency7,

       @Semantics.currencyCode:true
       _ProjCstLineItm.FreeDefinedCurrency8,
       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency8,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'ControllingObjectCurrency'} }
       _ProjCstLineItm.AmountInObjectCurrency                                             as PlndCostAmtInProjCrcy,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
       _ProjCstLineItm.AmountInGlobalCurrency                                             as PlanAmountInGlobalCurrency,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency1                                       as PlanAmountInFreeDefinedCrcy1,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency2                                       as PlanAmountInFreeDefinedCrcy2,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency3                                       as PlanAmountInFreeDefinedCrcy3,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency4                                       as PlanAmountInFreeDefinedCrcy4,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency5                                       as PlanAmountInFreeDefinedCrcy5,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency6                                       as PlanAmountInFreeDefinedCrcy6,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency7                                       as PlanAmountInFreeDefinedCrcy7,

       @Aggregation.default: #SUM
       @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} }
       _ProjCstLineItm.AmountInFreeDefinedCurrency8                                       as PlanAmountInFreeDefinedCrcy8,

       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,
       'X'                                                                                as IsSettled,
       //         ' ' as IsSettled,

       _ProjCstLineItm.PlanningCategory,

       _ProjCstLineItm.PostingDate,

       cast( '00000000' as bldat )                                                        as DocumentDate,
       _ProjCstLineItm.FiscalPeriod,
       _ProjCstLineItm.FiscalYearPeriod,
       _ProjCstLineItm.FiscalYearVariant,
       _ProjCstLineItm.PartnerProfitCenter,
       _ProjCstLineItm.PartnerCompanyCode,
       cast( 'X' as boolean )                                                             as MaintenanceOrderIsSelected,

       cast( 'IO' as ps_s4_projselobj )                                                   as ProjectSelectedObject,
       InternalOrder.ProfitCenter                                                         as ProjectObjectProfitCenter,
       InternalOrder.InternalOrderDescription                                             as ProjectObjectDescription,

       InternalOrder.ControllingObject                                                    as ProjectObjectNode,
       InternalOrder._WBSElementBasicData._Project.ProjectObject                          as ProjectObjectRootNode,
       InternalOrder.ResponsibleCostCenter                                                as ResponsibleCostCenter,
       cast( '' as ps_prart )                                                             as ProjectType,
       InternalOrder.OrderType                                                            as OrderType,
       _AppendIndicator.OrderTypeAppendedCode                                             as OrderTypeAppendedCode,
       _VirtualPlanningCategory,
       _WBSElement,
       _ProjectNetwork,
       _NetworkActivity,
       _PMOrder,
       _InternalOrder
}