Re: How Sales Order Line (F4211 Edit Line- B4200311) determines which Adjustment to apply
Some of these answers may be terse, so don't hold that against me. I don't have a ton of time to describe everything. Let me handle your post one topic at a time.
[ QUOTE ]
We have a complex calculation for Calculating Fees on items which is to be stored in BSFN. This NER would be attached to Basis code 8 adjustment.
[/ QUOTE ]
Yeah, that's fine. Once a F4072 is found, calc it's value.
[ QUOTE ]
First we are adding 7 new fields to Item Price Group definition so changing the way we set up Item Group. These new custom fields would be used to create Adjustments. This fields reside in Item Tag file which is custom.
[/ QUOTE ]
This could impact Base Pricing too. It uses the same group tables. You will also kill the Accelerated Pricing Engine feature with this.
[ QUOTE ]
Now the requirement is when user enters the order, the schedule would be defined in PO.
[/ QUOTE ]
Why do it this way? The schedule applies to everyone? Direct Schedules can be applied to customers directly and can work in conjunction, or in place of, regular schedules. You can also do something with Preferences based on Item/Customer combinations to pick appropriate schedules.
[ QUOTE ]
This schedule will have adjustments with custom fields.
[/ QUOTE ]
You're modifying the F4074 and Caches too? This is A LOT to chase down and make work properly. You will also have to change the History programs as well as the P4074 Price and Availability program to display audits, etc.
[ QUOTE ]
We need to customize Advance pricing functions to use these new fields and apply adjustments. These adjustments would trigger a custom NER which calculates the fees.
[/ QUOTE ]
This is where you need to think outside of the box. Get out of the idea of changing anything above that Basis Code 8 adjustment, if you can.
[ QUOTE ]
When order complete on OK the output of the BSFN would be written as a separate line in F4211 and not F4074 as per Advanced Pricing standards. These should happen when user takes row exit after entering first line.
[/ QUOTE ]
Why not use Detached Adjustments? They were created for this purpose. F4211 lines are a VERY BAD idea outside of Order Level Adjustments. We learned this the hard way at JDE. Those lines are very difficult to manage once you start making changes to the order. You're looking at even more trouble if you want to add those lines DURING SOE vs EndDoc. What happens if the user presses 'cancel', or changes a quantity, or a date? There will be lots of code used up to reconcile everything back to 'good'.
[ QUOTE ]
So basically first I am trying to understand how to customize the portion where JDE decides which adjustments to apply.
[/ QUOTE ]
See the next point.
[ QUOTE ]
I have short deadline and scope of this seems to be huge.
[/ QUOTE ]
You don't know the half of it. Monstrous, I'd call it.
[ QUOTE ]
Does this clear what I am looking. Yes I am still in EDIT Line trying to figure the sequence and logic how advanced pricing adjustments work. Someone can guide if I need to take any other way. Any help is highly recommended.
[/ QUOTE ]
You're not going to pull this off quickly, nor easily. You'll develop an ulcer and tremors of some sort.
I don't want to be too dramatic, but you run the risk of completely crippling the Sales Order system and your company. I assume you're in business to sell things and bill your customers for them. If you screw up the part about getting accurate invoices to your customer you're going to look very, very bad (understatement, right?).
Consider these recomendations:
First: NO MODS. You will spin your wheels for months just trying to learn Adv Pricing from the code. Changing it is an extraordinary risk. oops. . .EXTRA-EXTRAordinary.
Drop the New F4211 idea. Sell Detached adjustments. They show on the Invoice like F4211s do. If that is a complete no-go, try to use Free Goods and let the system worry about the F4211s. Don't manage that yourself.
Don't change the group program. Make a new one.
Don't monkey with how schedules are assigned. Use either Direct Adjustments, or the Preference System. If you don't know what those are, look them up. I think the Schedule is in BOTH Preference and Advanced Preference systems. Adv Pref is easier to use if you get to choose.
Put ALL the validation logic into that Basis Code 8 adjustment. Award the Adjustment and then let it decide if it qualifies. let it look up these 20+ group fields and make it's own decisions BEFORE calculating any charges.
That's my short list. Design a high quality Bolt-on, not a potentially catastrophic mod. Everyone will love you for it, and I won't tell where you got all these awesome ideas. Next year, they'll make you king!