Controlling Free Goods Quantity in Delivery Document
Free Goods determination happens in Sales Order based on Free Goods Condition Records maintain in T-Code VBN1.
Now while creating Delivery, system just copies the Main Item quantity & Free Goods Item Quantity from Sales Order & does not access the Free Goods condition again.
In case of complete (single) Delivery for one Sales Order, there is no problem because full quantity of main & free item is delivered at one go.
But let us imagine a scenario where partial deliveries are done.
For Example, say in a Sales Order:
Main Item – 100 Tons
Free Item – 10 Tons
Delivery:
Main Item – 50 Tons (system proposes 100 Tons, which is reduced to 50 Tons)
Free Item – 10 Tons (system does not reduce the Free Goods proportionately)
As seen above, system does not reduce the Free Goods quantity even if the Main Item quantity is reduced in Delivery.
To control this situation SAP System has given following options to control partial Deliveries (to be maintained in under “Free Goods delivery Control” VBN1 Condition Record):
– Delivery takes place regardless of main item
A – Delivery only if main item is partially delivered
B – Delivery only if main item is fully delivered
C – Delivery if main item is part. delivered, only with main itm
E – Delivery proportional to quantity in main item
Normally E “- Delivery proportional to quantity in main item” is maintained to ensure that any reduction to main item will make proportionate reduction in Free Items. But the Main Item & Free Item quantity field is modifiable & user can further increase the Free Goods Item quantity to Sales Order Free Goods quantity.
To control the above, we have recently made the Free Goods Item Quantity Non-Modifiable in Delivery document by inserting a ABAP code in Badi – LE_SHP_DELIVERY_PROC.
ABAP Code:
METHOD if_ex_le_shp_delivery_proc~change_field_attributes.
…. sy-tcode = ‘VL01N’ OR sy-tcode = ‘VL02N’.
…. IF screen-name = ‘LIPSD-G_LFIMG’.
IF is_lips-pstyv = ‘TANN’.
screen-input = 0.
screen-active = 1.
……
ENDMETHOD.
This will ensure that the Free Good Item in Delivery Document is Non-Modifiable & any reduction to Main Item quantity will reduce the Free Item Quantity proportionately, which cannot be changed by the users.
Dear Jignesh Mehta
Thanks for sharing this valuable information.
Hello Mozzam,
Thank you for the appreciation.
Hi Jignesh,
Very use full document ,, thank`s for sharing ๐ ๐
Dear jiginesh sir,,, you have shared very good document
sir really i like your way of interest to share your knowledge and it motivates small fishes like me .... ๐ have a good day
Dear,
May I know ,Is this Process is What ? ( Inclusive or Exclusive ) .
Delivery proportional to Quantity in Main Item means If we maintain Main Item 100 in sale order and then we will be decreased to 50 in Delivery so Free Good Item also automatically will be decreased 10 to 5 in Delivery right .
Thanks,
Naren
Hello Narendra,
Yes. In Delivery the Free Good quantity will be proportionately reduced, but the Free Goods Quantity field in Delivery is modifiable. Which means that user can increase the 5 quantity to 10 Quantity & post PGI. Which is incorrect because if the Main Item is reduced from 100 to 50 then Free Item should not be allowed to be increased from 5 to 10.
Thanks,
Jignesh Mheta
Dear Mr.Mehta,
Ur inputs in SD query are really very useful. Free units modification ABAP query note sent has solved one of our long term problem.
Rgds
Anita
Thank you for your appreciation, Anita.
one more doubt, if it in the case of different exclusive free goods? if it is for inclusive then? have some patience on my doubts.
warm regards,
jagdeesh
Hello,
See this is all about Controlling Free Goods Quantity in Delivery.
Now as Free Goods are not re-determined in Delivery Doucment, this applies to partial deliveries in both inclusive & exclusive Free Goods.
Thanks,
hi,
its great and wonderful but i have one doubt...is it for partial delivery only right? you mean after avilablity check stock balance only 50 for for main item right? is it right? tell me the business case where you have faced in your project?
warm regards,
jagadeesh
Hello Jagadeesh,
Yes. This is more for Partial Deliveries. Once again think of below scenario:
Order:
Main Item - 100 Tons
Free Goods - 10 Tons
Delivery:
Main Item - 50 Tons
Free Gods - 5 Tons (reduced proportionately by setting of E in VBN1).
But as the Free Item Quantity is modifiable, use can increase the quantity of Free Goods from 5 to 10. This is not correct.
Ideally Free Goods quantity should be non-modifiable in Delivery just as in Sales Order.
Thanks,
Hi jignesh,
thanks for you patience, you have really passion to excel.
warm regards,
jagadeesh
Thank you for the appreciation, Jagadeesh
Dear,
When ever Main Item Quantity decreased in delivery from 100 to 50 the Free Goods will be Decreased from 10 to 5 .In this case ,when ever User going to decrease Free Goods Quantity then ,what about Main Item Quantity ? Is this Main Item Quantity will be Constant ?
Note : Before ,I have asked as What is this process ( Inclusive or Exclusive ) ?
Main Item = Free Good Item ( Proportionately changing equally )
Thanks,
Naren
Hi Jignesh,
What an explanation ..!!!!
Clear, precise and easily understandable.Great .
Thank you Suresh
Hi Jignesh,
ย
Thanks for sharing use full document, this is my first comment in SCN.
ย
I have some issue regard Free good (Exclusive). I created condition record where customer buys material โAโ of 20 units and he will get free 10 unit of material โBโ.
ย
I created sales order with material โAโ 20 units and system determine free 10 unit of material โBโ.
ย
But we do have stock for material โAโ as 10 units only, so when I create OBD for SO, system generate line item with Material โAโ 10 unit and second line item for material โBโ 10 as free (as in SO free good determined as 20 + 10).
ย
I want system should only deliver 10 qty of material โAโ and 5 qty of material โBโ as free, for this I maintain โE โ Delivery proportional to quantity in main itemโ in condition record for Free goods delivery control.
ย
But OBD still generate with 10 qty of โAโ & 10 qty of โBโ. I do not want to change condition record material combination.
ย
Please guide me, if I am doing something wrong.
ย
I tried to search in SCN & Google, but did not found any solution.
ย
Thanks in advance.
ย
Regards
Jayant
Hello Jayant,
You may need a small enhancement in Sales Order user exit to check the main item availability and adjust the free good accordingly.
Thanks,
Jignesh Mehta
Hi Jignesh,
Thanks for reply.
I will check with my abaper.
Regards
Jayant ๐
In Delivery the Free Good quantity will be proportionately reduced, but the Free Goods Quantity field in Delivery is modifiable. Which means that user can increase the 5 quantity to 10 Quantity & post PGI. Which is incorrect because if the Main Item is reduced from 100 to 50 then Free Item should not be allowed to be increased from 5 to 10.
hi Jignesh.. pls check the same settings if possible through copy controls...bczย once we faced issue as our client needed that price should be modified till delivery but not in invoice. Generally we can keep price modifiable in all phases that is SO, Del and Inv or neither of them through v/06
But this was achieved through copy control. In VTFL we have changed "Pricing Type" G= Copy pricing elements unchanged and redetermine taxes
to
Eย =Adopt price components and fix values
Hence in invoice price was fix and not modifiable....
Hi Jignesh,
Can you suggest if there is a possibility to carry out availability check for the free goods material and accordingly modify the main item in sales order?
Say for example, the record maintained is :ย 1 Nos. of FG is given over 5 Nos. of main item.
Sales order is placed for 50 Nos. of main item and thus customer is eligible for 10 FGs.
However, only 5 FGs are available in stock . Hence the SO qty. should be modified to 25 Nos. of main item &ย Nos. of FG.
Can this be achieved?
Regards,
Nikita
So you would like to modify the Main Item Quantity based on the available of the Free Item.
This is not possible in SAP Standard. Only option here would be an enhancement via an ABAP Code.
However, I would expect this to work the other way around.
Lets say the Main Item Quantity is 50 (thus Free Goods is 10). Now if only 25 Quantity of Main Item is available and so Free Goods should be automatically adjusted to 5.
Now if only 25 Quantity of Main Item is available and so Free Goods should be automatically adjusted to 5.
This as you mentioned earlier would be possible by maintaining the parameter 'E' in the condition record for free goods, right?