[Home] [Help]
PACKAGE BODY: APPS.PQH_BVR_SHD
Source
1 Package Body pqh_bvr_shd as
2 /* $Header: pqbvrrhi.pkb 115.10 2002/12/05 19:30:27 rpasapul ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pqh_bvr_shd.'; -- Global package name
9 --
10 --
11 -- ----------------------------------------------------------------------------
12 -- |---------------------------< constraint_error >---------------------------|
13 -- ----------------------------------------------------------------------------
14 Procedure constraint_error
15 (p_constraint_name in all_constraints.constraint_name%TYPE) Is
16 --
17 l_proc varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20 hr_utility.set_location('Entering:'||l_proc, 5);
21 --
22 If (p_constraint_name = 'PQH_BUDGET_VERSIONS_FK1') Then
23 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
24 hr_utility.set_message_token('PROCEDURE', l_proc);
25 hr_utility.set_message_token('STEP','5');
26 hr_utility.raise_error;
27 ElsIf (p_constraint_name = 'PQH_BUDGET_DETAILS_FK3') Then
28 hr_utility.set_message(8302, 'PQH_CHILD_REC_EXISTS');
29 hr_utility.raise_error;
30 ElsIf (p_constraint_name = 'PQH_WORKSHEETS_FK2') Then
31 hr_utility.set_message(8302, 'PQH_WKS_REC_EXISTS');
32 hr_utility.raise_error;
33 Else
34 hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
35 hr_utility.set_message_token('PROCEDURE', l_proc);
36 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
37 hr_utility.raise_error;
38 End If;
39 --
40 hr_utility.set_location(' Leaving:'||l_proc, 10);
41 End constraint_error;
42 --
43 -- ----------------------------------------------------------------------------
44 -- |-----------------------------< api_updating >-----------------------------|
45 -- ----------------------------------------------------------------------------
46 Function api_updating
47 (
48 p_budget_version_id in number,
49 p_object_version_number in number
50 ) Return Boolean Is
51 --
52 --
53 -- Cursor selects the 'current' row from the HR Schema
54 --
55 Cursor C_Sel1 is
56 select
57 budget_version_id,
58 budget_id,
59 version_number,
60 date_from,
61 date_to,
62 transfered_to_gl_flag,
63 gl_status,
64 xfer_to_other_apps_cd,
65 object_version_number,
66 budget_unit1_value,
67 budget_unit2_value,
68 budget_unit3_value,
69 budget_unit1_available,
70 budget_unit2_available,
71 budget_unit3_available
72 from pqh_budget_versions
73 where budget_version_id = p_budget_version_id;
74 --
75 l_proc varchar2(72) := g_package||'api_updating';
76 l_fct_ret boolean;
77 --
78 Begin
79 hr_utility.set_location('Entering:'||l_proc, 5);
80 --
81 If (
82 p_budget_version_id is null and
83 p_object_version_number is null
84 ) Then
85 --
86 -- One of the primary key arguments is null therefore we must
87 -- set the returning function value to false
88 --
89 l_fct_ret := false;
90 Else
91 If (
92 p_budget_version_id = g_old_rec.budget_version_id and
93 p_object_version_number = g_old_rec.object_version_number
94 ) Then
95 hr_utility.set_location(l_proc, 10);
96 --
97 -- The g_old_rec is current therefore we must
98 -- set the returning function to true
99 --
100 l_fct_ret := true;
101 Else
102 --
103 -- Select the current row into g_old_rec
104 --
105 Open C_Sel1;
106 Fetch C_Sel1 Into g_old_rec;
107 If C_Sel1%notfound Then
108 Close C_Sel1;
109 --
110 -- The primary key is invalid therefore we must error
111 --
112 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
113 hr_utility.raise_error;
114 End If;
115 Close C_Sel1;
116 If (p_object_version_number <> g_old_rec.object_version_number) Then
117 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
118 hr_utility.raise_error;
119 End If;
120 hr_utility.set_location(l_proc, 15);
121 l_fct_ret := true;
122 End If;
123 End If;
124 hr_utility.set_location(' Leaving:'||l_proc, 20);
125 Return (l_fct_ret);
126 --
127 End api_updating;
128 --
129 -- ----------------------------------------------------------------------------
130 -- |---------------------------------< lck >----------------------------------|
131 -- ----------------------------------------------------------------------------
132 Procedure lck
133 (
134 p_budget_version_id in number,
135 p_object_version_number in number
136 ) is
137 --
138 -- Cursor selects the 'current' row from the HR Schema
139 --
140 Cursor C_Sel1 is
141 select budget_version_id,
142 budget_id,
143 version_number,
144 date_from,
145 date_to,
146 transfered_to_gl_flag,
147 gl_status,
148 xfer_to_other_apps_cd,
149 object_version_number,
150 budget_unit1_value,
151 budget_unit2_value,
152 budget_unit3_value,
153 budget_unit1_available,
154 budget_unit2_available,
155 budget_unit3_available
156 from pqh_budget_versions
157 where budget_version_id = p_budget_version_id
158 for update nowait;
159 --
160 l_proc varchar2(72) := g_package||'lck';
161 --
162 Begin
163 hr_utility.set_location('Entering:'||l_proc, 5);
164 --
165 -- Add any mandatory argument checking here:
166 -- Example:
167 -- hr_api.mandatory_arg_error
168 -- (p_api_name => l_proc,
169 -- p_argument => 'object_version_number',
170 -- p_argument_value => p_object_version_number);
171 --
172 Open C_Sel1;
173 Fetch C_Sel1 Into g_old_rec;
174 If C_Sel1%notfound then
175 Close C_Sel1;
176 --
177 -- The primary key is invalid therefore we must error
178 --
179 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
180 hr_utility.raise_error;
181 End If;
182 Close C_Sel1;
183 If (p_object_version_number <> g_old_rec.object_version_number) Then
184 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
185 hr_utility.raise_error;
186 End If;
187 --
188 hr_utility.set_location(' Leaving:'||l_proc, 10);
189 --
190 -- We need to trap the ORA LOCK exception
191 --
192 Exception
193 When HR_Api.Object_Locked then
194 --
195 -- The object is locked therefore we need to supply a meaningful
196 -- error message.
197 --
198 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
199 hr_utility.set_message_token('TABLE_NAME', 'pqh_budget_versions');
200 hr_utility.raise_error;
201 End lck;
202 --
203 -- ----------------------------------------------------------------------------
204 -- |-----------------------------< convert_args >-----------------------------|
205 -- ----------------------------------------------------------------------------
206 Function convert_args
207 (
208 p_budget_version_id in number,
209 p_budget_id in number,
210 p_version_number in number,
211 p_date_from in date,
212 p_date_to in date,
213 p_transfered_to_gl_flag in varchar2,
214 p_gl_status in varchar2,
215 p_xfer_to_other_apps_cd in varchar2,
216 p_object_version_number in number,
217 p_budget_unit1_value in number,
218 p_budget_unit2_value in number,
219 p_budget_unit3_value in number,
220 p_budget_unit1_available in number,
221 p_budget_unit2_available in number,
222 p_budget_unit3_available in number
223 )
224 Return g_rec_type is
225 --
226 l_rec g_rec_type;
227 l_proc varchar2(72) := g_package||'convert_args';
228 --
229 Begin
230 --
231 hr_utility.set_location('Entering:'||l_proc, 5);
232 --
233 -- Convert arguments into local l_rec structure.
234 --
235 l_rec.budget_version_id := p_budget_version_id;
236 l_rec.budget_id := p_budget_id;
237 l_rec.version_number := p_version_number;
238 l_rec.date_from := p_date_from;
239 l_rec.date_to := p_date_to;
240 l_rec.transfered_to_gl_flag := p_transfered_to_gl_flag;
241 l_rec.gl_status := p_gl_status;
242 l_rec.xfer_to_other_apps_cd := p_xfer_to_other_apps_cd;
243 l_rec.object_version_number := p_object_version_number;
244 l_rec.budget_unit1_value := p_budget_unit1_value;
245 l_rec.budget_unit2_value := p_budget_unit2_value;
246 l_rec.budget_unit3_value := p_budget_unit3_value;
247 l_rec.budget_unit1_available := p_budget_unit1_available;
248 l_rec.budget_unit2_available := p_budget_unit2_available;
249 l_rec.budget_unit3_available := p_budget_unit3_available;
250 --
251 -- Return the plsql record structure.
252 --
253 hr_utility.set_location(' Leaving:'||l_proc, 10);
254 Return(l_rec);
255 --
256 End convert_args;
257 --
258 end pqh_bvr_shd;