Du bør bruge en sideproces til at beregne en URL. Dette kunne være en Ajax-proces:
DECLARE l_url varchar2(2000); l_app nummer :=v('APP_ID'); l_sessionsnummer :=v('APP_SESSION'); l_item_name VARCHAR2(2000) :='P27_XYZ';BEGIN l_url :=APEX_UTIL.PREPARE_URL( p_url => 'f?p=' || l_app || ':'||apex_application.g_x01||':|||l_session |'::NO::'||l_item_name||':'||apex_application.g_x02, p_checksum_type => 'SESSION'); htp.p(l_url);END;
Kald det med dette Javascript:
apex.server.process( 'PREPARE_URL', { x01:27, x02:'myvalue' }, { success:function (pData) { console.log(pData); }, dataType:"text" });
Du får en javascript-kode tilbage, og det skal du ringe til. Det vil beregne den korrekte kontrolsum, og du kan åbne dialogboksen perfekt.