title: What is the best way to manage a large quantity of constants
body: <p>I am currently working on a very complex program that processes rows from an input table and has a huge number of possible outcomes for each record.  Because of this I have a very large number of constants defined for the outcome messages.  There is one success message for the record, but a multitude of possible warnings and errors.</p>
  
  <p>My first thought was to define all of my constants for these messages at the package body level, but then I decided to move each constant to the procedure where it is used.  I'm now second guessing that decision and thinking of moving everything back to package body level.  What is the best way to define this many constants? Ease of maintainability is my ultimate goal for this program since it is so complex.</p>