P_HU_MMINVOICECONSIGNMENTNEWR

DDL: P_HU_MMINVOICECONSIGNMENTNEWR Type: view_entity CONSUMPTION Package: GLO_FIN_IS_HU

HU Audit Report: MM invoices for Consignment Process

P_HU_MMINVOICECONSIGNMENTNEWR is a Consumption CDS View that provides data about "HU Audit Report: MM invoices for Consignment Process" in SAP S/4HANA. It reads from 5 data sources (I_JournalEntry, I_JournalEntryItem, I_JournalEntryItem, I_Ledger, I_ReceivablesPayablesItem) and exposes 31 fields. Part of development package GLO_FIN_IS_HU.

Data Sources (5)

SourceAliasJoin Type
I_JournalEntry JournalEntry inner
I_JournalEntryItem JournalItem from
I_JournalEntryItem JournalSupplierItem inner
I_Ledger Ledger inner
I_ReceivablesPayablesItem RPItem inner

Annotations (7)

NameValueLevelField
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #CONSUMPTION view
VDM.private true view
AccessControl.personalData.blocking #REQUIRED view

Fields (31)

KeyFieldSource TableSource FieldDescription
CompanyCode I_JournalEntryItem CompanyCode
AccountingDocument I_JournalEntryItem AccountingDocument
TaxItem
OriginalReferenceDocument I_JournalEntry DocumentReferenceID
CompanyCodeCurrency I_JournalEntryItem CompanyCodeCurrency
DocumentCurrency I_JournalEntryItem TransactionCurrency
CountryCurrency I_JournalEntryItem FunctionalCurrency
DocumentReferenceID I_JournalEntryItem ReferenceDocument
DocumentDate I_JournalEntryItem DocumentDate
PostingDate I_JournalEntryItem PostingDate
TaxFulfillmentDate I_JournalEntryItem PostingDate
InvoiceIssueDate I_JournalEntry AccountingDocumentCreationDate
ProductName MaterialText MaterialName
dec152endasQuantity
UnitOfMeasure I_ReceivablesPayablesItem BaseUnit
curr282endasBaseUnitNetAmount
dec82endasTaxrate
TaxCode I_JournalEntryItem TaxCode
ReferenceDocumentType
NetPriceAmount
TaxAmount
curr282asGrossAmount
HungarianCurrency
curr282endendasTaxAmountInHUFCrcy
AnalyticalNetPriceAmount
AnalyticalGrossAmount
AnlTaxAmountInDocumentCurrency
Supplier I_JournalEntryItem Supplier
BusinessPartnerUUID SupplierToBusinessPartner BusinessPartnerUUID
BusinessPartner BusinessPartner BusinessPartner
BusinessPartnerName BusinessPartner BusinessPartnerName
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MIXED
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #CONSUMPTION
@VDM.private:true
@AccessControl.personalData.blocking: #REQUIRED

