1 Reply Latest reply: Dec 14, 2011 10:48 PM by joelkallman-Oracle RSS

    APEX_APPLICATION_INSTALL for Page Export/Import

    901050
      Forgive me if this is a question with an obvious answer, but I wanted to be sure. The core question is can I use APEX_APPLICATION_INSTALL to install just a page. Here is the detailed question for the benefit of others.

      When I export and then import a page from a workspace on one machine to totally separate work space on a different machine I get the following error via the GUI:

      "This page was exported from a different application or from an application in different workspace. Page cannot be installed in this application."

      I of course came across Joel's blog (http://joelkallman.blogspot.com/2010/07/apexapplicationinstall.html) and the same information in documentation (http://download.oracle.com/docs/cd/E17556_01/doc/apirefs.40/e15519/apex_app_inst.htm).

      However, it is not clear if importing a page export (not an application exported) is supported by this package. I have tried quickly, and it seems to work, but that does not mean it is supposed to.

      In my example, with a page import I assume I would just do the following (WS=JT, Parsing SCHEME=JT)

      Connect to JT vai sql*plus and...

      declare
      l_workspace_id number;
      begin
      select workspace_id into l_workspace_id
      from apex_workspaces
      where workspace = 'JT';
      --
      apex_application_install.set_workspace_id( l_workspace_id );
      apex_application_install.set_application_id(500);
      apex_application_install.generate_offset;
      apex_application_install.set_schema( 'JT' );
      end;
      /

      Then run page import SQL

      @f500_page_650.sql

      Is that intended to work through the API?
        • 1. Re: APEX_APPLICATION_INSTALL for Page Export/Import
          joelkallman-Oracle
          "JT",

          Yes, you can use the APEX_APPLICATION_INSTALL API with the page export files. That is expected and supported.

          However, I think the following line is incorrect:

          apex_application_install.generate_offset;

          Instead of generating a new offset every time, you'll want to specify the offset that is already in place between your two different workspaces and applications. The reason being that the shared components will need to use the existing offset (components like shared LOVs, templates, etc.).

          Joel