P_SemTagAndSubLedgerItem

DDL: P_SEMTAGANDSUBLEDGERITEM SQL: PSEMTAGSLITP Type: view COMPOSITE Package: FINS_COPA_REPORTING

G/L Account Line Item Union by SemTag and SLALITTYPE

P_SemTagAndSubLedgerItem is a Composite CDS View that provides data about "G/L Account Line Item Union by SemTag and SLALITTYPE" in SAP S/4HANA. It reads from 2 data sources (I_GLAccountLineItemSemTag, I_GLAcctLineItmSubLdgrItmTypeC) and exposes 299 fields with key fields Ledger, SourceLedger, CompanyCode, FiscalYear, FiscalPeriod. It has 2 associations to related views. Part of development package FINS_COPA_REPORTING.

Data Sources (2)

SourceAliasJoin Type
I_GLAccountLineItemSemTag I_GLAccountLineItemSemTag union_all
I_GLAcctLineItmSubLdgrItmTypeC I_GLAcctLineItmSubLdgrItmTypeC from

Parameters (1)

NameTypeDefault
P_GLAccountHierarchy fins_sem_tag_hryid

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_ProjectBasicData _ProjectBasicData $projection.ProjectInternalID = _ProjectBasicData.ProjectInternalID
[0..1] I_ProjectByExternalID _ProjectExternalID $projection.projectexternalid = _ProjectExternalID.ProjectExternalID

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName PSEMTAGSLITP view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey LedgerGLLineItem view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
VDM.private true view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (299)

