if the page you are embedding in the iframe does not require authentication, you should be able to use a before header application process that simply calls
sys.htp.p('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
The src of the iframe probably needs session id 0, to prevent an initial redirect to set the session cookie, which would not execute the before header process.
Thanks for looking in to this...
This did not fix it :-(
However, I used to inspect the response headers and found that unless the page I was attempting to access was LOGIN_DESKTOP then the response was : 302 Moved Temporarily
Content (encoded: 0.24 KiB / decoded: 0.37 KiB)
<html><head><title>302 Moved Temporarily</title></head> <body bgcolor="#FFFFFF"> <p>This document you requested has moved temporarily.</p> <p>It's now at <a href="https://production001-demandanalysis.db.em1.oraclecloudapps.com/apex/f?p=20300147:111:0:::::">https://production001-demandanalysis.db.em1.oraclecloudapps.com/apex/f?p=20300147:111:0:::::</a>.</p> </body></html>
This may have been causing the error in the iFrame...
So I changed the Home URL and Login URL to : f?p=&APP_ID.:111:0
and it now appears to load fine :-)