batch control processing

mr_freak

Member
Hi guys... i'm new member... i wanna ask about a business fuction called "batch control processing" wich i use in my report... i made a report that use this function (N0000001/batch control processing)to get batch number. it work well when i run this report localy... but if i run this after it being deployed, it doesn't work, the batch number is empty... how can i solve this porblem? please help me... i realy need your help... thanks a lot...
 
The quick answer is that N0000001 is a client only function....does not exist on the server. You need to find a client/server function that opens a batch....which exists...just don't remember what it is.
 
If you truly are creating something that needs a true batch number and writes to the built in batch control tables and will use the built in batch control processing etc. then you will have to find a client/server BSFN as suggested.

However, if all you really need is a unique "batch" number then you could use the function EDBTGetNextNumber and preferably store that number or use that number with the EDBT DD item. Technically I suppose it is meant for true EDI processes but I use it all the time where I just need a unique "batch" number. If the user will never actually see, use, or refer to the number then I use a bsfn that returns a less user friendly, but stronger more portable GUID.
 
thanks guys... previously I didn't know that there is client only function in JDE... i thought that all function can be use in client or server... thanks for the info guys... now i'll try to use the other one, "batch open - batch control processing" (N0000017)... I hope it will work...

thanks before...
 
FYI. When you see a client only function it is usually for two reasons.

If it is a NER (like the one you tried to use), it is most likely doing a Form Interconnect to call an Interactive Application (APPL). Since this can't happen on the server it has to be a client only function. For most releases that run APPLs as HTML apps, this effectively makes it an "interpretive" NER in that the actual ER code is executed "in-line" when the NER is called from an APPL as opposed to executing the generated/compiled C code. Note that when you build these client only NERs, it will still generate C code and compile the C code... but the C code will never actually be executed... which also means you can't ever really debug client only NERs (which is a different discussion all together).

For client only C BSFNs the C BSFN is most likely making Windows specific api calls - for example getting a list of files in a directory, opening a file save dialog, etc. These functions are usually used by the Local Web Dev client applications (like OMW) and the Local Web Dev client only runs on Windows. Most JDE pristine, delivered functions that may potentially execute on the server must be OS agnostic in that they can't make any OS specific API calls. Therefore most functions that makes OS specific api calls are usually client only. As a side note, one can still make server side BSFNs that do OS specific things.... you just have to be aware that a BSFN that is using a Windows API call to get a list of files for example won't even compile if you try and build it on an AS400 enterprise server. If you ever have a mix of server OSs, you plan to distribute your BSFN or the organization may switch server OSs you will have to either refrain from using OS specific calls or use the compiler directives and write sections of code for each supported OS.
 
Back
Top