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