      SUBROUTINE ITPARM(IP,N,NUMBER)
C
C     * APR 26/93 - E.CHAN. INCREASE LENGTH OF PARAMETERS TO 9 CHARACTERS.
C     * JUN 03/92 - E.CHAN. ENSURE THAT ONLY LEADING ZEROS ARE SET 
C     *                     TO BLANKS.
C     * DEC 23/91 - M.LAZARE. CONVERT HOLLERITHS TO CHARACTERS FOR SX3.  
C     * DEC 18/90 - F.MAJAESS (PROTECT AGAINST MISREPRESENTING NUMBERS) 
C     * JAN 27/82 - J.D.HENDERSON, R.LAPRISE. 
C     * PLACES THE N LOWEST ORDER DIGITS OF NUMBER AS CHARACTERS
C     * INTO THE FIRST N PLACES OF IP IN REVERSE ORDER. 
C     * IP(1) WILL HAVE THE HIGHEST ORDER DIGIT OF NUMBER.
C     * IP(N) WILL HAVE THE LOWEST  ORDER DIGIT OF NUMBER.
C     * IP(N+1) IS SET TO A COMMA.
C     * NEGATIVE NUMBERS ARE CONVERTED TO POSITIVE. 
C 
      IMPLICIT REAL (A-H,O-Z),
     +INTEGER (I-N)
      CHARACTER*1 IP(10)
      CHARACTER*1 ICHAR(10) 
      CHARACTER*1 IBLANC
C 
      DATA IBLANC/' '/
      DATA ICHAR/'0','1','2','3','4','5','6','7','8','9'/
C---------------------------------------------------------------------
C 
      NUM=ABS(NUMBER)
C 
C     * EXIT ABNORMALLY IF NUMBER OF DECIMAL PLACES EXCEEDS ASSUMED
C     * MAXIMUM LENGTH IN THIS ROUTINE.
C
      IF (N+1.GT.10)                           CALL XIT('ITPARM',-1)    
C
      DO 120 I=1,N
      IC=NUM-NUM/10*10
      K=(N+1)-I 
      IP(K)=ICHAR(IC+1) 
      NUM=NUM/10
  120 CONTINUE
      IF(NUM.NE.0) THEN 
        WRITE(6,6000) NUMBER,N,(IP(J),J=1,N) 
        CALL                                        XIT('ITPARM',-2)
      ENDIF 
C 
C     * TURN LEADING ZEROS INTO BLANKS. 
C 
      DO 130 I=1,N-1
      IF(IP(I).NE.ICHAR(1)) GO TO 140 
  130 IP(I)=IBLANC
C 
  140 CONTINUE
C
      IP(N+1)=','
C 
C     WRITE(6,6010) NUMBER,N,(IP(J),J=1,N+1)
C 
      RETURN
  
 6000 FORMAT(' ***** NUMBER= ',I10,' EXCEEDS (',I10,') DIGITS !'/ 
     1      (2X,'*** IP= ',10A1))
 6010 FORMAT(2X,'NUMBER= ',I10,', N= ',I10,', IP= ',10A1) 
  
      END 
