I_LU_SAFTJournalEntry

DDL: I_LU_SAFTJOURNALENTRY SQL: ILUSAFTGLENTRY Type: view COMPOSITE

SAFT LU General Ledger Documents

I_LU_SAFTJournalEntry is a Composite CDS View that provides data about "SAFT LU General Ledger Documents" in SAP S/4HANA. It reads from 5 data sources (I_CompanyCode, I_LU_SAFTGenericSettings, I_GLAccountInCompanyCode, I_JournalEntry, I_JournalEntryItem) and exposes 53 fields with key fields CompanyCode, FiscalYear, AccountingDocument, Ledger, LedgerGLLineItem.

Data Sources (5)

SourceAliasJoin Type
I_CompanyCode CompanyCode inner
I_LU_SAFTGenericSettings GenSettings inner
I_GLAccountInCompanyCode GLAccount inner
I_JournalEntry JournalEntry from
I_JournalEntryItem JournalItem inner

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ILUSAFTGLENTRY view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AbapCatalog.dataMaintenance #RESTRICTED view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_INCLUDED view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label SAFT LU General Ledger Documents view

Fields (53)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode I_JournalEntry CompanyCode
KEY FiscalYear I_JournalEntry FiscalYear
KEY AccountingDocument I_JournalEntry AccountingDocument
KEY Ledger I_JournalEntryItem Ledger
KEY LedgerGLLineItem I_JournalEntryItem LedgerGLLineItem
AccountingDocumentItem I_JournalEntryItem AccountingDocumentItem
DocumentTransaction
AccountingDocumentType I_JournalEntry AccountingDocumentType
DocumentDate I_JournalEntry DocumentDate
PostingDate I_JournalEntry PostingDate
FiscalPeriod I_JournalEntry FiscalPeriod
AccountingDocumentCategory I_JournalEntry AccountingDocumentCategory
AccountingDocCreatedByUser I_JournalEntry AccountingDocCreatedByUser
AccountingDocumentCreationDate I_JournalEntry AccountingDocumentCreationDate
ExchangeRate
Customer I_JournalEntryItem Customer
Supplier I_JournalEntryItem Supplier
FinancialAccountType I_JournalEntryItem FinancialAccountType
ChartOfAccounts I_JournalEntryItem ChartOfAccounts
GLAccount I_JournalEntryItem GLAccount
SpecialGLCode I_JournalEntryItem SpecialGLCode
TaxCode I_JournalEntryItem TaxCode
TaxCalculationProcedure
DocumentItemText I_JournalEntryItem DocumentItemText
DebitCreditCode I_JournalEntryItem DebitCreditCode
IsReversal I_JournalEntryItem IsReversal
Quantity I_JournalEntryItem Quantity
CompanyCodeCurrency I_JournalEntryItem CompanyCodeCurrency
TransactionCurrency I_JournalEntryItem TransactionCurrency
AmountInCompanyCodeCurrency I_JournalEntryItem AmountInCompanyCodeCurrency
AmountInTransactionCurrency I_JournalEntryItem AmountInTransactionCurrency
AccountingDocumentItemType
VATRegistration
CompanyCodeCountry I_CompanyCode Country
char3asDelivOfGoodsDestCountry
TransactionTypeDetermination I_JournalEntryItem TransactionTypeDetermination
AlternativeGLAccount I_GLAccountInCompanyCode AlternativeGLAccount
TaxRateValidityStartDate AcctgDoc TaxRateValidityStartDate
LedgerFiscalYear I_JournalEntryItem LedgerFiscalYear
LedgerFiscalPeriod I_JournalEntryItem FiscalPeriod
_CompanyCode I_JournalEntry _CompanyCode
_FiscalYear I_JournalEntry _FiscalYear
_AccountingDocumentType I_JournalEntry _AccountingDocumentType
_FiscalPeriod I_JournalEntry _FiscalPeriod
_AccountingDocumentCategory I_JournalEntry _AccountingDocumentCategory
_AccountingDocumentTypeText I_JournalEntry _AccountingDocumentTypeText
_Ledger I_JournalEntryItem _Ledger
_ChartOfAccounts I_JournalEntryItem _ChartOfAccounts
_DebitCreditCode I_JournalEntryItem _DebitCreditCode
_CompanyCodeCurrency I_JournalEntryItem _CompanyCodeCurrency
_TransactionCurrency I_JournalEntryItem _TransactionCurrency
_Supplier I_JournalEntryItem _Supplier
_Customer I_JournalEntryItem _Customer
@AbapCatalog.sqlViewName: 'ILUSAFTGLENTRY'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AbapCatalog.dataMaintenance: #RESTRICTED
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_INCLUDED
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType. sizeCategory: #XL
@ObjectModel.usageType.dataClass:  #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'SAFT LU General Ledger Documents'
define view I_LU_SAFTJournalEntry

  as select from           I_JournalEntry            as JournalEntry
    inner join             I_JournalEntryItem        as JournalItem on  JournalItem.CompanyCode        = JournalEntry.CompanyCode
                                                                    and JournalItem.FiscalYear         = JournalEntry.FiscalYear
                                                                    and JournalItem.AccountingDocument = JournalEntry.AccountingDocument

    inner join             I_GLAccountInCompanyCode  as GLAccount   on  GLAccount.GLAccount   = JournalItem.GLAccount
                                                                    and GLAccount.CompanyCode = JournalItem.CompanyCode

    inner join             I_LU_SAFTGenericSettings  as GenSettings on  GenSettings.CompanyCode    =  JournalItem.CompanyCode
                                                                    and GenSettings.FiscalYearFrom <= JournalItem.FiscalYear
                                                                    and GenSettings.FiscalYearTo   >= JournalItem.FiscalYear
                                                                    and GenSettings.Ledger         =  JournalItem.Ledger

    left outer to one join I_OperationalAcctgDocItem as AcctgDoc    on  AcctgDoc.CompanyCode            = JournalItem.CompanyCode
                                                                    and AcctgDoc.AccountingDocument     = JournalItem.AccountingDocument
                                                                    and AcctgDoc.AccountingDocumentItem = JournalItem.AccountingDocumentItem
                                                                    and AcctgDoc.FiscalYear             = JournalItem.FiscalYear

    inner join             I_CompanyCode             as CompanyCode on CompanyCode.CompanyCode = JournalItem.CompanyCode

