P_RU_BPBalance1

DDL: P_RU_BPBALANCE1 SQL: PRUBPBAL1 Type: view CONSUMPTION

P_RU_BPBalance1 is a Consumption CDS View in SAP S/4HANA. It reads from 2 data sources (I_Ledger, P_RU_BPBalance0) and exposes 29 fields with key fields Ledger, CompanyCode, FiscalYear, AccountingDocument. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_Ledger I_Ledger inner
P_RU_BPBalance0 P_RU_BPBalance0 from

Parameters (4)

NameTypeDefault
P_FromPostingDate fis_budat_from
P_ToPostingDate fis_budat_to
P_IsReversal flag
P_ReportingEntity srf_reporting_entity

Associations (2)

CardinalityTargetAliasCondition
[0..*] I_BusinessPartnerCustomer _BusinessPartnerCustomer $projection.Customer = _BusinessPartnerCustomer.Customer
[0..*] I_BusinessPartnerSupplier _BusinessPartnerSupplier $projection.Supplier = _BusinessPartnerSupplier.Supplier

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PRUBPBAL1 view
VDM.viewType #CONSUMPTION view
VDM.private true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.buffering.status #NOT_ALLOWED view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY Ledger
KEY CompanyCode
KEY FiscalYear
KEY AccountingDocument P_RU_BPBalance0 AccountingDocument
AssignmentReference P_RU_BPBalance0 AssignmentReference
Supplier P_RU_BPBalance0 Supplier
Customer P_RU_BPBalance0 Customer
FinancialAccountType P_RU_BPBalance0 FinancialAccountType
AccountingDocumentType P_RU_BPBalance0 AccountingDocumentType
PostingDate P_RU_BPBalance0 PostingDate
DocumentDate P_RU_BPBalance0 DocumentDate
IsReversal P_RU_BPBalance0 IsReversal
IsReversed P_RU_BPBalance0 IsReversed
TransactionCurrency P_RU_BPBalance0 TransactionCurrency
CompanyCodeCurrency P_RU_BPBalance0 CompanyCodeCurrency
SupplierFinsAuthorizationGrp P_RU_BPBalance0 SupplierFinsAuthorizationGrp
CustomerFinsAuthorizationGrp P_RU_BPBalance0 CustomerFinsAuthorizationGrp
AmountInTransactionCurrency
AmountInCompanyCodeCurrency
DebitAmountInCoCodeCrcy
CreditAmountInCoCodeCrcy
DebitAmountInTransCrcy
CreditAmountInTransCrcy
EndingBalanceAmtInCoCodeCrcy
EndingBalanceAmtInTransCrcy
StartingBalanceAmtInCoCodeCrcy
StartingBalanceAmtInTransCrcy
_BusinessPartnerCustomer _BusinessPartnerCustomer
_BusinessPartnerSupplier _BusinessPartnerSupplier
@AbapCatalog.sqlViewName: 'PRUBPBAL1'
@VDM.viewType: #CONSUMPTION
@VDM.private:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass:  #MIXED