KeyFieldSource TableSource FieldDescription
KEY Ledger Ledger
KEY SourceLedger SourceLedger
KEY CompanyCode CompanyCode
KEY FiscalYear FiscalYear
KEY FiscalPeriod FiscalPeriod
KEY AccountingDocument AccountingDocument
KEY LedgerGLLineItem LedgerGLLineItem
KEY SemanticTag SemanticTag
GLAccountHierarchy
LedgerFiscalYear LedgerFiscalYear
ProfitCenter ProfitCenter
SoldProduct SoldProduct
SoldProductGroup SoldProductGroup
Customer Customer
CustomerGroup CustomerGroup
SalesOrder SalesOrder
SalesOrderItem SalesOrderItem
SalesDocument SalesDocument
SalesDocumentItem SalesDocumentItem
OrderID OrderID
OrderCategory OrderCategory
ConditionContract ConditionContract
FiscalYearPeriod FiscalYearPeriod
ChartOfAccounts ChartOfAccounts
GLAccount GLAccount
SalesOrganization SalesOrganization
CustomerSupplierCountry CustomerSupplierCountry
CustomerSupplierIndustry CustomerSupplierIndustry
SalesDistrict SalesDistrict
ShipToParty ShipToParty
BillToParty BillToParty
ControllingArea ControllingArea
CostSourceUnit CostSourceUnit
BusinessTransactionType BusinessTransactionType
SubLedgerAcctLineItemType SubLedgerAcctLineItemType
DistributionChannel DistributionChannel
OrganizationDivision OrganizationDivision
BaseUnit BaseUnit
OrderType OrderType
Segment Segment
Project Project
WBSElement WBSElement
ProjectNetwork ProjectNetwork
FunctionalArea FunctionalArea
Plant Plant
FiscalYearVariant FiscalYearVariant
ServiceContract ServiceContract
ServiceContractItem ServiceContractItem
BusinessSolutionOrder BusinessSolutionOrder
BusinessSolutionOrderItem BusinessSolutionOrderItem
ProviderContract ProviderContract
ProviderContractItem ProviderContractItem
ServiceContractType ServiceContractType
AccountAssignmentType AccountAssignmentType
ServiceDocument ServiceDocument
ServiceDocumentItem ServiceDocumentItem
ServiceDocumentType ServiceDocumentType
ProjectInternalID ProjectInternalID
BusinessArea BusinessArea
_ProjectExternalID _ProjectExternalID
_ProjectBasicData _ProjectBasicData
ProjectExternalID _ProjectBasicData ProjectExternalID
LineIsSemTagCalculated
GlobalCurrency GlobalCurrency
CompanyCodeCurrency CompanyCodeCurrency
FreeDefinedCurrency1 FreeDefinedCurrency1
AmountInCompanyCodeCurrency AmountInCompanyCodeCurrency
AmountInFreeDefinedCurrency1 AmountInFreeDefinedCurrency1
AmountInGlobalCurrency AmountInGlobalCurrency
FixedAmountInCoCodeCrcy FixedAmountInCoCodeCrcy
FixedAmountInGlobalCrcy FixedAmountInGlobalCrcy
BilledRevenueAmtInGlobCrcy
SalesDeductionAmountInGlobCrcy
RevenueAdjustAmtInGlobCrcy
RecognizedRevnAmtInGlobCrcy
VarblCOGSAmtInGlobCrcy
ContrbnMargin1AmtInGlobCrcy
FxdCOGSAmtInGlobCrcy
PriceDifferenceAmtInGlobCrcy
ContrbnMargin2AmtInGlobCrcy
AdminOverheadAmtInGlobCrcy
SalesOverheadAmtInGlobCrcy
MarketingOverheadAmtInGlobCrcy
RnDOverheadAmtInGlobCrcy
ContrbnMargin3AmtInGlobCrcy
InptPriceVarcAmtInGlobCrcy InptPriceVarcAmtInGlobCrcy
OutpPriceVarcAmtInGlobCrcy OutpPriceVarcAmtInGlobCrcy
InptQtyVarcAmtInGlobCrcy InptQtyVarcAmtInGlobCrcy
RsceUsgeVarcAmtInGlobCrcy RsceUsgeVarcAmtInGlobCrcy
LotSizeVarcAmtInGlobCrcy LotSizeVarcAmtInGlobCrcy
InputRmngVarcAmtInGlobCrcy InputRmngVarcAmtInGlobCrcy
BilledRevenueAmtInCoCodeCrcy
SalesDeductionAmtInCoCodeCrcy
RevenueAdjustmentAmtInCCCrcy
RecognizedRevnAmtInCCCrcy
VarblCOGSAmtInCCCrcy
ContrbnMargin1AmtInCoCodeCrcy
FxdCOGSAmtInCCCrcy
PriceDifferenceAmtInCCCrcy
ContrbnMargin2AmtInCoCodeCrcy
AdminOverheadAmtInCoCodeCrcy
SalesOverheadAmtInCoCodeCrcy
MarketingOvhdAmtInCoCodeCrcy
RnDOverheadAmtInCCCrcy
ContrbnMargin3AmtInCoCodeCrcy
InptPriceVarcAmtInCoCodeCrcy InptPriceVarcAmtInCoCodeCrcy
OutpPrVarcAmtInCoCodeCrcy OutpPrVarcAmtInCoCodeCrcy
InptQtyVarcAmtInCoCodeCrcy InptQtyVarcAmtInCoCodeCrcy
RsceUsgeVarcAmtInCoCodeCrcy RsceUsgeVarcAmtInCoCodeCrcy
LotSizeVarcAmtInCoCodeCrcy LotSizeVarcAmtInCoCodeCrcy
InputRmngVarcAmtInCoCodeCrcy InputRmngVarcAmtInCoCodeCrcy
BilledValnQtyInCostSourceUnit
Supplier Supplier
AccountingDocumentType AccountingDocumentType
FinancialAccountType FinancialAccountType
CostCenter CostCenter
ValuationArea ValuationArea
AssetClass AssetClass
PostingDate PostingDate
_ServiceDocument _ServiceDocument
_CurrentProfitCenter _CurrentProfitCenter
_AccountingDocumentType _AccountingDocumentType
_Supplier _Supplier
_CurrentCostCenter _CurrentCostCenter
_CostCenter _CostCenter
_FinancialAccountType _FinancialAccountType
_Ledger _Ledger
_SourceLedger _SourceLedger
_JournalEntry _JournalEntry
_CompanyCode _CompanyCode
_SemanticTag _SemanticTag
_FiscalYear _FiscalYear
_Customer _Customer
_CustomerGroup _CustomerGroup
_SoldProduct _SoldProduct
_SoldProductGroup _SoldProductGroup
_ProfitCenter _ProfitCenter
_ControllingArea _ControllingArea
_CostSourceUnit _CostSourceUnit
_SalesDocument _SalesDocument
_SalesOrder _SalesOrder
_SalesOrderItem _SalesOrderItem
_Order _Order
_DistributionChannel _DistributionChannel
_BaseUnit _BaseUnit
_Segment _Segment
_ChartOfAccounts _ChartOfAccounts
_GLAccountInChartOfAccounts _GLAccountInChartOfAccounts
_FunctionalArea _FunctionalArea
_Plant _Plant
_SalesOrganization _SalesOrganization
_SalesDistrict _SalesDistrict
_CustomerSupplierCountry _CustomerSupplierCountry
_ShipToParty _ShipToParty
_BillToParty _BillToParty
ProjectExternalIDkeyLedger
KEY SourceLedger SourceLedger
KEY CompanyCode CompanyCode
KEY FiscalYear FiscalYear
KEY FiscalPeriod FiscalPeriod
KEY AccountingDocument AccountingDocument
KEY LedgerGLLineItem LedgerGLLineItem
KEY SemanticTag SemanticTag
GLAccountHierarchy GLAccountHierarchy
LedgerFiscalYear LedgerFiscalYear
ProfitCenter ProfitCenter
SoldProduct SoldProduct
SoldProductGroup SoldProductGroup
Customer Customer
CustomerGroup CustomerGroup
SalesOrder SalesOrder
SalesOrderItem SalesOrderItem
SalesDocument SalesDocument
SalesDocumentItem SalesDocumentItem
OrderID OrderID
OrderCategory OrderCategory
ConditionContract ConditionContract
FiscalYearPeriod FiscalYearPeriod
ChartOfAccounts ChartOfAccounts
GLAccount GLAccount
SalesOrganization SalesOrganization
CustomerSupplierCountry CustomerSupplierCountry
CustomerSupplierIndustry CustomerSupplierIndustry
SalesDistrict SalesDistrict
ShipToParty ShipToParty
BillToParty BillToParty
ControllingArea ControllingArea
CostSourceUnit CostSourceUnit
BusinessTransactionType BusinessTransactionType
SubLedgerAcctLineItemType SubLedgerAcctLineItemType
DistributionChannel DistributionChannel
OrganizationDivision OrganizationDivision
BaseUnit BaseUnit
OrderType OrderType
Segment Segment
Project Project
WBSElement WBSElement
ProjectNetwork ProjectNetwork
FunctionalArea FunctionalArea
Plant Plant
FiscalYearVariant FiscalYearVariant
ServiceContract ServiceContract
ServiceContractItem ServiceContractItem
BusinessSolutionOrder BusinessSolutionOrder
BusinessSolutionOrderItem BusinessSolutionOrderItem
ProviderContract ProviderContract
ProviderContractItem ProviderContractItem
ServiceContractType ServiceContractType
AccountAssignmentType AccountAssignmentType
ServiceDocument ServiceDocument
ServiceDocumentItem ServiceDocumentItem
ServiceDocumentType ServiceDocumentType
ProjectInternalID ProjectInternalID
BusinessArea BusinessArea
_ProjectExternalID _ProjectExternalID
_ProjectBasicData _ProjectBasicData
ProjectExternalID _ProjectBasicData ProjectExternalID
LineIsSemTagCalculated
GlobalCurrency GlobalCurrency
CompanyCodeCurrency CompanyCodeCurrency
FreeDefinedCurrency1 FreeDefinedCurrency1
AmountInCompanyCodeCurrency AmountInCompanyCodeCurrency
AmountInFreeDefinedCurrency1 AmountInFreeDefinedCurrency1
AmountInGlobalCurrency AmountInGlobalCurrency
FixedAmountInCoCodeCrcy FixedAmountInCoCodeCrcy
FixedAmountInGlobalCrcy FixedAmountInGlobalCrcy
BilledRevenueAmtInGlobCrcy BilledRevenueAmtInGlobCrcy
SalesDeductionAmountInGlobCrcy SalesDeductionAmountInGlobCrcy
RevenueAdjustAmtInGlobCrcy RevenueAdjustAmtInGlobCrcy
RecognizedRevnAmtInGlobCrcy RecognizedRevnAmtInGlobCrcy
VarblCOGSAmtInGlobCrcy VarblCOGSAmtInGlobCrcy
ContrbnMargin1AmtInGlobCrcy ContrbnMargin1AmtInGlobCrcy
FxdCOGSAmtInGlobCrcy FxdCOGSAmtInGlobCrcy
PriceDifferenceAmtInGlobCrcy PriceDifferenceAmtInGlobCrcy
ContrbnMargin2AmtInGlobCrcy ContrbnMargin2AmtInGlobCrcy
AdminOverheadAmtInGlobCrcy AdminOverheadAmtInGlobCrcy
SalesOverheadAmtInGlobCrcy SalesOverheadAmtInGlobCrcy
MarketingOverheadAmtInGlobCrcy MarketingOverheadAmtInGlobCrcy
RnDOverheadAmtInGlobCrcy RnDOverheadAmtInGlobCrcy
ContrbnMargin3AmtInGlobCrcy ContrbnMargin3AmtInGlobCrcy
BilledRevenueAmtInCoCodeCrcy
SalesDeductionAmtInCoCodeCrcy
RevenueAdjustmentAmtInCCCrcy
RecognizedRevnAmtInCCCrcy
VarblCOGSAmtInCCCrcy
ContrbnMargin1AmtInCoCodeCrcy
FxdCOGSAmtInCCCrcy
PriceDifferenceAmtInCCCrcy
ContrbnMargin2AmtInCoCodeCrcy
AdminOverheadAmtInCoCodeCrcy
SalesOverheadAmtInCoCodeCrcy
MarketingOvhdAmtInCoCodeCrcy
RnDOverheadAmtInCCCrcy
ContrbnMargin3AmtInCoCodeCrcy
BilledValnQtyInCostSourceUnit BilledValnQtyInCostSourceUnit
Supplier Supplier
AccountingDocumentType AccountingDocumentType
FinancialAccountType FinancialAccountType
CostCenter CostCenter
ValuationArea ValuationArea
AssetClass AssetClass
PostingDate PostingDate
_ServiceDocument _ServiceDocument
_CurrentProfitCenter _CurrentProfitCenter
_AccountingDocumentType _AccountingDocumentType
_Supplier _Supplier
_CurrentCostCenter _CurrentCostCenter
_CostCenter _CostCenter
_FinancialAccountType _FinancialAccountType
_Ledger _Ledger
_SourceLedger _SourceLedger
_JournalEntry _JournalEntry
_CompanyCode _CompanyCode
_SemanticTag _SemanticTag
_FiscalYear _FiscalYear
_Customer _Customer
_CustomerGroup _CustomerGroup
_SoldProduct _SoldProduct
_SoldProductGroup _SoldProductGroup
_ProfitCenter _ProfitCenter
_ControllingArea _ControllingArea
_CostSourceUnit _CostSourceUnit
_SalesDocument _SalesDocument
_SalesOrder _SalesOrder
_SalesOrderItem _SalesOrderItem
_Order _Order
_DistributionChannel _DistributionChannel
_BaseUnit _BaseUnit
_Segment _Segment
_ChartOfAccounts _ChartOfAccounts
_GLAccountInChartOfAccounts _GLAccountInChartOfAccounts
_FunctionalArea _FunctionalArea
_Plant _Plant
_SalesOrganization _SalesOrganization
_SalesDistrict _SalesDistrict
_CustomerSupplierCountry _CustomerSupplierCountry
_ShipToParty _ShipToParty
_BillToParty _BillToParty
_LedgerFiscalYearForVariant _LedgerFiscalYearForVariant
@AbapCatalog.sqlViewName: 'PSEMTAGSLITP'
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.representativeKey: 'LedgerGLLineItem'
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter:true
@VDM.private:true
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label: 'G/L Account Line Item Union by SemTag and SLALITTYPE'

