DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_API_MODULE_INTERNAL

Source


1 Package Body hr_api_module_internal as
2 /* $Header: peamdbsi.pkb 115.0 99/07/17 18:29:25 porting ship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  hr_api_module_internal.';
7 --
8 -- ------------------------------------------------------------------------
9 -- |--------------------------< create_api_module >----------------------------|
10 -- ------------------------------------------------------------------------
11 --
12 procedure create_api_module
13   (p_validate                      in      boolean  default false,
14    p_effective_date                in      date,
15    p_api_module_type               IN      varchar2,
16    p_module_name                   IN      varchar2,
17    p_data_within_business_group    IN      varchar2   default 'Y',
18    p_legislation_code              IN      varchar2   default null,
19    p_module_package                IN      varchar2   default null,
20    p_api_module_id                 OUT     number)  is
21   --
22   -- Declare cursors and local variables
23   --
24   l_effective_date      date;
25   --
26   -- Out variables
27   --
28   l_api_module_id              hr_api_modules.api_module_id%TYPE;
29   --
30   l_proc                       varchar2(72) := g_package||'create_module';
31   --
32   -- Declare a cursor that will check whether the passed
33   -- in module type and module name form a unique combination
34   --
35   cursor csr_valid_combo is
36   select api_module_id from hr_api_modules ham
37   where ham.module_name = p_module_name
38   and   ham.api_module_type = p_api_module_type;
39   --
40 begin
41   hr_utility.set_location('Entering:'|| l_proc, 5);
42   --
43   -- Set l_effective_date equal to truncated version of p_effective_date for
44   -- API work. Stops dates being passed to row handlers with time portion.
45   --
46   l_effective_date := trunc(p_effective_date);
47   --
48   -- Issue a savepoint if operating in validation only mode.
49   --
50   if p_validate then
51     savepoint create_api_module;
52   end if;
53   --
54   hr_utility.set_location(l_proc, 10);
55   --
56   -- Validation in addition to Table Handlers
57   --
58   -- None required.
59   --
60   -- Process Logic
61   --
62   --------------------------------------------------------
63   -- Check for unique Module name and module type combo --
64   --------------------------------------------------------
65      open csr_valid_combo;
66      fetch csr_valid_combo into l_api_module_id;
67 
68      -- If the module does not exist then create it.
69      -- Do not error if the module does exist, simply return.
70      --
71      if csr_valid_combo%notfound then
72         --
73         -- Insert the module.
74         --
75            hr_amd_ins.ins
76            (
77             p_api_module_id                => l_api_module_id,
78             p_effective_date               => l_effective_date,
79             p_api_module_type              => p_api_module_type,
80             p_module_name                  => p_module_name,
81             p_data_within_business_group   => p_data_within_business_group,
82             p_legislation_code             => p_legislation_code,
83             p_module_package               => p_module_package
84            );
85      end if;
86      close csr_valid_combo;
87   --
88   hr_utility.set_location(l_proc, 20);
89   --
90   -- When in validation only mode raise the Validate_Enabled exception
91   --
92   if p_validate then
93     raise hr_api.validate_enabled;
94   end if;
95   --
96   -- Set all output arguments
97   --
98   p_api_module_id := l_api_module_id;
99   --
100   hr_utility.set_location(' Leaving:'||l_proc, 100);
101 exception
102   when hr_api.validate_enabled then
103     --
104     -- Only set output warning arguments
105     -- (Any key or derived arguments must be set to null
106     -- when validation only mode is being used.)
107     --
108     p_api_module_id  := null;
109     --
110     -- As the Validate_Enabled exception has been raised
111     -- we must rollback to the savepoint
112     --
113     ROLLBACK TO create_api_module;
114     --
115 end create_api_module;
116 --
117 -- ------------------------------------------------------------------------
118 -- |--------------------------< delete_api_module >----------------------------|
119 -- ------------------------------------------------------------------------
120 --
121 procedure delete_api_module
122   (p_validate                      in      boolean  default false,
123    p_api_module_id                 in     number)  is
124   --
125   l_proc                       varchar2(72) := g_package||'delete_api_module';
126   --
127 begin
128   hr_utility.set_location('Entering:'|| l_proc, 5);
129   --
130   -- Issue a savepoint if operating in validation only mode.
131   --
132   if p_validate then
133     savepoint delete_api_module;
134   end if;
135   --
136   hr_utility.set_location(l_proc, 10);
137   --
138   -- Validation in addition to Table Handlers
139   --
140   -- None required.
141   --
142   -- Process Logic
143   --
144     hr_amd_del.del
145       (p_api_module_id                => p_api_module_id);
146   --
147   hr_utility.set_location(l_proc, 20);
148   --
149   -- When in validation only mode raise the Validate_Enabled exception
150   --
151   if p_validate then
152     raise hr_api.validate_enabled;
153   end if;
154   --
155   hr_utility.set_location(' Leaving:'||l_proc, 100);
156 exception
157   when hr_api.validate_enabled then
158     --
159     -- As the Validate_Enabled exception has been raised
160     -- we must rollback to the savepoint
161     --
162     ROLLBACK TO delete_api_module;
163 end delete_api_module;
164 --
165 --
166 -- ------------------------------------------------------------------------
167 -- |--------------------------< update_api_module >----------------------------|
168 -- ------------------------------------------------------------------------
169 --
170 procedure update_api_module
171   (p_validate                      in      boolean  default false,
172    p_api_module_id                 in      number,
173    p_module_name                   IN      varchar2 default hr_api.g_varchar2,
174    p_module_package                IN      varchar2 default hr_api.g_varchar2,
175    p_data_within_business_group    IN      varchar2 default hr_api.g_varchar2,
176    p_effective_date                IN      date
177   )  is
178   --
179   l_proc                       varchar2(72) := g_package||'update_api_module';
180   --
181 begin
182   hr_utility.set_location('Entering:'|| l_proc, 5);
183   --
184   -- Issue a savepoint if operating in validation only mode.
185   --
186   if p_validate then
187     savepoint update_api_module;
188   end if;
189   --
190   hr_utility.set_location(l_proc, 10);
191   --
192   -- Validation in addition to Table Handlers
193   --
194   -- None required.
195   --
196   -- Process Logic
197   --
198     hr_amd_upd.upd
199       (p_api_module_id                => p_api_module_id,
200        p_module_name                  => p_module_name,
201        p_module_package               => p_module_package,
202        p_data_within_business_group   => p_data_within_business_group,
203        p_effective_date               => p_effective_date
204        );
205   --
206   hr_utility.set_location(l_proc, 20);
207   --
208   -- When in validation only mode raise the Validate_Enabled exception
209   --
210   if p_validate then
211     raise hr_api.validate_enabled;
212   end if;
213   --
214   hr_utility.set_location(' Leaving:'||l_proc, 100);
215 exception
216   when hr_api.validate_enabled then
217     --
218     -- As the Validate_Enabled exception has been raised
219     -- we must rollback to the savepoint
220     --
221     ROLLBACK TO update_api_module;
222 end update_api_module;
223 --
224 end hr_api_module_internal;