several options here:
the Best is to use STAGING TABLES
you could also change the TRUNCATE to DELETE and wrap all in one transaction. at the end if no rows are avail do a rollback but that thoes not looks good to me.
Last and not least check the source with a query and if no rows then exit the package