I have a table in the first half of the page and I want to print the same table in the second half of the page.
I tried adding two detail bands but I can't put a separator between the two bands.
You cannot display data twice unless it exists twice.
What you can do is update your dataset and UNION the results to itself. During that process, you may want to add a hardcoded column like REC_TYPE to help you identify where the data should print.
SELECT 'top' AS REC_TYPE, field1, field2 FROM My_Table UNION SELECT 'bottom', field1, field2 FROM My_Table