define view P_RU_BPBalance1
  with parameters
    P_FromPostingDate : fis_budat_from,
    P_ToPostingDate   : fis_budat_to,
    P_IsReversal      : flag,
    P_ReportingEntity : srf_reporting_entity

  as select from           P_RU_BPBalance0 ( P_FromPostingDate: $parameters.P_FromPostingDate, P_ToPostingDate: $parameters.P_ToPostingDate , P_IsReversal: $parameters.P_IsReversal, P_ReportingEntity : $parameters.P_ReportingEntity )

    inner join             I_Ledger                                                                                                                 on  P_RU_BPBalance0.Ledger       = I_Ledger.Ledger
                                                                                                                                                    and P_RU_BPBalance0.SourceLedger = I_Ledger.Ledger
                                                                                                                                                    and I_Ledger.IsLeadingLedger     = 'X'

                                                                                                                                               
                                                                                                                                                
    left outer to one join P_RU_JrnlEntrRvsd
                             ( P_FromPostingDate: $parameters.P_FromPostingDate, P_ToPostingDate: $parameters.P_ToPostingDate )                     on  P_RU_BPBalance0.Ledger                              = P_RU_JrnlEntrRvsd.Ledger
                                                                                                                                                    and P_RU_BPBalance0.CompanyCode                         = P_RU_JrnlEntrRvsd.CompanyCode
                                                                                                                                                    and P_RU_BPBalance0.SourceLedger                        = P_RU_JrnlEntrRvsd.SourceLedger
                                                                                                                                                    and  P_RU_BPBalance0.PostingDate             >= $parameters.P_FromPostingDate
                                                                                                                                                    and  P_RU_BPBalance0.PostingDate             <= $parameters.P_ToPostingDate    
                                                                                                                                                    and 
                                                                                                                                                       
                                                                                                                                                     P_RU_BPBalance0.AccountingDocument                 = P_RU_JrnlEntrRvsd.ReversalReferenceDocument
                                                                                                                                                      and P_RU_BPBalance0.ReferenceDocumentContext       = P_RU_JrnlEntrRvsd.ReversalReferenceDocumentCntxt
                                                                                                                                                      
                                                                                                                                                      
    left outer to one join P_RU_JrnlEntrRvsd 
                ( P_FromPostingDate: $parameters.P_FromPostingDate, P_ToPostingDate: $parameters.P_ToPostingDate )  as   P_RU_JrnlEntrRvsd2         on  P_RU_BPBalance0.Ledger                              = P_RU_JrnlEntrRvsd2.Ledger
                                                                                                                                                    and P_RU_BPBalance0.CompanyCode                         = P_RU_JrnlEntrRvsd2.CompanyCode
                                                                                                                                                    and P_RU_BPBalance0.SourceLedger                        = P_RU_JrnlEntrRvsd2.SourceLedger
                                                                                                                                                    and  P_RU_BPBalance0.PostingDate             >= $parameters.P_FromPostingDate
                                                                                                                                                    and  P_RU_BPBalance0.PostingDate             <= $parameters.P_ToPostingDate    
                                                                                                                                                    and 
                                                                                                                                                     P_RU_BPBalance0.AccountingDocument                 = P_RU_JrnlEntrRvsd2.ReverseDocument
                                                                                                                                                     and P_RU_BPBalance0.FiscalYear                     = P_RU_JrnlEntrRvsd2.ReverseDocumentFiscalYear

    left outer to one join P_RU_JrnlEntrRvsd
                ( P_FromPostingDate: $parameters.P_FromPostingDate, P_ToPostingDate: $parameters.P_ToPostingDate ) as   P_RU_JrnlEntrRvsd3         on  P_RU_BPBalance0.Ledger                              = P_RU_JrnlEntrRvsd3.Ledger
                                                                                                                                                    and P_RU_BPBalance0.CompanyCode                         = P_RU_JrnlEntrRvsd3.CompanyCode
                                                                                                                                                    and P_RU_BPBalance0.SourceLedger                        = P_RU_JrnlEntrRvsd3.SourceLedger
                                                                                                                                                    and  P_RU_BPBalance0.PostingDate             >= $parameters.P_FromPostingDate
                                                                                                                                                    and  P_RU_BPBalance0.PostingDate             <= $parameters.P_ToPostingDate    
                                                                                                                                                    and 
                                                                                                                                                     P_RU_BPBalance0.ReversalReferenceDocument          = P_RU_JrnlEntrRvsd3.OriginalReferenceDocumentNum
                                                                                                                                                      and P_RU_BPBalance0.ReversalReferenceDocumentCntxt = P_RU_JrnlEntrRvsd3.OriginalReferenceDocumentYear                                                                                                                                                   
                                                                                                                                            
                                                                                                                                                    
                                                                                                                                                     
                                                                                                                                                                                                                                                                                        




    left outer to one join P_RU_JrnlEntrRvsdNeg  ( P_FromPostingDate: $parameters.P_FromPostingDate, P_ToPostingDate: $parameters.P_ToPostingDate ) on  P_RU_BPBalance0.CompanyCode        = P_RU_JrnlEntrRvsdNeg.CompanyCode
                                                                                                                                                    and P_RU_BPBalance0.AccountingDocument = P_RU_JrnlEntrRvsdNeg.DocRefNum
                                                                                                                                                    and P_RU_BPBalance0.FiscalYear         = P_RU_JrnlEntrRvsdNeg.DocRefYear

    left outer to one join I_JournalEntry                                                                                                           on  I_JournalEntry.CompanyCode        = P_RU_BPBalance0.CompanyCode
                                                                                                                                                    and I_JournalEntry.AccountingDocument = P_RU_BPBalance0.DocRefNum
                                                                                                                                                    and I_JournalEntry.FiscalYear         = P_RU_BPBalance0.DocRefYear
                                                                                                                                                    and I_JournalEntry.PostingDate        >= $parameters.P_FromPostingDate
                                                                                                                                                    and I_JournalEntry.PostingDate        <= $parameters.P_ToPostingDate


  association [0..*] to I_BusinessPartnerCustomer as _BusinessPartnerCustomer on $projection.Customer = _BusinessPartnerCustomer.Customer
  association [0..*] to I_BusinessPartnerSupplier as _BusinessPartnerSupplier on $projection.Supplier = _BusinessPartnerSupplier.Supplier
{
  key cast( P_RU_BPBalance0.Ledger as fis_rldnr )           as Ledger,
  key cast( P_RU_BPBalance0.CompanyCode as fis_bukrs )      as CompanyCode,
  key cast( P_RU_BPBalance0.FiscalYear as fis_gjahr)        as FiscalYear,
  key P_RU_BPBalance0.AccountingDocument,

      P_RU_BPBalance0.AssignmentReference,

      P_RU_BPBalance0.Supplier,
      P_RU_BPBalance0.Customer,

      P_RU_BPBalance0.FinancialAccountType,

      P_RU_BPBalance0.AccountingDocumentType,
      P_RU_BPBalance0.PostingDate,
      P_RU_BPBalance0.DocumentDate,
      P_RU_BPBalance0.IsReversal,
      P_RU_BPBalance0.IsReversed,

      P_RU_BPBalance0.TransactionCurrency,
      P_RU_BPBalance0.CompanyCodeCurrency,
      P_RU_BPBalance0.SupplierFinsAuthorizationGrp,
      P_RU_BPBalance0.CustomerFinsAuthorizationGrp,
     // P_RU_BPBalance0.ClearingAccountingDocument,

      //P_RU_BPBalance0.DebitCreditCode,


      sum( P_RU_BPBalance0.AmountInTransactionCurrency )    as AmountInTransactionCurrency,
      sum( P_RU_BPBalance0.AmountInCompanyCodeCurrency )    as AmountInCompanyCodeCurrency,
      sum( P_RU_BPBalance0.DebitAmountInCoCodeCrcy )        as DebitAmountInCoCodeCrcy,
      sum( P_RU_BPBalance0.CreditAmountInCoCodeCrcy )       as CreditAmountInCoCodeCrcy,
      sum( P_RU_BPBalance0.DebitAmountInTransCrcy )         as DebitAmountInTransCrcy,
      sum( P_RU_BPBalance0.CreditAmountInTransCrcy )        as CreditAmountInTransCrcy,
      sum( P_RU_BPBalance0.EndingBalanceAmtInCoCodeCrcy )   as EndingBalanceAmtInCoCodeCrcy,
      sum( P_RU_BPBalance0.EndingBalanceAmtInTransCrcy )    as EndingBalanceAmtInTransCrcy,
      sum( P_RU_BPBalance0.StartingBalanceAmtInCoCodeCrcy ) as StartingBalanceAmtInCoCodeCrcy,
      sum( P_RU_BPBalance0.StartingBalanceAmtInTransCrcy )  as StartingBalanceAmtInTransCrcy,

      _BusinessPartnerCustomer,
      _BusinessPartnerSupplier
}
where
  (
          P_RU_BPBalance0.FinancialAccountType        =  'D'
    or    P_RU_BPBalance0.FinancialAccountType        =  'K'
  )
  and     P_RU_BPBalance0.AccountingDocumentCategory  <> 'D'
  and     P_RU_BPBalance0.AccountingDocumentCategory  <> 'M'
  and     P_RU_BPBalance0.AccountingDocumentCategory  <> 'S'
  and(
          P_RU_BPBalance0.ClearingDate                >= $parameters.P_FromPostingDate
    or    P_RU_BPBalance0.ClearingDate                is null
    or    P_RU_BPBalance0.ClearingDate                =  '00000000'
  )
