P_EngmntProjSlsOrdItmDet
P_EngmntProjSlsOrdItmDet is a Composite CDS View in SAP S/4HANA. It reads from 6 data sources and exposes 15 fields.
Data Sources (6)
| Source | Alias | Join Type |
|---|---|---|
| I_EngmntProjAssgmtToSessionUsr | EngagementProject | from |
| I_EngagementProjectItem | EngagementProjectItem | inner |
| I_Ledger | Ledger | left_outer |
| I_SalesOrderItem | SalesOrderItem | left_outer |
| P_EngmntProjGLAcctLneItmSemTag | SemanticTag | left_outer |
| I_WBSElement | WBSElement | left_outer |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.sqlViewName | PENGSLSORRDET | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.private | true | view |
Fields (15)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| EngagementProject | I_EngmntProjAssgmtToSessionUsr | EngagementProject | ||
| EngagementProjectUUID | I_EngmntProjAssgmtToSessionUsr | EngagementProjectUUID | ||
| Currency | I_EngmntProjAssgmtToSessionUsr | Currency | ||
| ProjectVisibility | I_EngmntProjAssgmtToSessionUsr | ProjectVisibility | ||
| SalesOrder | I_SalesOrderItem | SalesOrder | ||
| SalesOrderItem | I_SalesOrderItem | SalesOrderItem | ||
| SalesOrderItemText | I_SalesOrderItem | SalesOrderItemText | ||
| CappedNetAmount | I_SalesOrderItem | CappedNetAmount | ||
| CappedNetAmtAlertThldInPct | I_SalesOrderItem | CappedNetAmtAlertThldInPct | ||
| WBSElement | I_WBSElement | WBSElement | ||
| TransactionCurrency | I_SalesOrderItem | TransactionCurrency | ||
| CompanyCodeCurrency | P_EngmntProjGLAcctLneItmSemTag | CompanyCodeCurrency | ||
| IsMyProject | I_EngmntProjAssgmtToSessionUsr | IsMyProject | ||
| SalesOrderItemCategory | I_SalesOrderItem | SalesOrderItemCategory | ||
| BusinessTransactionType | P_EngmntProjGLAcctLneItmSemTag | BusinessTransactionType |
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'PENGSLSORRDET'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@VDM.private:true
define view P_EngmntProjSlsOrdItmDet
as select from I_EngmntProjAssgmtToSessionUsr as EngagementProject
inner join I_EngagementProjectItem as EngagementProjectItem on EngagementProjectItem.EngagementProject = EngagementProject.EngagementProject
and EngagementProjectItem.EngagementProjectItemType = '0SOH'
left outer join I_SalesOrderItem as SalesOrderItem on SalesOrderItem.SalesOrder = EngagementProjectItem.EngagementProjectItem
left outer join I_WBSElement as WBSElement on WBSElement.WBSElementInternalID = SalesOrderItem.WBSElement
left outer join I_Ledger as Ledger on Ledger.IsLeadingLedger = 'X'
left outer join P_EngmntProjGLAcctLneItmSemTag as SemanticTag on SemanticTag.Project = EngagementProject.EngagementProject
and SemanticTag.IsMyProject = EngagementProject.IsMyProject
and SemanticTag.SalesOrder = SalesOrderItem.SalesOrder
and SemanticTag.SalesOrderItem = SalesOrderItem.SalesOrderItem
and SemanticTag.Ledger = Ledger.Ledger
{
EngagementProject.EngagementProject as EngagementProject,
EngagementProject.EngagementProjectUUID as EngagementProjectUUID,
EngagementProject.Currency as Currency,
EngagementProject.ProjectVisibility as ProjectVisibility,
SalesOrderItem.SalesOrder,
SalesOrderItem.SalesOrderItem,
SalesOrderItem.SalesOrderItemText,
SalesOrderItem.CappedNetAmount,
SalesOrderItem.CappedNetAmtAlertThldInPct,
WBSElement.WBSElement,
SalesOrderItem.TransactionCurrency,
SemanticTag.CompanyCodeCurrency,
EngagementProject.IsMyProject,
SalesOrderItem.SalesOrderItemCategory,
SemanticTag.BusinessTransactionType,
case
when EngagementProject.Currency = SemanticTag.CompanyCodeCurrency
then
SemanticTag.RevenueAmountInCompanyCodeCrcy
else
currency_conversion( amount => SemanticTag.RevenueAmountInCompanyCodeCrcy,
source_currency => SemanticTag.CompanyCodeCurrency,
target_currency => SalesOrderItem.TransactionCurrency,
exchange_rate_date => SemanticTag.PostingDate,
exchange_rate_type => 'M',
error_handling => 'SET_TO_NULL' )
end as RevenueAmountInCompanyCodeCrcy
}
where
SalesOrderItem.SalesOrderItemCategory = 'PS02'
and SemanticTag.BusinessTransactionType != 'RFCV'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENGAGEMENTPROJECTITEM",
"I_ENGMNTPROJASSGMTTOSESSIONUSR",
"I_LEDGER",
"I_SALESORDERITEM",
"I_WBSELEMENT",
"P_ENGMNTPROJGLACCTLNEITMSEMTAG"
],
"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