Error when compiling

I use AcuBench 8 for compiling. The -Ci option must I use because otherwise the data in vision-file-record is not anymore correct.

The solution for barcode printing is working on a other systeem where is not ICobol the base. There I don'nt use -Ci.



  • I think the issue is the S9(5) comp-5 for these data items ... I believe that the only types you can send BY VALUE are items with a size of 2, 4 or 8 bytes. Anything else reports the illegal size error.  

    Using SX(4) comp-x should work when passing by Value.

  • Verified Answer

    Actually, I think you'll need to retain the COMP-5 usage to get the native byte-ordering, especially since it appears you're running this on Windows (which expects "little-endian").  PIC X(4) COMP-X will give you 4 bytes, but in "big-endian" byte order.

    Your original PIC S9(5) COMP-5 items resolve to a 4-byte storage (32-bit signed integer) by default, but the -Ci option changes that to 3 bytes (for compatibility with ICOBOL).  I would suggest PIC S9(9) COMP-5 for passing a 32-bit signed integer.

  • Chuck, that is the thing I did already before I got your reply. I placed a incident by Micro Focus support and from there I received a comment that lead to the same solution you give. Every body thanks. The calling to a dll resulted in a A4 with a nice EAN128 barcode for a ordernumber.