P_EngmtProjActlCnvrsn
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)
| Source | Alias | Join Type |
|---|---|---|
| I_ProjectBasicData | A | from |
| P_EngmtProjActualAggrg | B | inner |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA