@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'CSUPLINVPOREF'
@EndUserText.label: 'Supplier Invoice'
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
define view C_SuplInvPurOrdRef
as select distinct from I_SupplierInvoiceEnh
inner join I_SupplierInvoiceItemPurOrdRef as _SupplierInvoiceItemPurOrdRef on I_SupplierInvoiceEnh.SupplierInvoice = _SupplierInvoiceItemPurOrdRef.SupplierInvoice
and I_SupplierInvoiceEnh.FiscalYear = _SupplierInvoiceItemPurOrdRef.FiscalYear
// association [0..*] to I_SupplierInvoiceStatusText as _SupplierInvoiceStatusText
// on $projection.SupplierInvoiceStatus = _SupplierInvoiceStatusText.SupplierInvoiceStatus
association [0..1] to I_SupplierInvoiceStatusText as _SupplierInvoiceStatusText on $projection.SupplierInvoiceStatus = _SupplierInvoiceStatusText.SupplierInvoiceStatus
and _SupplierInvoiceStatusText.Language = $session.system_language
{
@UI.lineItem: [{
qualifier: 'SuplInvPurOrderRefT',
position: 10,
label: 'Invoice', label_AsOtr: 'FA163EC90EE61ED588913EFB632A0C5E',
importance: #HIGH }, {
position: 10,
label: 'Invoice', label_AsOtr: 'FA163EC90EE61ED588913EFB632A0C5E',
importance: #HIGH }]
@Consumption.semanticObject: 'SupplierInvoice'
key _SupplierInvoiceItemPurOrdRef.SupplierInvoice,
key _SupplierInvoiceItemPurOrdRef.FiscalYear,
_SupplierInvoiceItemPurOrdRef.PurchaseOrder,
cast( concat(_SupplierInvoiceItemPurOrdRef.SupplierInvoice, concat('/', _SupplierInvoiceItemPurOrdRef.FiscalYear) ) as mmiv_belnr_gjahr ) as SupplierInvoiceWthnFiscalYear,
I_SupplierInvoiceEnh.CompanyCode,
I_SupplierInvoiceEnh.DocumentHeaderText,
@ObjectModel.foreignKey.association: '_Currency'
@Semantics.currencyCode: true
I_SupplierInvoiceEnh.DocumentCurrency,
@Semantics.amount.currencyCode: 'DocumentCurrency'
@DefaultAggregation: #NONE
@UI.lineItem: [{
qualifier: 'SuplInvPurOrderRefT',
position: 60,
importance: #HIGH }, {
position: 60,
importance: #HIGH }]
case
when I_SupplierInvoiceEnh.IsInvoice = 'X'
then I_SupplierInvoiceEnh.InvoiceGrossAmount
else cast(-I_SupplierInvoiceEnh.InvoiceGrossAmount as rmwwr )
end as InvoiceGrossAmount,
//I_SupplierInvoiceEnh.InvoiceGrossAmount,
@UI.lineItem: [{
qualifier: 'SuplInvPurOrderRefT',
position: 20,
importance: #HIGH }, {
position: 20,
importance: #HIGH }]
I_SupplierInvoiceEnh.SupplierInvoiceIDByInvcgParty, //Referenz Invoice ID
@UI.lineItem: [{
qualifier: 'SuplInvPurOrderRefT',
position: 30,
importance: #HIGH }, {
position: 30,
importance: #HIGH }]
DocumentDate,
@UI.lineItem: [{
qualifier: 'SuplInvPurOrderRefT',
position: 40,
importance: #HIGH }, {
position: 40,
importance: #HIGH }]
PostingDate,
// Tax_Amount ?????
//sum(I_SupplierInvoiceEnh._SupplierInvoiceTax[ SupplierInvoice = SupplierInvoice and FiscalYear = FiscalYear ] ) as TaxAmount,
@Semantics.businessDate.at
I_SupplierInvoiceEnh.DueCalculationBaseDate,
I_SupplierInvoiceEnh.InvoicingParty,
I_SupplierInvoiceEnh.SupplierInvoiceStatus,
@UI.lineItem: [{
qualifier: 'SuplInvPurOrderRefT',
position: 50,
label: 'Status', label_AsOtr: '005056B2532A1EE585B97A4F343C0274',
importance: #HIGH } , {
position: 50,
label: 'Status', label_AsOtr: '005056B2532A1EE585B97A4F343C0274',
importance: #HIGH }]
_SupplierInvoiceStatusText.SupplierInvoiceStatusDesc,
//associations
_SupplierInvoiceStatusText,
I_SupplierInvoiceEnh._Currency
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SUPPLIERINVOICEENH",
"I_SUPPLIERINVOICEITEMPURORDREF",
"I_SUPPLIERINVOICESTATUSTEXT"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_SUPPLIERINVOICESTATUSTEXT"
],
"BASE":
[
"I_SUPPLIERINVOICEENH"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/