{
      @ObjectModel.foreignKey.association: '_CompanyCode'
  key JournalEntry.CompanyCode,
      @ObjectModel.foreignKey.association: '_FiscalYear'
  key JournalEntry.FiscalYear,
  key JournalEntry.AccountingDocument,
      @ObjectModel.foreignKey.association: '_Ledger'
  key JournalItem.Ledger,
  key JournalItem.LedgerGLLineItem,

      JournalItem.AccountingDocumentItem,

      cast(concat(JournalEntry.CompanyCode, concat ('_', JournalEntry.AccountingDocument)) as abap.char(70)) as DocumentTransaction,
      @ObjectModel.foreignKey.association: '_AccountingDocumentType'
      JournalEntry.AccountingDocumentType,
      JournalEntry.DocumentDate,
      JournalEntry.PostingDate,
      @ObjectModel.foreignKey.association: '_FiscalPeriod'
      JournalEntry.FiscalPeriod,
      JournalEntry.AccountingDocumentCategory,
      JournalEntry.AccountingDocCreatedByUser,
      JournalEntry.AccountingDocumentCreationDate,
      cast(abs(JournalEntry.AbsoluteExchangeRate) as fis_absolute_exchangerate preserving type)              as ExchangeRate,

      JournalItem.Customer,
      JournalItem.Supplier,
      //      MOVED to Key Field

      //      JournalItem.LedgerGLLineItem,

      JournalItem.FinancialAccountType,
      JournalItem.ChartOfAccounts,
      JournalItem.GLAccount,
      JournalItem.SpecialGLCode,
      JournalItem.TaxCode,
      CompanyCode._Country.TaxCalculationProcedure,
      JournalItem.DocumentItemText,
      JournalItem.DebitCreditCode,
      JournalItem.IsReversal,
      JournalItem.Quantity,
      @ObjectModel.foreignKey.association: '_CompanyCodeCurrency'
      @Semantics.currencyCode:true
      JournalItem.CompanyCodeCurrency,
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      @Semantics.currencyCode:true
      JournalItem.TransactionCurrency,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} }
      JournalItem.AmountInCompanyCodeCurrency,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      JournalItem.AmountInTransactionCurrency,

      //why T? It only be T whenever there are not BSEG docs meaning that is not relevant for tax calculation.

      coalesce(AcctgDoc.AccountingDocumentItemType, 'T')                                                     as AccountingDocumentItemType,
      coalesce(AcctgDoc.VATRegistration, '')                                                                 as VATRegistration,
      CompanyCode.Country                                                                                    as CompanyCodeCountry,
      cast(case
        when AcctgDoc.VATRegistration is not initial
         and  AcctgDoc.VATRegistration is not null
          then substring ( AcctgDoc.VATRegistration, 1, 2 )
          else ''
      end as abap.char(3))                                                                                   as DelivOfGoodsDestCountry,

      JournalItem.TransactionTypeDetermination,
      GLAccount.AlternativeGLAccount,
      AcctgDoc.TaxRateValidityStartDate,
      JournalItem.LedgerFiscalYear,
      JournalItem.FiscalPeriod                                                                               as LedgerFiscalPeriod,

      JournalEntry._CompanyCode,
      JournalEntry._FiscalYear,
      JournalEntry._AccountingDocumentType,
      JournalEntry._FiscalPeriod,
      JournalEntry._AccountingDocumentCategory,
      JournalEntry._AccountingDocumentTypeText,
      JournalItem._Ledger,
      JournalItem._ChartOfAccounts,
      JournalItem._DebitCreditCode,
      JournalItem._CompanyCodeCurrency,
      JournalItem._TransactionCurrency,
      JournalItem._Supplier,
      JournalItem._Customer
}
where
  (
       JournalItem.AccountingDocumentCategory  =  ''
    or JournalItem.AccountingDocumentCategory  =  'J'
    or JournalItem.AccountingDocumentCategory  =  'U'
    or JournalItem.AccountingDocumentCategory  =  'L'
  )
  and  JournalEntry.GLBusinessTransactionGroup <> '1'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMPANYCODE",
"I_COUNTRY",
"I_GLACCOUNTINCOMPANYCODE",
"I_JOURNALENTRY",
"I_JOURNALENTRYITEM",
"I_LU_SAFTGENERICSETTINGS",
"I_OPERATIONALACCTGDOCITEM"
],
"ASSOCIATED":
[
"I_ACCOUNTINGDOCUMENTCATEGORY",
"I_ACCOUNTINGDOCUMENTTYPE",
"I_ACCOUNTINGDOCUMENTTYPETEXT",
"I_CHARTOFACCOUNTS",
"I_COMPANYCODE",
"I_CURRENCY",
"I_CUSTOMER",
"I_DEBITCREDITCODE",
"I_FISCALYEARFORCOMPANYCODE",
"I_FISCALYEARPERIODFORCMPNYCODE",
"I_LEDGER",
"I_SUPPLIER"
],
"BASE":
[
"I_JOURNALENTRY",
"I_JOURNALENTRYITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/