@AbapCatalog.sqlViewName: 'PSDEXIDTYCDFN'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #CONSUMPTION
@VDM.private:true
@EndUserText.label: 'ExciseItem Duty Calculation with TaxDefn'
define view P_ExciseItemDutyCalcDefn
with parameters
P_BillingDocument :vbeln
as select from I_ExciseDueDocItemBase (P_BillingDocument : $parameters.P_BillingDocument)
inner join I_PricingElement on I_PricingElement.PricingDocument = I_ExciseDueDocItemBase.PricingDocument
and I_PricingElement.PricingDocumentItem = I_ExciseDueDocItemBase.BillingDocumentItem
inner join I_TaxDefCondType on(
I_PricingElement.ConditionType = I_TaxDefCondType.ConditionType
and I_ExciseDueDocItemBase.SDPricingProcedure = I_TaxDefCondType.PricingProcedure
)
{
I_ExciseDueDocItemBase.BillingDocument,
I_PricingElement.PricingDocumentItem as BillingDocumentItem,
I_ExciseDueDocItemBase.Material,
I_ExciseDueDocItemBase.SDPricingProcedure,
I_PricingElement.PricingDocument,
I_PricingElement.ConditionType,
I_TaxDefCondType.IndianTaxConditionName,
I_PricingElement.ConditionAmount,
case I_TaxDefCondType.IndianTaxConditionName
when 'AEDARTOT' then
ConditionAmount
end as AEDAmount,
case I_TaxDefCondType.IndianTaxConditionName
when 'BEDARTOT' then
ConditionAmount
end as BEDAmount,
case I_TaxDefCondType.IndianTaxConditionName
when 'SEDARTOT' then
ConditionAmount
end as SEDAmount,
case I_TaxDefCondType.IndianTaxConditionName
when 'NCCDARTOT' then
ConditionAmount
end as NCCDAmount,
case I_TaxDefCondType.IndianTaxConditionName
when 'CESARTOT' then
ConditionAmount
end as CESSAmount,
case I_TaxDefCondType.IndianTaxConditionName
when 'ECSARTOT' then
ConditionAmount
end as ECSAmount,
case I_TaxDefCondType.IndianTaxConditionName
when 'AT1ARTOT' then
ConditionAmount
end as AdditionalTax1Value,
case I_TaxDefCondType.IndianTaxConditionName
when 'AT2ARTOT' then
ConditionAmount
end as AdditionalTax2Value,
case I_TaxDefCondType.IndianTaxConditionName
when 'AT3ARTOT' then
ConditionAmount
end as AdditionalTax3Value,
case I_TaxDefCondType.IndianTaxConditionName
when 'AEDARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as AEDRate,
case I_TaxDefCondType.IndianTaxConditionName
when 'BEDARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as BEDRate,
case I_TaxDefCondType.IndianTaxConditionName
when 'SEDARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as SEDRate,
case I_TaxDefCondType.IndianTaxConditionName
when 'CESARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as CESSRate,
case I_TaxDefCondType.IndianTaxConditionName
when 'NCDARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as NCCDRate,
case I_TaxDefCondType.IndianTaxConditionName
when 'ECSARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as ECSRate,
case I_TaxDefCondType.IndianTaxConditionName
when 'AT1ARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as AdditionalTax1Rate,
case I_TaxDefCondType.IndianTaxConditionName
when 'AT2ARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as AdditionalTax2Rate,
case I_TaxDefCondType.IndianTaxConditionName
when 'AT3ARPERC' then
case I_PricingElement.ConditionRateValue
when 1000 then
0
else
division(I_PricingElement.ConditionRateValue, 10, 2)
end
end as AdditionalTax3Rate
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EXCISEDUEDOCITEMBASE",
"I_PRICINGELEMENT",
"I_TAXDEFCONDTYPE"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/