There are two issues here that need to be disentangled. Storage representations of packed-decimal values always contain an odd number of digits, viz., one of 1, 3, 5, . . . , 2i - 1, . . . , 31 for i - 1, 2, 3, . . . , 16.
If now in COBOL you declare a number of digits d for a computational-3 value, storage for floor[(d+1)/2] bytes is always allocated, and the leftmost, high-order digit participates in all arithmetic operations. You can arrange to ensure that the compiler will force this leftmost packed-decimal digit to be 0 in most circumstances. Doing so will involve the use of a good many extra instructions, and it is always and everywhere a bad practice. The use of an even number of digits in the declaration of a packed-decimal/computational-3 value is in fact an all but infallible diagnostic of incompetence. John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN