Update UDT whenever Sales Orders are printed

Greetings all,

I was wondering if there is a way of updating a UDT whenever a Sales Order is printing via script.  

I have a customer that would like to keep track of the time between when the SO is printed and when the order is shipped.  I figured I could create a UDT table with SO number (key), date, and user updated.

Then, create a button script to replace the PRINT button in Sales Order Printing and Quick Printing screens that would capture all the SOs being printed and update the UDT before printing.  Is this possible?
If so, has anyone done anything similar that can point me the way?  I saw a write up on how to update a UDT using a script, so I can follow that.  I just don't know how to script the capturing of SO numbers before printing.

Thank you all in advance,

Javier