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