business function compared to Fetch


Active Member
Thanks to everyone who is helping me out on the program speed problem.

Can anyone tell me the difference (advantages, disadvantages) of using a business function instead of fetch.

Such as fetch to the item master with the 2nd Item number to get short id or use the business function to do this.

My program is a table conversion doing a simple map and need to know the difference for speed accesibility.

Any help would be great.
XE, 15 SP, AS/400, NT



Legendary Poster
Hey WannaBe,

Many of the 'C' BSFNs now in existence were written early on to bypass ER performance problems in areas such as Table I-O. Since that time however JDE has made many changes to improve generic ER I-O performance. At this point I don't know if there is a significant advantage to using a slimmed down BSFN over ER code. Particularly if you are using handles in the ER Code (handles were another thing introduced to improve ER I-O performance). Since I lack multi-million row tables to perform such tests on, maybe someone with a lot of time and data can answer this question for us :)

Larry Jones
[email protected]
OneWorld XE, SP 15.1
HPUX 11, Oracle SE 8.1.6
Mfg, Distribution, Financials

Christian Audet

Staff member
Hi jdewanab,

You did't answer my question about your machine that run the table conversion, the answer will help you to comparee to us. Here we have 2.5 million records in the F0911 and we transfert it from World to OneWorld, with 500 lines of Event Rules to convert, write to files, validate UDC, Validate Account, log etc. and the entire process take +-15 hours and it's running LOCAL.

Like Larry sugested "handle" can speed up a little bit your process, we are using a lot of handles.

Christian Audet

Implementing B7333 (Xe) SP14.1, SQL
(Support B732, B7331 and B7332)

David Robertson

Reputable Poster
The advatages of running a BSFN instead of a simple Table I/O Fetch Single, in your case, may be nil. The only advatage may be caching, which you can do in the BSFN, so that subsequent request for the same item does not need to go to the database at all. I have found this most useful for things like the UDC fetches, where a large number of my records would all share the same codes.There are many other advantages for BSFN's besides performance in old releases, but I doubt that they apply in your circumstance.
I have found using a Handle to give a significant performance boost.


Legendary Poster
Hi Jimmy,

Is your issue opened yet? If not, share your results with us. If not then here are some thoughts from me, although I am doubt about BSFN benefits (I suppose there is not too much in this case).

1.) Create a BSVW that contains only 2nd Item Number and the fields that you want to retrieve. Select the 2nd Item Number index for your BSVW. Fetch the BSVW instead of the very large Table Record.

2.) Further more you can try to change the 2nd Item Number index to unique and regenarate the index (Guys, is it possible or dangerous?).

3.) If my memory serves me well then there is a chapter about performance on the end of the Development Tools, maybe in the Appendicies. Check it, maybe you can find something useful there too.

Can you check somehow the performance differences between different solutions? Please, share your result and if possible then with some data about performance differences (Time, Percent, etc.). Thanks in advance.

Have a good performance :)

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)