define view P_SemTagAndSubLedgerItem
  with parameters
    @Consumption.defaultValue: 'YPS2'
    P_GLAccountHierarchy : fins_sem_tag_hryid
  as select from I_GLAcctLineItmSubLdgrItmTypeC
  association [0..1] to I_ProjectBasicData       as _ProjectBasicData              on $projection.ProjectInternalID = _ProjectBasicData.ProjectInternalID
  association [0..1] to I_ProjectByExternalID    as _ProjectExternalID             on $projection.projectexternalid = _ProjectExternalID.ProjectExternalID
{
      @ObjectModel.foreignKey.association: '_Ledger'
  key Ledger,
  key SourceLedger,
  key CompanyCode,
  key FiscalYear,
  key FiscalPeriod,
  key AccountingDocument,
  key LedgerGLLineItem,
  key SemanticTag,
      cast( '' as fins_sem_tag_hryid ) as GLAccountHierarchy,

      @Semantics.fiscal.year: true
      LedgerFiscalYear,

      ProfitCenter,
      SoldProduct,

      SoldProductGroup,

      Customer,

      CustomerGroup,

      SalesOrder,

      SalesOrderItem,

      SalesDocument,
      SalesDocumentItem,
      OrderID,  
      OrderCategory,
      ConditionContract,       
      @AnalyticsDetails.query.display: #KEY
      FiscalYearPeriod,
      @ObjectModel.foreignKey.association: '_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
      @ObjectModel.foreignKey.association: '_ControllingArea'
      ControllingArea,
      @ObjectModel.foreignKey.association: '_CostSourceUnit'
      CostSourceUnit,
      BusinessTransactionType,

      SubLedgerAcctLineItemType,

      @ObjectModel.foreignKey.association: '_DistributionChannel'
      DistributionChannel,
      OrganizationDivision,
      @ObjectModel.foreignKey.association: '_BaseUnit'
      @Semantics.unitOfMeasure:true
      BaseUnit,
      OrderType,
      @ObjectModel.foreignKey.association: '_Segment'
      Segment,
      //@ObjectModel.foreignKey.association: '_Project'

      Project,
      //@ObjectModel.foreignKey.association: '_WBSElement'

      WBSElement,
      //@ObjectModel.foreignKey.association: '_ProjectNetwork'

      ProjectNetwork,
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      FunctionalArea,
      @ObjectModel.foreignKey.association: '_Plant'
      Plant,
      
      FiscalYearVariant,
      ServiceContract,
      ServiceContractItem,
      BusinessSolutionOrder,
      BusinessSolutionOrderItem,
      ProviderContract,
      ProviderContractItem,
      ServiceContractType,
      AccountAssignmentType,
      ServiceDocument,
      ServiceDocumentItem,
      ServiceDocumentType,
      ProjectInternalID,
      
      BusinessArea,
      
      _ProjectExternalID,
      _ProjectBasicData,
      
      @ObjectModel.foreignKey.association: '_ProjectExternalID'
      _ProjectBasicData.ProjectExternalID,
      
     
      
      cast(cast( '' as abap.char( 1 ) ) as fins_xsemtag_calculated)                as LineIsSemTagCalculated,

      @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,

      @Aggregation.default: #SUM
      @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
      FixedAmountInCoCodeCrcy,
      
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @Aggregation.default: #SUM
      FixedAmountInGlobalCrcy,
      
//      FixedQuantity,


      // Key Figures in Global Currency

      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2) ) as  fins_trr_actrevn preserving type ) as BilledRevenueAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_sales_deduction)               as SalesDeductionAmountInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_trr_revnadjust)                as RevenueAdjustAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2) ) as  fins_trr_recrevn preserving type ) as RecognizedRevnAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_cogs_variable    )             as VarblCOGSAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_contribution_margin_i    )     as ContrbnMargin1AmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_cogs_fixed)                    as FxdCOGSAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_price_differences)             as PriceDifferenceAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_contribution_margin_ii)        as ContrbnMargin2AmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_administration_overhead)       as AdminOverheadAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_sales_overhead)                as SalesOverheadAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_marketing_overhead)            as MarketingOverheadAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_research_and_dev_overhead)     as RnDOverheadAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as  fins_contribution_margin_iii)       as ContrbnMargin3AmtInGlobCrcy,

      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      InptPriceVarcAmtInGlobCrcy,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      OutpPriceVarcAmtInGlobCrcy,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      InptQtyVarcAmtInGlobCrcy,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      RsceUsgeVarcAmtInGlobCrcy,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      LotSizeVarcAmtInGlobCrcy,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      InputRmngVarcAmtInGlobCrcy,

      // Key Figures in Company Code Currency

      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_billed_revenue_cccrcy)       as BilledRevenueAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_sales_deduction_cccrcy)      as SalesDeductionAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fis_adj_rev_hsl)                  as RevenueAdjustmentAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fis_reco_rev_hsl)                 as RecognizedRevnAmtInCCCrcy, //GrossRevenue,

      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_cogs_variable_cccrcy)        as VarblCOGSAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_cogs_contribmarg_1_cccrcy)   as ContrbnMargin1AmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_cogs_fixed_ccrcy)            as FxdCOGSAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_price_differences_cccrcy)    as PriceDifferenceAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_cogs_contribmarg_2_cccrcy)   as ContrbnMargin2AmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_admin_overhead_cccrcy)       as AdminOverheadAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_sales_overhead_cccrcy)       as SalesOverheadAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_marketing_overhead_cccrcy)   as MarketingOvhdAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_resear_dev_overhead_ccrcy)   as RnDOverheadAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast ( cast ('0' as abap.curr( 23,2))   as fins_cogs_contribmarg_3_cccrcy)   as ContrbnMargin3AmtInCoCodeCrcy,

      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      InptPriceVarcAmtInCoCodeCrcy,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      OutpPrVarcAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      InptQtyVarcAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      RsceUsgeVarcAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      LotSizeVarcAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      InputRmngVarcAmtInCoCodeCrcy,

      @DefaultAggregation: #SUM
      cast( cast ('0' as abap.curr( 23,2)) as fins_billed_quantity)                as BilledValnQtyInCostSourceUnit,

      @ObjectModel.foreignKey.association: '_Supplier'
      Supplier,
      @ObjectModel.foreignKey.association: '_AccountingDocumentType'
      AccountingDocumentType,
      @ObjectModel.foreignKey.association: '_FinancialAccountType'
      FinancialAccountType,
      @ObjectModel.foreignKey.association: '_CostCenter'
      CostCenter,
      ValuationArea,
      AssetClass,
      PostingDate,
      
      _ServiceDocument,
      _CurrentProfitCenter,
      _AccountingDocumentType,
      _Supplier,
      _CurrentCostCenter,
      _CostCenter,
      _FinancialAccountType,

      _Ledger,
      _SourceLedger,
      _JournalEntry,
      _CompanyCode,
      _SemanticTag,
      _FiscalYear,
      _Customer,
      _CustomerGroup,
      _SoldProduct,
      _SoldProductGroup,
      _ProfitCenter,
      _ControllingArea,
      _CostSourceUnit,
      _SalesDocument,
      _SalesOrder,
      _SalesOrderItem,
      _Order,
      _DistributionChannel,
      _BaseUnit,
      _Segment,
      _ChartOfAccounts,
      _GLAccountInChartOfAccounts,
      //_WBSElement,

      //_Project,

      //_ProjectNetwork,

      _FunctionalArea,
      _Plant,
      _SalesOrganization,
      _SalesDistrict,
      _CustomerSupplierCountry,
      _ShipToParty,
      _BillToParty,
      _LedgerFiscalYearForVariant
}
//where

