cancel
Showing results for 
Search instead for 
Did you mean: 

suuser exit - rebates

lakshmikanthc2
Active Participant
0 Kudos

hi

one scenario : About rebates with free goods :

If cust purchase 10 printers in 3 months, i want to give 500/- rebate on each printer and i want to give 2 small printers to him after 3 months along with the credit note.

How to solve this.

regards

lakki

Accepted Solutions (0)

Answers (3)

Answers (3)

lakshmikanthc2
Active Participant
0 Kudos

Closing this issue. No more required

lakshmikanthc2
Active Participant
0 Kudos

Any updates on this rebate issue.

regards

lakki

mandar_shete
Active Participant
0 Kudos

Hi Lakki,

There is no simple user exit solution for this. You need to go for some custom development for the same.

1. First you need to create a Free Goods master record in VBN1 in such a way that Min Qty 1 Max Qty 10 Free Goods 2.

2. Create a Z table for the accumulation of invoiced goods. This will get updated when invoice will be created for the customer for that sales order/delivery. Coulmns can be as follows.

- SalesOg., Sold-To/Ship-To, Material, FreeGoodsCondType, Qty Invoiced, Date Invoiced.

User Exit for Invoice is RV60AFZZ in this USEREXIT_NUMBER_RANGE.

You have to put additional logic here to check if any Free Goods are ther in this invoice. If yes then delete all the entries from 3 months till Today.

3. Create a rebate calculation routine in VOFM (Formulas -> Calc. Rule RebateKind. e.g. 901). Attache this routine in Free Goods Master Record.

Put a logic as follows.

Read Z-table for 3 months till today. Get count of Qty Invoiced. Move this Qty. Invoiced to l_frm-mglme.

l_frm-nrmenge = ( l_frm-mglme / l_frm-knrnm ).

l_frm-nrmenge = FLOOR( l_frm-nrmenge ) * l_frm-knrzm.

  • business rounding

nachkomma = FRAC( l_frm-nrmenge ) * 10.

IF nachkomma < maxrund.

vorkomma = FLOOR( l_frm-nrmenge ).

ELSE.

vorkomma = CEIL( l_frm-nrmenge ).

ENDIF.

l_frm-nrrund = l_frm-nrmenge - vorkomma.

l_frm-nrmenge = vorkomma.

l_frm-nrmenge is the calculated Free Goods.

I have just consider simple scenario, but while testing you will come up with new scenarios.

Thanks,

Mandar