Thursday 28 October 2010

IFSIO and JDE BSFN compilation problems

So you want to use native IFS file IO functions in B34A1010, but of course you are on XE or ERP8…  Well, you’ve looked at the metalink3 and worked out that it’s probably not looking too flash.

Well, I’m about to make your stop perspiring and potentially start air punching, cause I’ve done all of the hard work for you.

build an update package on the enterprise server (AS/400) with the one BSFN as normal.

My update package was called DVIFSIO (to confuse you)

My parent package is DVFSERVER

Replace your module file with the following command, this is compiled with the SYSIFCOPT(*IFSIO) command – ready for native IFS IO

CRTCMOD MODULE(DVIFSIO/B34A1010) SRCFILE(DVIFSIO/CMFG) OPTION(*EXPMAC *NOSHOWINC) OPTIMIZE(40) DEFINE(JDENV_AS400MUTEX PRODUCTION_VERSION JDBD2400 AS400V5R4) SYSIFCOPT(*IFSIO) STGMDL(*SNGLVL)

Then bang it into the CMFG SRVPGM with the following gem:

UPDSRVPGM SRVPGM(DVIFSIO/CMFG) MODULE(DVIFSIO/B34A1010) EXPORT(*ALL) RPLLIB(*ONLY) BNDSRVPGM(B7334SYS/JDELIB B7334SYS/JDEKRNL B7334SYS/OWVER) OPTION(*DUPPROC *DUPVAR *UNRSLVREF)

That’s it you say… Yep…  Well nearly.  This is going to update the SRVPGM in the update package dir.  You will need to copy that into the runtime dir (DV7333) for it to get picked up and used.

I’m certainly not advocating you use this without careful testing in non prod environments.  This is only one function.

This is only a work around, you can appreciate that you’d have to do this again after each full build.  The nice thing is that you can just do the UPDSRVPGM command (and you could do it to the live copy DV7333) after the build and deploy.

No comments: