• Introducing Dark Mode! Switch by clicking on the lightbulb icon next to Search or by clicking on Default style at the bottom left of the page!

Calling external program from within Advanced Pricing


Has anyone setup an Adjustment within the One World Advanced Pricing module
that uses the feature to call an external program (Basis Code 8)? I did
this a couple of years ago in World when I need some additional logic for
credit checking. JDE sent me a White Paper with the parameters needed for
an external call to an RPG program. It was pretty easy to setup and worked
very reliably.

I now have the possible need for a similar application in One World
Procurement. I couldn't find anything in the Knowledge Garden or the
documentation that gives the necessary specs for an externally called
program. The only thing I could find is the following disclaimer:

Add on User Program Amount

The system calls a user defined program to calculate the price adjustment.

In the Basis Code field, enter basis code of 8.
In the Formula Name field, enter the program ID for the custom

J.D. Edwards is not responsible for providing custom programs and does not
provide support for custom programs.

I would appreciate any feedback on this feature.

Gordon Mueller
Certified Senior Consultant
2 Jericho Plaza
Jericho, New York 11753

IBM Voice Mail: (516) 349-3950
IBM Tie Line: 453-3950
Home Office: (516) 594-9041
Cell Phone: (516) 850-3689

Boris G

Well Known Member
I need the exact same functionality as described above. Has anybody done this? I could not find any documentation on KN.

Boris Goldenberg
JDE Technical Consultant
B7333 Service Pack 20 Win NT


Well Known Member
Hi Boris,

Take a look at business function B4500050 – F4072 Calculate Price Adjustments. There’s an internal routine I4500050_CalculateAdjustment which performs a different action depending upon the basis code, including the call to an external program. JDE have set up a dummy program B4500210 which can be used as a skeleton. As it currently stands I think it takes the base price and multiplies it by 0.1.

To create your own you can start from scratch or copy B4500210. Whatever you do I’d suggest using datastructure D4500210 to avoid too many mods to JDE objects. From within here you can then code whatever calculation you need.

Hope this gets you started.


I have ve tried setting up a BC 8 adjustment in Standalone, I have put B4500210 in the Object/Library field of the adjustment. When I enter a sales order, I get an error that says:

Business Function Load Failed - BAD LIBRARY - B4500210.

Is this something that can not be done in Demo Jr.?

Other questions:
1- Can such an adjustment use the value set up in Factor Value Numeric? (i.e. can I send a parameter into my business function through FVTR?)

2- Can such an adjustment work with the results of previous adjustments? (e.g. I have 3 adjustments, followed by a 4th BC 8 adjustment that selects the minimum/maximum value from the first 3 adjustments.)
2a - Exactly when do records get written to the Price Adjustment Ledger File (F4074)?

3 - Must the external program be written in C++, or will NER work?


Tim Edwards


Well Known Member

I haven't tried this in demo junior but I can't think of any reason why it shouldn't work, though you need to specify the function name rather than source module in the object/library field. In the case of B4500210 the function is CALCADJS.

With regards to your other qu's:

1. The parameters used under other basis codes are available in the bsfn so will be available to yours, though you may need to play around making sure any custom function can see them.
2. You can but I think you'll need to mod the calling bsfn.
3. You can use a NER but most of the data you'll want to use is in cache, so you can't really do anything useful.