P_GLAcctBalance01

DDL: P_GLACCTBALANCE01 SQL: PGLACCTBAL01 Type: view COMPOSITE

P_GLAcctBalance01 is a Composite CDS View in SAP S/4HANA. It reads from 8 data sources and exposes 205 fields with key fields Ledger, CompanyCode, FiscalYear, AccountingDocument, LedgerGLLineItem.

Data Sources (8)

SourceAliasJoin Type
I_FiscalCalYearPeriodForLedger FiscalPeriodForLedger inner
I_FiscalCalYearPeriodForLedger FiscalPeriodForLedger inner
I_FiscalCalYearPeriodForLedger FiscalPeriodForLedger inner
I_GLAccountLineItem GLAccountLineItem from
I_GLAccountLineItem GLAccountLineItem union_all
I_LedgerCompanyCodeCrcyRoles LedgerCompanyCodeCrcyRole inner
I_LedgerCompanyCodeCrcyRoles LedgerCompanyCodeCrcyRole inner
I_LedgerCompanyCodeCrcyRoles LedgerCompanyCodeCrcyRole inner

Parameters (3)

NameTypeDefault
P_Ledger fis_rldnr
P_StartPostingDate fis_budat
P_EndPostingDate fis_budat

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName PGLACCTBAL01 view
AbapCatalog.compiler.compareFilter true view
VDM.private true view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (205)

