I had read in reply to a similar question that the way around the mutating table problem was to create a before trigger to collect the data needed in global package variable.
I followed this advice but I am still getting the ora-04091 error.
I created before trigger that calls a function in a package that also contains a public pl/sql table to store the information I need in the after trigger. The function contains a cursor that includes a reference to the trigger table.
Am I correct in assuming that I cannot query the table being updated period! (i.e. in either the before or after trigger)!