//  AccountAssignmentType = 'EO'


union all select from I_GLAccountLineItemSemTag
  association [0..1] to I_ProjectBasicData       as _ProjectBasicData              on $projection.ProjectInternalID = _ProjectBasicData.ProjectInternalID
  association [0..1] to I_ProjectByExternalID    as _ProjectExternalID             on $projection.projectexternalid = _ProjectExternalID.ProjectExternalID
{
      @ObjectModel.foreignKey.association: '_Ledger'
  key Ledger,
  key SourceLedger,
  key CompanyCode,
  key FiscalYear,
  key FiscalPeriod,
  key AccountingDocument,
  key LedgerGLLineItem,
  key SemanticTag,
      GLAccountHierarchy,
      
      LedgerFiscalYear,
      
      ProfitCenter,
      SoldProduct,
      SoldProductGroup,
      Customer,

      CustomerGroup,

      SalesOrder,

      SalesOrderItem,

      SalesDocument,
      SalesDocumentItem,
      OrderID,  
      OrderCategory,
      ConditionContract,
      @AnalyticsDetails.query.display: #KEY
      FiscalYearPeriod,
      @ObjectModel.foreignKey.association: '_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
      @ObjectModel.foreignKey.association: '_ControllingArea'
      ControllingArea,
      @ObjectModel.foreignKey.association: '_CostSourceUnit'
      CostSourceUnit,
      BusinessTransactionType,

      SubLedgerAcctLineItemType,
      
      @ObjectModel.foreignKey.association: '_DistributionChannel'
      DistributionChannel,
      OrganizationDivision,
      @ObjectModel.foreignKey.association: '_BaseUnit'
      @Semantics.unitOfMeasure:true
      BaseUnit,
      OrderType,
      @ObjectModel.foreignKey.association: '_Segment'
      Segment,

      //@ObjectModel.foreignKey.association: '_Project'

      Project,
      //@ObjectModel.foreignKey.association: '_WBSElement'

      WBSElement,
      //@ObjectModel.foreignKey.association: '_ProjectNetwork'

      ProjectNetwork,
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      FunctionalArea,
      @ObjectModel.foreignKey.association: '_Plant'
      Plant,
      
      FiscalYearVariant,
      ServiceContract,
      ServiceContractItem,
      BusinessSolutionOrder,
      BusinessSolutionOrderItem,
      ProviderContract,
      ProviderContractItem,
      ServiceContractType,
      AccountAssignmentType,
      ServiceDocument,
      ServiceDocumentItem,
      ServiceDocumentType,
      ProjectInternalID,
      
      BusinessArea,
      
      _ProjectExternalID,
      _ProjectBasicData,
      
      @ObjectModel.foreignKey.association: '_ProjectExternalID'
      _ProjectBasicData.ProjectExternalID,

      
      cast( cast( 'X' as abap.char( 1 ) ) as fins_xsemtag_calculated)                          as LineIsSemTagCalculated,

      @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,

      @Aggregation.default: #SUM
      @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
      FixedAmountInCoCodeCrcy,
      
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @Aggregation.default: #SUM
      FixedAmountInGlobalCrcy,
      
//      FixedQuantity,


      // Key Figures in Global Currency

      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      BilledRevenueAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      SalesDeductionAmountInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      RevenueAdjustAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      RecognizedRevnAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      VarblCOGSAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      ContrbnMargin1AmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      FxdCOGSAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      PriceDifferenceAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      ContrbnMargin2AmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      AdminOverheadAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      SalesOverheadAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      MarketingOverheadAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      RnDOverheadAmtInGlobCrcy,
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
      ContrbnMargin3AmtInGlobCrcy,

      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
//      cast( cast ('0' as abap.curr( 23,2)) as  fin_inptprvarcamt_in_globcrcy )                 as InptPriceVarcAmtInGlobCrcy,

      case when SemanticTag = 'INPTPRCVAR' 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 SemanticTag = 'OUTPTPRCVR' then cast (AmountInGlobalCurrency * (-1) as fins_outpprvarcamt_in_glbcrcy)
      else cast ( cast ('0' as abap.curr( 23,2))   as fins_outpprvarcamt_in_glbcrcy) end        as OutpPriceVarcAmtInGlobCrcy,
      
      @Semantics.amount.currencyCode: 'GlobalCurrency'
      @DefaultAggregation: #SUM
     // cast( cast ('0' as abap.curr( 23,2)) as  fin_inptqtyvarcamt_in_globcrcy )                as InptQtyVarcAmtInGlobCrcy,

      case when SemanticTag = 'INPTQTYVAR' 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
      //cast( cast ('0' as abap.curr( 23,2)) as  fin_rsceusgevarcamt_in_glbcrcy )                as RsceUsgeVarcAmtInGlobCrcy,

      case when SemanticTag = 'RSCUSGEVAR' 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
    // cast( cast ('0' as abap.curr( 23,2)) as  fin_lotsizevarcamt_in_globcrcy )                as LotSizeVarcAmtInGlobCrcy,

      case when SemanticTag = 'LOSSIZEVAR' 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
      //cast( cast ('0' as abap.curr( 23,2)) as  fin_inptrmngvarcamt_in_glbcrcy )                as InputRmngVarcAmtInGlobCrcy,

      case when SemanticTag = 'INPTREMVAR' 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
      cast(BilledRevenueAmtInCoCodeCrcy as fins_billed_revenue_cccrcy preserving type )        as BilledRevenueAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(SalesDeductionAmtInCoCodeCrcy as fins_sales_deduction_cccrcy preserving type )      as SalesDeductionAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(RevenueAdjustmentAmtInCCCrcy as fis_adj_rev_hsl preserving type )                   as RevenueAdjustmentAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(RecognizedRevnAmtInCCCrcy as fis_reco_rev_hsl preserving type )                     as RecognizedRevnAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(VarblCOGSAmtInCCCrcy as fins_cogs_variable_cccrcy preserving type )                 as VarblCOGSAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(ContrbnMargin1AmtInCoCodeCrcy as fins_cogs_contribmarg_1_cccrcy preserving type )   as ContrbnMargin1AmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(FxdCOGSAmtInCCCrcy as fins_cogs_fixed_ccrcy preserving type )                       as FxdCOGSAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(PriceDifferenceAmtInCCCrcy as fins_price_differences_cccrcy preserving type )       as PriceDifferenceAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(ContrbnMargin2AmtInCoCodeCrcy as fins_cogs_contribmarg_2_cccrcy preserving type )   as ContrbnMargin2AmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(AdminOverheadAmtInCoCodeCrcy as fins_admin_overhead_cccrcy preserving type )        as AdminOverheadAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(SalesOverheadAmtInCoCodeCrcy as fins_sales_overhead_cccrcy preserving type )        as SalesOverheadAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(MarketingOvhdAmtInCoCodeCrcy as fins_marketing_overhead_cccrcy preserving type )    as MarketingOvhdAmtInCoCodeCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(RnDOverheadAmtInCCCrcy as fins_resear_dev_overhead_ccrcy preserving type )          as RnDOverheadAmtInCCCrcy,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      cast(ContrbnMargin3AmtInCoCodeCrcy as fins_cogs_contribmarg_3_cccrcy preserving type )   as ContrbnMargin3AmtInCoCodeCrcy,


      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      //cast( cast ('0' as abap.curr( 23,2)) as  fin_inptprvarcamt_in_cccrcy preserving type )   as InptPriceVarcAmtInCoCodeCrcy,

      case when SemanticTag = 'INPTPRCVAR' 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 SemanticTag = 'OUTPTPRCVR' then cast (AmountInCompanyCodeCurrency * (-1) as fins_outpprvarcamt_in_cccrcy)
      else cast ( cast ('0' as abap.curr( 23,2))   as fins_outpprvarcamt_in_cccrcy) end        as OutpPrVarcAmtInCoCodeCrcy,
         
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency' 
      @DefaultAggregation: #SUM
      //cast( cast ('0' as abap.curr( 23,2)) as  fin_inptqtyvarcamt_in_cccrcy preserving type )  as InptQtyVarcAmtInCoCodeCrcy,

      case when SemanticTag = 'INPTQTYVAR' 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
      //cast( cast ('0' as abap.curr( 23,2)) as  fin_rsceusgevarcamt_in_cccrcy preserving type ) as RsceUsgeVarcAmtInCoCodeCrcy,

      case when SemanticTag = 'RSCUSGEVAR' 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
      //cast( cast ('0' as abap.curr( 23,2)) as  fin_lotsizevarcamt_in_cccrcy preserving type )  as LotSizeVarcAmtInCoCodeCrcy,

      case when SemanticTag = 'LOSSIZEVAR' 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
      //cast( cast ('0' as abap.curr( 23,2)) as  fin_inptrmngvarcamt_in_cccrcy preserving type ) as InputRmngVarcAmtInCoCodeCrcy,

      case when SemanticTag = 'INPTREMVAR' 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,         
      
      @DefaultAggregation: #SUM
      BilledValnQtyInCostSourceUnit,
      
      @ObjectModel.foreignKey.association: '_Supplier'
      Supplier,
      @ObjectModel.foreignKey.association: '_AccountingDocumentType'
      AccountingDocumentType,
      @ObjectModel.foreignKey.association: '_FinancialAccountType'
      FinancialAccountType,
      @ObjectModel.foreignKey.association: '_CostCenter'
      CostCenter,
      ValuationArea,
      AssetClass,
      PostingDate,
      
      _ServiceDocument,
      _CurrentProfitCenter,
      _AccountingDocumentType,
      _Supplier,
      _CurrentCostCenter,
      _CostCenter,
      _FinancialAccountType,

      _Ledger,
      _SourceLedger,
      _JournalEntry,
      _CompanyCode,
      _SemanticTag,
      _FiscalYear,
      _Customer,
      _CustomerGroup,
      _SoldProduct,
      _SoldProductGroup,
      _ProfitCenter,
      _ControllingArea,
      _CostSourceUnit,
      _SalesDocument,
      _SalesOrder,
      _SalesOrderItem,
      _Order,
      _DistributionChannel,
      _BaseUnit,
      _Segment,
      _ChartOfAccounts,
      _GLAccountInChartOfAccounts,
      //_WBSElement,

      //_Project,

      //_ProjectNetwork,

      _FunctionalArea,
      _Plant,
      _SalesOrganization,
      _SalesDistrict,
      _CustomerSupplierCountry,
      _ShipToParty,
      _BillToParty,
      _LedgerFiscalYearForVariant
}
where
      I_GLAccountLineItemSemTag.GLAccountHierarchy = $parameters.P_GLAccountHierarchy
  // and SoldProduct                                  <> ''

//  and AccountAssignmentType                        = 'EO'