Running a script when a field changes

SOLVED

I have a UDF that tracks the sum of the Quantity Shipped, I would like to reset the picking sheet print flags when this field changes... My current script is: 

sPPS = "Y"
sPSP = "N"
retval = obusobj.setvalue("PrintPickingSheets$",sPPS)
retval = obusobj.setvalue("PickingSheetPrinted$",sPSP)

I have tried this set to a Column Pre Validate and a Column Post Validate and neither has worked for me automatically. I placed the field in Sales Order Entry and if I change the # in the UDF then the script runs and resets the print flags as desired. So, I don't understand why it doesn't work when the field changes on it's own (when we process a shipment). Pulling in the data tables I can see that the field is updating as we do shipments against the order. I just don't understand why the script isn't executing on it's own. There are no other scripts running for SO_SalesOrderHeader. Help?