How Sales Order Line (F4211 Edit Line- B4200311) determines which Adjustment to apply

coolkl

Well Known Member
Hi All,

I have a requirement where we need to change the Item Price Group(P4092) definition adding new fields. Currently 23 allowed. Then might need to customize Adjustment definition(P4072). I need to then customize the Sales Order entry (Edit line and related) to apply adjustments using these new fields. My current major challenge is to understand how does Edit line using related Pricing functions determine which adjustment to apply to which line. I will need to customize all these. I tried going through Edit Line myself and still trying. Any expertise or any idea would mean a world to me. Thanks.
 
Re: How Sales Order Line (F4211 Edit Line- B4200311) determines which Adjustment to apply

Adjustments are awarded by the Advanced Pricing Master Business Function. Advanced Pricing is its own system code (45). It's large and crosses 4 product verticals. I would recommend against your customizing "all these." Doubly so, since you don't know how it works.

Spell out your version and exactly what you want to accomplish and some fine people here can make suggestions.
 
Re: How Sales Order Line (F4211 Edit Line- B4200311) determines which Adjustment to apply

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. 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. Now the requirement is when user enters the order, the schedule would be defined in PO. This schedule will have adjustments with custom fields. 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. 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. So basically first I am trying to understand how to customize the portion where JDE decides which adjustments to apply. I have short deadline and scope of this seems to be huge. 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.
 
Re: How Sales Order Line (F4211 Edit Line- B4200311) determines which Adjustment to apply

Is there a reason that you need to add the line to the F4211 directly during order creation?
Strongly suggest against the path you have laid out as advanced pricing is wrapped up in some many application and changes to BSFN--have to be re-done each time you take an update that touches that business function. If the fees that you are trying to charge are only needed prior to invoicing you could build a custom table for the fee calculations and custom UBE to apply those charges--we have taken this path for adding inspection fees and taxes to F4211 for orders prior to runing invoicing and G/L Post. Might that work for you?
 
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!
grin.gif
 
Re: How Sales Order Line (F4211 Edit Line- B4200311) determines which Adjustment to apply

Thanks Sir for reading and answering in detail. Revision in my requirement. Kindly do read as your comments are helping me fight it out. Thanks Thanks for all your time and regret if I am asking too much.

1. Yes we have to change P4092 with 7 new fields. So now we have 30 different aliases. So need to change B4002180, B4002170 to add 7 new aliases in array and logic. No change in F4092 as still we use the same 10 fields, but now can have any one of 7 new aliases.
2. P4072 - Adjustment - No change required.
3. At Sales Order entry no trigger to Advanced Price for fees. My mistake.
4. After User takes OK, Order Acceptance(P42232) screen shows up. When the grid loads at this point trigger Advanced pricing business function for the schedule in Processing Option. A new PO would be set up Sales Order with Fees schedule. Use the standard logic to sense which adjustments will apply. I understand standard JDE checks value of the fields in Adjusment i.e say SRP2, SPR4 etc with value in F4102, F4211. This should be customized to check the new aliases Item Branch Tag file. This is required. Checked b4201500 Yes 100% not sure which BSFN or sequence of BSFN used to sense or some workaround using JDE BSFN and then custom logic.
5. No records added to F4211 but write to custom table. Only after shipment before Invoice using custom UBE recalculate and create F4211 lines from Custom table.

At point 4 is it something impossible or a better way. Am I hitting the wall.
 
Re: How Sales Order Line (F4211 Edit Line- B4200311) determines which Adjustment to apply

So, you want bigger groups, I get that.

On #4 you want to call AdvPric again. You don't want to put the results in the standard table, and you want the new custom table to feed the F4211 after Shipment.

Are you trying to get some sort of Basket, or Order level summary across multiple order lines? You can't do that with complex groups, btw. How many entries are in the Pref. Hierarchy for these fees? What would the Adjustment def (F4071) look like for them? Can items be part of multiple groups simultaneously (dynamic groups)?
 
Re: How Sales Order Line (F4211 Edit Line- B4200311) determines which Adjustment to apply

Thanks Sir for all your answers. We are going back to create a bolt on rather than monkey with how adjustments apply to JDE. Thanks for your help.
 
Back
Top