Supporting Object Install Scripts - populate clob table
All
Before I delve into exactly how I thought I'd ask the forum if anyone had packaged up an install script to populate a table with a clob column?
I have an app that I am finishing up and the one remaining table has a clob column which obviously doesn't make for simple SQL inserts due to the CLOB type.
Thanks in advance
Phil
Hi Vadimon,
Thanks for reporting this, however I am struggling to reproduce the issue.
I created an application with 2 installation scripts (1 without a condition and 1 with a condition set to NEVER), then imported this into a 4.1 instance installing supporting objects. Here, only the 1 without a condition executed, as expected. I then created 2 upgrade scripts (again 1 without a condition and 1 with a condition set to NEVER), then re-imported this to upgrade the application. Again, only the 1 without a condition executed, as expected.
Would you be able to send me an export of an application where this reproduces, or provide the steps you took to reproduce this?
Regards,
Anthony.
Similar Messages
-
Install scripts to create tables used by Oracle Education 8i ILT classes
Hi all;
anyone knows how i can get the scripts to load the tables & data used in Oracle ILT 8i classes ?
Am working thru the practises from the study-guide (SQL & DBA), but does not hve those tables & data to work with.
Tks & rgs.Hi,
Did /u01/app/11.2.0/grid/cfgtoollogs/crsconfig/rootcrs_rakanum.log provide some details?
Are you using CFS for
OCR_LOCATION=/u01/shared_config/ocr_configuration
VF_DISCOVERY_STRING=/u01/shared_config/voting_disk
What are the perisions? What ls -l produces?
Regards, -
Calling Substitution Strings in Supporting Object Installs
So, for lack of a better way of putting it, I have a need to have user input durring the script install part of the supporting objects. I would like to use the Substitution String prompts but can not figure out where it stores the values durring install. It looks as if the system does not commit it to tbl until after the install scripts are done.
I need to create some views that have a different Databaselink based on site location and want the supporting object install scripts to prompt for the name so I can use it in the install process.
Testing on APEX 4.0.1 Oracle 11g
Thanks for any help.K, found something out. It does store it in a page variable P2103_SS_VALUES and can be called out using v('P2103_SS_VALUES') in the install scripts.
-
Using subsitiutions in the install scripts
This should be pretty obvious, but I can't find the answer in the documentation.
Using Apex 3.1.2, in the Shared Objects, I've created a substitution named "TABLESPACE". The application uses a set of tables, the install should create these tables, and DBA have funny ideas about where these tables should be created, so I'd like to offer the option of having the install process ask for and use the TABLESPACE.
So I create an install script called "create tables". The script text has the following:
CREATE TABLE table1 (ID NUMBER, NAME VARCHAR2(30))
TABLESPACE ??;
So how do I use the TABLESPACE substitution value in the install script above? Use "&TABLESPACE:", use ":TABLESPACE"?
Edited by: tjoneslo on Nov 25, 2008 11:56 AMTo answer my own question. The install scripts are run as sql (or pl/sql) statements. You can access the pre-defined substitution strings via the v('NAME') parameter call (e.g. v('APP_USER')) but the application substitution strings, even though we are prompting for them, are not available.
Which would make for a good enhancement. -
Exporting Apex pages and supporting objects
Hi
I want to export a selected number of pages from my Apex application plus all the supporting objects required for those pages (tables, procedures, etc) to another server.
I've been dabbling and found that I can generate a DDL for the supporting objects, and generate another script for the entire Apex application. Is there any way to do everything in a single script?
Basically I'm looking for the preferred way to export an application (and in particular I would like to be able to export selected parts of the application).Hi
I want to export a selected number of pages from my Apex application plus all the supporting objects required for those pages (tables, procedures, etc) to another server.
I've been dabbling and found that I can generate a DDL for the supporting objects, and generate another script for the entire Apex application. Is there any way to do everything in a single script?
Basically I'm looking for the preferred way to export an application (and in particular I would like to be able to export selected parts of the application). -
Error when installing the supporting objects of OLL Packaged Application
Hello,
I am trying to install OLL Packaged Application|http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/apex/r41/inst_pkgapp/inst_pkgapp.htm#top
but when installing the supporting objects, I got error when executing the code of "create_package_body"
Error at line 274: PLS-00201: identifier 'UTL_TCP' must be declared
create or replace package body eba_oll_log
as
g_start_time number;
procedure log_init
is
begin
g_start_time := dbms_utility.get_time;
end log_init;
procedure log_page_view
is
begin
insert into eba_oll_page_views
( APEX_USER,
PAGE_ID,
PAGE_NAME,
VIEW_DATE,
TS,
ELAPSED_TIME,
IP_ADDRESS,
AGENT,
APEX_SESSION_ID,
CONTENT_ID,
CONTENT_TITLE )
values
( v('APP_USER'),
v('APP_PAGE_ID'),
wwv_flow.g_step_title,
trunc(sysdate,'DD'),
systimestamp,
(dbms_utility.get_time-g_start_time)*(.01),
owa_util.get_cgi_env('REMOTE_ADDR'),
owa_util.get_cgi_env('HTTP_USER_AGENT'),
v('APP_SESSION'),
case when v('APP_PAGE_ID') = 24
then v('P24_CONTENT_ID')
else null
end,
case when v('APP_PAGE_ID') = 24
then v('P24_CONTENT_TITLE')
else null
end );
if v('APP_PAGE_ID') = 24 then
insert into eba_oll_content_views
( APEX_USER,
VIEW_DATE,
TS,
IP_ADDRESS,
AGENT,
APEX_SESSION_ID,
CONTENT_ID,
CONTENT_TITLE,
NOTE )
values
( v('APP_USER'),
trunc(sysdate,'DD'),
systimestamp,
owa_util.get_cgi_env('REMOTE_ADDR'),
owa_util.get_cgi_env('HTTP_USER_AGENT'),
v('APP_SESSION'),
v('P24_CONTENT_ID'),
v('P24_CONTENT_TITLE'),
'Viewed' );
end if;
commit;
end log_page_view;
procedure log_content_click
is
begin
insert into eba_oll_content_views
( APEX_USER,
VIEW_DATE,
TS,
IP_ADDRESS,
AGENT,
APEX_SESSION_ID,
CONTENT_ID,
CONTENT_TITLE,
NOTE )
values
( v('APP_USER'),
trunc(sysdate,'DD'),
systimestamp,
owa_util.get_cgi_env('REMOTE_ADDR'),
owa_util.get_cgi_env('HTTP_USER_AGENT'),
v('APP_SESSION'),
v('P24_CONTENT_ID'),
v('P24_CONTENT_TITLE'),
'Launched' );
commit;
end log_content_click;
end eba_oll_log;
create or replace package body eba_oll_api
as
function gen_id
return number
is
l_id number;
begin
select to_number(sys_guid(), 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
into l_id
from dual;
return l_id;
end gen_id;
function eba_oll_tags_cleaner (
p_tags in varchar2,
p_case in varchar2 default 'U' ) return varchar2
is
type tags is table of varchar2(255) index by varchar2(255);
l_tags_a tags;
l_tag varchar2(255);
l_tags apex_application_global.vc_arr2;
l_tags_string varchar2(32767);
i integer;
begin
l_tags := apex_util.string_to_table(p_tags,',');
for i in 1..l_tags.count loop
--remove all whitespace, including tabs, spaces, line feeds and carraige returns with a single space
l_tag := substr(trim(regexp_replace(l_tags(i),'[[:space:]]{1,}',' ')),1,255);
if l_tag is not null and l_tag != ' ' then
if p_case = 'U' then
l_tag := upper(l_tag);
elsif p_case = 'L' then
l_tag := lower(l_tag);
end if;
--add it to the associative array, if it is a duplicate, it will just be replaced
l_tags_a(l_tag) := l_tag;
end if;
end loop;
l_tag := null;
l_tag := l_tags_a.first;
while l_tag is not null loop
l_tags_string := l_tags_string||l_tag;
if l_tag != l_tags_a.last then
l_tags_string := l_tags_string||', ';
end if;
l_tag := l_tags_a.next(l_tag);
end loop;
return substr(l_tags_string,1,4000);
end eba_oll_tags_cleaner;
procedure eba_oll_tag_sync (
p_new_tags in varchar2,
p_old_tags in varchar2,
p_content_type in varchar2,
p_content_id in number )
as
type tags is table of varchar2(255) index by varchar2(255);
l_new_tags_a tags;
l_old_tags_a tags;
l_new_tags apex_application_global.vc_arr2;
l_old_tags apex_application_global.vc_arr2;
l_merge_tags apex_application_global.vc_arr2;
l_dummy_tag varchar2(255);
i integer;
begin
l_old_tags := apex_util.string_to_table(p_old_tags,', ');
l_new_tags := apex_util.string_to_table(p_new_tags,', ');
if l_old_tags.count > 0 then --do inserts and deletes
--build the associative arrays
for i in 1..l_old_tags.count loop
l_old_tags_a(l_old_tags(i)) := l_old_tags(i);
end loop;
for i in 1..l_new_tags.count loop
l_new_tags_a(l_new_tags(i)) := l_new_tags(i);
end loop;
--do the inserts
for i in 1..l_new_tags.count loop
begin
l_dummy_tag := l_old_tags_a(l_new_tags(i));
exception when no_data_found then
insert into eba_oll_tags (tag, content_id, content_type )
values (l_new_tags(i), p_content_id, p_content_type );
l_merge_tags(l_merge_tags.count + 1) := l_new_tags(i);
end;
end loop;
--do the deletes
for i in 1..l_old_tags.count loop
begin
l_dummy_tag := l_new_tags_a(l_old_tags(i));
exception when no_data_found then
delete from eba_oll_tags where content_id = p_content_id and tag = l_old_tags(i);
l_merge_tags(l_merge_tags.count + 1) := l_old_tags(i);
end;
end loop;
else --just do inserts
for i in 1..l_new_tags.count loop
insert into eba_oll_tags (tag, content_id, content_type )
values (l_new_tags(i), p_content_id, p_content_type );
l_merge_tags(l_merge_tags.count + 1) := l_new_tags(i);
end loop;
end if;
for i in 1..l_merge_tags.count loop
merge into eba_oll_tags_type_sum s
using (select count(*) tag_count
from eba_oll_tags
where tag = l_merge_tags(i) and content_type = p_content_type ) t
on (s.tag = l_merge_tags(i) and s.content_type = p_content_type )
when not matched then insert (tag, content_type, tag_count)
values (l_merge_tags(i), p_content_type, t.tag_count)
when matched then update set s.tag_count = t.tag_count;
merge into eba_oll_tags_sum s
using (select sum(tag_count) tag_count
from eba_oll_tags_type_sum
where tag = l_merge_tags(i) ) t
on (s.tag = l_merge_tags(i) )
when not matched then insert (tag, tag_count)
values (l_merge_tags(i), t.tag_count)
when matched then update set s.tag_count = t.tag_count;
end loop;
end eba_oll_tag_sync;
procedure render_tag_cloud (
p_selection in varchar2 default null,
p_app_id in number,
p_session_id in number,
p_min_nbr_tags in number default 1,
p_max in number default 100,
p_limit in number default 10000,
p_link_to_page in varchar2 default '2',
p_tag_item_filter in varchar2 default 'P2_TAGS',
p_clear_cache in varchar2 default '2,CIR,RIR',
p_more_page in varchar2 default '62' )
as
l_printed_records number := 0;
l_available_records number := 20;
l_max number;
l_min number;
l_class_size number;
l_class varchar2(30);
type l_tagtype is table of varchar2(2000);
l_tags l_tagtype;
type l_numtype is table of number;
l_cnts l_numtype;
l_size number;
l_total number :=0;
l_buffer varchar2(32676);
CURSOR c_all_tags
IS
select tag, c from (
select t.tag, count(*) c
from eba_oll_content c,
eba_oll_tags t
where c.content_id = t.content_id
and c.display_yn = 'Y'
and (p_selection is null or
(p_selection is not null and
( (substr(p_selection,1,1) = 'R' and
substr(p_selection,2) in (select release_id
from eba_oll_content_products cp
where cp.content_id = c.content_id))
or (substr(p_selection,1,1) = 'C' and
substr(p_selection,2) in (select product_id
from eba_oll_content_products cp
where cp.content_id = c.content_id))
or (substr(p_selection,1,1) = 'P' and
(substr(p_selection,2) in (select product_id
from eba_oll_content_products cp
where cp.content_id = c.content_id) or
substr(p_selection,2) in (select p.parent_product_id
from eba_oll_content_products cp,
eba_oll_products p
where cp.content_id = c.content_id
and cp.product_id = p.product_id)))
or (substr(p_selection,1,1) = 'G' and
(substr(p_selection,2) in (select pg.group_id
from eba_oll_product_groupings pg,
eba_oll_content_products cp
where pg.product_id = cp.product_id
and cp.content_id = c.content_id) or
substr(p_selection,2) in (select pg.group_id
from eba_oll_product_groupings pg,
eba_oll_products p,
eba_oll_content_products cp
where pg.product_id = p.parent_product_id
and p.product_id = cp.product_id
and cp.content_id = c.content_id)))
group by tag
) x where rownum < p_limit
and c >= p_min_nbr_tags
order by upper(tag) ;
begin
-- Fetch tags into arrays
open c_all_tags;
loop
fetch c_all_tags bulk collect into l_tags,l_cnts limit p_limit;
exit;
end loop;
close c_all_tags;
l_available_records := l_tags.count;
-- Determine total count and maximum tag counts
l_max := 0;
l_min := 1000;
FOR i in l_cnts.first..l_cnts.last loop
l_total := l_total + l_cnts(i);
if l_cnts(i) > l_max then
l_max := l_cnts(i);
end if;
if l_cnts(i) < l_min then
l_min := l_cnts(i);
end if;
end loop;
if l_max = 0 then l_max := 1; end if;
l_class_size := round((l_max-l_min)/6);
-- Generate tag cloud --
sys.htp.prn('<div class="tagCloud"><ul>');
for i in l_tags.first..l_tags.last loop
l_printed_records := l_printed_records + 1;
if l_cnts(i) < l_min + l_class_size then
l_class := 'size1';
elsif l_cnts(i) < l_min + (l_class_size*2) then
l_class := 'size2';
elsif l_cnts(i) < l_min + (l_class_size*3) then
l_class := 'size3';
elsif l_cnts(i) < l_min + (l_class_size*4) then
l_class := 'size4';
elsif l_cnts(i) < l_min + (l_class_size*5) then
l_class := 'size5';
else l_class := 'size6';
end if;
l_buffer := '<li><a class="'||l_class||'" href="'||
'f?p='||p_app_id||':'||p_link_to_page||':'||p_session_id||':::'||p_clear_cache||':'||
p_tag_item_filter||':'||htf.escape_sc(l_tags(i))||'">'||
htf.escape_sc(l_tags(i)) || '<span>' || l_cnts(i) || '</span></a></li>';
sys.htp.prn(l_buffer);
l_buffer := '';
if l_printed_records > p_max then
exit;
end if;
end loop;
sys.htp.prn('</ul></div>');
-- print if there's more
if l_tags.count - l_printed_records != 0 then
htp.prn('<p><a href="f?p='||p_app_id||':'||htf.escape_sc(p_more_page)||
':'||p_session_id||':::'||htf.escape_sc(p_more_page)||'">View all tags</a></p>');
end if;
exception when others then
sys.htp.prn('<p>No tags found.</p>');
end render_tag_cloud;
procedure email_when_feedback (
p_feedback_id in number,
p_host_url in varchar2,
p_app_id in number )
is
l_body clob;
l_body_html clob;
begin
for c1 in (
select f.feedback_comment, f.feedback_by,
c.title, nvl(ct.feedback_contacts,'[email protected]') email
from eba_oll_content_feedback f,
eba_oll_content c,
eba_oll_team ct
where f.id = p_feedback_id
and f.content_id = c.content_id
and c.team_id = ct.team_id (+) )
loop
l_body := 'You have received feedback for a piece of content you own in the Oracle Learning Library (OLL) Application.
Content: '|| c1.title || utl_tcp.crlf || '
Feedback: '|| c1.feedback_comment || utl_tcp.crlf || '
Left by: '|| lower(c1.feedback_by) ||'
You can respond via the OLL Application, '||p_host_url||'f?p='||p_app_id||':47:::NO::P47_ID:' || p_feedback_id || '.';
l_body_html := '<div style="border: 1px solid #DDD; background-color: #F8F8F8; width: 460px; margin: 0 auto; -moz-border-radius: 10px; -webkit-border-radius: 10px; padding: 20px;">
<p style="font: bold 12px/16px Arial, sans-serif; margin: 0 0 10px 0; padding: 0;">
You have received feedback for a piece of content you own in the Oracle Learning Library (OLL) Application.
</p>
<table style="width: 100%;" cellspacing="0" cellpadding="0" border="0">
<tr>' || utl_tcp.crlf || '
<td style="font: bold 12px/16px Arial, sans-serif; color: #666; padding: 0 10px 10px 0; vertical-align: top;">Content</td>
<td style="font: normal 12px/16px Arial, sans-serif; padding: 0 10px 10px 0; vertical-align: top;"><a href="#" style="color: #000">'||c1.title||'</a></td>
</tr>
<tr>' || utl_tcp.crlf || '
<td style="font: bold 12px/16px Arial, sans-serif; color: #666; padding: 0 10px 10px 0; vertical-align: top;">Feedback</td>
<td style="font: normal 12px/16px Arial, sans-serif; padding: 0 10px 10px 0; vertical-align: top;">'||replace(c1.feedback_comment,CHR(10),'<br/>')||'</td>
</tr>
<tr>' || utl_tcp.crlf || '
<td style="font: bold 12px/16px Arial, sans-serif; color: #666; padding: 0 10px 10px 0; vertical-align: top;">Left by</td>
<td style="font: bold 12px/16px Arial, sans-serif; padding: 0 10px 10px 0; vertical-align: top;">'||lower(c1.feedback_by)||'</td>
</tr>
<tr>' || utl_tcp.crlf || '
<td colspan="2" style="text-align: center; font: normal 12px/16px Arial, sans-serif; padding: 0 10px 10px 0; vertical-align: top;">
<a href="'||p_host_url||'f?p='||p_app_id||':47:::NO::P47_ID:' || p_feedback_id ||'" style="display: block; padding: 10px; background-color: #EEE; font: bold 16px/16px Arial, sans-serif; color: #444">Respond to this Feedback</a>
</td>
</tr>
</table>
</div>';
apex_mail.send (
p_to => c1.email,
p_from => '[email protected]',
p_subj => 'OLL - New Feedback for your team',
p_body => l_body,
p_body_html => l_body_html );
end loop;
end email_when_feedback;
procedure email_when_response (
p_feedback_id in number,
p_host_url in varchar2,
p_app_id in number )
is
l_body clob;
l_body_html clob;
begin
for c1 in (
select f.feedback_comment, f.feedback_by, f.response, c.title
from eba_oll_content_feedback f,
eba_oll_content c
where f.id = p_feedback_id
and f.content_id = c.content_id )
loop
l_body := 'You have received a response to your feedback left in the Oracle Learning Library (OLL) Application.
Content: '|| c1.title || '
Feedback: '|| c1.feedback_comment || '
Response: '|| c1.response || '
You can also view this response via the OLL Application, '||p_host_url||'f?p='||p_app_id||':60:::NO::IR_ID:' || p_feedback_id || '.';
l_body_html := '<div style="border: 1px solid #DDD; background-color: #F8F8F8; width: 460px; margin: 0 auto; -moz-border-radius: 10px; -webkit-border-radius: 10px; padding: 20px;">
<p style="font: bold 12px/16px Arial, sans-serif; margin: 0 0 10px 0; padding: 0;">
You have received a response to your feedback left in the Oracle Learning Library (OLL) Application.
</p>
<table style="width: 100%;" cellspacing="0" cellpadding="0" border="0">
<tr>' || utl_tcp.crlf || '
<td style="font: bold 12px/16px Arial, sans-serif; color: #666; padding: 0 10px 10px 0; vertical-align: top;">Content</td>
<td style="font: normal 12px/16px Arial, sans-serif; padding: 0 10px 10px 0; vertical-align: top;"><a href="#" style="color: #000">'||c1.title||'</a></td>
</tr>
<tr>' || utl_tcp.crlf || '
<td style="font: bold 12px/16px Arial, sans-serif; color: #666; padding: 0 10px 10px 0; vertical-align: top;">Feedback</td>
<td style="font: normal 12px/16px Arial, sans-serif; padding: 0 10px 10px 0; vertical-align: top;">'||replace(c1.feedback_comment,CHR(10),'<br/>')||'</td>
</tr>
<tr>' || utl_tcp.crlf || '
<td style="font: bold 12px/16px Arial, sans-serif; color: #666; padding: 0 10px 10px 0; vertical-align: top;">Response</td>
<td style="font: bold 12px/16px Arial, sans-serif; padding: 0 10px 10px 0; vertical-align: top;">'||replace(c1.response,CHR(10),'<br/>')||'</td>
</tr>
<tr>' || utl_tcp.crlf || '
<td colspan="2" style="text-align: center; font: normal 12px/16px Arial, sans-serif; padding: 0 10px 10px 0; vertical-align: top;">
<a href="'||p_host_url||'f?p='||p_app_id||':60:::NO::IR_ID:' || p_feedback_id ||'" style="display: block; padding: 10px; background-color: #EEE; font: bold 16px/16px Arial, sans-serif; color: #444">View Response in OLL Application</a>
</td>
</tr>
</table>
</div>';
apex_mail.send (
p_to => c1.feedback_by,
p_from => '[email protected]',
p_subj => 'Oracle Learning Library - Response to your Feedback',
p_body => l_body,
p_body_html => l_body_html );
end loop;
end email_when_response;
end eba_oll_api;
/Error at line 274: PLS-00201: identifier 'UTL_TCP' must be declared
Edited by: Fateh on Jan 13, 2012 7:32 AMThanks & Sorry for not mentioning the full information about my environment.
it was:
Oracle 11g xe R2 on Windows 7 machine
Apex listener deployed on Glass Fish server 3.1 on Windows 7 machine
Apex 4.1
Google Chrome
So, to have OLL application worked locally . we need the following:
grant execute on utl_tcp to [your_schema_name]And to
Configure an Application Express Application as a Partner Application in Oracle AS Single Sign-On http://www.oracle.com/technetwork/testcontent/sso-partner-app-100552.html.
I think I am going to install on my work space on apex.oracle.com.
Regards,
Fateh
Edited by: Fateh on Jan 15, 2012 9:38 AM -
How to populate a table in the html page from the java script
Hi all,
I have doubt in populating a table in the html page. my application is as follows
I have a html page in which i have a combo box and a table following the combo box.
i have to populate the table depending on the item selected in the combo box.
for this i am using javascript to get the value of combo box onClick
then i have to call some function thru jsp to get the data and then i have to populate the table with thst into from java script
how can i do this, i.e populating html table from java script
Thanks in advance
satyaHi Mihai,
You can populate data in DO_INIT_CONTEXT method of ur impl class in your Z component.
data:
lv_struct_ref type ref to YOUR_STRUCTURE,
lv_value_node type ref to cl_bsp_wd_value_node,
lv_bo_coll type ref to if_bol_bo_col.
Data: current type ref to if_bol_bo_property_access.
data: dref type ref to data.
data: lv_guid_h type crmt_object_guid.
data: lt_attr type table of YOUR_STRUCTURE.
data: ls_attr type YOUR_STRUCTURE.
data: lr_entity type ref to cl_crm_bol_entity.
create object lv_bo_coll type cl_crm_bol_bo_col.
lt_attr is ur internal table.
Loop at lt_attr into ls_attr.
create data lv_struct_ref.
create object lv_value_node
exporting
iv_data_ref = lv_struct_ref.
call method lv_value_node->if_bol_bo_property_access~set_property
exporting
iv_attr_name = 'YOURFIELDNAME1'
iv_value = ls_attr-firstname.
call method lv_value_node->if_bol_bo_property_access~set_property
exporting
iv_attr_name = ' YOURFIELDNAME2'
iv_value = ls_attr-lastname.
lv_bo_coll->add( lv_value_node ).
typed_context->YOURCONTEXTNODE->set_collection( lv_bo_coll ).
endloop.
Regards,
Raghu -
Images in supporting object script
I have noticed in Dene's application* that he has images in the supporting object script. I wanted to do this a while ago** but left images to be installed after the application using the separate import image function. Obviously, I would like to reduce this step to install in one shot. Is this possible or will it be in 3.1?
Phil
* http://htmldb.oracle.com/pls/otn/f?p=31517:90
** Re: Packaged app - image script problemSolved this by doing some research - did an image export from the application and then replacing the application ID in the script with v('FB_FLOW_ID')
( Re: Installed APP_ID in supporting objects seed data Thanks Scott!)
Phil -
How to edit the installation scripts in the supporting objects
I wanted to update one of the installation scripts in the supporting objects. I clicked into that script and use the "script editor" tab. After editing the script, I clicked "Apply Changes" button. It redirected me to the upper level of the page. When I reopen the script, the content of this script is messed up and has the content of another script, not what I have changed. What could happen with it? There is one case that the script was all wiped out!
One general question, how can I easily update the install scripts and reload it without export and import the whole application? or Can I?
Thanks
FengtingFengting,
I am not sure what causes this, but I have had the same issue with shared components >> report queries. Sometimes if you have multiple report queries it becomes impossible to edit any of them. If I remember correctly I tried using a different browser and everything seemed to work ok. I was using Firefox when I was having the issue.
Sorry this is not an answer, but I feel your pain!
Cheers,
Tyson Jouglet -
Remove supporting object in Deinstallation Script
Hello.
I want to define a deinstallation script for my application. It should remove all created database objects and the supporting objects.
I can remove the database objects with SQL statements. But what is the command to remove supporting objects?
Maybe you can give me an example to remove an icon called delete.gif. (I think static items and images are handled in the same way, aren't they?)
Thank you very much.
Stephanbegin
wwv_flow_api.create_or_remove_file(
p_location => 'WORKSPACE',
p_name => 'image.gif',
p_mode => 'REMOVE',
p_type => 'STATIC');
end; -
Just update to Pages 5.1 - its dropped the pictures from my old Pages files - 'Some features aren't supported - objects in table cells were removed' - how do I get the pictures back?
Thanks Peter
Can you just walk me through dumping Pages 5 and getting to the Applications/iWork folder - and does this mean that when I see future Pages Upgrades I should block them?
I'm new to Apple so need a step by step
Many thanks
Glyptic -
Unable to install supporting objects(custom CSS/Images) through SQL
4.2.1
Hi there,
we have a Apex app which uses custom CSS/images loaded into shared objects CSS and image folders respectively. I followed the steps
http://nerd.net.au/29-apex-application-express/general-application/122-include-images-with-supporting-objects-on-apex-export-import
Now, this works fine when we manually import the application through application builder, it "prompts" if we want to install supporting objects, when yes is selected, everything gets installed.
MY problem is we have an automated patching process where the .sql application file gets installed but the supporting objects are not. So I tried bundling the supporting object as a separate .sql file but got an error
Testing options PL/SQL procedure successfully completed. declare * ERROR at line 1: ORA-20001: Package variable g_security_group_id must be set. ORA-06512: at "APEX_040200.WWV_FLOW_IMAGE_API", line 11 ORA-06512: at "APEX_040200.WWV_FLOW_IMAGE_API", line 31 ORA-06512: at
The supporting object is a button. Do I need to set the application id or security group id or something else?
begin
wwv_flow_api.g_varchar2_table := wwv_flow_api.empty_varchar2_table;
wwv_flow_api.g_varchar2_table(1) := '89504E470D0A1A0A0000000D494844520000009600000051080600000030EC5FEE000000097048597300000B1300000B1301009A9C1800000A4D6943435050686F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDFF7650F56';
wwv_flow_api.g_varchar2_table(2) := '42D8F0B1976C81002223AC08C81059A21092006184101240C585880A561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B57D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD81F8F4F48C4C9BD80';
wwv_flow_api.g_varchar2_table(3) := '021548E0042010E6CBC26705C50000F00379787E74B03FFC01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E0500D8A993DC1700D8A21CA908';
wwv_flow_api.g_varchar2_table(4) := '008D0100992847240240BB00605581522C02C0C200A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422CCC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD974BD23314B895D01A77F2F0E0E221E2C2';
wwv_flow_api.g_varchar2_table(5) := '6CB142611729106609E4229C979B231348E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA560068DFF95D33DB09A05A0AD07AF98B7938FC40';
wwv_flow_api.g_varchar2_table(6) := '1E9EA150C83C1D1C0A0B0BED2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158AF15889B850224DC779B952914421C995E212E97F32F11F96';
wwv_flow_api.g_varchar2_table(7) := 'FD0993770D00AC864FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B91001067343279F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C1042';
wwv_flow_api.g_varchar2_table(8) := '06E4801C0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70170660189EC218BC86090441C8081361213A8811628ED822CE0817998E04226148349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA';
wwv_flow_api.g_varchar2_table(147) := 'A514B7B6B6EA5AADA60B8582EAECEC54511471BD5EE7BEBE3EBF4E108FCA58FE9601580A68199FDAF12F8D1DDB5E3386221ADD8E3AF3CEC772A73505D60820C32BF0238E6DAF5D508DBAFFF2CFACE20C3E9A03E2789F3430B68D6DAF641BF33D8D6D63C0';
wwv_flow_api.g_varchar2_table(148) := '1ADBC68035B68D016B6C1BDBC68035B6BD46B6FF3B0074B1DD40306DC6CD0000000049454E44AE426082';
end;
declare
l_name varchar2(255);
begin
l_name := 'logo.png';
wwv_flow_api.create_or_remove_file(
p_name=> l_name,
p_varchar2_table=> wwv_flow_api.g_varchar2_table,
p_mimetype=> 'image/png',
p_location=> 'WORKSPACE',
p_nlang=> '0',
p_mode=> 'CREATE_OR_REPLACE',
p_type=> 'IMAGE');
end;
/Thanks Fac586! I did follow the process on those lines and was able to successfully get the images, application installed. The CSS which just had
body {
background-color:#000000;
}Was also applied. However, it for some reason does not work. Looks like the CSS is not getting loaded. When I delete the CSS and upload it again through the shared components->CSS folder, it works fine. Not sure what the solution is!
Oh and by the way, thanks a ton for helping everyone!
Cheers,
Ryan -
Supporting objects was not installed successfully from the APEX 3.2 to 4.1
Hi, gurus:
greetings! I have a question regarding migrating application from 3.2 to 4.1. I need to migrate an application in a APEX 3.2 workspace to a new workspace of APEX 4.1. I exported the application from the APEX 3.2 workspace and imported it again to workspace of APEX 4.1, everything works fine except supporting objects was not installed successfully, and the application cannot show images. Could anyone give me a hint to find the cause and solution?
Thanks a lot!
SamHi, Tony:
Nice to see you again! :) It proved out that was due to the wrong file format, I should choose UNIX file format to export my application from APEX 3.2 workspace instead of choosing DOS file format to export. Though I am still confused, Why this does matter? I used to export and import with random file type, as long as I keep consistency of file type for export and import, it never give me trouble like this.
I got the following error message
The following prerequisite checks failed. Installation of this application's supporting objects cannot continue until these issues are resolved.
To continue installation after addressing the errors, navigate to the Supporting Object Definitions of this application and click INSTALL in the Supporting Objects Installation section.
Alternatively, you can deinstall the application definition and reinstall after resolving these issues.
Object Names: EBA_CUST_ACTIVITY_TYPES, EBA_CUST_ADMINISTRATORS, EBA_CUST_ASSOCIATIONS, EBA_CUST_CATEGORIES, EBA_CUST_CONTACTS, EBA_CUST_CONTACT_TYPES, EBA_CUST_CUSTOMERS, EBA_CUST_CUST_ACTIVITY, EBA_CUST_LINKS, EBA_CUST_STATUS, EBA_CUST_VIEWS_LOG, EBA_CUST
Sam
Edited by: lxiscas on Dec 11, 2012 7:06 AM -
Populate a table reading the data from a TXT file
how can I populate a table reading the data from a TXT file?
thanksHey Kevin!
Using FORMS.TEXT_IO to bulk load data from a file strikes me as re-inventing the wheel. It is just about justifiable in a self-service environment, but I regard the EXTERNAL TABLE is a better solution for that situation as well.
The same applies to UTL_FILE. I think the ability to read text with UTL_FILE is primarily intended for read file-based configuration or file manipulation/processing rather than data loading.
Re-writing a text file into SQL statements is too much like hard work (even with an editor that supports macro definition and regular expressions) for no real benefit. You lose all the bulk load peformance you would get from SQL*Loader. But for QAD I'd probably let you off with it.
You missed out one obvious alternative: using Java to turn the contents of an XML file into a CLOB and inserting it into a table which is read by a PL/SQL procedure that parses the XML records and insert the retrieved data into a table.
Stay lucky, APC -
Xdb_installation_trigger does not support object creation of type SNAPSHOT
hi everyone, i'm using Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit on solaris sparc 5.10
we like to send an email through SSL, and after searching here and there I found out that oracle DB 11g able to go throught the SSL.
since upgrade our DB to 11g would not be an option, so i tried to export XDB of 11g and import it into XDB 10gR2 schema, it was a mess...
then i just reinstall XDB using catnoqm.sql & catqm.sql
and now one of our programmer cant run some script like above
CREATE MATERIALIZED VIEW FIFSYS_MKT_SCHEME_MV_COY
TABLESPACE MARKETING_TABLES
PCTUSED 40
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
+)+
NOCACHE
LOGGING
NOCOMPRESS
NOPARALLEL
BUILD IMMEDIATE
REFRESH FORCE ON DEMAND
WITH PRIMARY KEY
AS
+/* Formatted on 9/23/2010 1:07:42 PM (QP5 v5.114.809.3010) */+
SELECT coy_id,
appl_branch_id,
appl_object_code,
product_type,
ppdcf_paid_date,
SUM (scheme_adm) scheme_adm,
SUM (appl_unit) appl_unit,
SYSDATE mkt_sysdate
FROM (SELECT NVL (a.coy_id, '01') coy_id,
a.branch_id appl_branch_id,
DECODE (a.buss_unit, 'NMC', '2101', 'UMC', '2102', '2352')
appl_object_code,
a.platform product_type,
TRUNC (c.contract_active_date) ppdcf_paid_date,
NVL (s.ms_amt, 0) scheme_adm,
NVL (o.total_item, 0) appl_unit
FROM ordmgmt.om_trn_appl_ms_lvl_object s,
ordmgmt.om_trn_appl_hdr a,
acctmgmt.ar_trn_sum_contracts c,
+( SELECT appl_no, COUNT ( * ) total_item+
FROM ordmgmt.om_trn_appl_object
GROUP BY appl_no) o
WHERE s.appl_no = a.appl_no
AND a.appl_no = o.appl_no
AND s.ms_code IN ('MS03', 'MS14')
AND c.appl_no = a.appl_no
AND c.contract_no = a.contract_no
+/*AND c.office_code = a.branch_id*/+
AND NVL (a.coy_id, '01') = NVL (c.coy_id, '01'))
GROUP BY coy_id,
appl_branch_id,
appl_object_code,
product_type,
ppdcf_paid_date;
COMMENT ON MATERIALIZED VIEW FIFSYS_MKT_SCHEME_MV_COY IS 'snapshot table for snapshot MARKETING.FIFSYS_MKT_SCHEME_MV_COY';
and this error shown:
ORA-00604 error occurred at recursive SQL level 1
ORA-20000 Trigger xdb_installation_trigger does not support object creation of type SNAPSHOT
ORA-06512 at line 32
maybe some of you know how to solve this problem??
and, this in the script of the xdb_installation_trigger
DROP TRIGGER SYS.XDB_INSTALLATION_TRIGGER;
CREATE OR REPLACE TRIGGER SYS.xdb_installation_trigger
BEFORE
CREATE ON DATABASE
DECLARE
sql_text varchar2(200);
val number;
BEGIN
if (dictionary_obj_owner != 'XDB') then
if (dictionary_obj_type = 'FUNCTION' or
dictionary_obj_type = 'INDEX' or
dictionary_obj_type = 'PACKAGE' or
dictionary_obj_type = 'PACKAGE BODY' or
dictionary_obj_type = 'PROCEDURE' or
dictionary_obj_type = 'SYNONYM' or
dictionary_obj_type = 'TABLE' or
dictionary_obj_type = 'TABLESPACE' or
dictionary_obj_type = 'TYPE' or
dictionary_obj_type = 'VIEW' or
dictionary_obj_type = 'USER'
+)then+
if (dictionary_obj_type != 'PACKAGE BODY'
+) then+
sql_text := 'select count(*) from ALL_OBJECTS where owner = :1 and object_name = :2 and object_type = :3';
execute immediate sql_text into val using dictionary_obj_owner, dictionary_obj_name, dictionary_obj_type;
if (val = 0) then
sql_text := 'select count(*) from dropped_xdb_instll_tab where owner = :1 and object_name = :2 and object_type = :3';
execute immediate sql_text into val using dictionary_obj_owner, dictionary_obj_name, dictionary_obj_type;
if (val = 0) then
insert into xdb_installation_tab values
+(dictionary_obj_owner, dictionary_obj_name, dictionary_obj_type);+
end if;
end if;
end if;
else
raise_application_error(-20000, 'Trigger xdb_installation_trigger does not support object creation of type '||dictionary_obj_type);
end if;
end if;
end;
+/+
/********************************************************************************/i'm so careless, after checking a fresh installation of the same version DB, i dont found xdb_installation_trigger.
so just by simply remove that trigger & everything works just fine. :)
Maybe you are looking for
-
I have replaced my optical drive with a DataDoubler and they both work fine but the new external optical drive enclosure doesn't work with the optical drive I took out of my Mid 2012 Macbook Pro... Well it does work and recognises my optical drive pe
-
Sir , Monitor blue light blinking in the Power Key (blue light blinking hp vs196 ) , I had tried different Cables and different outlet but still the same problem . Best Regards
-
Need to update my iphone 4 operation system
Bought my iphone 4 in sept 2011...have not updated my operating system since then...I need to find out how to do that...
-
Parse Outlook msg files in ABAP
Hi, I'm looking for a way to parse Outlook MSG-Files in ABAP. E.g. to extract the subject line of a message. In my scenario the files are stored in DMS and have to be processed within a background job. Right now i had no luck in converting the binary
-
Does anybody know when iTunes Match will be available in Austria?
thanks for infos