[Home] [Help]
PACKAGE BODY: APPS.PSP_PAYROLL_LINES_PKG
Source
1 package body PSP_PAYROLL_LINES_PKG as
2 /* $Header: PSPPILNB.pls 120.4 2007/01/26 06:52:52 spchakra noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_PAYROLL_LINE_ID in NUMBER,
6 X_PAYROLL_CONTROL_ID in NUMBER,
7 X_SET_OF_BOOKS_ID in NUMBER,
8 X_ASSIGNMENT_ID in NUMBER,
9 X_PERSON_ID in NUMBER,
10 X_COST_ID in NUMBER,
11 X_ELEMENT_TYPE_ID in NUMBER,
12 X_PAY_AMOUNT in NUMBER,
13 X_STATUS_CODE in VARCHAR2,
14 X_EFFECTIVE_DATE in DATE,
15 X_CHECK_DATE in DATE,
16 X_EARNED_DATE in DATE,
17 X_ACCOUNTING_DATE in DATE default null, --- 3108109
18 X_EXCHANGE_RATE_TYPE IN VARCHAR2 DEFAULT NULL,
19 X_COST_ALLOCATION_KEYFLEX_ID in NUMBER,
20 X_GL_CODE_COMBINATION_ID in NUMBER,
21 X_BALANCE_AMOUNT in NUMBER,
22 X_DR_CR_FLAG in VARCHAR2,
23 X_MODE in VARCHAR2 default 'R',
24 X_PAYROLL_ACTION_TYPE in varchar2 default null,
25 X_OR_GL_CODE_COMBINATION_ID IN NUMBER DEFAULT NULL,
26 X_OR_PROJECT_ID IN NUMBER DEFAULT NULL,
27 X_OR_TASK_ID IN NUMBER DEFAULT NULL,
28 X_OR_AWARD_ID IN NUMBER DEFAULT NULL,
29 X_OR_EXPENDITURE_ORG_ID IN NUMBER DEFAULT NULL,
30 X_OR_EXPENDITURE_TYPE IN VARCHAR2 DEFAULT NULL
31 ) is
32 cursor C is select ROWID from PSP_PAYROLL_LINES
33 where PAYROLL_LINE_ID = X_PAYROLL_LINE_ID;
34 X_LAST_UPDATE_DATE DATE;
35 X_LAST_UPDATED_BY NUMBER;
36 X_LAST_UPDATE_LOGIN NUMBER;
37 begin
38 X_LAST_UPDATE_DATE := SYSDATE;
39 if(X_MODE = 'I') then
40 X_LAST_UPDATED_BY := 1;
41 X_LAST_UPDATE_LOGIN := 0;
42 elsif (X_MODE = 'R') then
43 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
44 if X_LAST_UPDATED_BY is NULL then
45 X_LAST_UPDATED_BY := -1;
46 end if;
47 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
48 if X_LAST_UPDATE_LOGIN is NULL then
49 X_LAST_UPDATE_LOGIN := -1;
50 end if;
51 else
52 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
53 app_exception.raise_exception;
54 end if;
55 insert into PSP_PAYROLL_LINES (
56 PAYROLL_LINE_ID,
57 PAYROLL_CONTROL_ID,
58 SET_OF_BOOKS_ID,
59 ASSIGNMENT_ID,
60 PERSON_ID,
61 COST_ID,
62 ELEMENT_TYPE_ID,
63 PAY_AMOUNT,
64 STATUS_CODE,
65 EFFECTIVE_DATE,
66 CHECK_DATE,
67 EARNED_DATE,
68 ACCOUNTING_DATE,
69 EXCHANGE_RATE_TYPE,
70 COST_ALLOCATION_KEYFLEX_ID,
71 GL_CODE_COMBINATION_ID,
72 BALANCE_AMOUNT,
73 DR_CR_FLAG,
74 CREATION_DATE,
75 CREATED_BY,
76 LAST_UPDATE_DATE,
77 LAST_UPDATED_BY,
78 LAST_UPDATE_LOGIN,
79 PAYROLL_ACTION_TYPE,
80 OR_GL_CODE_COMBINATION_ID,
81 OR_PROJECT_ID,
82 OR_TASK_ID,
83 OR_AWARD_ID,
84 OR_EXPENDITURE_ORG_ID,
85 OR_EXPENDITURE_TYPE
86 ) values (
87 X_PAYROLL_LINE_ID,
88 X_PAYROLL_CONTROL_ID,
89 X_SET_OF_BOOKS_ID,
90 X_ASSIGNMENT_ID,
91 X_PERSON_ID,
92 X_COST_ID,
93 X_ELEMENT_TYPE_ID,
94 X_PAY_AMOUNT,
95 X_STATUS_CODE,
96 X_EFFECTIVE_DATE,
97 X_CHECK_DATE,
98 X_EARNED_DATE,
99 X_ACCOUNTING_DATE, --- added for 3108109
100 X_EXCHANGE_RATE_TYPE,
101 X_COST_ALLOCATION_KEYFLEX_ID,
102 X_GL_CODE_COMBINATION_ID,
103 X_BALANCE_AMOUNT,
104 X_DR_CR_FLAG,
105 X_LAST_UPDATE_DATE,
106 X_LAST_UPDATED_BY,
107 X_LAST_UPDATE_DATE,
108 X_LAST_UPDATED_BY,
109 X_LAST_UPDATE_LOGIN,
110 X_PAYROLL_ACTION_TYPE,
111 X_OR_GL_CODE_COMBINATION_ID,
112 X_OR_PROJECT_ID,
113 X_OR_TASK_ID,
114 X_OR_AWARD_ID,
115 X_OR_EXPENDITURE_ORG_ID,
116 X_OR_EXPENDITURE_TYPE
117 );
118
119 open c;
120 fetch c into X_ROWID;
121 if (c%notfound) then
122 close c;
123 raise no_data_found;
124 end if;
125 close c;
126
127 end INSERT_ROW;
128
129 procedure LOCK_ROW (
130 X_PAYROLL_LINE_ID in NUMBER,
131 X_PAYROLL_CONTROL_ID in NUMBER,
132 X_SET_OF_BOOKS_ID in NUMBER,
133 X_ASSIGNMENT_ID in NUMBER,
134 X_PERSON_ID in NUMBER,
135 X_COST_ID in NUMBER,
136 X_ELEMENT_TYPE_ID in NUMBER,
137 X_PAY_AMOUNT in NUMBER,
138 X_STATUS_CODE in VARCHAR2,
139 X_EFFECTIVE_DATE in DATE,
140 X_CHECK_DATE in DATE,
141 X_EARNED_DATE in DATE,
142 X_ACCOUNTING_DATE in DATE, --- added for 3108109
143 X_EXCHANGE_RATE_TYPE in VARCHAR2,
144 X_COST_ALLOCATION_KEYFLEX_ID in NUMBER,
145 X_GL_CODE_COMBINATION_ID in NUMBER,
146 X_BALANCE_AMOUNT in NUMBER,
147 X_DR_CR_FLAG in VARCHAR2
148 ) is
149 cursor c1 is select
150 PAYROLL_CONTROL_ID,
151 SET_OF_BOOKS_ID,
152 ASSIGNMENT_ID,
153 PERSON_ID,
154 COST_ID,
155 ELEMENT_TYPE_ID,
156 PAY_AMOUNT,
157 STATUS_CODE,
158 EFFECTIVE_DATE,
159 CHECK_DATE,
160 EARNED_DATE,
161 ACCOUNTING_DATE, --- 3108109
162 EXCHANGE_RATE_TYPE,
163 COST_ALLOCATION_KEYFLEX_ID,
164 GL_CODE_COMBINATION_ID,
165 BALANCE_AMOUNT,
166 DR_CR_FLAG
167 from PSP_PAYROLL_LINES
168 where PAYROLL_LINE_ID = X_PAYROLL_LINE_ID
169 for update of PAYROLL_LINE_ID nowait;
170 tlinfo c1%rowtype;
171
172 begin
173 open c1;
174 fetch c1 into tlinfo;
175 if (c1%notfound) then
176 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
177 app_exception.raise_exception;
178 close c1;
179 return;
180 end if;
181 close c1;
182
183 if ( (tlinfo.PAYROLL_CONTROL_ID = X_PAYROLL_CONTROL_ID)
184 AND (tlinfo.SET_OF_BOOKS_ID = X_SET_OF_BOOKS_ID)
185 AND (tlinfo.ASSIGNMENT_ID = X_ASSIGNMENT_ID)
186 AND (tlinfo.PERSON_ID = X_PERSON_ID)
187 AND ((tlinfo.COST_ID = X_COST_ID)
188 OR ((tlinfo.COST_ID is null)
189 AND (X_COST_ID is null)))
190 AND (tlinfo.ELEMENT_TYPE_ID = X_ELEMENT_TYPE_ID)
191 AND (tlinfo.PAY_AMOUNT = X_PAY_AMOUNT)
192 AND (tlinfo.STATUS_CODE = X_STATUS_CODE)
193 AND (tlinfo.EFFECTIVE_DATE = X_EFFECTIVE_DATE)
194 AND ((tlinfo.CHECK_DATE = X_CHECK_DATE)
195 OR ((tlinfo.CHECK_DATE is null)
196 AND (X_CHECK_DATE is null)))
197 AND ((tlinfo.EARNED_DATE = X_EARNED_DATE)
198 OR ((tlinfo.EARNED_DATE is null)
199 AND (X_EARNED_DATE is null)))
200 AND ((tlinfo.COST_ALLOCATION_KEYFLEX_ID = X_COST_ALLOCATION_KEYFLEX_ID)
201 OR ((tlinfo.COST_ALLOCATION_KEYFLEX_ID is null)
202 AND (X_COST_ALLOCATION_KEYFLEX_ID is null)))
203 AND ((tlinfo.GL_CODE_COMBINATION_ID = X_GL_CODE_COMBINATION_ID)
204 OR ((tlinfo.GL_CODE_COMBINATION_ID is null)
205 AND (X_GL_CODE_COMBINATION_ID is null)))
206 AND ((tlinfo.BALANCE_AMOUNT = X_BALANCE_AMOUNT)
207 OR ((tlinfo.BALANCE_AMOUNT is null)
208 AND (X_BALANCE_AMOUNT is null)))
209 AND ((tlinfo.ACCOUNTING_DATE = X_ACCOUNTING_DATE) -- added for 3108109
210 OR ((tlinfo.ACCOUNTING_DATE is null)
211 AND (X_ACCOUNTING_DATE is null)))
212 AND ((tlinfo.EXCHANGE_RATE_TYPE = X_EXCHANGE_RATE_TYPE) -- added for 3108109
213 OR ((tlinfo.EXCHANGE_RATE_TYPE is null)
214 AND (X_EXCHANGE_RATE_TYPE is null)))
215 AND (tlinfo.DR_CR_FLAG = X_DR_CR_FLAG)
216 ) then
217 null;
218 else
219 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
220 app_exception.raise_exception;
221 end if;
222 return;
223 end LOCK_ROW;
224
225 procedure UPDATE_ROW (
226 X_PAYROLL_LINE_ID in NUMBER,
227 X_PAYROLL_CONTROL_ID in NUMBER,
228 X_SET_OF_BOOKS_ID in NUMBER,
229 X_ASSIGNMENT_ID in NUMBER,
230 X_PERSON_ID in NUMBER,
231 X_COST_ID in NUMBER,
232 X_ELEMENT_TYPE_ID in NUMBER,
233 X_PAY_AMOUNT in NUMBER,
234 X_STATUS_CODE in VARCHAR2,
235 X_EFFECTIVE_DATE in DATE,
236 X_CHECK_DATE in DATE,
237 X_EARNED_DATE in DATE,
238 X_ACCOUNTING_DATE in DATE default null, --- added for 3108109
239 X_EXCHANGE_RATE_TYPE IN VARCHAR2 DEFAULT NULL,
240 X_COST_ALLOCATION_KEYFLEX_ID in NUMBER,
241 X_GL_CODE_COMBINATION_ID in NUMBER,
242 X_BALANCE_AMOUNT in NUMBER,
243 X_DR_CR_FLAG in VARCHAR2,
244 X_MODE in VARCHAR2 default 'R'
245 ) is
246 X_LAST_UPDATE_DATE DATE;
247 X_LAST_UPDATED_BY NUMBER;
248 X_LAST_UPDATE_LOGIN NUMBER;
249 begin
250 X_LAST_UPDATE_DATE := SYSDATE;
251 if(X_MODE = 'I') then
252 X_LAST_UPDATED_BY := 1;
253 X_LAST_UPDATE_LOGIN := 0;
254 elsif (X_MODE = 'R') then
255 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
256 if X_LAST_UPDATED_BY is NULL then
257 X_LAST_UPDATED_BY := -1;
258 end if;
259 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
260 if X_LAST_UPDATE_LOGIN is NULL then
261 X_LAST_UPDATE_LOGIN := -1;
262 end if;
263 else
264 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
265 app_exception.raise_exception;
266 end if;
267 update PSP_PAYROLL_LINES set
268 PAYROLL_CONTROL_ID = X_PAYROLL_CONTROL_ID,
269 SET_OF_BOOKS_ID = X_SET_OF_BOOKS_ID,
270 ASSIGNMENT_ID = X_ASSIGNMENT_ID,
271 PERSON_ID = X_PERSON_ID,
272 COST_ID = X_COST_ID,
273 ELEMENT_TYPE_ID = X_ELEMENT_TYPE_ID,
274 PAY_AMOUNT = X_PAY_AMOUNT,
275 STATUS_CODE = X_STATUS_CODE,
276 EFFECTIVE_DATE = X_EFFECTIVE_DATE,
277 CHECK_DATE = X_CHECK_DATE,
278 EARNED_DATE = X_EARNED_DATE,
279 ACCOUNTING_DATE = X_ACCOUNTING_DATE, -- 3108109
280 EXCHANGE_RATE_TYPE = X_EXCHANGE_RATE_TYPE,
281 COST_ALLOCATION_KEYFLEX_ID = X_COST_ALLOCATION_KEYFLEX_ID,
282 GL_CODE_COMBINATION_ID = X_GL_CODE_COMBINATION_ID,
283 BALANCE_AMOUNT = X_BALANCE_AMOUNT,
284 DR_CR_FLAG = X_DR_CR_FLAG,
285 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
286 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
287 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
288 where PAYROLL_LINE_ID = X_PAYROLL_LINE_ID
289 ;
290 if (sql%notfound) then
291 raise no_data_found;
292 end if;
293 end UPDATE_ROW;
294
295 procedure ADD_ROW (
296 X_ROWID in out NOCOPY VARCHAR2,
297 X_PAYROLL_LINE_ID in NUMBER,
298 X_PAYROLL_CONTROL_ID in NUMBER,
299 X_SET_OF_BOOKS_ID in NUMBER,
300 X_ASSIGNMENT_ID in NUMBER,
301 X_PERSON_ID in NUMBER,
302 X_COST_ID in NUMBER,
303 X_ELEMENT_TYPE_ID in NUMBER,
304 X_PAY_AMOUNT in NUMBER,
305 X_STATUS_CODE in VARCHAR2,
306 X_EFFECTIVE_DATE in DATE,
307 X_CHECK_DATE in DATE,
308 X_EARNED_DATE in DATE,
309 X_ACCOUNTING_DATE in DATE default null, --- added for 3108109
310 X_EXCHANGE_RATE_TYPE IN VARCHAR2 DEFAULT NULL,
311 X_COST_ALLOCATION_KEYFLEX_ID in NUMBER,
312 X_GL_CODE_COMBINATION_ID in NUMBER,
313 X_BALANCE_AMOUNT in NUMBER,
314 X_DR_CR_FLAG in VARCHAR2,
315 X_MODE in VARCHAR2 default 'R'
316 ) is
317 cursor c1 is select rowid from PSP_PAYROLL_LINES
318 where PAYROLL_LINE_ID = X_PAYROLL_LINE_ID
319 ;
320 dummy c1%rowtype;
321 begin
322 open c1;
323 fetch c1 into dummy;
324 if (c1%notfound) then
325 close c1;
326 INSERT_ROW (
327 X_ROWID,
328 X_PAYROLL_LINE_ID,
329 X_PAYROLL_CONTROL_ID,
330 X_SET_OF_BOOKS_ID,
331 X_ASSIGNMENT_ID,
332 X_PERSON_ID,
333 X_COST_ID,
334 X_ELEMENT_TYPE_ID,
335 X_PAY_AMOUNT,
336 X_STATUS_CODE,
337 X_EFFECTIVE_DATE,
338 X_CHECK_DATE,
339 X_EARNED_DATE,
340 X_ACCOUNTING_DATE, --- added for 3108109
341 X_EXCHANGE_RATE_TYPE,
342 X_COST_ALLOCATION_KEYFLEX_ID,
343 X_GL_CODE_COMBINATION_ID,
344 X_BALANCE_AMOUNT,
345 X_DR_CR_FLAG,
346 X_MODE, null);
347 return;
348 end if;
349 close c1;
350 UPDATE_ROW (
351 X_PAYROLL_LINE_ID,
352 X_PAYROLL_CONTROL_ID,
353 X_SET_OF_BOOKS_ID,
354 X_ASSIGNMENT_ID,
355 X_PERSON_ID,
356 X_COST_ID,
357 X_ELEMENT_TYPE_ID,
358 X_PAY_AMOUNT,
359 X_STATUS_CODE,
360 X_EFFECTIVE_DATE,
361 X_CHECK_DATE,
362 X_EARNED_DATE,
363 X_ACCOUNTING_DATE, ---- added for 3108109
364 X_EXCHANGE_RATE_TYPE,
365 X_COST_ALLOCATION_KEYFLEX_ID,
366 X_GL_CODE_COMBINATION_ID,
367 X_BALANCE_AMOUNT,
368 X_DR_CR_FLAG,
369 X_MODE);
370 end ADD_ROW;
371
372 procedure DELETE_ROW (
373 X_PAYROLL_LINE_ID in NUMBER
374 ) is
375 begin
376 delete from PSP_PAYROLL_LINES
377 where PAYROLL_LINE_ID = X_PAYROLL_LINE_ID;
378 if (sql%notfound) then
379 raise no_data_found;
380 end if;
381 end DELETE_ROW;
382
383 end PSP_PAYROLL_LINES_PKG;