P_BOPRBLSPYBLSITEMFILTER

CDS View

BOP: Receivables/Payables Base Item Filter

P_BOPRBLSPYBLSITEMFILTER is a CDS View in S/4HANA. BOP: Receivables/Payables Base Item Filter. It contains 33 fields. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
P_BOPRblsPyblsItemToFormItemR view_entity inner COMPOSITE BOP: Receivables/Payables Item Result
P_BOPRblsPyblsMinItem view_entity from COMPOSITE BOP: Receivables/Payables Base Item Min Line Item

Fields (33)

KeyField CDS FieldsUsed in Views
KEY AccountingDocument AccountingDocument 2
KEY AccountingDocumentItem AccountingDocumentItem 1
KEY BOPForm BOPForm 2
KEY BOPRptgCntry BOPRptgCntry 2
KEY CompanyCode CompanyCode 2
KEY CompanyCodeCountry CompanyCodeCountry 2
KEY FiscalYear FiscalYear 2
AccountingDocumentType AccountingDocumentType 1
AmountInCompanyCodeCurrency AmountInCompanyCodeCurrency 1
AmountInTransactionCurrency AmountInTransactionCurrency 1
ChartOfAccounts ChartOfAccounts 1
ClearingDate ClearingDate 1
ClearingJournalEntry ClearingJournalEntry 1
ClearingJournalEntryFiscalYear ClearingJournalEntryFiscalYear 1
CompanyCodeCurrency CompanyCodeCurrency 1
Customer Customer 1
CustomerCountry CustomerCountry 1
CustomerIsOneTimeAccount CustomerIsOneTimeAccount 1
DebitCreditCode DebitCreditCode 1
FinancialAccountType FinancialAccountType 1
GLAccount GLAccount 1
IsEUTriangularDeal IsEUTriangularDeal 1
OffsettingAccount OffsettingAccount 1
OffsettingAccountType OffsettingAccountType 1
OneTimeAccountBPCountry OneTimeAccountBPCountry 1
PartnerCompany PartnerCompany 1
PostingDate PostingDate 1
SpecialGLCode SpecialGLCode 1
Supplier Supplier 1
SupplierCountry SupplierCountry 1
SupplierIsOneTimeAccount SupplierIsOneTimeAccount 1
TaxCode TaxCode 1
TransactionCurrency TransactionCurrency 1
@VDM.viewType: #COMPOSITE
@VDM.private: true
@AccessControl.authorizationCheck: #NOT_REQUIRED

define view entity P_BOPRblsPyblsItemFilter
  as select from            P_BOPRblsPyblsItemBase
    inner join              P_JrnlEntrItmToBOPFormItm11 on P_JrnlEntrItmToBOPFormItm11.CompanyCode = P_BOPRblsPyblsItemBase.CompanyCode
    left outer to many join I_BOPFormToCntry            on  I_BOPFormToCntry.BOPRptgCntry = P_JrnlEntrItmToBOPFormItm11.BOPRptgCntry
                                                        and I_BOPFormToCntry.BOPForm      = P_JrnlEntrItmToBOPFormItm11.BOPForm
                                                        and (
                                                           I_BOPFormToCntry.Country       = P_BOPRblsPyblsItemBase.CustomerCountry
                                                           or I_BOPFormToCntry.Country    = P_BOPRblsPyblsItemBase.SupplierCountry
                                                           or I_BOPFormToCntry.Country    = P_BOPRblsPyblsItemBase.OneTimeAccountBPCountry
                                                         )
{
  key P_BOPRblsPyblsItemBase.CompanyCode,
  key P_BOPRblsPyblsItemBase.AccountingDocument,
  key P_BOPRblsPyblsItemBase.FiscalYear,
  key P_BOPRblsPyblsItemBase.AccountingDocumentItem,
  key P_JrnlEntrItmToBOPFormItm11.BOPForm,
  key P_JrnlEntrItmToBOPFormItm11.BOPRptgCntry,
  key P_JrnlEntrItmToBOPFormItm11.CompanyCodeCountry,

      P_BOPRblsPyblsItemBase.PostingDate,
      P_BOPRblsPyblsItemBase.ClearingDate,

      P_BOPRblsPyblsItemBase.ChartOfAccounts,
      P_BOPRblsPyblsItemBase.GLAccount,
      P_BOPRblsPyblsItemBase.TaxCode,
      P_BOPRblsPyblsItemBase.AccountingDocumentType,
      P_BOPRblsPyblsItemBase.IsEUTriangularDeal,
      P_BOPRblsPyblsItemBase.SpecialGLCode,
      P_BOPRblsPyblsItemBase.DebitCreditCode,

      P_BOPRblsPyblsItemBase.TransactionCurrency,
      P_BOPRblsPyblsItemBase.AmountInTransactionCurrency,
      P_BOPRblsPyblsItemBase.CompanyCodeCurrency,
      P_BOPRblsPyblsItemBase.AmountInCompanyCodeCurrency,

      P_BOPRblsPyblsItemBase.ClearingJournalEntry,
      P_BOPRblsPyblsItemBase.ClearingJournalEntryFiscalYear,

      P_BOPRblsPyblsItemBase.FinancialAccountType,
      P_BOPRblsPyblsItemBase.OffsettingAccountType,
      P_BOPRblsPyblsItemBase.OffsettingAccount,
      P_BOPRblsPyblsItemBase.PartnerCompany,

      P_BOPRblsPyblsItemBase.Customer,
      P_BOPRblsPyblsItemBase.CustomerIsOneTimeAccount,
      P_BOPRblsPyblsItemBase.CustomerCountry,

      P_BOPRblsPyblsItemBase.Supplier,
      P_BOPRblsPyblsItemBase.SupplierIsOneTimeAccount,
      P_BOPRblsPyblsItemBase.SupplierCountry,

      P_BOPRblsPyblsItemBase.OneTimeAccountBPCountry
}
where
  // No match for mapping of e.g. oversea areas to country

               I_BOPFormToCntry.Country                        is null
  // No match for original country

  and(
    (
      (
               P_BOPRblsPyblsItemBase.CustomerIsOneTimeAccount =  'X'
        or     P_BOPRblsPyblsItemBase.SupplierIsOneTimeAccount =  'X'
      )
      and(
        (
               P_BOPRblsPyblsItemBase.OneTimeAccountBPCountry  <> P_JrnlEntrItmToBOPFormItm11.BOPRptgCntry
          or   P_BOPRblsPyblsItemBase.OneTimeAccountBPCountry  <> P_JrnlEntrItmToBOPFormItm11.CompanyCodeCountry
        )
        and    P_BOPRblsPyblsItemBase.OneTimeAccountBPCountry  <> ''
        and    P_BOPRblsPyblsItemBase.OneTimeAccountBPCountry  is not null
      )
    )
    or(
               P_BOPRblsPyblsItemBase.Customer                 is not initial
      and      P_BOPRblsPyblsItemBase.Customer                 is not null
      and      P_BOPRblsPyblsItemBase.CustomerIsOneTimeAccount <> 'X'
      and(
        (
               P_BOPRblsPyblsItemBase.CustomerCountry          <> P_JrnlEntrItmToBOPFormItm11.BOPRptgCntry
          or   P_BOPRblsPyblsItemBase.CustomerCountry          <> P_JrnlEntrItmToBOPFormItm11.CompanyCodeCountry
        )
        and    P_BOPRblsPyblsItemBase.CustomerCountry          <> ''
        and    P_BOPRblsPyblsItemBase.CustomerCountry          is not null
      )
    )
    or(
      (
               P_BOPRblsPyblsItemBase.Supplier                 is not initial
        and    P_BOPRblsPyblsItemBase.Supplier                 is not null
        and    P_BOPRblsPyblsItemBase.SupplierIsOneTimeAccount <> 'X'
        and(
          (
               P_BOPRblsPyblsItemBase.SupplierCountry          <> P_JrnlEntrItmToBOPFormItm11.BOPRptgCntry
            or P_BOPRblsPyblsItemBase.SupplierCountry          <> P_JrnlEntrItmToBOPFormItm11.CompanyCodeCountry
          )
          and  P_BOPRblsPyblsItemBase.SupplierCountry          <> ''
          and  P_BOPRblsPyblsItemBase.SupplierCountry          is not null
        )
      )
    )
  )