[next] [previous] [contents]

  Example 19-2: Example 2
  MAP (res) STRING passenger_name = 32%
  DECLARE WORD mbx_chan, LONG sys_status
  EXTERNAL LONG FUNCTION sys$crembx (LONG, WORD, LONG, LONG, &
                                                          LONG, LONG, STRING)
  WHEN ERROR USE err_trap
  sys_status = sys$crembx ( ,mbx_chan,,,,,"CONFIRMATION_MBX")
  OPEN "CONFIRMATION_MBX" FOR INPUT AS FILE #1%
  LINPUT #1%, passenger_name
  OPEN "RESER.LST" FOR INPUT AS FILE #2%, &
              ORGANIZATION INDEXED, MAP RES, ACCESS READ &
              PRIMARY passenger_name
  FIND #2%, KEY #0% EQ passenger_name
  RECEIVING.MSG$ = "Passenger reservation confirmed"
  PRINT #1%, RECEIVING.MSG$
  END WHEN
  HANDLER err_trap
        IF (ERR = 155)
            THEN
            RECEIVING.MSG$ = "Reservation does not exist"
            ELSE
            EXIT HANDLER
        END IF
  END HANDLER
  CLOSE #2%, #1%
  END PROGRAM