I rest my case: :COB85XL COBTEST.SOURCE,,$NULL PAGE 0001 COBOL II/iX HP31500A.04.21 [85] Copyright Hewlett-Packard CO. 1987 0 ERROR(s), 0 QUESTIONABLE, 0 WARNING(s) DATA AREA IS 4C BYTES. CPU TIME = 0:00:00. WALL TIME = 0:00:00. END OF PROGRAM END OF COMPILE :LINK FROM=$OLDPASS;TO=COBTEST.NMPRG HP Link Editor/iX (HP30315A.06.15) Copyright Hewlett-Packard Co 1986 LinkEd> LINK FROM=$OLDPASS;TO=COBTEST.NMPRG :RUN COBTEST.NMPRG Illegal ASCII digit (COBERR 711) Program file: COBTEST.NMPRG.E3K Trap type = 00000200 (22,00), at pc = 00000359.00005EAF invalid ascii digit Source address = 418442F0, Source = '1234567 ' (hex) Source = '3132333435363720' DEBUG/iX C.25.06 HPDEBUG Intrinsic at: b9.00259304 cob_trap.print_message+$5ec $$$$ Trap occurred at: _start+$84, at Stmt #25 PC=359.00005654 $$valg+$14 0) SP=41844330 RP=359.00005eb4 _start+$8c * 1) SP=41844330 RP=359.00000000 (end of NM stack) $$$$ The address $418442f0 = SP-$40 is in _start (TEMPCELL or $DYNAMIC) ============================================================ **** COB_QUIT 711 **** ABORT: COBTEST.NMPRG.E3K R0 =00000000 d61c4018 01428153 00000003 R4 =41844570 01428800 4184459c 418445e0 R8 =00000002 41844330 41844330 00000000 R12=00000000 00000000 00000000 00000000 R16=00000000 00000000 00000000 41844670 R20=00000080 d4417800 c0000000 00000000 R24=00000000 00000001 00000000 c0202008 R28=00000000 00000000 41844630 00000000 IPSW=0004f80f=thlnxbCvmrQPDI PRIV=3 SAR=9 PCQF=a.1428153 a.1428157 SR0=0000000a 00000000 00000000 00000000 SR4=0000000a 00000358 0000000b 0000000a TR0=00001004 036f3f0c 002281c4 41847990 TR4=41847810 00d452a4 c0202008 00143000 PID1=0000015c=000000ae(W) PID2=00000000=00000000(W) PID3=00000000=00000000(W) PID4=00000000=00000000(W) RCTR=00000000 ISR=00000358 IOR=41844614 IIR=4bd53fc9 IVA=00143000 ITMR=5a947a94 EIEM=ffffffff EIRR=00000000 CCR=0 Program terminated in an error state. (CIERR 976) Brians World: ----------------- Based upon the info you gave, yes, it will work if the contents of the "X" field are numeric. However, with an "X" definition anything can be put in there, alpha or numeric data. Your program won't give any problems provided the entire length of the "X" field is filled with all numeric. If you had put e.g. "1234567 " in that "X" field you would see a problem if the program was compiled with the VALIDATE option in your $CONTROL statement at the top of the source code, thus: $CONTROL VALIDATE IDENTIFICATION DIVISION. PROGRAM-ID. COBTEST. DATA DIVISION. WORKING-STORAGE SECTION. 01 A PIC X(8). 01 B PIC S9(8) COMP. 01 C PIC ZZZ,ZZZ,ZZ9. PROCEDURE DIVISION. BEGIN. MOVE "1234567 " TO A MOVE A TO B MOVE B TO C DISPLAY C STOP RUN. END PROGRAM COBTEST. I would never do what this program is suggesting. My version would be done thus: $CONTROL VALIDATE IDENTIFICATION DIVISION. PROGRAM-ID. COBTEST. DATA DIVISION. WORKING-STORAGE SECTION. 01 A PIC 9(8) VALUE 12345678. 01 B PIC S9(8) COMP. 01 C PIC ZZZ,ZZZ,ZZ9. PROCEDURE DIVISION. BEGIN. MOVE A TO B MOVE B TO C DISPLAY C STOP RUN. END PROGRAM COBTEST. * To join/leave the list, search archives, change list settings, * * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *