PROCEDURE prompt_for_lim (
  lim : (var) string = $optional
  status: (var) status = $optional
  )

  create_variable input_string k=string
  create_variable integer_number k=integer
  create_variable conversion_status k=status

lim_loop: ..
  LOOP
    put_line '0Enter the LIM number to which your terminal/printer is connected or ? for help:'
    accept_line input_string input p=''

    IF (input_string = '?') OR ($translate(lower_to_upper, input_string) = 'HELP') THEN
      put_line ('0Supply the LIM number to which your terminal/printer is connected.' ..
            ' This is a number from 0 to 7.  Look at the back of your DI.' ..
            ' Each LIM has a number stamped on it.'..
            ' Find the line to your terminal/printer and enter its LIM number.', '  ')
    ELSEIF input_string = ' ' THEN
      IF ($value(lim) <> ' ') THEN
        EXIT lim_loop
      IFEND
    ELSEIF ($translate(lower_to_upper, input_string) = 'QUIT') OR ($translate(lower_to_upper, input_string) = 'QUI') THEN
      $value(lim) = ' '
      EXIT lim_loop
    ELSE
      include_line 'integer_number=$integer(input_string)' status=conversion_status
      IF conversion_status.normal THEN
        IF (integer_number >= 0) AND (integer_number <= 7) THEN
          $value(lim) = input_string
          EXIT lim_loop
        ELSE
          put_line ('0LIM number out of range, please correct.', '  ')
        IFEND
      ELSE
        put_line ('0Invalid LIM number, please correct.', '  ')
      IFEND
    IFEND
  LOOPEND lim_loop

PROCEND prompt_for_lim
