DBA Data[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;