@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog:{
sqlViewName: 'PBSGLLINITM',
compiler.compareFilter: true,
preserveKey: true
}
@ObjectModel: {
usageType: {
dataClass: #MIXED,
serviceQuality: #D,
sizeCategory: #XXL
}
}
@VDM: {
viewType: #COMPOSITE,
private:true
}
define view P_BSOrdGLAcctLineItemCube
as select from I_ServiceDocumentItemEnhcd
association [1] to P_ServiceDocLinItmFinData as _BSolnOrdLinItmFinData on $projection.BusinessSolutionOrder = _BSolnOrdLinItmFinData.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _BSolnOrdLinItmFinData.BusinessSolutionOrderItem
and $projection.SalesOrganization = _BSolnOrdLinItmFinData.SalesOrganization
{
@ObjectModel.foreignKey.association: '_ServiceObjType'
key ServiceObjectType,
@ObjectModel.text.element: 'BusSolnOrdDescription'
key ServiceDocument as BusinessSolutionOrder,
@ObjectModel.text.element: 'BusSolnOrdItmDescription'
key ServiceDocumentItem as BusinessSolutionOrderItem,
@ObjectModel.foreignKey.association: '_Ledger'
@Environment.sql.passValue: true
key _BSolnOrdLinItmFinData.Ledger,
@ObjectModel.foreignKey.association: '_SourceLedger'
key _BSolnOrdLinItmFinData.SourceLedger,
@ObjectModel.foreignKey.association: '_CompanyCode'
@Environment.sql.passValue: true
key _BSolnOrdLinItmFinData.CompanyCode,
@ObjectModel.foreignKey.association: '_FiscalYear'
@Environment.sql.passValue: true
key _BSolnOrdLinItmFinData.FiscalYear,
@ObjectModel.foreignKey.association: '_JournalEntry'
key _BSolnOrdLinItmFinData.AccountingDocument,
key _BSolnOrdLinItmFinData.LedgerGLLineItem,
@ObjectModel.foreignKey.association: '_Hierarchy'
@Environment.sql.passValue: true
key _BSolnOrdLinItmFinData.GLAccountHierarchy,
@ObjectModel.foreignKey.association: '_SemanticTag'
key _BSolnOrdLinItmFinData.SemanticTag,
@Semantics.businessDate.from: true
key _BSolnOrdLinItmFinData.ValidityStartDate,
@Semantics.businessDate.to: true
key _BSolnOrdLinItmFinData.ValidityEndDate,
ServiceDocumentItemObjectType,
@ObjectModel.foreignKey.association: '_ServiceDocumentType'
ServiceDocumentType as BusSolnOrdType,
@Semantics.text: true
ServiceDocumentDescription as BusSolnOrdDescription,
@Semantics.text: true
ServiceDocumentItemDescription as BusSolnOrdItmDescription,
@ObjectModel.foreignKey.association: '_SrvcDocItmLifecycleStatus'
ServiceDocumentItemStatus as BusSolnOrdItmStatus,
@ObjectModel.foreignKey.association: '_SrvcDocLifecycleStatus'
_ServiceDocument.ServiceDocumentStatus as BusSolnOrdStatus,
@ObjectModel.foreignKey.association: '_TransactionCurrency'
@Semantics.currencyCode:true
TransactionCurrency,
@ObjectModel.foreignKey.association: '_SalesOrganization'
SalesOrganization,
@ObjectModel.foreignKey.association: '_DistributionChannel'
DistributionChannel,
@ObjectModel.foreignKey.association: '_Division'
Division,
@ObjectModel.foreignKey.association: '_SalesOffice'
SalesOffice,
@ObjectModel.foreignKey.association: '_SalesGroup'
SalesGroup,
@ObjectModel.foreignKey.association: '_SoldToParty'
SoldToParty,
_BSolnOrdLinItmFinData.PostingDate as PostingDate,
@Semantics.currencyCode:true
_BSolnOrdLinItmFinData.CompanyCodeCurrency as CompanyCodeCurrency,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
@DefaultAggregation: #SUM
_BSolnOrdLinItmFinData.RevenueAmountInCompanyCodeCrcy as RevenueAmountInCompanyCodeCrcy,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
@DefaultAggregation: #SUM
_BSolnOrdLinItmFinData.CostAmountInCompanyCodeCrcy as CostAmountInCompanyCodeCrcy,
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
@DefaultAggregation: #SUM
_BSolnOrdLinItmFinData.RecognizedMarginAmtInCCCrcy as RecognizedMarginAmtInCCCrcy,
@Semantics.fiscal.yearVariant: true
@ObjectModel.foreignKey.association: '_FiscalYearVariant'
_BSolnOrdLinItmFinData.FiscalYearVariant,
_BSolnOrdLinItmFinData.FiscalPeriod,
_BSolnOrdLinItmFinData.FiscalQuarter,
_BSolnOrdLinItmFinData.Product as Product,
_ServiceObjType,
_BSolnOrdLinItmFinData._Ledger,
_BSolnOrdLinItmFinData._SourceLedger,
_BSolnOrdLinItmFinData._CompanyCode,
_BSolnOrdLinItmFinData._FiscalYear,
_BSolnOrdLinItmFinData._JournalEntry,
_BSolnOrdLinItmFinData._Hierarchy,
_BSolnOrdLinItmFinData._SemanticTag,
_BSolnOrdLinItmFinData._FiscalYearVariant,
_ServiceDocumentType,
@API.element.releaseState: #DEPRECATED
@API.element.successor: '_SrvcDocItmLifecycleStatus'
_ServiceDocItemStatus,
_SrvcDocItmLifecycleStatus,
@API.element.releaseState: #DEPRECATED
@API.element.successor: '_SrvcDocLifecycleStatus'
_ServiceDocument._ServiceDocumentStatus,
_ServiceDocument._SrvcDocLifecycleStatus,
_TransactionCurrency,
_SalesOrganization,
_DistributionChannel,
_Division,
_SalesOffice,
_SalesGroup,
_SoldToParty,
_BSolnOrdLinItmFinData,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case when ServiceDocumentItemObjectType = 'BUS2000131' then
_BSolnOrdLinItmFinData.RevenueAmountInCompanyCodeCrcy end as SlsItmRevenueAmount,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case when ServiceDocumentItemObjectType = 'BUS2000137' then
_BSolnOrdLinItmFinData.RevenueAmountInCompanyCodeCrcy end as SrvcContrItmRevenueAmount,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case when ServiceDocumentItemObjectType = 'BUS2000159' then
_BSolnOrdLinItmFinData.RevenueAmountInCompanyCodeCrcy end as ExpnItmRevenueAmount,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case when ServiceDocumentItemObjectType = 'BUS2000189' then
_BSolnOrdLinItmFinData.RevenueAmountInCompanyCodeCrcy end as SbscrBilgItmRevenueAmount,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case when ServiceDocumentItemObjectType = 'BUS2000146' then
_BSolnOrdLinItmFinData.RevenueAmountInCompanyCodeCrcy end as SrvcPrtItmRevenueAmount,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case when ServiceDocumentItemObjectType = 'BUS2000140' then
_BSolnOrdLinItmFinData.RevenueAmountInCompanyCodeCrcy end as SrvcItmRevenueAmount,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case when ServiceDocumentItemObjectType = 'BUS2000193' then
_BSolnOrdLinItmFinData.RevenueAmountInCompanyCodeCrcy end as EntProjItmRevenueAmount
}
where
ServiceObjectType = 'BUS2000172'
and $projection.businesssolutionorder <> ' '
and(
ServiceDocumentItemIsReleased = 'X'
or ServiceDocumentItemIsOpen = ' '
)
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SERVICEDOCUMENTENHCD",
"I_SERVICEDOCUMENTITEMENHCD",
"P_SERVICEDOCLINITMFINDATA"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER",
"I_COMPANYCODE",
"I_CURRENCY",
"I_CUSTMGMTBUSOBJTYPE",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_FINANCIALSTATEMENTHIERARCHY",
"I_FISCALYEARFORCOMPANYCODE",
"I_FISCALYEARVARIANT",
"I_JOURNALENTRY",
"I_LEDGER",
"I_SALESGROUP",
"I_SALESOFFICE",
"I_SALESORGANIZATION",
"I_SEMANTICTAG",
"I_SERVICEDOCUMENTSTATUS",
"I_SERVICEDOCUMENTTYPE",
"I_SRVCDOCLIFECYCLESTATUS",
"P_SERVICEDOCLINITMFINDATA"
],
"BASE":
[
"I_SERVICEDOCUMENTENHCD",
"I_SERVICEDOCUMENTITEMENHCD",
"P_SERVICEDOCLINITMFINDATA"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/