@AbapCatalog.sqlViewName: 'IGLSUBLDGITP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'G/L Account Line Item based on SubLedger Item Type - Cube'
@Metadata.allowExtensions: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #REQUIRED
@VDM.viewType: #COMPOSITE
@Analytics.dataCategory: #CUBE
@ObjectModel.representativeKey: 'LedgerGLLineItem'
@Analytics.internalName: #LOCAL
@Search.searchable: false
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.modelingPattern: #ANALYTICAL_CUBE
@ObjectModel.supportedCapabilities: [ #ANALYTICAL_PROVIDER,
#SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE ]
define view I_GLAcctLineItmSubLdgrItmTypeC
as select from I_GLAccountLineItem
association [0..1] to I_SemanticTag as _SemanticTag on $projection.SemanticTag = _SemanticTag.SemanticTag
association [1..1] to E_JournalEntryItem as _Extension on $projection.SourceLedger = _Extension.SourceLedger
and $projection.CompanyCode = _Extension.CompanyCode
and $projection.FiscalYear = _Extension.FiscalYear
and $projection.AccountingDocument = _Extension.AccountingDocument
and $projection.LedgerGLLineItem = _Extension.LedgerGLLineItem
{
@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: '_SemanticTag'
key cast ( cast( '' as abap.char( 10 ) ) as fins_sem_tag preserving type ) as SemanticTag,
FiscalPeriod,
@ObjectModel.foreignKey.association: '_ProfitCenter'
ProfitCenter,
@ObjectModel.foreignKey.association: '_SoldProduct'
SoldProduct,
@ObjectModel.foreignKey.association: '_SoldProductGroup'
SoldProductGroup,
@ObjectModel.foreignKey.association: '_Customer'
Customer,
@ObjectModel.foreignKey.association: '_CustomerGroup'
CustomerGroup,
SalesOrder,
SalesOrderItem,
@ObjectModel.foreignKey.association: '_SalesDocument'
SalesDocument,
SalesDocumentItem,
@ObjectModel.foreignKey.association: '_Order'
OrderID,
OrderCategory,
ConditionContract,
@AnalyticsDetails.query.display: #KEY
FiscalYearPeriod,
// Test workaround
@ObjectModel.foreignKey.association: '_ChartOfAccounts'
ChartOfAccounts,
//ChartOfAccounts,
@ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
GLAccount,
@ObjectModel.foreignKey.association: '_SalesOrganization'
@AnalyticsDetails.query.display: #KEY_TEXT
SalesOrganization,
@ObjectModel.foreignKey.association: '_CustomerSupplierCountry'
@AnalyticsDetails.query.display: #KEY_TEXT
CustomerSupplierCountry,
@AnalyticsDetails.query.display: #KEY_TEXT
CustomerSupplierIndustry,
@ObjectModel.foreignKey.association: '_SalesDistrict'
@AnalyticsDetails.query.display: #KEY_TEXT
SalesDistrict,
@ObjectModel.foreignKey.association: '_ShipToParty'
@AnalyticsDetails.query.display: #KEY_TEXT
ShipToParty,
@ObjectModel.foreignKey.association: '_BillToParty'
@AnalyticsDetails.query.display: #KEY_TEXT
BillToParty,
@AnalyticsDetails.query.display: #KEY
BusinessTransactionType,
SubLedgerAcctLineItemType,
AccountAssignmentType,
@ObjectModel.foreignKey.association: '_ControllingArea'
ControllingArea,
@ObjectModel.foreignKey.association: '_CostSourceUnit'
CostSourceUnit,
@ObjectModel.foreignKey.association: '_DistributionChannel'
DistributionChannel,
OrganizationDivision,
@ObjectModel.foreignKey.association: '_BaseUnit'
@Semantics.unitOfMeasure:true
BaseUnit,
OrderType,
@ObjectModel.foreignKey.association: '_Segment'
Segment,
//@ObjectModel.foreignKey.association: '_Project'
cast( Project as fis_project_no_conv preserving type ) as Project,
//@ObjectModel.foreignKey.association: '_WBSElement'
cast( WBSElement as fis_wbs_no_conv preserving type ) as WBSElement,
//@ObjectModel.foreignKey.association: '_ProjectNetwork'
ProjectNetwork,
@ObjectModel.foreignKey.association: '_FunctionalArea'
FunctionalArea,
@ObjectModel.foreignKey.association: '_Plant'
Plant,
FiscalYearVariant,
ServiceContract,
ServiceContractItem,
BusinessSolutionOrder,
BusinessSolutionOrderItem,
ProviderContract,
ProviderContractItem,
ServiceContractType,
ServiceDocument,
ServiceDocumentItem,
ServiceDocumentType,
ProjectInternalID,
_FiscalYearVariant,
_ServiceContractType,
@Semantics.currencyCode:true
GlobalCurrency,
@Semantics.currencyCode:true
CompanyCodeCurrency,
@Semantics.currencyCode:true
FreeDefinedCurrency1,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
AmountInCompanyCodeCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} }
AmountInFreeDefinedCurrency1,
@Semantics.amount.currencyCode: 'GlobalCurrency'
@DefaultAggregation: #SUM
AmountInGlobalCurrency,
// Key Figures in Global Currency
@Semantics.amount.currencyCode: 'GlobalCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09130' then cast (AmountInGlobalCurrency * (-1) as fin_inptprvarcamt_in_globcrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_inptprvarcamt_in_globcrcy) end as InptPriceVarcAmtInGlobCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09131' then cast (AmountInGlobalCurrency * (-1) as fin_inptqtyvarcamt_in_globcrcy )
else cast ( cast ('0' as abap.curr( 23,2)) as fin_inptqtyvarcamt_in_globcrcy ) end as InptQtyVarcAmtInGlobCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09132' then cast (AmountInGlobalCurrency * (-1) as fin_rsceusgevarcamt_in_glbcrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_rsceusgevarcamt_in_glbcrcy ) end as RsceUsgeVarcAmtInGlobCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09139' then cast (AmountInGlobalCurrency * (-1) as fin_lotsizevarcamt_in_globcrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_lotsizevarcamt_in_globcrcy ) end as LotSizeVarcAmtInGlobCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09140' then cast (AmountInGlobalCurrency * (-1) as fin_inptrmngvarcamt_in_glbcrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_inptrmngvarcamt_in_glbcrcy) end as InputRmngVarcAmtInGlobCrcy,
// Key Figures in Company Code Currency
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09130' then cast (AmountInCompanyCodeCurrency * (-1) as fin_inptprvarcamt_in_cccrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_inptprvarcamt_in_cccrcy) end as InptPriceVarcAmtInCoCodeCrcy,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09131' then cast (AmountInCompanyCodeCurrency * (-1) as fin_inptqtyvarcamt_in_cccrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_inptqtyvarcamt_in_cccrcy) end as InptQtyVarcAmtInCoCodeCrcy,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09132' then cast (AmountInCompanyCodeCurrency * (-1) as fin_rsceusgevarcamt_in_cccrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_rsceusgevarcamt_in_cccrcy) end as RsceUsgeVarcAmtInCoCodeCrcy,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09139' then cast (AmountInCompanyCodeCurrency * (-1) as fin_lotsizevarcamt_in_cccrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_lotsizevarcamt_in_cccrcy) end as LotSizeVarcAmtInCoCodeCrcy,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@DefaultAggregation: #SUM
case when SubLedgerAcctLineItemType = '09140' then cast (AmountInCompanyCodeCurrency * (-1) as fin_inptrmngvarcamt_in_cccrcy)
else cast ( cast ('0' as abap.curr( 23,2)) as fin_inptrmngvarcamt_in_cccrcy) end as InputRmngVarcAmtInCoCodeCrcy,
_Ledger,
_SourceLedger,
_JournalEntry,
_CompanyCode,
_SemanticTag,
_FiscalYear,
_Customer,
_CustomerGroup,
_SoldProduct,
_SoldProductGroup,
_ProfitCenter,
_ControllingArea,
_CostSourceUnit,
_SalesDocument,
_SalesOrder,
_SalesOrderItem,
_Order,
_ChartOfAccounts,
_GLAccountInChartOfAccounts,
_DistributionChannel,
_BaseUnit,
_Segment,
//_WBSElement,
//_Project,
//_ProjectNetwork,
_FunctionalArea,
_Plant,
_SalesOrganization,
_SalesDistrict,
_CustomerSupplierCountry,
_ShipToParty,
_BillToParty
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_GLACCOUNTLINEITEM"
],
"ASSOCIATED":
[
"E_JOURNALENTRYITEM",
"I_CHARTOFACCOUNTS",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COUNTRY",
"I_CUSTOMER",
"I_CUSTOMERGROUP",
"I_DISTRIBUTIONCHANNEL",
"I_FISCALYEARFORCOMPANYCODE",
"I_FISCALYEARVARIANT",
"I_FUNCTIONALAREA",
"I_GLACCOUNTINCHARTOFACCOUNTS",
"I_JOURNALENTRY",
"I_LEDGER",
"I_ORDER",
"I_PLANT",
"I_PRODUCT",
"I_PRODUCTGROUP",
"I_PROFITCENTER",
"I_SALESDISTRICT",
"I_SALESDOCUMENT",
"I_SALESORDER",
"I_SALESORDERITEM",
"I_SALESORGANIZATION",
"I_SEGMENT",
"I_SEMANTICTAG",
"I_SERVICEDOCUMENTTYPE",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_GLACCOUNTLINEITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/