Modifying Your Message Options

This chapter tells you how to customize message-handling using the message-handling subroutines, EKKMSAV, EKKMSET, and EKKMSTR. 


What You Can Do with the Message-Handling Subroutines

The message-handling subroutines allow you to save, restore, and change message settings. Using EKKMSAV, you can save an existing message setting for future use. This message setting can later be restored using EKKMSTR. With EKKMSET, you can affect:

Three code fragments are provided to show you how EKKMSAV, EKKMSET, and EKKMSTR may be used to change these message attributes.

Fragment 1 restricting log output

If you want to restrict the log information issued during the matrix factorization to 15 messages while EKKSSLV is running, you can save the option settings associated with message EKK0057I, set it so that this message will appear only 15 times, and restore the original settings with the following code fragment:
 
 

  REAL*8 DSPACE(50000)
  INTEGER*4 RTCOD,MESGSAV(2)
      .
      .
      .
C Save the message settings associated with message EKK0057I.
  CALL EKKMSAV(RTCOD,DSPACE,57,MESGSAV)
C Set the message setting to new options.
  CALL EKKMSET(RTCOD,DSPACE,57,0,15,0,0,0,0)
      .
      .
      .
  CALL EKKSSLV(RTCOD,DSPACE, 1, 2)
      .
      .
      .
C Restore the original message settings for EKK0057I.
  CALL EKKMSTR(RTCOD,DSPACE,57,MESGSAV)
      .
      .
      .

Fragment 2, suppressing message numbers

You can suppress output of the EKKnnnnx message numbers normally generated by library output modules. To do this, first use EKKIGET and EKKISET to reset integer control variable Imsgpos to 1. This moves the EKKnnnnx message numbers to the right side of the output line, so blanks will not appear before the messages. Then call EKKMSET with the nonum argument having a value of 1, to turn off the message numbers, as follows:
 
 

  REAL*8 DSPACE(5000)
  INTEGER*4 RTCOD
  INCLUDE (OSLI)
      .
      .
      .
C Move EKKnnnnx message numbers to the right of the output.
  CALL EKKIGET(RTCOD,DSPACE,OSLI,OSLILN)
  IMSGPOS  = 1
  CALL EKKISET(RTCOD,DSPACE,OSLI,OSLILN)
C
C Turn off all EKKnnnnx message numbers.
C
  CALL EKKMSET(RTCOD,DSPACE,1,0,0,0,0,9999,1)
      .
      .
      .

Fragment 3, suppressing ALL output

If you want to suppress all output from library modules (not just the EKKnnnnx message numbers), the following call to EKKMSET will achieve the desired result:

  CALL EKKMSET(RTCOD,DSPACE,1,0,-1,0,0,9999,0)


[ Top of Page | Previous Page | Next Page | Table of Contents ]