Answer
Use the 'Remove Obsolete Objects' section at the end of your UPG file, rather than directly calling raw drop procedures like database_sys.remove_package/table/view yourself — that section is specifically designed for dropping obsolete views, packages, report tables, and related objects as part of an upgrade. Never directly drop columns or tables that could cause data loss for a customer, though — for those, use Database_SYS's Obsolete_Column and Obsolete_Table methods instead, which drop constraints and rename the objects with a recognizable OBSOLETE_ prefix/suffix pattern rather than deleting them outright; the actual removal of those renamed objects then happens later, handled in the component's clear-script (the <component>cl.sql file), not in the UPG file itself.