P_BusSolnOrdItmFinData
Business Solution Order Item Financial Data
P_BusSolnOrdItmFinData is a Composite CDS View that provides data about "Business Solution Order Item Financial Data" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 47 fields with key fields ServiceObjectType, BusinessSolutionOrder, BusinessSolutionOrderItem. It has 2 associations to related views. Part of development package CRMS4_ANALYTICS_SOLUTION_ORDER.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ServiceDocumentItemEnhcd | I_ServiceDocumentItemEnhcd | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1] | P_BusinessSolnOrdItmFinData | _ServiceDocLinItmFinData | $projection.BusinessSolutionOrder = _ServiceDocLinItmFinData.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _ServiceDocLinItmFinData.BusinessSolutionOrderItem |
| [1] | P_BusSolnOrdItmWithHdrStat | _SolnOrdHdrStat | $projection.ServiceObjectType = _SolnOrdHdrStat.ServiceObjectType and $projection.BusinessSolutionOrder = _SolnOrdHdrStat.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _SolnOrdHdrStat.BusinessSolutionOrderItem |
Annotations (5)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view |
Fields (47)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ServiceObjectType | ServiceObjectType | ||
| KEY | BusinessSolutionOrder | ServiceDocument | ||
| KEY | BusinessSolutionOrderItem | ServiceDocumentItem | ||
| BusSolnOrdType | ServiceDocumentType | |||
| BusSolnOrdDescription | ServiceDocumentDescription | |||
| BusSolnOrdItmDescription | ServiceDocumentItemDescription | |||
| DistributionChannel | DistributionChannel | |||
| Division | Division | |||
| SalesOrganization | SalesOrganization | |||
| SalesOffice | SalesOffice | |||
| SalesGroup | SalesGroup | |||
| SoldToParty | SoldToParty | |||
| Country | SoldToPartyCountry | |||
| Region | SoldToPartyRegion | |||
| BusSolnOrdItmStatus | ServiceDocumentItemStatus | |||
| TransactionCurrency | TransactionCurrency | |||
| TotBusSolnOrdItmNetAmtPerPerd | ServiceDocumentItemNetAmount | |||
| ServiceDocumentItemObjectType | ServiceDocumentItemObjectType | |||
| CompanyCodeCurrency | _ServiceDocLinItmFinData | CompanyCodeCurrency | ||
| RevenueAmountInCompanyCodeCrcy | _ServiceDocLinItmFinData | RevenueAmountInCompanyCodeCrcy | ||
| CostAmountInCompanyCodeCrcy | _ServiceDocLinItmFinData | CostAmountInCompanyCodeCrcy | ||
| RecognizedMarginAmtInCCCrcy | _ServiceDocLinItmFinData | RecognizedMarginAmtInCCCrcy | ||
| BusSolnOrdStatus | ||||
| PostingDate | PostingDate | |||
| ServiceDocItemCategory | ServiceDocItemCategory | |||
| Product | Product | |||
| ServiceDocumentCreationDate | ||||
| int4asNrOfOpenBusSolnOrders | ||||
| int4asNrOfReldBusSolnOrders | ||||
| int4asNrOfCmpltdBusSolnOrders | ||||
| _ServiceObjType | _ServiceObjType | |||
| _ServiceDocumentType | _ServiceDocumentType | |||
| _DistributionChannel | _DistributionChannel | |||
| _Division | _Division | |||
| _SalesOrganization | _SalesOrganization | |||
| _SalesOffice | _SalesOffice | |||
| _SalesGroup | _SalesGroup | |||
| _SoldToParty | _SoldToParty | |||
| _SoldToPartyCountry | _SoldToPartyCountry | |||
| _SoldToPartyRegion | _SoldToPartyRegion | |||
| _ServiceDocItemStatus | _ServiceDocItemStatus | |||
| _SrvcDocItmLifecycleStatus | _SrvcDocItmLifecycleStatus | |||
| _TransactionCurrency | _TransactionCurrency | |||
| _ServiceDocumentStatus | _ServiceDocument | _ServiceDocumentStatus | ||
| _SrvcDocLifecycleStatus | _ServiceDocument | _SrvcDocLifecycleStatus | ||
| _ServiceDocItemCategory | _ServiceDocItemCategory | |||
| _Product | _Product |
@VDM: {
private:true,
viewType: #COMPOSITE
}
@AccessControl: {
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
usageType: {
dataClass: #MIXED,
serviceQuality: #D,
sizeCategory: #XXL
}
}
define view entity P_BusSolnOrdItmFinData
as select from I_ServiceDocumentItemEnhcd
association [1] to P_BusinessSolnOrdItmFinData as _ServiceDocLinItmFinData on $projection.BusinessSolutionOrder = _ServiceDocLinItmFinData.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _ServiceDocLinItmFinData.BusinessSolutionOrderItem
// association [0..1] to I_CalendarDate as _Period on $projection.ServiceDocItemCreationDate = _Period.CalendarDate
association [1] to P_BusSolnOrdItmWithHdrStat as _SolnOrdHdrStat on $projection.ServiceObjectType = _SolnOrdHdrStat.ServiceObjectType
and $projection.BusinessSolutionOrder = _SolnOrdHdrStat.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _SolnOrdHdrStat.BusinessSolutionOrderItem
{
@ObjectModel.foreignKey.association: '_ServiceObjType'
key ServiceObjectType,
@ObjectModel.text.element: [ 'BusSolnOrdDescription']
// @ObjectModel.foreignKey.association: '_ServiceDocument'
key ServiceDocument as BusinessSolutionOrder,
@ObjectModel.text.element: [ 'ServiceDocumentItemDescription']
key ServiceDocumentItem as BusinessSolutionOrderItem,
@ObjectModel.foreignKey.association: '_ServiceDocumentType'
ServiceDocumentType as BusSolnOrdType,
@Semantics.text: true
ServiceDocumentDescription as BusSolnOrdDescription,
@Semantics.text: true
ServiceDocumentItemDescription as BusSolnOrdItmDescription,
@ObjectModel.foreignKey.association: '_DistributionChannel'
DistributionChannel,
@ObjectModel.foreignKey.association: '_Division'
Division,
@ObjectModel.foreignKey.association: '_SalesOrganization'
SalesOrganization,
@ObjectModel.foreignKey.association: '_SalesOffice'
SalesOffice,
@ObjectModel.foreignKey.association: '_SalesGroup'
SalesGroup,
@ObjectModel.foreignKey.association: '_SoldToParty'
SoldToParty,
@ObjectModel.foreignKey.association: '_SoldToPartyCountry'
SoldToPartyCountry as Country,
@ObjectModel.foreignKey.association: '_SoldToPartyRegion'
SoldToPartyRegion as Region,
@ObjectModel.foreignKey.association: '_SrvcDocItmLifecycleStatus'
ServiceDocumentItemStatus as BusSolnOrdItmStatus,
@ObjectModel.foreignKey.association: '_TransactionCurrency'
TransactionCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
ServiceDocumentItemNetAmount as TotBusSolnOrdItmNetAmtPerPerd,
ServiceDocumentItemObjectType,
_ServiceDocLinItmFinData.CompanyCodeCurrency as CompanyCodeCurrency,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
@DefaultAggregation: #SUM
_ServiceDocLinItmFinData.RevenueAmountInCompanyCodeCrcy as RevenueAmountInCompanyCodeCrcy,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
@DefaultAggregation: #SUM
_ServiceDocLinItmFinData.CostAmountInCompanyCodeCrcy as CostAmountInCompanyCodeCrcy,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
@DefaultAggregation: #SUM
_ServiceDocLinItmFinData.RecognizedMarginAmtInCCCrcy as RecognizedMarginAmtInCCCrcy,
@ObjectModel.foreignKey.association: '_SrvcDocLifecycleStatus'
I_ServiceDocumentItemEnhcd._ServiceDocument.ServiceDocumentStatus as BusSolnOrdStatus,
// _ServiceDocLinItmFinData.PostingDate as PostingDate,
PostingDate,
// // @AnalyticsDetails.query.axis: #ROWS
// @DefaultAggregation: #FORMULA
// @AnalyticsDetails.query.formula: 'NDIV0($projection.RecognizedMarginAmtInCCCrcy / $projection.RevenueAmountInCompanyCodeCrcy) * 100'
// @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
// cast (0 as fis_operatingmargin_ksl) as OpgMargRatioGlobCrcy,
@ObjectModel.foreignKey.association: '_ServiceDocItemCategory'
ServiceDocItemCategory,
@ObjectModel.foreignKey.association: '_Product'
Product,
// ServiceDocItemCreationDate,
// @Semantics.calendar.quarter
// _Period.CalendarQuarter as BusSolnOrdCreationQuarter,
// @Semantics.calendar.month
// _Period.CalendarMonth as BusSolnOrdCreationMonth,
// @Semantics.calendar.year
// _Period.CalendarYear as BusSolnOrdCreationYear,
// @Semantics.systemDate.createdAt: true
// cast( tstmp_to_dats( ServiceDocItemCreationDateTime,
// abap_system_timezone( $session.client,'NULL' ),
// $session.client,
// 'NULL' ) as crms4_created_on preserving type ) as ServiceDocItemCreationDate,
@Semantics.systemDate.createdAt: true
cast( tstmp_to_dats( ServiceDocItemCreationDateTime,
$session.user_timezone,
$session.client,
'NULL' ) as crms4_created_on preserving type ) as ServiceDocItemCreationDate,
@Semantics.systemDate.createdAt: true
I_ServiceDocumentItemEnhcd._ServiceDocument.ServiceDocumentCreationDate as ServiceDocumentCreationDate,
// @Semantics.systemDate.createdAt: true
// cast( tstmp_to_dats( ServiceDocItemCreationDateTime,
// 'UTC' ,
// $session.client,
// 'NULL' )
// as crms4_created_on preserving type ) as ServiceDocItemCreationDate,
@DefaultAggregation: #SUM
cast( case when (_SolnOrdHdrStat. ServiceDocumentIsOpen = 'X' and _SolnOrdHdrStat.ServiceDocumentIsReleased = '')
then 1
else 0
end as abap.int4 ) as NrOfOpenBusSolnOrders,
@DefaultAggregation: #SUM
cast( case when _SolnOrdHdrStat.ServiceDocumentIsReleased = 'X'
then 1
else 0
end as abap.int4 ) as NrOfReldBusSolnOrders,
@DefaultAggregation: #SUM
cast( case when (_SolnOrdHdrStat. ServiceDocumentIsOpen = '' and _SolnOrdHdrStat.ServiceDocumentIsReleased = '')
then 1
else 0
end as abap.int4 ) as NrOfCmpltdBusSolnOrders,
_ServiceObjType,
_ServiceDocumentType,
_DistributionChannel,
_Division,
_SalesOrganization,
_SalesOffice,
_SalesGroup,
_SoldToParty,
_SoldToPartyCountry,
_SoldToPartyRegion,
@API.element.releaseState: #DEPRECATED
@API.element.successor: '_SrvcDocItmLifecycleStatus'
_ServiceDocItemStatus,
_SrvcDocItmLifecycleStatus,
_TransactionCurrency,
@API.element.releaseState: #DEPRECATED
@API.element.successor: '_SrvcDocLifecycleStatus'
_ServiceDocument._ServiceDocumentStatus,
_ServiceDocument._SrvcDocLifecycleStatus,
_ServiceDocItemCategory,
_Product
// _Period
}
where
ServiceObjectType = 'BUS2000172'
// and ServiceDocumentItemIsReleased = 'X'
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