[Home] [Help]
PACKAGE BODY: APPS.WF_RESOURCE_LOAD
Source
1 package body WF_RESOURCE_LOAD as
2 /* $Header: wfrsldrb.pls 120.3 2005/10/13 23:38:01 rtodi noship $ */
3
4 --
5 -- UPLOAD_RESOURCE
6 --
7 procedure UPLOAD_RESOURCE (
8 x_type in varchar2,
9 x_name in varchar2,
10 x_protect_level in number,
11 x_custom_level in number,
12 x_id in number,
13 x_text in varchar2,
14 x_level_error out nocopy number
15 ) is
16 row_id varchar2(30);
17 protection_level number;
18 customization_level number;
19 begin
20 -- No need to reset cache in upload_resource
21 -- WF_CACHE.Reset;
22
23 -- Check protection level
24 x_level_error := 0;
25 begin
26 select PROTECT_LEVEL, CUSTOM_LEVEL
27 into protection_level, customization_level
28 from WF_RESOURCES
29 where NAME = x_name
30 and TYPE = x_type
31 and LANGUAGE = userenv('LANG');
32
33 if ((wf_core.upload_mode <> 'FORCE') and
34 (protection_level < wf_core.session_level)) then
35 x_level_error := 1;
36 return;
37 end if;
38
39 if ((wf_core.upload_mode = 'UPGRADE') and
40 (customization_level > wf_core.session_level)) then
41 x_level_error := 2;
42 return;
43 end if;
44
45 -- Update existing row
46 Wf_Resources_Pkg.Update_Row (
47 x_type => x_type,
48 x_name => x_name,
49 x_protect_level => x_protect_level,
50 x_custom_level => x_custom_level,
51 x_id => x_id,
52 x_text => x_text
53 );
54
55 exception
56 when no_data_found then
57 -- Check protection level for new row
58 if ((wf_core.upload_mode <> 'FORCE') and
59 (x_protect_level < wf_core.session_level)) then
60 x_level_error := 1;
61 return;
62 end if;
63
64 if ((wf_core.upload_mode = 'UPGRADE') and
65 (x_custom_level > wf_core.session_level)) then
66 x_level_error := 2;
67 return;
68 end if;
69
70 -- Insert new row
71 Wf_Resources_Pkg.Insert_Row (
72 x_rowid => row_id,
73 x_type => x_type,
74 x_name => x_name,
75 x_protect_level => x_protect_level,
76 x_custom_level => x_custom_level,
77 x_id => x_id,
78 x_text => x_text
79 );
80 end;
81
82 exception
83 when others then
84 Wf_Core.Context('WF_RESOURCE_LOAD', 'Upload_Resource', x_name, x_type);
85 raise;
86 end UPLOAD_RESOURCE;
87
88 end WF_RESOURCE_LOAD;