//  and P_RU_BPBalance0.AccountingDocument              <> P_RU_BPBalance0.ClearingAccountingDocument


  and(
          SelectReversal                              =  'X'
    or(
          SelectReversal                              =  ''
      and ( P_RU_JrnlEntrRvsd.ReversalReferenceDocument is null 
         and P_RU_JrnlEntrRvsd2.ReversalReferenceDocument is null 
         and P_RU_JrnlEntrRvsd3.ReversalReferenceDocument is null 
         and P_RU_JrnlEntrRvsdNeg.CompanyCode            is null
         and I_JournalEntry.CompanyCode                  is null
         
         )

    )
  )


group by
  P_RU_BPBalance0.Ledger,
  P_RU_BPBalance0.CompanyCode,
  P_RU_BPBalance0.FiscalYear,
  P_RU_BPBalance0.AccountingDocument,
  P_RU_BPBalance0.AssignmentReference,
  P_RU_BPBalance0.Supplier,
  P_RU_BPBalance0.Customer,
  FinancialAccountType,
  P_RU_BPBalance0.AccountingDocumentType,
  P_RU_BPBalance0.PostingDate,
  P_RU_BPBalance0.DocumentDate,
  P_RU_BPBalance0.IsReversal,
  P_RU_BPBalance0.IsReversed,
  //DebitCreditCode,

  P_RU_BPBalance0.TransactionCurrency,
  P_RU_BPBalance0.CompanyCodeCurrency,
  P_RU_BPBalance0.SupplierFinsAuthorizationGrp,
  P_RU_BPBalance0.CustomerFinsAuthorizationGrp
 // P_RU_BPBalance0.ClearingAccountingDocument

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_JOURNALENTRY",
"I_LEDGER",
"P_RU_BPBALANCE0",
"P_RU_JRNLENTRRVSD",
"P_RU_JRNLENTRRVSDNEG"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNERCUSTOMER",
"I_BUSINESSPARTNERSUPPLIER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/