KeyFieldSource TableSource FieldDescription
KEY Ledger I_GLAccountLineItem Ledger
KEY CompanyCode I_GLAccountLineItem CompanyCode
KEY FiscalYear I_GLAccountLineItem FiscalYear
KEY AccountingDocument AccountingDocument
KEY LedgerGLLineItem LedgerGLLineItem
LedgerFiscalYear LedgerFiscalYear
ChartOfAccounts ChartOfAccounts
AccountingDocumentType AccountingDocumentType
GLAccount GLAccount
CountryChartOfAccounts CountryChartOfAccounts
AlternativeGLAccount AlternativeGLAccount
ControllingArea ControllingArea
CostCenter CostCenter
ProfitCenter ProfitCenter
FinancialTransactionType FinancialTransactionType
FunctionalArea FunctionalArea
BusinessArea BusinessArea
Segment Segment
DebitCreditCode DebitCreditCode
PostingDate PostingDate
FiscalPeriod I_GLAccountLineItem FiscalPeriod
PartnerCompany PartnerCompany
WBSElement WBSElement
GLAccountType GLAccountType
CompanyCodeCurrencyRole I_LedgerCompanyCodeCrcyRoles CompanyCodeCurrencyRole
GlobalCurrencyRole I_LedgerCompanyCodeCrcyRoles GlobalCurrencyRole
FreeDefinedCurrency1Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency1Role
FreeDefinedCurrency2Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency2Role
FreeDefinedCurrency3Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency3Role
FreeDefinedCurrency4Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency4Role
FreeDefinedCurrency5Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency5Role
FreeDefinedCurrency6Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency6Role
FreeDefinedCurrency7Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency7Role
FreeDefinedCurrency8Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency8Role
FunctionalCurrencyRole I_LedgerCompanyCodeCrcyRoles FunctionalCurrencyRole
CompanyCodeCurrency CompanyCodeCurrency
DebitAmtInCoCodeCrcy DebitAmountInCoCodeCrcy
CreditAmtInCoCodeCrcy CreditAmountInCoCodeCrcy
GlobalCurrency GlobalCurrency
DebitAmtInGlobalCrcy DebitAmountInGlobalCrcy
CreditAmtInGlobalCrcy CreditAmountInGlobalCrcy
FreeDefinedCurrency1 FreeDefinedCurrency1
DebitAmtInFreeDefinedCrcy1 DebitAmountInFreeDefinedCrcy1
CreditAmtInFreeDefinedCrcy1 CreditAmountInFreeDefinedCrcy1
FreeDefinedCurrency2 FreeDefinedCurrency2
DebitAmtInFreeDefinedCrcy2 DebitAmountInFreeDefinedCrcy2
CreditAmtInFreeDefinedCrcy2 CreditAmountInFreeDefinedCrcy2
FreeDefinedCurrency3 FreeDefinedCurrency3
DebitAmtInFreeDefinedCrcy3 DebitAmountInFreeDefinedCrcy3
CreditAmtInFreeDefinedCrcy3 CreditAmountInFreeDefinedCrcy3
FreeDefinedCurrency4 FreeDefinedCurrency4
DebitAmtInFreeDefinedCrcy4 DebitAmountInFreeDefinedCrcy4
CreditAmtInFreeDefinedCrcy4 CreditAmountInFreeDefinedCrcy4
FreeDefinedCurrency5 FreeDefinedCurrency5
DebitAmtInFreeDefinedCrcy5 DebitAmountInFreeDefinedCrcy5
CreditAmtInFreeDefinedCrcy5 CreditAmountInFreeDefinedCrcy5
FreeDefinedCurrency6 FreeDefinedCurrency6
DebitAmtInFreeDefinedCrcy6 DebitAmountInFreeDefinedCrcy6
CreditAmtInFreeDefinedCrcy6 CreditAmountInFreeDefinedCrcy6
FreeDefinedCurrency7 FreeDefinedCurrency7
DebitAmtInFreeDefinedCrcy7 DebitAmountInFreeDefinedCrcy7
CreditAmtInFreeDefinedCrcy7 CreditAmountInFreeDefinedCrcy7
FreeDefinedCurrency8 FreeDefinedCurrency8
DebitAmtInFreeDefinedCrcy8 DebitAmountInFreeDefinedCrcy8
CreditAmtInFreeDefinedCrcy8 CreditAmountInFreeDefinedCrcy8
FunctionalCurrency FunctionalCurrency
DebitAmountInFunctionalCrcy DebitAmountInFunctionalCrcy
CreditAmountInFunctionalCrcy CreditAmountInFunctionalCrcy
LedgerasLedger
KEY CompanyCode I_GLAccountLineItem CompanyCode
KEY FiscalYear I_GLAccountLineItem FiscalYear
KEY AccountingDocument AccountingDocument
KEY LedgerGLLineItem LedgerGLLineItem
LedgerFiscalYear LedgerFiscalYear
ChartOfAccounts ChartOfAccounts
AccountingDocumentType AccountingDocumentType
GLAccount GLAccount
CountryChartOfAccounts CountryChartOfAccounts
AlternativeGLAccount AlternativeGLAccount
ControllingArea ControllingArea
CostCenter CostCenter
ProfitCenter ProfitCenter
FinancialTransactionType FinancialTransactionType
FunctionalArea FunctionalArea
BusinessArea BusinessArea
Segment Segment
DebitCreditCode DebitCreditCode
PostingDate PostingDate
FiscalPeriod I_GLAccountLineItem FiscalPeriod
PartnerCompany PartnerCompany
WBSElement WBSElement
GLAccountType GLAccountType
CompanyCodeCurrencyRole I_LedgerCompanyCodeCrcyRoles CompanyCodeCurrencyRole
GlobalCurrencyRole I_LedgerCompanyCodeCrcyRoles GlobalCurrencyRole
FreeDefinedCurrency1Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency1Role
FreeDefinedCurrency2Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency2Role
FreeDefinedCurrency3Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency3Role
FreeDefinedCurrency4Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency4Role
FreeDefinedCurrency5Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency5Role
FreeDefinedCurrency6Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency6Role
FreeDefinedCurrency7Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency7Role
FreeDefinedCurrency8Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency8Role
FunctionalCurrencyRole I_LedgerCompanyCodeCrcyRoles FunctionalCurrencyRole
CompanyCodeCurrency CompanyCodeCurrency
DebitAmtInCoCodeCrcy DebitAmountInCoCodeCrcy
CreditAmtInCoCodeCrcy CreditAmountInCoCodeCrcy
GlobalCurrency GlobalCurrency
DebitAmtInGlobalCrcy DebitAmountInGlobalCrcy
CreditAmtInGlobalCrcy CreditAmountInGlobalCrcy
FreeDefinedCurrency1 FreeDefinedCurrency1
DebitAmtInFreeDefinedCrcy1 DebitAmountInFreeDefinedCrcy1
CreditAmtInFreeDefinedCrcy1 CreditAmountInFreeDefinedCrcy1
FreeDefinedCurrency2 FreeDefinedCurrency2
DebitAmtInFreeDefinedCrcy2 DebitAmountInFreeDefinedCrcy2
CreditAmtInFreeDefinedCrcy2 CreditAmountInFreeDefinedCrcy2
FreeDefinedCurrency3 FreeDefinedCurrency3
DebitAmtInFreeDefinedCrcy3 DebitAmountInFreeDefinedCrcy3
CreditAmtInFreeDefinedCrcy3 CreditAmountInFreeDefinedCrcy3
FreeDefinedCurrency4 FreeDefinedCurrency4
DebitAmtInFreeDefinedCrcy4 DebitAmountInFreeDefinedCrcy4
CreditAmtInFreeDefinedCrcy4 CreditAmountInFreeDefinedCrcy4
FreeDefinedCurrency5 FreeDefinedCurrency5
DebitAmtInFreeDefinedCrcy5 DebitAmountInFreeDefinedCrcy5
CreditAmtInFreeDefinedCrcy5 CreditAmountInFreeDefinedCrcy5
FreeDefinedCurrency6 FreeDefinedCurrency6
DebitAmtInFreeDefinedCrcy6 DebitAmountInFreeDefinedCrcy6
CreditAmtInFreeDefinedCrcy6 CreditAmountInFreeDefinedCrcy6
FreeDefinedCurrency7 FreeDefinedCurrency7
DebitAmtInFreeDefinedCrcy7 DebitAmountInFreeDefinedCrcy7
CreditAmtInFreeDefinedCrcy7 CreditAmountInFreeDefinedCrcy7
FreeDefinedCurrency8 FreeDefinedCurrency8
DebitAmtInFreeDefinedCrcy8 DebitAmountInFreeDefinedCrcy8
CreditAmtInFreeDefinedCrcy8 CreditAmountInFreeDefinedCrcy8
FunctionalCurrency FunctionalCurrency
DebitAmountInFunctionalCrcy DebitAmountInFunctionalCrcy
CreditAmountInFunctionalCrcy CreditAmountInFunctionalCrcy
LedgerasLedger
KEY CompanyCode I_GLAccountLineItem CompanyCode
KEY FiscalYear I_GLAccountLineItem FiscalYear
KEY AccountingDocument AccountingDocument
KEY LedgerGLLineItem LedgerGLLineItem
LedgerFiscalYear LedgerFiscalYear
ChartOfAccounts ChartOfAccounts
AccountingDocumentType AccountingDocumentType
GLAccount GLAccount
CountryChartOfAccounts CountryChartOfAccounts
AlternativeGLAccount AlternativeGLAccount
ControllingArea ControllingArea
CostCenter CostCenter
ProfitCenter ProfitCenter
FinancialTransactionType FinancialTransactionType
FunctionalArea FunctionalArea
BusinessArea BusinessArea
Segment Segment
DebitCreditCode DebitCreditCode
PostingDate PostingDate
FiscalPeriod I_GLAccountLineItem FiscalPeriod
PartnerCompany PartnerCompany
WBSElement WBSElement
GLAccountType GLAccountType
CompanyCodeCurrencyRole I_LedgerCompanyCodeCrcyRoles CompanyCodeCurrencyRole
GlobalCurrencyRole I_LedgerCompanyCodeCrcyRoles GlobalCurrencyRole
FreeDefinedCurrency1Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency1Role
FreeDefinedCurrency2Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency2Role
FreeDefinedCurrency3Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency3Role
FreeDefinedCurrency4Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency4Role
FreeDefinedCurrency5Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency5Role
FreeDefinedCurrency6Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency6Role
FreeDefinedCurrency7Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency7Role
FreeDefinedCurrency8Role I_LedgerCompanyCodeCrcyRoles FreeDefinedCurrency8Role
FunctionalCurrencyRole I_LedgerCompanyCodeCrcyRoles FunctionalCurrencyRole
CompanyCodeCurrency CompanyCodeCurrency
DebitAmtInCoCodeCrcy DebitAmountInCoCodeCrcy
CreditAmtInCoCodeCrcy CreditAmountInCoCodeCrcy
GlobalCurrency GlobalCurrency
DebitAmtInGlobalCrcy DebitAmountInGlobalCrcy
CreditAmtInGlobalCrcy CreditAmountInGlobalCrcy
FreeDefinedCurrency1 FreeDefinedCurrency1
DebitAmtInFreeDefinedCrcy1 DebitAmountInFreeDefinedCrcy1
CreditAmtInFreeDefinedCrcy1 CreditAmountInFreeDefinedCrcy1
FreeDefinedCurrency2 FreeDefinedCurrency2
DebitAmtInFreeDefinedCrcy2 DebitAmountInFreeDefinedCrcy2
CreditAmtInFreeDefinedCrcy2 CreditAmountInFreeDefinedCrcy2
FreeDefinedCurrency3 FreeDefinedCurrency3
DebitAmtInFreeDefinedCrcy3 DebitAmountInFreeDefinedCrcy3
CreditAmtInFreeDefinedCrcy3 CreditAmountInFreeDefinedCrcy3
FreeDefinedCurrency4 FreeDefinedCurrency4
DebitAmtInFreeDefinedCrcy4 DebitAmountInFreeDefinedCrcy4
CreditAmtInFreeDefinedCrcy4 CreditAmountInFreeDefinedCrcy4
FreeDefinedCurrency5 FreeDefinedCurrency5
DebitAmtInFreeDefinedCrcy5 DebitAmountInFreeDefinedCrcy5
CreditAmtInFreeDefinedCrcy5 CreditAmountInFreeDefinedCrcy5
FreeDefinedCurrency6 FreeDefinedCurrency6
DebitAmtInFreeDefinedCrcy6 DebitAmountInFreeDefinedCrcy6
CreditAmtInFreeDefinedCrcy6 CreditAmountInFreeDefinedCrcy6
FreeDefinedCurrency7 FreeDefinedCurrency7
DebitAmtInFreeDefinedCrcy7 DebitAmountInFreeDefinedCrcy7
CreditAmtInFreeDefinedCrcy7 CreditAmountInFreeDefinedCrcy7
FreeDefinedCurrency8 FreeDefinedCurrency8
DebitAmtInFreeDefinedCrcy8 DebitAmountInFreeDefinedCrcy8
CreditAmtInFreeDefinedCrcy8 CreditAmountInFreeDefinedCrcy8
FunctionalCurrency FunctionalCurrency
DebitAmountInFunctionalCrcy DebitAmountInFunctionalCrcy
CreditAmountInFunctionalCrcy CreditAmountInFunctionalCrcy
PeriodFlag
@AbapCatalog.sqlViewName: 'PGLACCTBAL01'
@AbapCatalog.compiler.compareFilter: true
@VDM.private:true
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE 
define view P_GLAcctBalance01 with parameters
        P_Ledger           : fis_rldnr,
        P_StartPostingDate : fis_budat,
        P_EndPostingDate   : fis_budat
