@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'PFIGRIRANALYSIS'
@VDM.viewType: #CONSUMPTION
@VDM.private:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.representativeKey: 'LedgerGLLineItem'
@EndUserText.label: 'Analyze GR/IR Account Reconciliation'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
define view P_GRIRAnalysis
as select from I_JournalEntryItem
association[0..1] to I_PurchasingDocumentItem as _PurchasingDocumentItem on $projection.PurchasingDocument = _PurchasingDocumentItem.PurchasingDocument and
$projection.PurchasingDocumentItem = _PurchasingDocumentItem.PurchasingDocumentItem
association[0..1] to I_GRIRProcess as _GRIRProcess on $projection.CompanyCode = _GRIRProcess.CompanyCode and
$projection.PurchasingDocument = _GRIRProcess.PurchasingDocument and
$projection.PurchasingDocumentItem = _GRIRProcess.PurchasingDocumentItem
association[0..1] to I_GLAccountInChartOfAccounts as _GLAccountInChartOfAccounts on $projection.ChartOfAccounts = _GLAccountInChartOfAccounts.ChartOfAccounts and
$projection.GLAccount = _GLAccountInChartOfAccounts.GLAccount
association[0..1] to I_AccountingDocument as _AccountingDocument on $projection.AccountingDocument = _AccountingDocument.AccountingDocument
and $projection.CompanyCode = _AccountingDocument.CompanyCode
and $projection.FiscalYear = _AccountingDocument.FiscalYear
association[0..1] to I_ChartOfAccounts as _ChartOfAccounts on $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts
association[0..1] to I_PurchasingDocument as _PurchasingDocument on $projection.PurchasingDocument = _PurchasingDocument.PurchasingDocument
association[0..1] to I_ControllingArea as _ControllingArea on $projection.ControllingArea = _ControllingArea.ControllingArea
association [0..1] to I_Currency as _GlobalCurrency on $projection.GlobalCurrency = _GlobalCurrency.Currency
association[1..1] to I_GRIRProcessTransTypeDetn as _GRIRProcessTransTypeDetn on $projection.TransactionTypeDetermination = _GRIRProcessTransTypeDetn.TransactionTypeDetermination
{
@ObjectModel.foreignKey.association: '_CompanyCode'
key I_JournalEntryItem.CompanyCode,
@ObjectModel.foreignKey.association: '_FiscalYear'
key I_JournalEntryItem.FiscalYear,
@ObjectModel.foreignKey.association: '_AccountingDocument'
key I_JournalEntryItem.AccountingDocument,
key I_JournalEntryItem.LedgerGLLineItem,
I_JournalEntryItem.AccountingDocumentItem,
@ObjectModel.foreignKey.association: '_PurchasingDocument'
I_JournalEntryItem.PurchasingDocument,
@ObjectModel.foreignKey.association: '_PurchasingDocumentItem'
I_JournalEntryItem.PurchasingDocumentItem,
@ObjectModel.foreignKey.association: '_ChartOfAccounts'
I_JournalEntryItem.ChartOfAccounts,
@ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
I_JournalEntryItem.GLAccount,
I_JournalEntryItem.PostingDate,
case I_JournalEntryItem._PurchasingDocumentItem.PurchasingDocumentItemCategory
when 'A' then cast( 0 as quan1_12)
when '9' then cast( 0 as quan1_12)
else I_JournalEntryItem.Quantity
end as Quantity,
@DefaultAggregation: #SUM
@Semantics: { quantity : {unitOfMeasure: 'ReferenceQuantityUnit'} }
case I_JournalEntryItem._PurchasingDocumentItem.PurchasingDocumentItemCategory
when 'A' then cast( 0 as quan1_12)
when '9' then cast( 0 as quan1_12)
else
case I_JournalEntryItem.TransactionTypeDetermination
when 'WRX' then cast( I_JournalEntryItem.ReferenceQuantity as rquan1_12 )
else cast( 0 as rquan1_12) end
end as ReferenceQuantity,
case I_JournalEntryItem._PurchasingDocumentItem.PurchasingDocumentItemCategory
when 'A' then cast( '' as meins)
when '9' then cast( '' as meins)
else cast(I_JournalEntryItem.ReferenceQuantityUnit as fis_ref_qty_uom_ui5 preserving type )
end as ReferenceQuantityUnit,
@ObjectModel.foreignKey.association: '_CompanyCodeCurrency'
@Semantics.currencyCode:true
I_JournalEntryItem.CompanyCodeCurrency as CompanyCodeCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
I_JournalEntryItem.AmountInCompanyCodeCurrency,
@ObjectModel.foreignKey.association: '_GlobalCurrency'
@Semantics.currencyCode:true
I_JournalEntryItem.GlobalCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
I_JournalEntryItem.AmountInGlobalCurrency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
cast( abs(I_JournalEntryItem.AmountInCompanyCodeCurrency) as fis_abs_bal_dmbtr preserving type ) as BalanceAbsoluteAmtInCoCodeCrcy,
@Semantics.unitOfMeasure: true
I_JournalEntryItem._PurchasingDocumentItem.OrderQuantityUnit as PurgDocOrderQuantityUnit,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case I_JournalEntryItem.DebitCreditCode
when 'S'
then cast( I_JournalEntryItem.AmountInCompanyCodeCurrency as fis_dr_hsl preserving type )
else cast( cast( '0' as abap.curr(23,2)) as fis_dr_hsl preserving type)
end as DebitAmountInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
case I_JournalEntryItem.DebitCreditCode
when 'S'
then cast( cast( '0' as abap.curr(23,2)) as fis_cr_hsl preserving type)
else cast( I_JournalEntryItem.AmountInCompanyCodeCurrency as fis_cr_hsl preserving type )
end as CreditAmountInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
case I_JournalEntryItem.DebitCreditCode
when 'S'
then cast( AmountInGlobalCurrency as fis_dr_ksl preserving type )
else cast( cast( 0 as abap.curr( 23,2) ) as fis_dr_ksl preserving type )
end as DebitAmountInGlobalCrcy,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'GlobalCurrency'} }
case I_JournalEntryItem.DebitCreditCode
when 'H'
then cast( AmountInGlobalCurrency as fis_cr_ksl preserving type )
else cast( cast( 0 as abap.curr( 23,2) ) as fis_cr_ksl preserving type )
end as CreditAmountInGlobalCrcy,
@DefaultAggregation: #SUM
@Semantics: { quantity : {unitOfMeasure: 'PurgDocOrderQuantityUnit'} }
case I_JournalEntryItem.TransactionTypeDetermination
when 'WRX' then cast( abs(I_JournalEntryItem.Quantity) as fis_abs_bal_quantity )
else cast( 0 as fis_abs_bal_quantity)
end as BalanceAbsoluteQuantity,
@DefaultAggregation: #SUM
@Semantics: { quantity : {unitOfMeasure: 'ReferenceQuantityUnit'} }
case I_JournalEntryItem._PurchasingDocumentItem.PurchasingDocumentItemCategory
when 'A' then cast( 0 as fis_abs_bal_quantity_rrunit)
when '9' then cast( 0 as fis_abs_bal_quantity_rrunit)
else
case I_JournalEntryItem.TransactionTypeDetermination
when 'WRX' then
cast( abs(I_JournalEntryItem.ReferenceQuantity) as fis_abs_bal_quantity_rrunit preserving type )
else cast( 0 as fis_abs_bal_quantity_rrunit)
end
end as BalanceAbsoluteQtyInRefQtyUnit,
I_JournalEntryItem.ReferenceDocumentType,
I_JournalEntryItem.FiscalPeriod,
I_JournalEntryItem.DocumentDate,
I_JournalEntryItem.PostingKey,
I_JournalEntryItem.DebitCreditCode,
I_JournalEntryItem.TransactionTypeDetermination,
@ObjectModel.foreignKey.association: '_ControllingArea'
I_JournalEntryItem.ControllingArea,
cast ( dats_days_between( PostingDate, cast ( $session.system_date as abap.dats ) ) as fis_due_days preserving type ) as DueDays,
cast( I_JournalEntryItem._PurchasingDocumentItem.PurchasingDocumentItemUniqueID as txz01) as PurchasingDocumentItemText,
_CompanyCode,
_FiscalYear,
_JournalEntry,
_PurchasingDocumentItem,
_GLAccountInChartOfAccounts,
_GRIRProcess,
_PurchasingDocument,
_ChartOfAccounts,
_AccountingDocument,
_ControllingArea,
_CompanyCodeCurrency,
_GlobalCurrency
} where FinancialAccountType = 'S' and ((TransactionTypeDetermination = 'WRX' or TransactionTypeDetermination = 'FR1' or TransactionTypeDetermination = 'FR3'
or TransactionTypeDetermination = 'FR2' or TransactionTypeDetermination = 'FR4')
or (_GRIRProcessTransTypeDetn.TransactionTypeDetermination is not null) )
and IsOpenItemManaged ='X' and ClearingDate ='00000000'
and PurchasingDocument <> '' and _Ledger.IsLeadingLedger = 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_GRIRPROCESSTRANSTYPEDETN",
"I_JOURNALENTRYITEM",
"I_LEDGER",
"I_PURCHASINGDOCUMENTITEM"
],
"ASSOCIATED":
[
"I_ACCOUNTINGDOCUMENT",
"I_CHARTOFACCOUNTS",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_CURRENCY",
"I_FISCALYEARFORCOMPANYCODE",
"I_GLACCOUNTINCHARTOFACCOUNTS",
"I_GRIRPROCESS",
"I_GRIRPROCESSTRANSTYPEDETN",
"I_JOURNALENTRY",
"I_PURCHASINGDOCUMENT",
"I_PURCHASINGDOCUMENTITEM"
],
"BASE":
[
"I_JOURNALENTRYITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/