[Home] [Help]
PACKAGE BODY: APPS.HR_FGI_SHD
Source
1 Package Body hr_fgi_shd as
2 /* $Header: hrfgirhi.pkb 115.3 2002/12/03 11:02:49 hjonnala noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' hr_fgi_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14 (p_constraint_name in all_constraints.constraint_name%TYPE
15 ) Is
16 --
17 l_proc varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20 --
21 If (p_constraint_name = 'HR_FORM_DATA_GROUP_ITEMS_FK1') Then
22 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
23 fnd_message.set_token('PROCEDURE', l_proc);
24 fnd_message.set_token('STEP','5');
25 fnd_message.raise_error;
26 ElsIf (p_constraint_name = 'HR_FORM_DATA_GROUP_ITEMS_FK2') Then
27 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
28 fnd_message.set_token('PROCEDURE', l_proc);
29 fnd_message.set_token('STEP','10');
30 fnd_message.raise_error;
31 ElsIf (p_constraint_name = 'HR_FORM_DATA_GROUP_ITEMS_PK') Then
32 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
33 fnd_message.set_token('PROCEDURE', l_proc);
34 fnd_message.set_token('STEP','15');
35 fnd_message.raise_error;
36 ElsIf (p_constraint_name = 'HR_FORM_DATA_GROUP_ITEMS_UK') Then
37 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
38 fnd_message.set_token('PROCEDURE', l_proc);
39 fnd_message.set_token('STEP','20');
40 fnd_message.raise_error;
41 Else
42 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
43 fnd_message.set_token('PROCEDURE', l_proc);
44 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
45 fnd_message.raise_error;
46 End If;
47 --
48 End constraint_error;
49 --
50 -- ----------------------------------------------------------------------------
51 -- |-----------------------------< api_updating >-----------------------------|
52 -- ----------------------------------------------------------------------------
53 Function api_updating
54 (p_form_data_group_item_id in number
55 ,p_object_version_number in number
56 )
57 Return Boolean Is
58 --
59 --
60 -- Cursor selects the 'current' row from the HR Schema
61 --
62 Cursor C_Sel1 is
63 select
64 form_data_group_item_id
65 ,object_version_number
66 ,form_data_group_id
67 ,form_item_id
68 from hr_form_data_group_items
69 where form_data_group_item_id = p_form_data_group_item_id;
70 --
71 l_fct_ret boolean;
72 --
73 Begin
74 --
75 If (p_form_data_group_item_id is null and
76 p_object_version_number is null
77 ) Then
78 --
79 -- One of the primary key arguments is null therefore we must
80 -- set the returning function value to false
81 --
82 l_fct_ret := false;
83 Else
84 If (p_form_data_group_item_id
85 = hr_fgi_shd.g_old_rec.form_data_group_item_id and
86 p_object_version_number
87 = hr_fgi_shd.g_old_rec.object_version_number
88 ) Then
89 --
90 -- The g_old_rec is current therefore we must
91 -- set the returning function to true
92 --
93 l_fct_ret := true;
94 Else
95 --
96 -- Select the current row into g_old_rec
97 --
98 Open C_Sel1;
99 Fetch C_Sel1 Into hr_fgi_shd.g_old_rec;
100 If C_Sel1%notfound Then
101 Close C_Sel1;
102 --
103 -- The primary key is invalid therefore we must error
104 --
105 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
106 fnd_message.raise_error;
107 End If;
108 Close C_Sel1;
109 If (p_object_version_number
110 <> hr_fgi_shd.g_old_rec.object_version_number) Then
111 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
112 fnd_message.raise_error;
113 End If;
114 l_fct_ret := true;
115 End If;
116 End If;
117 Return (l_fct_ret);
118 --
119 End api_updating;
120 --
121 -- ----------------------------------------------------------------------------
122 -- |---------------------------------< lck >----------------------------------|
123 -- ----------------------------------------------------------------------------
124 Procedure lck
125 (p_form_data_group_item_id in number
126 ,p_object_version_number in number
127 ) is
128 --
129 -- Cursor selects the 'current' row from the HR Schema
130 --
131 Cursor C_Sel1 is
132 select
133 form_data_group_item_id
134 ,object_version_number
135 ,form_data_group_id
136 ,form_item_id
137 from hr_form_data_group_items
138 where form_data_group_item_id = p_form_data_group_item_id
139 for update nowait;
140 --
141 l_proc varchar2(72) := g_package||'lck';
142 --
143 Begin
144 hr_utility.set_location('Entering:'||l_proc, 5);
145 --
146 hr_api.mandatory_arg_error
147 (p_api_name => l_proc
148 ,p_argument => 'FORM_DATA_GROUP_ITEM_ID'
149 ,p_argument_value => p_form_data_group_item_id
150 );
151 --Bug:1790746 fix Start
152 hr_api.mandatory_arg_error
153 (p_api_name => l_proc
154 ,p_argument => 'object_version_number'
155 ,p_argument_value => p_object_version_number
156 );
157 --Bug:1790746 fix End
158
159 Open C_Sel1;
160 Fetch C_Sel1 Into hr_fgi_shd.g_old_rec;
161 If C_Sel1%notfound then
162 Close C_Sel1;
163 --
164 -- The primary key is invalid therefore we must error
165 --
166 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
167 fnd_message.raise_error;
168 End If;
169 Close C_Sel1;
170 If (p_object_version_number
171 <> hr_fgi_shd.g_old_rec.object_version_number) Then
172 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
173 fnd_message.raise_error;
174 End If;
175 --
176 hr_utility.set_location(' Leaving:'||l_proc, 10);
177 --
178 -- We need to trap the ORA LOCK exception
179 --
180 Exception
181 When HR_Api.Object_Locked then
182 --
183 -- The object is locked therefore we need to supply a meaningful
184 -- error message.
185 --
186 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
187 fnd_message.set_token('TABLE_NAME', 'hr_form_data_group_items');
188 fnd_message.raise_error;
189 End lck;
190 --
191 -- ----------------------------------------------------------------------------
192 -- |-----------------------------< convert_args >-----------------------------|
193 -- ----------------------------------------------------------------------------
194 Function convert_args
195 (p_form_data_group_item_id in number
196 ,p_object_version_number in number
197 ,p_form_data_group_id in number
198 ,p_form_item_id in number
199 )
200 Return g_rec_type is
201 --
202 l_rec g_rec_type;
203 --
204 Begin
205 --
206 -- Convert arguments into local l_rec structure.
207 --
208 l_rec.form_data_group_item_id := p_form_data_group_item_id;
209 l_rec.object_version_number := p_object_version_number;
210 l_rec.form_data_group_id := p_form_data_group_id;
211 l_rec.form_item_id := p_form_item_id;
212 --
213 -- Return the plsql record structure.
214 --
215 Return(l_rec);
216 --
217 End convert_args;
218 --
219 end hr_fgi_shd;