Hi Paul,
I converted 32 CopyBook BizComps to MF, and they seem to be working okay as far as I know. So from a technical side, getting CopyBooks to work in-memory isn't critical as long as MF is an adequate substitute.
I talked to Rick this morning, and he had two primary concerns:
- Was the in-memory capability not implemented for CopyBook BizComps because MF BizComps should be used for this purpose? or was it an oversight?
- Will the XAware team support MF BizComps being used as substitutes for the in-memory CopyBook BizComps we were using?
Thanks
Update #1: I've found that values are not being formatted properly with the MF BizComps. For example:
<Amt xa:field_length="12" xa:pic_value="S9(09)V99" xa:start="149" />
gives the following results:
XA 4.3.1: <Amt>604.00</Amt>
XA 5.1.0: <Amt>+00000060400</Amt>
My logs show many warnings similar to the following:
FINE PictureClauseUtility::formatCobolNumber Request type is text to
XML
FINE PictureClauseUtility::convertToInteger Request type is text to XML
WARNING Cannot convert this non-numeric value [+00000060400]
Update #2: Negative values (e.g., -00000060400) are being formatted correctly. Removing the + sign results in correct formatting for positive values. For the time being, I'm replacing the + signs with blank spaces using a
Functoid; however shouldn't there be native support for +?
The next problem I'm having is that the engine is treating all fields with the xa:pic_value attribute as integers. For example, an X(04) field containing "0040" gets converted and truncated to "40". Is there a way to treat these values as strings without removing xa:pic_value?