Calling an Internal Business Function
You can access internal business functions (internal C functions) within the same source file.
You may create modular subroutines that can be accessed from multiple source files. Use
CALLIBF(fcn(parm1,parm2))
andCALLIBFRET(ret,fcn(parm1,parm2))
to access internal business
functions within a different source file but within the same DLL. Use CALLIBF
to call an internal business function with no return value. Use
CALLIBFRET to call an internal business function with a return
value. Both CALLIBF and CALLIFBRET can call
internal business functions with any type or number of parameters.
CALLIBF and CALLIBFRET can only call internal functions within the same business function DLL. They cannot call functions in other business function DLLs. For example, if the internal function intFcn123() is in B550001.C, which is in the CALLBSFN.DLL, you cannot called it with CALLIBF or CALLIBFRET from a business function in CDIST.DLL.
To use CALLIBF or CALLIBFRET for an internal business function, the business function must have its prototype in the business function header. If you do not want other modules calling the internal business function, place the prototype in the C file, not the header file.
Calling internal business functions has several advantages over external business functions. First, they do not have the jdeCallObject performance overhead of checking OCM mapping and possibly executing the function remotely. A called function always executes in the same process from where it was called. Second, the parameters are not restricted to JD Edwards EnterpriseOne data dictionary data types. Any valid C data type, including pointers, may be passed in and out of internal functions.