I first created a materialized view that was based on the org striped views like po_headers hence the automatic refresh was not happening.
After automatic complete refresh, the materialized view was showing null records.
Hence I based the materialized view on "_all" tables and then based a view on this materialized view and this view I made org striped.
In the materialized view , I was refering to ap_invoices_pkg.get_approval_status() this pkg internally uses org striped views like ap_invoices so I made a wrapper on top of this where I set the org context first and then I call the ap_invoices_pkg.
This wrapper I call in my materialized view query..
Is this approach correct in oracle apps.. I am doing this for the first time in apps..