DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSP_PAYROLL_INTERFACE_PKG

Source


1 package body PSP_PAYROLL_INTERFACE_PKG as
2  /* $Header: PSPPIN2B.pls 115.9 2003/07/30 14:50:23 tbalacha ship $ */
3  -- This file has been checked out NOCOPY and checked in to ensure that the CTRL M
4  -- problem that causes file formatting to get garbled up does not exist
5 procedure INSERT_ROW (
6   X_ROWID in out NOCOPY VARCHAR2,
7   X_PAYROLL_INTERFACE_ID in NUMBER,
8   X_BATCH_NAME in VARCHAR2,
9   X_PAYROLL_ID in NUMBER,
10   X_PAYROLL_PERIOD_ID in NUMBER,
11   X_PERSON_ID in NUMBER,
12   X_ASSIGNMENT_ID in NUMBER,
13   X_ELEMENT_TYPE_ID in NUMBER,
14   X_PAY_AMOUNT in NUMBER,
15   X_EARNED_DATE in DATE,
16   X_CHECK_DATE in DATE,
17   X_EFFECTIVE_DATE in DATE,
18   X_PAYROLL_SOURCE_CODE in VARCHAR2,
19   X_FTE in NUMBER,
20   X_REASON_CODE in VARCHAR2,
21   X_SUB_LINE_START_DATE in DATE,
22   X_SUB_LINE_END_DATE in DATE,
23   X_DAILY_RATE in NUMBER,
24   X_SALARY_USED in NUMBER,
25   X_DR_CR_FLAG in VARCHAR2,
26   X_STATUS_CODE in VARCHAR2,
27   X_ERROR_CODE in VARCHAR2,
28   X_MODE in VARCHAR2 default 'R',
29   X_GL_POSTING_OVERRIDE_DATE in DATE,
30   X_GMS_POSTING_OVERRIDE_DATE in DATE,
31   X_ATTRIBUTE_CATEGORY in VARCHAR2,
32   X_ATTRIBUTE1 in VARCHAR2,
33   X_ATTRIBUTE2 in VARCHAR2,
34   X_ATTRIBUTE3 in VARCHAR2,
35   X_ATTRIBUTE4 in VARCHAR2,
36   X_ATTRIBUTE5 in VARCHAR2,
37   X_ATTRIBUTE6 in VARCHAR2,
38   X_ATTRIBUTE7 in VARCHAR2,
39   X_ATTRIBUTE8 in VARCHAR2,
40   X_ATTRIBUTE9 in VARCHAR2,
41   X_ATTRIBUTE10 in VARCHAR2,
42   X_ATTRIBUTE11 in VARCHAR2,
43   X_ATTRIBUTE12 in VARCHAR2,
44   X_ATTRIBUTE13 in VARCHAR2,
45   X_ATTRIBUTE14 in VARCHAR2,
46   X_ATTRIBUTE15 in VARCHAR2,
47   X_BUSINESS_GROUP_ID in NUMBER,
48   X_SET_OF_BOOKS_ID   in NUMBER,
49   X_CURRENCY_CODE     in VARCHAR2
50   ) is
51     cursor C is select ROWID from PSP_PAYROLL_INTERFACE
52       where PAYROLL_INTERFACE_ID = X_PAYROLL_INTERFACE_ID
53       and BATCH_NAME = X_BATCH_NAME;
54     X_LAST_UPDATE_DATE DATE;
55     X_LAST_UPDATED_BY NUMBER;
56     X_LAST_UPDATE_LOGIN NUMBER;
57 begin
58   X_LAST_UPDATE_DATE := SYSDATE;
59   if(X_MODE = 'I') then
60     X_LAST_UPDATED_BY := 1;
61     X_LAST_UPDATE_LOGIN := 0;
62   elsif (X_MODE = 'R') then
63     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
64     if X_LAST_UPDATED_BY is NULL then
65       X_LAST_UPDATED_BY := -1;
66     end if;
67     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
68     if X_LAST_UPDATE_LOGIN is NULL then
69       X_LAST_UPDATE_LOGIN := -1;
70     end if;
71   else
72     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
73     app_exception.raise_exception;
74   end if;
75   insert into PSP_PAYROLL_INTERFACE (
76     PAYROLL_INTERFACE_ID,
77     PAYROLL_ID,
78     PAYROLL_PERIOD_ID,
79     PERSON_ID,
80     ASSIGNMENT_ID,
81     ELEMENT_TYPE_ID,
82     PAY_AMOUNT,
83     EARNED_DATE,
84     CHECK_DATE,
85     EFFECTIVE_DATE,
86     GL_POSTING_OVERRIDE_DATE,
87     GMS_POSTING_OVERRIDE_DATE,
88     PAYROLL_SOURCE_CODE,
89     FTE,
90     REASON_CODE,
91     SUB_LINE_START_DATE,
92     SUB_LINE_END_DATE,
93     DAILY_RATE,
94     SALARY_USED,
95     DR_CR_FLAG,
96     STATUS_CODE,
97     BATCH_NAME,
98     ERROR_CODE,
99     CREATION_DATE,
100     CREATED_BY,
101     LAST_UPDATE_DATE,
102     LAST_UPDATED_BY,
103     LAST_UPDATE_LOGIN,
104     ATTRIBUTE_CATEGORY,
105     ATTRIBUTE1,
106     ATTRIBUTE2,
107     ATTRIBUTE3,
108     ATTRIBUTE4,
109     ATTRIBUTE5,
110     ATTRIBUTE6,
111     ATTRIBUTE7,
112     ATTRIBUTE8,
113     ATTRIBUTE9,
114     ATTRIBUTE10,
115     ATTRIBUTE11,
116     ATTRIBUTE12,
117     ATTRIBUTE13,
118     ATTRIBUTE14,
119     ATTRIBUTE15,
120     BUSINESS_GROUP_ID ,
121     SET_OF_BOOKS_ID,
122     CURRENCY_CODE
123   ) values (
124     X_PAYROLL_INTERFACE_ID,
125     X_PAYROLL_ID,
126     X_PAYROLL_PERIOD_ID,
127     X_PERSON_ID,
128     X_ASSIGNMENT_ID,
129     X_ELEMENT_TYPE_ID,
130     X_PAY_AMOUNT,
131     X_EARNED_DATE,
132     X_CHECK_DATE,
133     X_EFFECTIVE_DATE,
134     X_GL_POSTING_OVERRIDE_DATE,
135     X_GMS_POSTING_OVERRIDE_DATE,
136     X_PAYROLL_SOURCE_CODE,
137     X_FTE,
138     X_REASON_CODE,
139     X_SUB_LINE_START_DATE,
140     X_SUB_LINE_END_DATE,
141     X_DAILY_RATE,
142     X_SALARY_USED,
143     X_DR_CR_FLAG,
144     X_STATUS_CODE,
145     X_BATCH_NAME,
146     X_ERROR_CODE,
147     X_LAST_UPDATE_DATE,
148     X_LAST_UPDATED_BY,
149     X_LAST_UPDATE_DATE,
150     X_LAST_UPDATED_BY,
151     X_LAST_UPDATE_LOGIN,
152     X_ATTRIBUTE_CATEGORY,
153     X_ATTRIBUTE1,
154     X_ATTRIBUTE2,
155     X_ATTRIBUTE3,
156     X_ATTRIBUTE4,
157     X_ATTRIBUTE5,
158     X_ATTRIBUTE6,
159     X_ATTRIBUTE7,
160     X_ATTRIBUTE8,
161     X_ATTRIBUTE9,
162     X_ATTRIBUTE10,
163     X_ATTRIBUTE11,
164     X_ATTRIBUTE12,
165     X_ATTRIBUTE13,
166     X_ATTRIBUTE14,
167     X_ATTRIBUTE15,
168     X_BUSINESS_GROUP_ID ,
169     X_SET_OF_BOOKS_ID,
170     X_CURRENCY_CODE
171   );
172 
173   open c;
174   fetch c into X_ROWID;
175   if (c%notfound) then
176     close c;
177     raise no_data_found;
178   end if;
179   close c;
180 
181 end INSERT_ROW;
182 
183 procedure LOCK_ROW (
184   X_PAYROLL_INTERFACE_ID in NUMBER,
185   X_BATCH_NAME in VARCHAR2,
186   X_PAYROLL_ID in NUMBER,
187   X_PAYROLL_PERIOD_ID in NUMBER,
188   X_PERSON_ID in NUMBER,
189   X_ASSIGNMENT_ID in NUMBER,
190   X_ELEMENT_TYPE_ID in NUMBER,
191   X_PAY_AMOUNT in NUMBER,
192   X_EARNED_DATE in DATE,
193   X_CHECK_DATE in DATE,
194   X_EFFECTIVE_DATE in DATE,
195   X_PAYROLL_SOURCE_CODE in VARCHAR2,
196   X_FTE in NUMBER,
197   X_REASON_CODE in VARCHAR2,
198   X_SUB_LINE_START_DATE in DATE,
199   X_SUB_LINE_END_DATE in DATE,
200   X_DAILY_RATE in NUMBER,
201   X_SALARY_USED in NUMBER,
202   X_DR_CR_FLAG in VARCHAR2,
203   X_STATUS_CODE in VARCHAR2,
204   X_ERROR_CODE in VARCHAR2,
205   X_GL_POSTING_OVERRIDE_DATE in DATE,
206   X_GMS_POSTING_OVERRIDE_DATE in DATE,
207   X_ATTRIBUTE_CATEGORY in VARCHAR2,
208   X_ATTRIBUTE1 in VARCHAR2,
209   X_ATTRIBUTE2 in VARCHAR2,
210   X_ATTRIBUTE3 in VARCHAR2,
211   X_ATTRIBUTE4 in VARCHAR2,
212   X_ATTRIBUTE5 in VARCHAR2,
213   X_ATTRIBUTE6 in VARCHAR2,
214   X_ATTRIBUTE7 in VARCHAR2,
215   X_ATTRIBUTE8 in VARCHAR2,
216   X_ATTRIBUTE9 in VARCHAR2,
217   X_ATTRIBUTE10 in VARCHAR2,
218   X_ATTRIBUTE11 in VARCHAR2,
219   X_ATTRIBUTE12 in VARCHAR2,
220   X_ATTRIBUTE13 in VARCHAR2,
221   X_ATTRIBUTE14 in VARCHAR2,
222   X_ATTRIBUTE15 in VARCHAR2,
223   X_BUSINESS_GROUP_ID in NUMBER,
224   X_SET_OF_BOOKS_ID   in NUMBER
225 ) is
226   cursor c1 is select
227       PAYROLL_ID,
228       PAYROLL_PERIOD_ID,
229       PERSON_ID,
230       ASSIGNMENT_ID,
231       ELEMENT_TYPE_ID,
232       PAY_AMOUNT,
233       EARNED_DATE,
234       CHECK_DATE,
235       EFFECTIVE_DATE,
236       GL_POSTING_OVERRIDE_DATE,
237       GMS_POSTING_OVERRIDE_DATE,
238       PAYROLL_SOURCE_CODE,
239       FTE,
240       REASON_CODE,
241       SUB_LINE_START_DATE,
242       SUB_LINE_END_DATE,
243       DAILY_RATE,
244       SALARY_USED,
245       DR_CR_FLAG,
246       STATUS_CODE,
247       ERROR_CODE,
248       ATTRIBUTE_CATEGORY,
249       ATTRIBUTE1,
250       ATTRIBUTE2,
251       ATTRIBUTE3,
252       ATTRIBUTE4,
253       ATTRIBUTE5,
254       ATTRIBUTE6,
255       ATTRIBUTE7,
256       ATTRIBUTE8,
257       ATTRIBUTE9,
258       ATTRIBUTE10,
259       ATTRIBUTE11,
260       ATTRIBUTE12,
261       ATTRIBUTE13,
262       ATTRIBUTE14,
263       ATTRIBUTE15,
264       BUSINESS_GROUP_ID ,
265       SET_OF_BOOKS_ID
266 
267     from PSP_PAYROLL_INTERFACE
268     where PAYROLL_INTERFACE_ID = X_PAYROLL_INTERFACE_ID
269     and BATCH_NAME = X_BATCH_NAME
270     and BUSINESS_GROUP_ID = X_BUSINESS_GROUP_ID
271     and SET_OF_BOOKS_ID = X_SET_OF_BOOKS_ID
272     for update of PAYROLL_INTERFACE_ID nowait;
273   tlinfo c1%rowtype;
274 
275 begin
276   open c1;
277   fetch c1 into tlinfo;
278   if (c1%notfound) then
279     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
280     app_exception.raise_exception;
281     close c1;
282     return;
283   end if;
284   close c1;
285 
286   if ( (tlinfo.PAYROLL_ID = X_PAYROLL_ID)
287       AND (tlinfo.PAYROLL_PERIOD_ID = X_PAYROLL_PERIOD_ID)
288       AND (tlinfo.PERSON_ID = X_PERSON_ID)
289       AND (tlinfo.ASSIGNMENT_ID = X_ASSIGNMENT_ID)
290       AND (tlinfo.ELEMENT_TYPE_ID = X_ELEMENT_TYPE_ID)
291       AND (tlinfo.PAY_AMOUNT = X_PAY_AMOUNT)
292       AND ((tlinfo.EARNED_DATE = X_EARNED_DATE)
293            OR ((tlinfo.EARNED_DATE is null)
294                AND (X_EARNED_DATE is null)))
295       AND ((tlinfo.CHECK_DATE = X_CHECK_DATE)
296            OR ((tlinfo.CHECK_DATE is null)
297                AND (X_CHECK_DATE is null)))
298       AND (tlinfo.EFFECTIVE_DATE = X_EFFECTIVE_DATE)
299       AND (tlinfo.PAYROLL_SOURCE_CODE = X_PAYROLL_SOURCE_CODE)
300       AND ((tlinfo.FTE = X_FTE)
301            OR ((tlinfo.FTE is null)
302                AND (X_FTE is null)))
303       AND ((tlinfo.REASON_CODE = X_REASON_CODE)
304            OR ((tlinfo.REASON_CODE is null)
305                AND (X_REASON_CODE is null)))
306       AND (tlinfo.SUB_LINE_START_DATE = X_SUB_LINE_START_DATE)
307       AND (tlinfo.SUB_LINE_END_DATE = X_SUB_LINE_END_DATE)
308       AND (tlinfo.DAILY_RATE = X_DAILY_RATE)
309       AND (tlinfo.SALARY_USED = X_SALARY_USED)
310       AND (tlinfo.DR_CR_FLAG = X_DR_CR_FLAG)
311       AND (tlinfo.STATUS_CODE = X_STATUS_CODE)
312       AND ((tlinfo.ERROR_CODE = X_ERROR_CODE)
313            OR ((tlinfo.ERROR_CODE is null)
314                AND (X_ERROR_CODE is null)))
315       AND ((tlinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
316            OR ((tlinfo.ATTRIBUTE_CATEGORY is null)
317                AND (X_ATTRIBUTE_CATEGORY is null)))
318       AND ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
319            OR ((tlinfo.ATTRIBUTE1 is null)
320                AND (X_ATTRIBUTE1 is null)))
321       AND ((tlinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
322            OR ((tlinfo.ATTRIBUTE2 is null)
323                AND (X_ATTRIBUTE2 is null)))
324       AND ((tlinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
325            OR ((tlinfo.ATTRIBUTE3 is null)
326                AND (X_ATTRIBUTE3 is null)))
327       AND ((tlinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
328            OR ((tlinfo.ATTRIBUTE4 is null)
329                AND (X_ATTRIBUTE4 is null)))
330       AND ((tlinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
331            OR ((tlinfo.ATTRIBUTE5 is null)
332                AND (X_ATTRIBUTE5 is null)))
333       AND ((tlinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
334            OR ((tlinfo.ATTRIBUTE6 is null)
335                AND (X_ATTRIBUTE6 is null)))
336       AND ((tlinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
337            OR ((tlinfo.ATTRIBUTE7 is null)
338                AND (X_ATTRIBUTE7 is null)))
339       AND ((tlinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
340            OR ((tlinfo.ATTRIBUTE8 is null)
341                AND (X_ATTRIBUTE8 is null)))
342       AND ((tlinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
343            OR ((tlinfo.ATTRIBUTE9 is null)
344                AND (X_ATTRIBUTE9 is null)))
345       AND ((tlinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
346            OR ((tlinfo.ATTRIBUTE10 is null)
347                AND (X_ATTRIBUTE10 is null)))
348       AND ((tlinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
349            OR ((tlinfo.ATTRIBUTE11 is null)
350                AND (X_ATTRIBUTE11 is null)))
351       AND ((tlinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
352            OR ((tlinfo.ATTRIBUTE12 is null)
353                AND (X_ATTRIBUTE12 is null)))
354       AND ((tlinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
355            OR ((tlinfo.ATTRIBUTE13 is null)
356                AND (X_ATTRIBUTE13 is null)))
357       AND ((tlinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
358            OR ((tlinfo.ATTRIBUTE14 is null)
359                AND (X_ATTRIBUTE14 is null)))
360       AND ((tlinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
361            OR ((tlinfo.ATTRIBUTE15 is null)
362                AND (X_ATTRIBUTE15 is null)))
363   ) then
364     null;
365   else
366     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
367     app_exception.raise_exception;
368   end if;
369   return;
370 end LOCK_ROW;
371 
372 procedure UPDATE_ROW (
373   X_PAYROLL_INTERFACE_ID in NUMBER,
374   X_BATCH_NAME in VARCHAR2,
375   X_PAYROLL_ID in NUMBER,
376   X_PAYROLL_PERIOD_ID in NUMBER,
377   X_PERSON_ID in NUMBER,
378   X_ASSIGNMENT_ID in NUMBER,
379   X_ELEMENT_TYPE_ID in NUMBER,
380   X_PAY_AMOUNT in NUMBER,
381   X_EARNED_DATE in DATE,
382   X_CHECK_DATE in DATE,
383   X_EFFECTIVE_DATE in DATE,
384   X_PAYROLL_SOURCE_CODE in VARCHAR2,
385   X_FTE in NUMBER,
386   X_REASON_CODE in VARCHAR2,
387   X_SUB_LINE_START_DATE in DATE,
388   X_SUB_LINE_END_DATE in DATE,
389   X_DAILY_RATE in NUMBER,
390   X_SALARY_USED in NUMBER,
391   X_DR_CR_FLAG in VARCHAR2,
392   X_STATUS_CODE in VARCHAR2,
393   X_ERROR_CODE in VARCHAR2,
394   X_MODE in VARCHAR2 default 'R',
395   X_GL_POSTING_OVERRIDE_DATE in DATE,
396   X_GMS_POSTING_OVERRIDE_DATE in DATE,
397   X_ATTRIBUTE_CATEGORY in VARCHAR2,
398   X_ATTRIBUTE1 in VARCHAR2,
399   X_ATTRIBUTE2 in VARCHAR2,
400   X_ATTRIBUTE3 in VARCHAR2,
401   X_ATTRIBUTE4 in VARCHAR2,
402   X_ATTRIBUTE5 in VARCHAR2,
403   X_ATTRIBUTE6 in VARCHAR2,
404   X_ATTRIBUTE7 in VARCHAR2,
405   X_ATTRIBUTE8 in VARCHAR2,
406   X_ATTRIBUTE9 in VARCHAR2,
407   X_ATTRIBUTE10 in VARCHAR2,
408   X_ATTRIBUTE11 in VARCHAR2,
409   X_ATTRIBUTE12 in VARCHAR2,
410   X_ATTRIBUTE13 in VARCHAR2,
411   X_ATTRIBUTE14 in VARCHAR2,
412   X_ATTRIBUTE15 in VARCHAR2,
413   X_BUSINESS_GROUP_ID in NUMBER,
414   X_SET_OF_BOOKS_ID   in NUMBER,
415   X_CURRENCY_CODE     in VARCHAR2
416   ) is
417     X_LAST_UPDATE_DATE DATE;
418     X_LAST_UPDATED_BY NUMBER;
419     X_LAST_UPDATE_LOGIN NUMBER;
420 begin
421   X_LAST_UPDATE_DATE := SYSDATE;
422   if(X_MODE = 'I') then
423     X_LAST_UPDATED_BY := 1;
424     X_LAST_UPDATE_LOGIN := 0;
425   elsif (X_MODE = 'R') then
426     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
427     if X_LAST_UPDATED_BY is NULL then
428       X_LAST_UPDATED_BY := -1;
429     end if;
430     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
431     if X_LAST_UPDATE_LOGIN is NULL then
432       X_LAST_UPDATE_LOGIN := -1;
433     end if;
434   else
435     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
436     app_exception.raise_exception;
437   end if;
438   update PSP_PAYROLL_INTERFACE set
439     PAYROLL_ID = X_PAYROLL_ID,
440     PAYROLL_PERIOD_ID = X_PAYROLL_PERIOD_ID,
441     PERSON_ID = X_PERSON_ID,
442     ASSIGNMENT_ID = X_ASSIGNMENT_ID,
443     ELEMENT_TYPE_ID = X_ELEMENT_TYPE_ID,
444     PAY_AMOUNT = X_PAY_AMOUNT,
445     EARNED_DATE = X_EARNED_DATE,
446     CHECK_DATE = X_CHECK_DATE,
447     EFFECTIVE_DATE = X_EFFECTIVE_DATE,
448     GL_POSTING_OVERRIDE_DATE = X_GL_POSTING_OVERRIDE_DATE,
449     GMS_POSTING_OVERRIDE_DATE = X_GMS_POSTING_OVERRIDE_DATE,
450     PAYROLL_SOURCE_CODE = X_PAYROLL_SOURCE_CODE,
451     FTE = X_FTE,
452     REASON_CODE = X_REASON_CODE,
453     SUB_LINE_START_DATE = X_SUB_LINE_START_DATE,
454     SUB_LINE_END_DATE = X_SUB_LINE_END_DATE,
455     DAILY_RATE = X_DAILY_RATE,
459     ERROR_CODE = X_ERROR_CODE,
456     SALARY_USED = X_SALARY_USED,
457     DR_CR_FLAG = X_DR_CR_FLAG,
458     STATUS_CODE = X_STATUS_CODE,
460     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
461     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
462     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
463     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
464     ATTRIBUTE1 = X_ATTRIBUTE1,
465     ATTRIBUTE2 = X_ATTRIBUTE2,
466     ATTRIBUTE3 = X_ATTRIBUTE3,
467     ATTRIBUTE4 = X_ATTRIBUTE4,
468     ATTRIBUTE5 = X_ATTRIBUTE5,
469     ATTRIBUTE6 = X_ATTRIBUTE6,
470     ATTRIBUTE7 = X_ATTRIBUTE7,
471     ATTRIBUTE8 = X_ATTRIBUTE8,
472     ATTRIBUTE9 = X_ATTRIBUTE9,
473     ATTRIBUTE10 = X_ATTRIBUTE10,
474     ATTRIBUTE11 = X_ATTRIBUTE11,
475     ATTRIBUTE12 = X_ATTRIBUTE12,
476     ATTRIBUTE13 = X_ATTRIBUTE13,
477     ATTRIBUTE14 = X_ATTRIBUTE14,
478     ATTRIBUTE15 = X_ATTRIBUTE15,
479     BUSINESS_GROUP_ID =  X_BUSINESS_GROUP_ID ,
480     SET_OF_BOOKS_ID = X_SET_OF_BOOKS_ID   ,
481     CURRENCY_CODE  = X_CURRENCY_CODE
482   where PAYROLL_INTERFACE_ID = X_PAYROLL_INTERFACE_ID
483   and BATCH_NAME = X_BATCH_NAME
484   and BUSINESS_GROUP_ID =  X_BUSINESS_GROUP_ID
485   and SET_OF_BOOKS_ID = X_SET_OF_BOOKS_ID
486   ;
487   if (sql%notfound) then
488     raise no_data_found;
489   end if;
490 end UPDATE_ROW;
491 
492 procedure ADD_ROW (
493   X_ROWID in out NOCOPY VARCHAR2,
494   X_PAYROLL_INTERFACE_ID in NUMBER,
495   X_BATCH_NAME in VARCHAR2,
496   X_PAYROLL_ID in NUMBER,
497   X_PAYROLL_PERIOD_ID in NUMBER,
498   X_PERSON_ID in NUMBER,
499   X_ASSIGNMENT_ID in NUMBER,
500   X_ELEMENT_TYPE_ID in NUMBER,
501   X_PAY_AMOUNT in NUMBER,
502   X_EARNED_DATE in DATE,
503   X_CHECK_DATE in DATE,
504   X_EFFECTIVE_DATE in DATE,
505   X_PAYROLL_SOURCE_CODE in VARCHAR2,
506   X_FTE in NUMBER,
507   X_REASON_CODE in VARCHAR2,
508   X_SUB_LINE_START_DATE in DATE,
509   X_SUB_LINE_END_DATE in DATE,
510   X_DAILY_RATE in NUMBER,
511   X_SALARY_USED in NUMBER,
512   X_DR_CR_FLAG in VARCHAR2,
513   X_STATUS_CODE in VARCHAR2,
514   X_ERROR_CODE in VARCHAR2,
515   X_MODE in VARCHAR2 default 'R',
516   X_GL_POSTING_OVERRIDE_DATE in DATE,
517   X_GMS_POSTING_OVERRIDE_DATE in DATE,
518   X_ATTRIBUTE_CATEGORY in VARCHAR2,
519   X_ATTRIBUTE1 in VARCHAR2,
520   X_ATTRIBUTE2 in VARCHAR2,
521   X_ATTRIBUTE3 in VARCHAR2,
522   X_ATTRIBUTE4 in VARCHAR2,
523   X_ATTRIBUTE5 in VARCHAR2,
524   X_ATTRIBUTE6 in VARCHAR2,
525   X_ATTRIBUTE7 in VARCHAR2,
526   X_ATTRIBUTE8 in VARCHAR2,
527   X_ATTRIBUTE9 in VARCHAR2,
528   X_ATTRIBUTE10 in VARCHAR2,
529   X_ATTRIBUTE11 in VARCHAR2,
530   X_ATTRIBUTE12 in VARCHAR2,
531   X_ATTRIBUTE13 in VARCHAR2,
532   X_ATTRIBUTE14 in VARCHAR2,
533   X_ATTRIBUTE15 in VARCHAR2,
534   X_BUSINESS_GROUP_ID in NUMBER,
535   X_SET_OF_BOOKS_ID   in NUMBER,
536   X_CURRENCY_CODE     in VARCHAR2
537   ) is
538   cursor c1 is select rowid from PSP_PAYROLL_INTERFACE
539      where PAYROLL_INTERFACE_ID = X_PAYROLL_INTERFACE_ID
540      and BATCH_NAME = X_BATCH_NAME
541   ;
542   dummy c1%rowtype;
543 begin
544   open c1;
545   fetch c1 into dummy;
546   if (c1%notfound) then
547     close c1;
548     INSERT_ROW (
549      X_ROWID,
550      X_PAYROLL_INTERFACE_ID,
551      X_BATCH_NAME,
552      X_PAYROLL_ID,
553      X_PAYROLL_PERIOD_ID,
554      X_PERSON_ID,
555      X_ASSIGNMENT_ID,
556      X_ELEMENT_TYPE_ID,
557      X_PAY_AMOUNT,
558      X_EARNED_DATE,
559      X_CHECK_DATE,
560      X_EFFECTIVE_DATE,
561      X_PAYROLL_SOURCE_CODE,
562      X_FTE,
563      X_REASON_CODE,
564      X_SUB_LINE_START_DATE,
565      X_SUB_LINE_END_DATE,
566      X_DAILY_RATE,
567      X_SALARY_USED,
568      X_DR_CR_FLAG,
569      X_STATUS_CODE,
570      X_ERROR_CODE,
571      X_MODE,
572      X_GL_POSTING_OVERRIDE_DATE,
573      X_GMS_POSTING_OVERRIDE_DATE,
574      X_ATTRIBUTE_CATEGORY,
575      X_ATTRIBUTE1,
576      X_ATTRIBUTE2,
577      X_ATTRIBUTE3,
578      X_ATTRIBUTE4,
579      X_ATTRIBUTE5,
580      X_ATTRIBUTE6,
581      X_ATTRIBUTE7,
582      X_ATTRIBUTE8,
583      X_ATTRIBUTE9,
584      X_ATTRIBUTE10,
585      X_ATTRIBUTE11,
586      X_ATTRIBUTE12,
587      X_ATTRIBUTE13,
588      X_ATTRIBUTE14,
589      X_ATTRIBUTE15,
590      X_BUSINESS_GROUP_ID ,
591      X_SET_OF_BOOKS_ID  ,
592      X_CURRENCY_CODE
593      );
594     return;
595   end if;
596   close c1;
597   UPDATE_ROW (
598    X_PAYROLL_INTERFACE_ID,
599    X_BATCH_NAME,
600    X_PAYROLL_ID,
601    X_PAYROLL_PERIOD_ID,
602    X_PERSON_ID,
603    X_ASSIGNMENT_ID,
604    X_ELEMENT_TYPE_ID,
605    X_PAY_AMOUNT,
606    X_EARNED_DATE,
607    X_CHECK_DATE,
608    X_EFFECTIVE_DATE,
609    X_PAYROLL_SOURCE_CODE,
610    X_FTE,
611    X_REASON_CODE,
612    X_SUB_LINE_START_DATE,
613    X_SUB_LINE_END_DATE,
614    X_DAILY_RATE,
615    X_SALARY_USED,
616    X_DR_CR_FLAG,
617    X_STATUS_CODE,
618    X_ERROR_CODE,
619    X_MODE,
620    X_GL_POSTING_OVERRIDE_DATE,
621    X_GMS_POSTING_OVERRIDE_DATE,
622    X_ATTRIBUTE_CATEGORY,
623    X_ATTRIBUTE1,
624    X_ATTRIBUTE2,
625    X_ATTRIBUTE3,
626    X_ATTRIBUTE4,
627    X_ATTRIBUTE5,
628    X_ATTRIBUTE6,
629    X_ATTRIBUTE7,
630    X_ATTRIBUTE8,
631    X_ATTRIBUTE9,
632    X_ATTRIBUTE10,
633    X_ATTRIBUTE11,
634    X_ATTRIBUTE12,
635    X_ATTRIBUTE13,
636    X_ATTRIBUTE14,
637    X_ATTRIBUTE15,
638    X_BUSINESS_GROUP_ID ,
639    X_SET_OF_BOOKS_ID   ,
640    X_CURRENCY_CODE
641    );
642 end ADD_ROW;
643 
644 procedure DELETE_ROW (
645   X_PAYROLL_INTERFACE_ID in NUMBER,
646   X_BATCH_NAME in VARCHAR2,
647   X_BUSINESS_GROUP_ID in NUMBER,
648   X_SET_OF_BOOKS_ID   in NUMBER
649 ) is
650 begin
651   delete from PSP_PAYROLL_INTERFACE
652   where PAYROLL_INTERFACE_ID = X_PAYROLL_INTERFACE_ID
653   and BATCH_NAME = X_BATCH_NAME;
654   if (sql%notfound) then
655     raise no_data_found;
656   end if;
657 end DELETE_ROW;
658 
659 end PSP_PAYROLL_INTERFACE_PKG;