as select from I_GLAccountLineItem as GLAccountLineItem
    inner join I_LedgerCompanyCodeCrcyRoles as LedgerCompanyCodeCrcyRole
        on LedgerCompanyCodeCrcyRole.CompanyCode = GLAccountLineItem.CompanyCode
          and LedgerCompanyCodeCrcyRole.Ledger   = GLAccountLineItem.Ledger
          
            
    inner join I_FiscalCalYearPeriodForLedger as FiscalPeriodForLedger
//        on GLAccountLineItem.FiscalYearVariant = FiscalPeriodForLedger.FiscalYearVariant 

          on GLAccountLineItem.Ledger   = FiscalPeriodForLedger.Ledger
          and GLAccountLineItem.CompanyCode   = FiscalPeriodForLedger.CompanyCode
          and GLAccountLineItem.FiscalPeriod  = FiscalPeriodForLedger.FiscalPeriod
//          and FiscalPeriodForLedger.FiscalPeriodStartDate <= $parameters.P_StartPostingDate

//          and FiscalPeriodForLedger.FiscalPeriodEndDate >= $parameters.P_StartPostingDate

{  
    key GLAccountLineItem.Ledger as Ledger,
    key GLAccountLineItem.CompanyCode as CompanyCode,
//    key FiscalYear,

    key GLAccountLineItem.FiscalYear as FiscalYear,
    key AccountingDocument,
    key LedgerGLLineItem,
        LedgerFiscalYear,
        ChartOfAccounts,
        AccountingDocumentType,
        GLAccount,
        CountryChartOfAccounts,
        AlternativeGLAccount,
        ControllingArea,
        CostCenter, 
        ProfitCenter,
        FinancialTransactionType,
        FunctionalArea,
        BusinessArea,
        Segment,
        DebitCreditCode,
        PostingDate,
//        FiscalPeriod,

        GLAccountLineItem.FiscalPeriod as FiscalPeriod,
        PartnerCompany,
        WBSElement,
        GLAccountType,
        LedgerCompanyCodeCrcyRole.CompanyCodeCurrencyRole,
        LedgerCompanyCodeCrcyRole.GlobalCurrencyRole,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency1Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency2Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency3Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency4Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency5Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency6Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency7Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency8Role,
        LedgerCompanyCodeCrcyRole.FunctionalCurrencyRole,

        @Semantics.currencyCode:true
        CompanyCodeCurrency,
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
        DebitAmountInCoCodeCrcy as DebitAmtInCoCodeCrcy,
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
        CreditAmountInCoCodeCrcy as CreditAmtInCoCodeCrcy,
        
        @Semantics.currencyCode:true
        GlobalCurrency,
        @Semantics.amount.currencyCode: 'GlobalCurrency'
        DebitAmountInGlobalCrcy as DebitAmtInGlobalCrcy,
        @Semantics.amount.currencyCode: 'GlobalCurrency'
        CreditAmountInGlobalCrcy as CreditAmtInGlobalCrcy,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency1,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency1'
        DebitAmountInFreeDefinedCrcy1 as DebitAmtInFreeDefinedCrcy1,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency1'
        CreditAmountInFreeDefinedCrcy1 as CreditAmtInFreeDefinedCrcy1,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency2,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency2'
        DebitAmountInFreeDefinedCrcy2 as DebitAmtInFreeDefinedCrcy2,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency2'
        CreditAmountInFreeDefinedCrcy2 as CreditAmtInFreeDefinedCrcy2,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency3,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency3'
        DebitAmountInFreeDefinedCrcy3 as DebitAmtInFreeDefinedCrcy3,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency3'
        CreditAmountInFreeDefinedCrcy3 as CreditAmtInFreeDefinedCrcy3,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency4,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency4'
        DebitAmountInFreeDefinedCrcy4 as DebitAmtInFreeDefinedCrcy4,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency4'
        CreditAmountInFreeDefinedCrcy4 as CreditAmtInFreeDefinedCrcy4,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency5,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency5'
        DebitAmountInFreeDefinedCrcy5 as DebitAmtInFreeDefinedCrcy5,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency5'
        CreditAmountInFreeDefinedCrcy5 as CreditAmtInFreeDefinedCrcy5,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency6,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency6'
        DebitAmountInFreeDefinedCrcy6 as DebitAmtInFreeDefinedCrcy6,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency6'
        CreditAmountInFreeDefinedCrcy6 as CreditAmtInFreeDefinedCrcy6,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency7,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency7'
        DebitAmountInFreeDefinedCrcy7 as DebitAmtInFreeDefinedCrcy7,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency7'
        CreditAmountInFreeDefinedCrcy7 as CreditAmtInFreeDefinedCrcy7,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency8,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency8'
        DebitAmountInFreeDefinedCrcy8 as DebitAmtInFreeDefinedCrcy8,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency8'
        CreditAmountInFreeDefinedCrcy8 as CreditAmtInFreeDefinedCrcy8,
        
        
        @Semantics.currencyCode:true
        FunctionalCurrency,
        @Semantics.amount.currencyCode: 'FunctionalCurrency'
        DebitAmountInFunctionalCrcy as DebitAmountInFunctionalCrcy,
        @Semantics.amount.currencyCode: 'FunctionalCurrency'
        CreditAmountInFunctionalCrcy as CreditAmountInFunctionalCrcy,
        
        'R' as PeriodFlag
}
where
  GLAccountLineItem.Ledger = $parameters.P_Ledger and
  PostingDate >= $parameters.P_StartPostingDate and
  PostingDate <= $parameters.P_EndPostingDate and
