SP23 interop problem solved

jimmymac

Reputable Poster
Just to inform anyone who might be interested, we have resolved our issue with SP23 conflicting with our interoperability solution.

The issue was that our custom C interface that uses jdeCallObject to call Purchase MBF and Work Order MBF, began failing or writing garbage data when we applied SP23.
After finally being able to debug the OneWorld business functions outside of OW on the AS400, we discovered the problem.

The tools API AllocatePOVersionData is called by the MBFs to retrieve processing option data. When this is being executed outside of OneWorld in an AS400 job, the values returned are actually the EBCDIC equivalent of the ASCII values. For example, the processing option for Order Type we have defined is 'OP', the value returned was '|&'. We changed the processing option to 'OR' and the value returned is '|e', actualy with a little tick mark above the e. This only occurs beginning with SP23.

Oracle was zero help, and state the the C apis we are using are not supported. So good luck.

As it turns out, our processes external to OW don't really even need or use the processing options for Purchase Orders or Work Orders. So our solution was to bypass the calls to the AllocatePOVersionData in XT4311Z1 and B4800220 when called by our interface APIs.

Apparently the tools apis no longer do the correct conversion from the BLOB where the PO data is kept and does not return the correct values when the function is executed outside of a normal OW session.

Any comments or questions are welcome.
 
Back
Top