Originally posted by shagymoe
First of all where does dbms_output.put_line normally print to and how do you change where it prints to? OR how do I find out where it is printing to? There isn't any command window open so it certainly isn't printing there.

Next, IN and OUT are specified in the package bodies and functions. How do you know where IN comes from and where OUT goes? I know that things are coming IN from the scanners and OUT to the scanners, but I can't tell if they are being written to a file first and then picked up by the database or what.
dbms_output.put_line is normally used in a procedure as a debugging tool. When packages, procedures or functions are called from a gui front end there is no place for DBMS_OUTPUT to write to therefore under that circumstance it doesn't do anything. When you call a package, procedure or function you pass in parameters. When you create a procedure you can specify one or more "out" or "in out" parameters. The "out" parameter means that the variable passed in gets updated with a new value form the procedure. Functions can also have "out" and "in out" parameters, but having those types of parameters means that you can't use the function in a sql statement. It seems that you should spend a lot of time studying PL/SQL before you start making changes. There are a lot of good books on the market, you should get one and start working through it.