//  (FiscalPeriod >= '001' or (FiscalPeriod = '000' and AccountingDocumentCategory = ''))

  GLAccountLineItem.LedgerFiscalYear = FiscalPeriodForLedger.FiscalYear and
//  GLAccountLineItem.FiscalPeriod >= '001'

  (GLAccountLineItem.FiscalPeriod >= '001' or (GLAccountLineItem.FiscalPeriod = '000' and AccountingDocumentCategory <> 'C'))
//  (AccountingDocumentCategory <> 'C')

  and GLRecordType = '0'

union all

select distinct from I_GLAccountLineItem as GLAccountLineItem
  inner join I_LedgerCompanyCodeCrcyRoles as LedgerCompanyCodeCrcyRole
        on LedgerCompanyCodeCrcyRole.CompanyCode = GLAccountLineItem.CompanyCode
            and LedgerCompanyCodeCrcyRole.Ledger   = GLAccountLineItem.Ledger
//  inner join I_FiscalCalendarDate as FiscalPeriodForLedger 

//        on GLAccountLineItem.FiscalYearVariant = FiscalPeriodForLedger.FiscalYearVariant 

//            and FiscalPeriodForLedger.CalendarDate = $parameters.P_StartPostingDate   

                     
  inner join I_FiscalCalYearPeriodForLedger as FiscalPeriodForLedger
//      on GLAccountLineItem.FiscalYearVariant = FiscalPeriodForLedger.FiscalYearVariant 

        on GLAccountLineItem.Ledger   = FiscalPeriodForLedger.Ledger
        and GLAccountLineItem.CompanyCode   = FiscalPeriodForLedger.CompanyCode
        and FiscalPeriodForLedger.FiscalPeriodStartDate <= $parameters.P_StartPostingDate
        and FiscalPeriodForLedger.FiscalPeriodEndDate >= $parameters.P_StartPostingDate


{
    key GLAccountLineItem.Ledger as Ledger,
    key GLAccountLineItem.CompanyCode as CompanyCode,
    key GLAccountLineItem.FiscalYear as FiscalYear,
    key AccountingDocument,
    key LedgerGLLineItem,
        LedgerFiscalYear,
        ChartOfAccounts,
        AccountingDocumentType,
        GLAccount,
        CountryChartOfAccounts,
        AlternativeGLAccount,
        ControllingArea,
        CostCenter,
        ProfitCenter,
        FinancialTransactionType,
        FunctionalArea,
        BusinessArea,
        Segment,
        DebitCreditCode,
        PostingDate,
        GLAccountLineItem.FiscalPeriod as FiscalPeriod,
        PartnerCompany,
        WBSElement,
        GLAccountType,
        LedgerCompanyCodeCrcyRole.CompanyCodeCurrencyRole,
        LedgerCompanyCodeCrcyRole.GlobalCurrencyRole,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency1Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency2Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency3Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency4Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency5Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency6Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency7Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency8Role,
        LedgerCompanyCodeCrcyRole.FunctionalCurrencyRole,
        
        @Semantics.currencyCode:true
        CompanyCodeCurrency,
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
        DebitAmountInCoCodeCrcy as DebitAmtInCoCodeCrcy,
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
        CreditAmountInCoCodeCrcy as CreditAmtInCoCodeCrcy,
        
        @Semantics.currencyCode:true
        GlobalCurrency,
        @Semantics.amount.currencyCode: 'GlobalCurrency'
        DebitAmountInGlobalCrcy as DebitAmtInGlobalCrcy,
        @Semantics.amount.currencyCode: 'GlobalCurrency'
        CreditAmountInGlobalCrcy as CreditAmtInGlobalCrcy,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency1,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency1'
        DebitAmountInFreeDefinedCrcy1 as DebitAmtInFreeDefinedCrcy1,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency1'
        CreditAmountInFreeDefinedCrcy1 as CreditAmtInFreeDefinedCrcy1,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency2,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency2'
        DebitAmountInFreeDefinedCrcy2 as DebitAmtInFreeDefinedCrcy2,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency2'
        CreditAmountInFreeDefinedCrcy2 as CreditAmtInFreeDefinedCrcy2,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency3,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency3'
        DebitAmountInFreeDefinedCrcy3 as DebitAmtInFreeDefinedCrcy3,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency3'
        CreditAmountInFreeDefinedCrcy3 as CreditAmtInFreeDefinedCrcy3,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency4,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency4'
        DebitAmountInFreeDefinedCrcy4 as DebitAmtInFreeDefinedCrcy4,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency4'
        CreditAmountInFreeDefinedCrcy4 as CreditAmtInFreeDefinedCrcy4,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency5,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency5'
        DebitAmountInFreeDefinedCrcy5 as DebitAmtInFreeDefinedCrcy5,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency5'
        CreditAmountInFreeDefinedCrcy5 as CreditAmtInFreeDefinedCrcy5,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency6,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency6'
        DebitAmountInFreeDefinedCrcy6 as DebitAmtInFreeDefinedCrcy6,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency6'
        CreditAmountInFreeDefinedCrcy6 as CreditAmtInFreeDefinedCrcy6,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency7,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency7'
        DebitAmountInFreeDefinedCrcy7 as DebitAmtInFreeDefinedCrcy7,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency7'
        CreditAmountInFreeDefinedCrcy7 as CreditAmtInFreeDefinedCrcy7,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency8,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency8'
        DebitAmountInFreeDefinedCrcy8 as DebitAmtInFreeDefinedCrcy8,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency8'
        CreditAmountInFreeDefinedCrcy8 as CreditAmtInFreeDefinedCrcy8,
        
        @Semantics.currencyCode:true
        FunctionalCurrency,
        @Semantics.amount.currencyCode: 'FunctionalCurrency'
        DebitAmountInFunctionalCrcy as DebitAmountInFunctionalCrcy,
        @Semantics.amount.currencyCode: 'FunctionalCurrency'
        CreditAmountInFunctionalCrcy as CreditAmountInFunctionalCrcy,
        
        'Y' as PeriodFlag
}
where
    GLAccountLineItem.Ledger = $parameters.P_Ledger and  
    GLAccountLineItem.LedgerFiscalYear = FiscalPeriodForLedger.FiscalYear and
