@EndUserText.label: 'ExciseItem List from Billing Document'
@ObjectModel.representativeKey: 'BillingDocumentItem'
@AbapCatalog.sqlViewName: 'CSDEXDUEDOCI'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality:#D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
define view C_ExciseDueDocItem
with parameters
P_BillingDocument : vbeln
as select from I_ExciseDueDocItemBase(P_BillingDocument : $parameters.P_BillingDocument)
left outer join P_ExciseItemDutyDefnMerge( P_BillingDocument : $parameters.P_BillingDocument) on I_ExciseDueDocItemBase.BillingDocument = P_ExciseItemDutyDefnMerge.BillingDocument
and I_ExciseDueDocItemBase.BillingDocumentItem = P_ExciseItemDutyDefnMerge.BillingDocumentItem
left outer join P_ExciseItemExBaseAmt( P_BillingDocument:$parameters.P_BillingDocument) on(
I_ExciseDueDocItemBase.BillingDocument = P_ExciseItemExBaseAmt.BillingDocument
and I_ExciseDueDocItemBase.BillingDocumentItem = P_ExciseItemExBaseAmt.BillingDocumentItem
and P_ExciseItemExBaseAmt.ExciseDutyBaseAmount > 0
)
left outer join I_MaterialChId on I_ExciseDueDocItemBase.Material = I_MaterialChId.Material
and I_ExciseDueDocItemBase.Plant = I_MaterialChId.Plant
association [1..1] to C_ExciseDueDocument as _ExciseDueDocHdr on $projection.BillingDocument = _ExciseDueDocHdr.BillingDocument
{
@ObjectModel.foreignKey.association: '_ExciseDueDocHdr'
key I_ExciseDueDocItemBase.BillingDocument,
key I_ExciseDueDocItemBase.BillingDocumentItem,
I_ExciseDueDocItemBase.SalesOrganization,
I_ExciseDueDocItemBase.DistributionChannel,
I_ExciseDueDocItemBase.Division,
I_ExciseDueDocItemBase.BillingDocumentCategory,
I_ExciseDueDocItemBase.SoldToParty,
I_ExciseDueDocItemBase.BillingDocumentDate,
I_ExciseDueDocItemBase.BillingDocumentType,
I_ExciseDueDocItemBase.PricingDocument,
@Semantics.currencyCode: true
I_ExciseDueDocItemBase.TransactionCurrency,
@Semantics.currencyCode: true
I_ExciseDueDocItemBase.Currency,
I_ExciseDueDocItemBase.ExciseDocStatus,
I_ExciseDueDocItemBase.ShippingPoint,
I_ExciseDueDocItemBase.Material,
I_ExciseDueDocItemBase.MaterialName,
I_ExciseDueDocItemBase.BaseUnit,
@Semantics.quantity.unitOfMeasure: 'BillingQuantityUnit'
I_ExciseDueDocItemBase.BillingQuantity,
@Semantics.unitOfMeasure: true
I_ExciseDueDocItemBase.BillingQuantityUnit,
I_MaterialChId.ExciseChapterID,
//I_ExciseDueDocItemBase.SalesDocument,
I_ExciseDueDocItemBase.StorageLocation,
I_ExciseDueDocItemBase.Batch,
I_ExciseDueDocItemBase.ProfitCenter,
I_ExciseDueDocItemBase.ProfitabilitySegment,
I_ExciseDueDocItemBase.BusinessArea,
I_ExciseDueDocItemBase.CostCenter,
I_ExciseDueDocItemBase.Plant,
I_ExciseDueDocItemBase.PlantName,
//I_ExciseDueDocItemBase.SalesDocumentItemCategory,
I_ExciseDueDocItemBase.TaxCalculationProcedure,
I_ExciseDueDocItemBase.CompanyCode,
I_ExciseDueDocItemBase.SDPricingProcedure,
I_ExciseDueDocItemBase.ReferenceSDDocument,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemExBaseAmt.ExciseDutyBaseAmount,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemExBaseAmt.ExciseDutyBaseAmount
end as ExciseDutyBaseAmount,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.AEDAmount,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.AEDAmount
end as AEDAmount,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.BEDAmount,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.BEDAmount
end as BEDAmount,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.SEDAmount,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.SEDAmount
end as SEDAmount,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.NCCDAmount,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.NCCDAmount
end as NCCDAmount,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.CESSAmount,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.CESSAmount
end as CESSAmount,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.ECSAmount,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.ECSAmount
end as ECSAmount,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.AdditionalTax1Value,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.AdditionalTax1Value
end as AdditionalTax1Value,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.AdditionalTax2Value,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.AdditionalTax2Value
end as AdditionalTax2Value,
@Semantics.amount.currencyCode: 'Currency'
case
when TransactionCurrency != Currency then
currency_conversion( amount => P_ExciseItemDutyDefnMerge.AdditionalTax3Value,
source_currency => TransactionCurrency,
target_currency => Currency,
exchange_rate_date => I_ExciseDueDocItemBase.PricingDate )
else
P_ExciseItemDutyDefnMerge.AdditionalTax3Value
end as AdditionalTax3Value,
P_ExciseItemDutyDefnMerge.AEDRate,
P_ExciseItemDutyDefnMerge.BEDRate,
P_ExciseItemDutyDefnMerge.SEDRate,
P_ExciseItemDutyDefnMerge.NCCDRate,
P_ExciseItemDutyDefnMerge.CESSRate,
P_ExciseItemDutyDefnMerge.ECSRate,
P_ExciseItemDutyDefnMerge.AdditionalTax1Rate,
P_ExciseItemDutyDefnMerge.AdditionalTax2Rate,
P_ExciseItemDutyDefnMerge.AdditionalTax3Rate,
/* Associations */
_ExciseDueDocHdr,
I_ExciseDueDocItemBase._BillingDocumentCategory,
I_ExciseDueDocItemBase._ExciseSeriesGrpDtmn,
//I_ExciseDueDocItemBase._Item,
I_ExciseDueDocItemBase._Partner
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EXCISEDUEDOCITEMBASE",
"I_MATERIALCHID",
"P_EXCISEITEMDUTYDEFNMERGE",
"P_EXCISEITEMEXBASEAMT"
],
"ASSOCIATED":
[
"C_EXCISEDUEDOCUMENT",
"I_BILLINGDOCUMENTCATEGORY",
"I_EXCISESERIESGRPDETRMN",
"I_SDDOCUMENTCOMPLETEPARTNERS"
],
"BASE":
[
"I_EXCISEDUEDOCITEMBASE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/