From: James H H Lampert <jamesl@xxxxxxxxxxx>
> I was able to work out a remarkably simple way to deal with BIGINTs from
> MI (I will only say that it involved breaking the BIGINT down into a
> couple of 32-bit binary fields, copying the data into decimal variables
> big enough to accommodate the number of digits involved, dealing with it
> that way, and reversing the process when done).
> 
from my book: (note that the two binary fields have to be unsigned,
at least the second one. The first one should be signed if the BIGINT is)

DCL SPCPTR .MACHINE-ATTR INIT(MACHINE-ATTR);
DCL DD      MACHINE-ATTR CHAR(24) BDRY(16);
    DCL DD  MAT-MAX-SIZE   BIN(4) DEF(MACHINE-ATTR)  POS( 1) INIT(16);
    DCL DD  MAT-ACT-SIZE   BIN(4) DEF(MACHINE-ATTR)  POS( 5);
    DCL DD  MAT-TIMESTAMP CHAR(8) DEF(MACHINE-ATTR)  POS( 9);
        DCL DD MAT-TIME-HI BIN(4) UNSGND DEF(MAT-TIMESTAMP) POS(1);
        DCL DD MAT-TIME-LO BIN(4) UNSGND DEF(MAT-TIMESTAMP) POS(5);

DCL DD TIMESTAMP     PKD(21,0); /* CAN HOLD 64-BIT UNSIGNED */
DCL DD TIMESTAMP-HI  PKD(11,0);
DCL DD TIMESTAMP-LO  PKD(11,0);
DCL DD TWO**32       PKD(11,0) INIT(P'4294967296');

....
    CPYNV      TIMESTAMP-LO, MAT-TIME-LO;
    CPYNV      TIMESTAMP-HI, MAT-TIME-HI;
    MULT       TIMESTAMP, TIMESTAMP-HI, TWO**32;
    ADDN(S)    TIMESTAMP, TIMESTAMP-LO;

> But is there a way, from MI, to deal with files containing BLOBs and/or
> CLOBs?
> 
> Leif, are you there?
> 

I don't know anything about BLOBs and CLOBs. 



This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].