//    GLAccountLineItem.FiscalYear = FiscalPeriodForLedger.FiscalYear and

    GLAccountLineItem.FiscalPeriod = '000' and
    GLAccountLineItem.AccountingDocumentCategory = 'C'
    and GLRecordType = '0'

union all

select from I_GLAccountLineItem as GLAccountLineItem
    inner join I_LedgerCompanyCodeCrcyRoles as LedgerCompanyCodeCrcyRole
        on LedgerCompanyCodeCrcyRole.CompanyCode = GLAccountLineItem.CompanyCode
            and LedgerCompanyCodeCrcyRole.Ledger   = GLAccountLineItem.Ledger
//    inner join I_FiscalCalendarDate as FiscalPeriodForLedger 

//        on GLAccountLineItem.FiscalYearVariant = FiscalPeriodForLedger.FiscalYearVariant 

//            and FiscalPeriodForLedger.CalendarDate = $parameters.P_StartPostingDate

            
    inner join I_FiscalCalYearPeriodForLedger as FiscalPeriodForLedger
//        on GLAccountLineItem.FiscalYearVariant = FiscalPeriodForLedger.FiscalYearVariant 

          on GLAccountLineItem.Ledger   = FiscalPeriodForLedger.Ledger
          and GLAccountLineItem.CompanyCode   = FiscalPeriodForLedger.CompanyCode
          and GLAccountLineItem.FiscalPeriod  = FiscalPeriodForLedger.FiscalPeriod
          and FiscalPeriodForLedger.FiscalYearStartDate <= $parameters.P_StartPostingDate
          and FiscalPeriodForLedger.FiscalYearEndDate   >= $parameters.P_StartPostingDate          
