P_EngmtProjActlCnvrsn

DDL: P_ENGMTPROJACTLCNVRSN Type: view COMPOSITE

P_EngmtProjActlCnvrsn is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_ProjectBasicData, P_EngmtProjActualAggrg) and exposes 32 fields with key fields Project, WorkPackage, Ledger, FiscalYearPeriod, PostingDate.

Data Sources (2)

SourceAliasJoin Type
I_ProjectBasicData A from
P_EngmtProjActualAggrg B inner

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName PENGPROJACTCONV view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #COMPOSITE view
VDM.private true view
VDM.lifecycle.contract.type #NONE view

Fields (32)

KeyFieldSource TableSource FieldDescription
KEY Project P_EngmtProjActualAggrg Project
KEY WorkPackage WorkPackage
KEY Ledger Ledger
KEY FiscalYearPeriod FiscalYearPeriod
KEY PostingDate PostingDate
KEY FiscalYear FiscalYear
KEY FiscalPeriod FiscalPeriod
WBSElement WBSElement
ControllingObject ControllingObject
WorkItem WorkItem
PartnerCompanyCode P_EngmtProjActualAggrg CompanyCode
PartnerCostCenter P_EngmtProjActualAggrg CostCenter
Currency I_ProjectBasicData ProjectCurrency
SalesOrder SalesOrder
SalesOrderItem SalesOrderItem
Material Material
GLAccount GLAccount
ChartOfAccounts ChartOfAccounts
ControllingObjectDebitType ControllingObjectDebitType
BusinessTransactionType BusinessTransactionType
PartnerCostCtrActivityType PartnerCostCtrActivityType
CompanyCodeCurrency CompanyCodeCurrency
AmountInCompanyCodeCurrency AmountInCompanyCodeCurrency
BaseUnit BaseUnit
Quantity Quantity
CompanyCode P_EngmtProjActualAggrg CompanyCode
CostCenter P_EngmtProjActualAggrg CostCenter
ControllingArea P_EngmtProjActualAggrg ControllingArea
BillableControl BillableControl
IsCommitment IsCommitment
IsMyProject P_EngmtProjActualAggrg IsMyProject
ProjectManagerName P_EngmtProjActualAggrg ProjectManagerName
@AbapCatalog: {
   sqlViewName: 'PENGPROJACTCONV',
   compiler.compareFilter: true,
   preserveKey: true 
}
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType: {
  serviceQuality: #B,
  sizeCategory: #XL,
  dataClass: #TRANSACTIONAL
}
@VDM: {
  viewType: #COMPOSITE,
  private: true,
  lifecycle.contract.type: #NONE
}
//@EndUserText.label: 'Currency Conversion of Engmt Proj Actls'

//

define view P_EngmtProjActlCnvrsn
as select from I_ProjectBasicData as A 
  inner join P_EngmtProjActualAggrg as B 
    on A.Project = B.Project

{ 
key B.Project                                                    as Project,
key WorkPackage                                                  as WorkPackage,
key Ledger                                                       as Ledger,
key FiscalYearPeriod,
key PostingDate,
key FiscalYear,
key FiscalPeriod,

WBSElement                                                       as WBSElement,
ControllingObject                                                as ControllingObject,
WorkItem                                                         as WorkItem,
B.CompanyCode                                                    as PartnerCompanyCode,
B.CostCenter                                                     as PartnerCostCenter,
A.ProjectCurrency                                                as Currency,
SalesOrder                                                       as SalesOrder,
SalesOrderItem                                                   as SalesOrderItem,
Material                                                         as Material,
GLAccount                                                        as GLAccount,
ChartOfAccounts                                                  as ChartOfAccounts,
ControllingObjectDebitType                                       as ControllingObjectDebitType,
BusinessTransactionType                                          as BusinessTransactionType,                                                         
PartnerCostCtrActivityType,
CompanyCodeCurrency,
AmountInCompanyCodeCurrency,

case
  when A.ProjectCurrency = B.CompanyCodeCurrency
  then
  B.AmountInCompanyCodeCurrency
  when A.ProjectCurrency = B.ControllingObjectCurrency
  then
  B.AmountInObjectCurrency
  when A.ProjectCurrency = B.GlobalCurrency
  then
  B.AmountInGlobalCurrency
  else
    currency_conversion(
    amount                  => B.AmountInCompanyCodeCurrency,
    source_currency         => B.CompanyCodeCurrency,
    target_currency         => A.ProjectCurrency,
    exchange_rate_date      => B.PostingDate,
    exchange_rate_type      => 'M',
    error_handling          => 'SET_TO_NULL')
end                                                             as AmountInPlanCurrency,
@Semantics.unitOfMeasure: true
BaseUnit,
@Semantics.quantity.unitOfMeasure:'BaseUnit'
Quantity,
B.CompanyCode                                                   as CompanyCode,
B.CostCenter                                                    as CostCenter,
B.ControllingArea                                               as ControllingArea,
BillableControl,
IsCommitment,
B.IsMyProject,
B.ProjectManagerName


}   
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PROJECTBASICDATA",
"P_ENGMTPROJACTUALAGGRG"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/