P_SrvcDocIntOrdFinData
P_SrvcDocIntOrdFinData is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_GLAccountLineItemSemTag, I_UserSetGetParamForCtrlgArea) and exposes 41 fields with key fields Ledger, SourceLedger, CompanyCode, FiscalYear, AccountingDocument. It has 2 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_GLAccountLineItemSemTag | I_GLAccountLineItemSemTag | from |
| I_UserSetGetParamForCtrlgArea | I_UserSetGetParamForCtrlgArea | inner |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_SrvcDocFUPInternalOrder | _SrvcDocIntOrdData | $projection.OrderID = _SrvcDocIntOrdData.InternalOrder |
| [0..1] | P_Calendar | _YTDCalendar | _YTDCalendar.CalendarDate = $session.system_date |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.sqlViewName | PSRVCINTORDDAT | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.private | true | view |
Fields (41)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Ledger | Ledger | ||
| KEY | SourceLedger | SourceLedger | ||
| KEY | CompanyCode | CompanyCode | ||
| KEY | FiscalYear | FiscalYear | ||
| KEY | AccountingDocument | AccountingDocument | ||
| KEY | LedgerGLLineItem | LedgerGLLineItem | ||
| KEY | GLAccountHierarchy | GLAccountHierarchy | ||
| KEY | SemanticTag | SemanticTag | ||
| KEY | ValidityStartDate | ValidityStartDate | ||
| KEY | ValidityEndDate | ValidityEndDate | ||
| KEY | OrderID | OrderID | ||
| KEY | OrderItem | OrderItem | ||
| AccountAssignment | AccountAssignment | |||
| AccountAssignmentType | AccountAssignmentType | |||
| ServiceDocument | _SrvcDocIntOrdData | ServiceDocument | ||
| ServiceDocumentType | _SrvcDocIntOrdData | ServiceDocumentType | ||
| CompanyCodeCurrency | CompanyCodeCurrency | |||
| RevenueAmountInCompanyCodeCrcy | RevenueAmountInCompanyCodeCrcy | |||
| CostAmountInCompanyCodeCrcy | CostAmountInCompanyCodeCrcy | |||
| RecognizedMarginAmtInCCCrcy | RecognizedMarginAmtInCCCrcy | |||
| CreationDate | CreationDate | |||
| PostingDate | PostingDate | |||
| DocumentDate | DocumentDate | |||
| FiscalYearVariant | I_GLAccountLineItemSemTag | FiscalYearVariant | ||
| FiscalPeriod | FiscalPeriod | |||
| FiscalQuarter | FiscalQuarter | |||
| SalesOrganization | SalesOrganization | |||
| DistributionChannel | DistributionChannel | |||
| OrganizationDivision | OrganizationDivision | |||
| _Ledger | _Ledger | |||
| _SourceLedger | _SourceLedger | |||
| _CompanyCode | _CompanyCode | |||
| _FiscalYear | _FiscalYear | |||
| _JournalEntry | _JournalEntry | |||
| _Hierarchy | _Hierarchy | |||
| _SemanticTag | _SemanticTag | |||
| _CompanyCodeCurrency | _CompanyCodeCurrency | |||
| _FiscalYearVariant | _FiscalYearVariant | |||
| _SalesOrganization | _SalesOrganization | |||
| _DistributionChannel | _DistributionChannel | |||
| _Order | _Order |
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog:{
sqlViewName: 'PSRVCINTORDDAT',
compiler.compareFilter: true,
preserveKey: true
}
@ObjectModel: {
usageType: {
dataClass: #MIXED,
serviceQuality: #D,
sizeCategory: #XXL
}
}
@VDM: {
viewType: #COMPOSITE,
private:true
}
define view P_SrvcDocIntOrdFinData
as select from I_GLAccountLineItemSemTag
inner join I_UserSetGetParamForCtrlgArea on I_GLAccountLineItemSemTag.GLAccountHierarchy = I_UserSetGetParamForCtrlgArea.CtrlgStdFinStatementVersion
association [1..1] to I_SrvcDocFUPInternalOrder as _SrvcDocIntOrdData on $projection.OrderID = _SrvcDocIntOrdData.InternalOrder
association [0..1] to P_Calendar as _YTDCalendar on _YTDCalendar.CalendarDate = $session.system_date
{
@ObjectModel.foreignKey.association: '_Ledger'
@Environment.sql.passValue: true
key Ledger,
@ObjectModel.foreignKey.association: '_SourceLedger'
key SourceLedger,
@ObjectModel.foreignKey.association: '_CompanyCode'
@Environment.sql.passValue: true
key CompanyCode,
@ObjectModel.foreignKey.association: '_FiscalYear'
@Environment.sql.passValue: true
key FiscalYear,
@ObjectModel.foreignKey.association: '_JournalEntry'
key AccountingDocument,
key LedgerGLLineItem,
@ObjectModel.foreignKey.association: '_Hierarchy'
@Environment.sql.passValue: true
key GLAccountHierarchy,
@ObjectModel.foreignKey.association: '_SemanticTag'
key SemanticTag,
@Semantics.businessDate.from: true
key ValidityStartDate,
@Semantics.businessDate.to: true
key ValidityEndDate,
@ObjectModel.foreignKey.association: '_Order'
key OrderID,
key OrderItem,
AccountAssignment,
AccountAssignmentType,
_SrvcDocIntOrdData.ServiceDocument,
_SrvcDocIntOrdData.ServiceDocumentType,
@Semantics.currencyCode:true
CompanyCodeCurrency,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
RevenueAmountInCompanyCodeCrcy, //Revenue
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
CostAmountInCompanyCodeCrcy, //Cost
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
RecognizedMarginAmtInCCCrcy, //Profit
case
when _YTDCalendar.FirstDayOfYearDate <= PostingDate and PostingDate <= $session.system_date
then RevenueAmountInCompanyCodeCrcy
end as YTDSrvcContrRevnAmtInDC,
case
when _YTDCalendar.FirstDayOfYearDate <= PostingDate and PostingDate <= $session.system_date
then CostAmountInCompanyCodeCrcy
end as YTDSrvcContrCostInDC,
case
when _YTDCalendar.FirstDayOfYearDate <= PostingDate and PostingDate <= $session.system_date
then RecognizedMarginAmtInCCCrcy
end as YTDSrvcContrPrftMarginAmtInDC,
CreationDate,
PostingDate,
DocumentDate,
@Semantics.fiscal.yearVariant: true
@ObjectModel.foreignKey.association: '_FiscalYearVariant'
I_GLAccountLineItemSemTag.FiscalYearVariant,
FiscalPeriod,
FiscalQuarter,
@ObjectModel.foreignKey.association: '_SalesOrganization'
SalesOrganization,
@ObjectModel.foreignKey.association: '_DistributionChannel'
DistributionChannel,
OrganizationDivision,
_Ledger,
_SourceLedger,
_CompanyCode,
_FiscalYear,
_JournalEntry,
_Hierarchy,
_SemanticTag,
_CompanyCodeCurrency,
_FiscalYearVariant,
_SalesOrganization,
_DistributionChannel,
_Order
}
where
OrderID is not initial
and AccountAssignmentType = 'OR'
and AccountAssignment is not initial
and Ledger is not initial
and _Ledger.IsLeadingLedger = 'X'
and(
GLAccountHierarchy is not initial
or GLAccountHierarchy <> ''
)
and(
SemanticTag = 'REC_MARGIN'
or SemanticTag = 'RECO_COS'
or SemanticTag = 'RECO_REV'
)
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_GLACCOUNTLINEITEMSEMTAG",
"I_LEDGER",
"I_SRVCDOCFUPINTERNALORDER",
"I_USERSETGETPARAMFORCTRLGAREA",
"P_CALENDAR"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CURRENCY",
"I_DISTRIBUTIONCHANNEL",
"I_FINANCIALSTATEMENTHIERARCHY",
"I_FISCALYEARFORCOMPANYCODE",
"I_FISCALYEARVARIANT",
"I_JOURNALENTRY",
"I_LEDGER",
"I_ORDER",
"I_SALESORGANIZATION",
"I_SEMANTICTAG",
"I_SRVCDOCFUPINTERNALORDER",
"P_CALENDAR"
],
"BASE":
[
"I_GLACCOUNTLINEITEMSEMTAG"
],
"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