//          and FiscalPeriodForLedger.FiscalPeriodStartDate <= $parameters.P_StartPostingDate

//          and FiscalPeriodForLedger.FiscalPeriodEndDate >= $parameters.P_StartPostingDate

{
    key GLAccountLineItem.Ledger as Ledger,
    key GLAccountLineItem.CompanyCode as CompanyCode,
    key GLAccountLineItem.FiscalYear as FiscalYear,
    key AccountingDocument,
    key LedgerGLLineItem,
        LedgerFiscalYear,
        ChartOfAccounts,
        AccountingDocumentType,
        GLAccount,
        CountryChartOfAccounts,
        AlternativeGLAccount,
        ControllingArea,
        CostCenter,
        ProfitCenter,
        FinancialTransactionType,
        FunctionalArea,
        BusinessArea,
        Segment,
        DebitCreditCode,
        PostingDate,
        GLAccountLineItem.FiscalPeriod as FiscalPeriod,
        PartnerCompany,
        WBSElement,
        GLAccountType,
        LedgerCompanyCodeCrcyRole.CompanyCodeCurrencyRole,
        LedgerCompanyCodeCrcyRole.GlobalCurrencyRole,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency1Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency2Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency3Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency4Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency5Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency6Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency7Role,
        LedgerCompanyCodeCrcyRole.FreeDefinedCurrency8Role,
        LedgerCompanyCodeCrcyRole.FunctionalCurrencyRole,
        
        @Semantics.currencyCode:true
        CompanyCodeCurrency,
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
        DebitAmountInCoCodeCrcy as DebitAmtInCoCodeCrcy,
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
        CreditAmountInCoCodeCrcy as CreditAmtInCoCodeCrcy,
        
        @Semantics.currencyCode:true
        GlobalCurrency,
        @Semantics.amount.currencyCode: 'GlobalCurrency'
        DebitAmountInGlobalCrcy as DebitAmtInGlobalCrcy,
        @Semantics.amount.currencyCode: 'GlobalCurrency'
        CreditAmountInGlobalCrcy as CreditAmtInGlobalCrcy,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency1,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency1'
        DebitAmountInFreeDefinedCrcy1 as DebitAmtInFreeDefinedCrcy1,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency1'
        CreditAmountInFreeDefinedCrcy1 as CreditAmtInFreeDefinedCrcy1,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency2,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency2'
        DebitAmountInFreeDefinedCrcy2 as DebitAmtInFreeDefinedCrcy2,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency2'
        CreditAmountInFreeDefinedCrcy2 as CreditAmtInFreeDefinedCrcy2,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency3,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency3'
        DebitAmountInFreeDefinedCrcy3 as DebitAmtInFreeDefinedCrcy3,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency3'
        CreditAmountInFreeDefinedCrcy3 as CreditAmtInFreeDefinedCrcy3,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency4,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency4'
        DebitAmountInFreeDefinedCrcy4 as DebitAmtInFreeDefinedCrcy4,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency4'
        CreditAmountInFreeDefinedCrcy4 as CreditAmtInFreeDefinedCrcy4,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency5,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency5'
        DebitAmountInFreeDefinedCrcy5 as DebitAmtInFreeDefinedCrcy5,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency5'
        CreditAmountInFreeDefinedCrcy5 as CreditAmtInFreeDefinedCrcy5,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency6,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency6'
        DebitAmountInFreeDefinedCrcy6 as DebitAmtInFreeDefinedCrcy6,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency6'
        CreditAmountInFreeDefinedCrcy6 as CreditAmtInFreeDefinedCrcy6,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency7,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency7'
        DebitAmountInFreeDefinedCrcy7 as DebitAmtInFreeDefinedCrcy7,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency7'
        CreditAmountInFreeDefinedCrcy7 as CreditAmtInFreeDefinedCrcy7,
        
        @Semantics.currencyCode:true
        FreeDefinedCurrency8,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency8'
        DebitAmountInFreeDefinedCrcy8 as DebitAmtInFreeDefinedCrcy8,
        @Semantics.amount.currencyCode: 'FreeDefinedCurrency8'
        CreditAmountInFreeDefinedCrcy8 as CreditAmtInFreeDefinedCrcy8,
        
        @Semantics.currencyCode:true
        FunctionalCurrency,
        @Semantics.amount.currencyCode: 'FunctionalCurrency'
        DebitAmountInFunctionalCrcy as DebitAmountInFunctionalCrcy,
        @Semantics.amount.currencyCode: 'FunctionalCurrency'
        CreditAmountInFunctionalCrcy as CreditAmountInFunctionalCrcy,
        
        'O' as PeriodFlag
}
where
  GLAccountLineItem.Ledger = $parameters.P_Ledger and
//  GLAccountLineItem.FiscalYear = FiscalPeriodForLedger.FiscalYear and

  GLAccountLineItem.LedgerFiscalYear = FiscalPeriodForLedger.FiscalYear and
  GLAccountLineItem.FiscalPeriod >= '001' and 
  GLAccountLineItem.PostingDate <= dats_add_days($parameters.P_StartPostingDate, -1, 'NULL')
  and GLRecordType = '0'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_FISCALCALYEARPERIODFORLEDGER",
"I_GLACCOUNTLINEITEM",
"I_LEDGERCOMPANYCODECRCYROLES"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/