define view entity P_HU_MMINVOICECONSIGNMENTNEWR
as select from I_JournalEntryItem as JournalItem
 
 inner join I_Ledger as Ledger on Ledger.Ledger = JournalItem.SourceLedger
                              and Ledger.IsLeadingLedger = 'X'
                              and Ledger.Ledger = JournalItem.Ledger 
                               
 inner join I_JournalEntry as JournalEntry on JournalEntry.CompanyCode = JournalItem.CompanyCode
                                          and JournalEntry.FiscalYear = JournalItem.FiscalYear
                                          and JournalEntry.AccountingDocument = JournalItem.AccountingDocument 
                                          and JournalEntry.TransactionCode = 'MRKO'
                                          and JournalEntry.DocumentDate = JournalItem.DocumentDate
                                           
 inner join I_ReceivablesPayablesItem as RPItem on RPItem.CompanyCode = JournalItem.CompanyCode
                                               and RPItem.AccountingDocument = JournalItem.AccountingDocument
                                               and RPItem.FiscalYear = JournalItem.FiscalYear                                           
                                               and RPItem.AccountingDocumentItem = JournalItem.AccountingDocumentItem
                                               and RPItem.DocumentDate = JournalItem.DocumentDate

 //we must find the supplier ID - entered only in line, where account type = K                                                

 inner join I_JournalEntryItem as JournalSupplierItem on JournalSupplierItem.SourceLedger = JournalItem.SourceLedger    
                                                      and JournalSupplierItem.CompanyCode = JournalItem.CompanyCode 
                                                      and JournalSupplierItem.FiscalYear = JournalItem.FiscalYear
                                                      and JournalSupplierItem.AccountingDocument = JournalItem.AccountingDocument
                                                      and JournalSupplierItem.Ledger = JournalItem.Ledger
                                                      and JournalSupplierItem.FinancialAccountType = 'K'   
                                                      and JournalSupplierItem.DocumentDate = JournalItem.DocumentDate
                                                      
 // we must check the tax amounts and distribute them propotionaly

 left outer to one join I_ReceivablesPayablesItem as RPTaxItem on RPTaxItem.CompanyCode = JournalItem.CompanyCode
                                                   and RPTaxItem.FiscalYear = JournalItem.FiscalYear
                                                   and RPTaxItem.AccountingDocument = JournalItem.AccountingDocument
                                                   and RPTaxItem.TaxCode  = JournalItem.TaxCode
                                                   and RPTaxItem.FinancialAccountType = JournalItem.FinancialAccountType
                                                   and RPTaxItem.DebitCreditCode = RPItem.DebitCreditCode
                                                   and RPTaxItem.TaxType is not initial
                                                   and RPTaxItem.TransactionTypeDetermination <> 'ESA'
                                                   and RPTaxItem.TransactionTypeDetermination <> 'ESE'
                                                   and RPTaxItem.DocumentDate = JournalItem.DocumentDate                                                      
                                                      
 left outer to one join I_Supplier_to_BusinessPartner as SupplierToBusinessPartner on JournalSupplierItem.Supplier = SupplierToBusinessPartner.Supplier
 left outer to one join I_BusinessPartner as BusinessPartner on SupplierToBusinessPartner.BusinessPartnerUUID = BusinessPartner.BusinessPartnerUUID


 left outer to one join I_MaterialText as MaterialText on MaterialText.Material = JournalItem.Material
                                               and MaterialText.Language = $session.system_language
                                                                                                                                                                                                                                                 
 
{
 JournalItem.CompanyCode,
 JournalItem.AccountingDocument, 
 cast(lpad(cast( JournalItem.AccountingDocumentItem as abap.char(6) ), 6, '0') as abap.numc(6)) as TaxItem,
 JournalEntry.DocumentReferenceID as OriginalReferenceDocument,


 JournalItem.CompanyCodeCurrency as CompanyCodeCurrency,
 JournalItem.TransactionCurrency as DocumentCurrency,
 JournalItem.FunctionalCurrency as CountryCurrency,
 
 JournalItem.ReferenceDocument as DocumentReferenceID,
 JournalItem.DocumentDate,
 JournalItem.PostingDate,
 JournalItem.PostingDate as TaxFulfillmentDate, 
 JournalEntry.AccountingDocumentCreationDate as InvoiceIssueDate,
 
 MaterialText.MaterialName as ProductName,
 case  when RPItem.Quantity = 0 or RPItem.Quantity is null
  then cast( '1' as abap.dec( 15,2 ))
  else  cast( RPItem.Quantity as abap.dec(15,2) )
 end as Quantity,     
 RPItem.BaseUnit as UnitOfMeasure,
 
 @Semantics.amount.currencyCode: 'DocumentCurrency'
 case when RPItem.Quantity = 0 or RPItem.Quantity is null
       then cast( get_numeric_value(JournalItem.AmountInTransactionCurrency) as abap.curr(28,2)) 
       else cast( get_numeric_value(JournalItem.AmountInTransactionCurrency ) / RPItem.Quantity as abap.curr(28,2)) 
  end as BaseUnitNetAmount,

  case when RPTaxItem.TaxBaseAmountInTransCrcy = 0 or RPTaxItem.TaxBaseAmountInTransCrcy is null
      then cast(get_numeric_value(RPTaxItem.AmountInTransactionCurrency) as abap.dec(8,2) ) 
      else cast(round(get_numeric_value(RPTaxItem.AmountInTransactionCurrency) / get_numeric_value(RPTaxItem.TaxBaseAmountInTransCrcy) * 100, 0) as abap.dec(8,2) )
  end as Taxrate,
  
   JournalItem.TaxCode,

  cast(case RPItem.FinancialAccountType  
   when 'K' then
     case RPItem.DebitCreditCode 
      when  'S' then '3'
                else '1'
      end          
   else '1'
   end as char1) as CustomerInvoiceType,
  
  cast('RMRP' as fis_awtyp) as ReferenceDocumentType,
  
  
  @Semantics.amount.currencyCode: 'DocumentCurrency'
  cast(abs(get_numeric_value(JournalItem.AmountInTransactionCurrency)) as abap.curr(28,2)) as NetPriceAmount,
  @Semantics.amount.currencyCode: 'DocumentCurrency'
  cast(abs(get_numeric_value(RPTaxItem.AmountInTransactionCurrency) * (get_numeric_value(JournalItem.AmountInTransactionCurrency) / get_numeric_value(RPTaxItem.TaxBaseAmountInTransCrcy))) as abap.curr(28,2)) as TaxAmount, 
  @Semantics.amount.currencyCode: 'DocumentCurrency'
  cast(abs(get_numeric_value(JournalItem.AmountInTransactionCurrency)) + 
  abs(get_numeric_value(RPTaxItem.AmountInTransactionCurrency) * (get_numeric_value(JournalItem.AmountInTransactionCurrency) / get_numeric_value(RPTaxItem.TaxBaseAmountInTransCrcy))) as abap.curr(28,2)) as GrossAmount,
  cast ('HUF' as abap.cuky) as HungarianCurrency, 
  @Semantics.amount.currencyCode: 'HungarianCurrency' 
  case RPTaxItem.CompanyCodeCurrency 
     when 'HUF' then cast((get_numeric_value(RPTaxItem.AmountInCompanyCodeCurrency) * (get_numeric_value(JournalItem.AmountInCompanyCodeCurrency) / get_numeric_value(RPTaxItem.TaxBaseAmountInCoCodeCrcy))) as abap.curr(28,2))
     else case RPTaxItem.TransactionCurrency                  
          when 'HUF' then cast((get_numeric_value(RPTaxItem.AmountInTransactionCurrency) * (get_numeric_value(JournalItem.AmountInTransactionCurrency) / get_numeric_value(RPTaxItem.TaxBaseAmountInTransCrcy))) as abap.curr(28,2))
          else cast((get_numeric_value(RPTaxItem.AmountInFunctionalCurrency) * (get_numeric_value(JournalItem.AmountInTransactionCurrency) / get_numeric_value(RPTaxItem.TaxBaseAmountInTransCrcy))) as abap.curr(28,2))
          end 
  end as TaxAmountInHUFCrcy,
  
  //raw values for analytical view

  @Semantics.amount.currencyCode: 'DocumentCurrency'
  cast(JournalItem.AmountInTransactionCurrency as abap.curr(28,2)) as AnalyticalNetPriceAmount,
   
  @Semantics.amount.currencyCode: 'DocumentCurrency'
  cast(JournalItem.AmountInTransactionCurrency as abap.curr(28,2)) + cast(cast(RPTaxItem.AmountInTransactionCurrency as abap.dec(28,2)) * (cast(JournalItem.AmountInTransactionCurrency  as abap.dec(28,2)) / cast(RPTaxItem.TaxBaseAmountInTransCrcy as abap.dec(28,2))) as abap.curr(28,2)) as AnalyticalGrossAmount,

  @Semantics.amount.currencyCode: 'HungarianCurrency'
  case RPTaxItem.CompanyCodeCurrency
    when 'HUF' then cast((cast(RPTaxItem.AmountInCompanyCodeCurrency as abap.dec(28,2))* (cast(JournalItem.AmountInCompanyCodeCurrency as abap.dec(28,2)) / cast(RPTaxItem.TaxBaseAmountInCoCodeCrcy as abap.dec(28,2)))) as abap.curr(28,2))
     else case RPTaxItem.TransactionCurrency                  
          when 'HUF' then cast((cast(RPTaxItem.AmountInTransactionCurrency as abap.dec(28,2)) * (cast(JournalItem.AmountInTransactionCurrency  as abap.dec(28,2)) / cast(RPTaxItem.TaxBaseAmountInTransCrcy as abap.dec(28,2)))) as abap.curr(28,2))
          else cast((cast(RPTaxItem.AmountInFunctionalCurrency as abap.dec(28,2)) * (cast(JournalItem.AmountInTransactionCurrency as abap.dec(28,2)) / cast(RPTaxItem.TaxBaseAmountInTransCrcy as abap.dec(28,2)))) as abap.curr(28,2))
          end       
   end as AnalyticalTaxAmountInHUFCrcy,     
  
  @Semantics.amount.currencyCode: 'DocumentCurrency'
  abs(cast(RPTaxItem.AmountInTransactionCurrency as abap.dec(28,2))) * abs((cast(JournalItem.AmountInTransactionCurrency as abap.dec(28,2)) /  cast(RPTaxItem.TaxBaseAmountInTransCrcy as abap.dec(28,2)))) as AnlTaxAmountInDocumentCurrency,
 
 JournalSupplierItem.Supplier,
 SupplierToBusinessPartner.BusinessPartnerUUID as BusinessPartnerUUID,
 BusinessPartner.BusinessPartner as BusinessPartner,
 BusinessPartner.BusinessPartnerName as BusinessPartnerName
 
} where JournalItem.Material is not initial