[Home] [Help]
PACKAGE BODY: APPS.PAY_DTE_SHD
Source
1 Package Body pay_dte_shd as
2 /* $Header: pydterhi.pkb 115.6 2002/12/06 16:15:56 jford noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pay_dte_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 = 'PAY_DATETRACKED_EVENTS_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 = 'PAY_DATETRACKED_EVENTS_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 = 'PAY_DATETRACKED_EVENTS_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 = 'PAY_DATETRACKED_EVENTS_UK1') 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_datetracked_event_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 datetracked_event_id
65 ,event_group_id
66 ,dated_table_id
67 ,column_name
68 ,update_type
69 ,business_group_id
70 ,legislation_code
71 ,object_version_number
72 ,proration_style
73 from pay_datetracked_events
74 where datetracked_event_id = p_datetracked_event_id;
75 --
76 l_fct_ret boolean;
77 --
78 Begin
79 --
80 If (p_datetracked_event_id is null and
81 p_object_version_number is null
82 ) Then
83 --
84 -- One of the primary key arguments is null therefore we must
85 -- set the returning function value to false
86 --
87 l_fct_ret := false;
88 Else
89 If (p_datetracked_event_id
90 = pay_dte_shd.g_old_rec.datetracked_event_id and
91 p_object_version_number
92 = pay_dte_shd.g_old_rec.object_version_number
93 ) Then
94 --
95 -- The g_old_rec is current therefore we must
96 -- set the returning function to true
97 --
98 l_fct_ret := true;
99 Else
100 --
101 -- Select the current row into g_old_rec
102 --
103 Open C_Sel1;
104 Fetch C_Sel1 Into pay_dte_shd.g_old_rec;
105 If C_Sel1%notfound Then
106 Close C_Sel1;
107 --
108 -- The primary key is invalid therefore we must error
109 --
110 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
111 fnd_message.raise_error;
112 End If;
113 Close C_Sel1;
114 If (p_object_version_number
115 <> pay_dte_shd.g_old_rec.object_version_number) Then
116 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
117 fnd_message.raise_error;
118 End If;
119 l_fct_ret := true;
120 End If;
121 End If;
122 Return (l_fct_ret);
123 --
124 End api_updating;
125 --
126 -- ----------------------------------------------------------------------------
127 -- |---------------------------------< lck >----------------------------------|
128 -- ----------------------------------------------------------------------------
129 Procedure lck
130 (p_datetracked_event_id in number
131 ,p_object_version_number in number
132 ) is
133 --
134 -- Cursor selects the 'current' row from the HR Schema
135 --
136 Cursor C_Sel1 is
137 select
138 datetracked_event_id
139 ,event_group_id
140 ,dated_table_id
141 ,column_name
142 ,update_type
143 ,business_group_id
144 ,legislation_code
145 ,object_version_number
146 ,proration_style
147 from pay_datetracked_events
148 where datetracked_event_id = p_datetracked_event_id
149 for update nowait;
150 --
151 l_proc varchar2(72) := g_package||'lck';
152 --
153 Begin
154 hr_utility.set_location('Entering:'||l_proc, 5);
155 --
156 hr_api.mandatory_arg_error
157 (p_api_name => l_proc
158 ,p_argument => 'DATETRACKED_EVENT_ID'
159 ,p_argument_value => p_datetracked_event_id
160 );
161 --
162 Open C_Sel1;
163 Fetch C_Sel1 Into pay_dte_shd.g_old_rec;
164 If C_Sel1%notfound then
165 Close C_Sel1;
166 --
167 -- The primary key is invalid therefore we must error
168 --
169 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
170 fnd_message.raise_error;
171 End If;
172 Close C_Sel1;
173 If (p_object_version_number
174 <> pay_dte_shd.g_old_rec.object_version_number) Then
175 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
176 fnd_message.raise_error;
177 End If;
178 --
179 hr_utility.set_location(' Leaving:'||l_proc, 10);
180 --
181 -- We need to trap the ORA LOCK exception
182 --
183 Exception
184 When HR_Api.Object_Locked then
185 --
186 -- The object is locked therefore we need to supply a meaningful
187 -- error message.
188 --
189 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
190 fnd_message.set_token('TABLE_NAME', 'pay_datetracked_events');
191 fnd_message.raise_error;
192 End lck;
193 --
194 -- ----------------------------------------------------------------------------
195 -- |-----------------------------< convert_args >-----------------------------|
196 -- ----------------------------------------------------------------------------
197 Function convert_args
198 (p_datetracked_event_id in number
199 ,p_event_group_id in number
200 ,p_dated_table_id in number
201 ,p_column_name in varchar2
202 ,p_update_type in varchar2
203 ,p_business_group_id in number
204 ,p_legislation_code in varchar2
205 ,p_object_version_number in number
206 ,p_proration_style in varchar2 default null
207 )
208 Return g_rec_type is
209 --
210 l_rec g_rec_type;
211 --
212 Begin
213 --
214 -- Convert arguments into local l_rec structure.
215 --
216 l_rec.datetracked_event_id := p_datetracked_event_id;
217 l_rec.event_group_id := p_event_group_id;
218 l_rec.dated_table_id := p_dated_table_id;
219 l_rec.column_name := p_column_name;
220 l_rec.update_type := p_update_type;
221 l_rec.business_group_id := p_business_group_id;
222 l_rec.legislation_code := p_legislation_code;
223 l_rec.object_version_number := p_object_version_number;
224 l_rec.proration_style := p_proration_style;
225 --
226 -- Return the plsql record structure.
227 --
228 Return(l_rec);
229 --
230 End convert_args;
231 --
232 end pay_dte_shd;