DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_DIC_OCC_TITLS_PKG

Source


1 PACKAGE BODY igs_ps_dic_occ_titls_pkg AS
2 /* $Header: IGSPI0EB.pls 115.6 2002/11/29 01:56:01 nsidana ship $ */
3   l_rowid VARCHAR2(25);
4   old_references igs_ps_dic_occ_titls%RowType;
5   new_references igs_ps_dic_occ_titls%RowType;
6 
7   PROCEDURE Set_Column_Values (
8     p_action IN VARCHAR2,
9     x_rowid IN VARCHAR2 DEFAULT NULL,
10     x_occupational_title_code IN VARCHAR2 DEFAULT NULL,
11     x_occupational_title IN VARCHAR2 DEFAULT NULL,
12     x_alternate_title IN VARCHAR2 DEFAULT NULL,
13     x_creation_date IN DATE DEFAULT NULL,
14     x_created_by IN NUMBER DEFAULT NULL,
15     x_last_update_date IN DATE DEFAULT NULL,
16     x_last_updated_by IN NUMBER DEFAULT NULL,
17     x_last_update_login IN NUMBER DEFAULT NULL
18   ) AS
19 
20 /*************************************************************
21   Created By      : jdeekoll
22   Date Created By : 11-May-2000
23   Purpose :
24   Know limitations, enhancements or remarks
25   Change History
26   Who             When            What
27 
28   (reverse chronological order - newest change first)
29   ***************************************************************/
30 
31 
32 
33   CURSOR cur_old_ref_values IS
34       SELECT   *
35       FROM     IGS_PS_DIC_OCC_TITLS
36       WHERE    rowid = x_rowid;
37 
38   BEGIN
39 
40     l_rowid := x_rowid;
41 
42     -- Code for setting the Old and New Reference Values.
43     -- Populate Old Values.
44     Open cur_old_ref_values;
45     Fetch cur_old_ref_values INTO old_references;
46     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
47       Close cur_old_ref_values;
48       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
49       IGS_GE_MSG_STACK.ADD;
50       App_Exception.Raise_Exception;
51       Return;
52     END IF;
53     Close cur_old_ref_values;
54 
55     -- Populate New Values.
56     new_references.occupational_title_code := x_occupational_title_code;
57     new_references.occupational_title := x_occupational_title;
58     new_references.alternate_title := x_alternate_title;
59     IF (p_action = 'UPDATE') THEN
60       new_references.creation_date := old_references.creation_date;
61       new_references.created_by := old_references.created_by;
62     ELSE
63       new_references.creation_date := x_creation_date;
64       new_references.created_by := x_created_by;
65     END IF;
66     new_references.last_update_date := x_last_update_date;
67     new_references.last_updated_by := x_last_updated_by;
68     new_references.last_update_login := x_last_update_login;
69 
70   END Set_Column_Values;
71 
72   PROCEDURE Check_Constraints (
73 		 Column_Name IN VARCHAR2  DEFAULT NULL,
74 		 Column_Value IN VARCHAR2  DEFAULT NULL ) AS
75 
76 /*************************************************************
77   Created By      : jdeekoll
78   Date Created By : 11-May-2000
79   Purpose :
80   Know limitations, enhancements or remarks
81   Change History
82   Who             When            What
83 
84   (reverse chronological order - newest change first)
85   ***************************************************************/
86 
87 
88 
89   BEGIN
90 
91       IF column_name IS NULL THEN
92         NULL;
93         NULL;
94       END IF;
95 
96 
97 
98 
99   END Check_Constraints;
100 
101 PROCEDURE Check_Child_Existance IS
102 /*************************************************************
103   Created By      : jdeekoll
104   Date Created By : 11-May-2000
105   Purpose :
106   Know limitations, enhancements or remarks
107   Change History
108   Who             When            What
109 
110   (reverse chronological order - newest change first)
111   ***************************************************************/
112 
113   BEGIN
114 
115     Igs_Ps_Occup_Titles_Pkg.Get_FK_Igs_Ps_Dic_Occ_Titls (
116       old_references.occupational_title_code
117       );
118 
119   END Check_Child_Existance;
120 
121 
122 
123 
124   FUNCTION Get_PK_For_Validation (
125     x_occupational_title_code IN VARCHAR2
126     ) RETURN BOOLEAN AS
127 
128     CURSOR cur_rowid IS
129       SELECT   rowid
130       FROM     igs_ps_dic_occ_titls
131       WHERE    occupational_title_code = x_occupational_title_code
132       FOR UPDATE NOWAIT;
133 
134     lv_rowid cur_rowid%RowType;
135 
136   BEGIN
137 
138     Open cur_rowid;
139     Fetch cur_rowid INTO lv_rowid;
140     IF (cur_rowid%FOUND) THEN
141       Close cur_rowid;
142       Return(TRUE);
143     ELSE
144       Close cur_rowid;
145       Return(FALSE);
146     END IF;
147   END Get_PK_For_Validation;
148 
149   PROCEDURE Before_DML (
150     p_action IN VARCHAR2,
151     x_rowid IN VARCHAR2 DEFAULT NULL,
152     x_occupational_title_code IN VARCHAR2 DEFAULT NULL,
153     x_occupational_title IN VARCHAR2 DEFAULT NULL,
154     x_alternate_title IN VARCHAR2 DEFAULT NULL,
155     x_creation_date IN DATE DEFAULT NULL,
156     x_created_by IN NUMBER DEFAULT NULL,
157     x_last_update_date IN DATE DEFAULT NULL,
158     x_last_updated_by IN NUMBER DEFAULT NULL,
159     x_last_update_login IN NUMBER DEFAULT NULL
160   ) AS
161 
162 
163 /*************************************************************
164   Created By      : jdeekoll
165   Date Created By : 11-May-2000
166   Purpose :
167   Know limitations, enhancements or remarks
168   Change History
169   Who             When            What
170 
171   (reverse chronological order - newest change first)
172   ***************************************************************/
173 
174   BEGIN
175 
176     Set_Column_Values (
177       p_action,
178       x_rowid,
179       x_occupational_title_code,
180       x_occupational_title,
181       x_alternate_title,
182       x_creation_date,
183       x_created_by,
184       x_last_update_date,
185       x_last_updated_by,
186       x_last_update_login
187     );
188 
189     IF (p_action = 'INSERT') THEN
190       -- Call all the procedures related to Before Insert.
191       Null;
192 	     IF Get_Pk_For_Validation(
193     		new_references.occupational_title_code)  THEN
194 	       Fnd_Message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
195       IGS_GE_MSG_STACK.ADD;
196 	       App_Exception.Raise_Exception;
197 	     END IF;
198       Check_Constraints;
199     ELSIF (p_action = 'UPDATE') THEN
200       -- Call all the procedures related to Before Update.
201       Null;
202       Check_Constraints;
203     ELSIF (p_action = 'DELETE') THEN
204       -- Call all the procedures related to Before Delete.
205       Null;
206       Check_Child_Existance;
207     ELSIF (p_action = 'VALIDATE_INSERT') THEN
208 	 -- Call all the procedures related to Before Insert.
209       IF Get_PK_For_Validation (
210     		new_references.occupational_title_code)  THEN
211 	       Fnd_Message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
212       IGS_GE_MSG_STACK.ADD;
213 	       App_Exception.Raise_Exception;
214 	     END IF;
215       Check_Constraints;
216     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
217       Check_Constraints;
218     ELSIF (p_action = 'VALIDATE_DELETE') THEN
219       Null;
220       Check_Child_Existance;
221     END IF;
222 
223   END Before_DML;
224 
225   PROCEDURE After_DML (
226     p_action IN VARCHAR2,
227     x_rowid IN VARCHAR2
228   ) AS
229 
230 /*************************************************************
231   Created By      : jdeekoll
232   Date Created By : 11-May-2000
233   Purpose :
234   Know limitations, enhancements or remarks
235   Change History
236   Who             When            What
237 
238   (reverse chronological order - newest change first)
239   ***************************************************************/
240 
241 
242   BEGIN
243 
244     l_rowid := x_rowid;
245 
246     IF (p_action = 'INSERT') THEN
247       -- Call all the procedures related to After Insert.
248       Null;
249     ELSIF (p_action = 'UPDATE') THEN
250       -- Call all the procedures related to After Update.
251       Null;
252     ELSIF (p_action = 'DELETE') THEN
253       -- Call all the procedures related to After Delete.
254       Null;
255     END IF;
256 
257   END After_DML;
258 
259  procedure INSERT_ROW (
260       X_ROWID in out NOCOPY VARCHAR2,
261        x_OCCUPATIONAL_TITLE_CODE IN VARCHAR2,
262        x_OCCUPATIONAL_TITLE IN VARCHAR2,
263        x_ALTERNATE_TITLE IN VARCHAR2,
264       X_MODE in VARCHAR2 default 'R'
265   ) AS
266 
267 /*************************************************************
268   Created By      : jdeekoll
269   Date Created By : 11-May-2000
270   Purpose :
271   Know limitations, enhancements or remarks
272   Change History
273   Who             When            What
274 
275   (reverse chronological order - newest change first)
276   ***************************************************************/
277 
278 
279 
280     cursor C is select ROWID from IGS_PS_DIC_OCC_TITLS
281              where                 OCCUPATIONAL_TITLE_CODE= X_OCCUPATIONAL_TITLE_CODE
282 ;
283      X_LAST_UPDATE_DATE DATE ;
284      X_LAST_UPDATED_BY NUMBER ;
285      X_LAST_UPDATE_LOGIN NUMBER ;
286  begin
287      X_LAST_UPDATE_DATE := SYSDATE;
288       if(X_MODE = 'I') then
289         X_LAST_UPDATED_BY := 1;
290         X_LAST_UPDATE_LOGIN := 0;
291          elsif (X_MODE = 'R') then
292                X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
293             if X_LAST_UPDATED_BY is NULL then
294                 X_LAST_UPDATED_BY := -1;
295             end if;
296             X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
297          if X_LAST_UPDATE_LOGIN is NULL then
298             X_LAST_UPDATE_LOGIN := -1;
299           end if;
300        else
301         FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
302       IGS_GE_MSG_STACK.ADD;
303           app_exception.raise_exception;
304        end if;
305    Before_DML(
306  		p_action=>'INSERT',
307  		x_rowid=>X_ROWID,
308  	       x_occupational_title_code=>X_OCCUPATIONAL_TITLE_CODE,
309  	       x_occupational_title=>X_OCCUPATIONAL_TITLE,
310  	       x_alternate_title=>X_ALTERNATE_TITLE,
311 	       x_creation_date=>X_LAST_UPDATE_DATE,
312 	       x_created_by=>X_LAST_UPDATED_BY,
313 	       x_last_update_date=>X_LAST_UPDATE_DATE,
314 	       x_last_updated_by=>X_LAST_UPDATED_BY,
315 	       x_last_update_login=>X_LAST_UPDATE_LOGIN);
316      insert into IGS_PS_DIC_OCC_TITLS (
317 		OCCUPATIONAL_TITLE_CODE
318 		,OCCUPATIONAL_TITLE
319 		,ALTERNATE_TITLE
320 	        ,CREATION_DATE
321 		,CREATED_BY
322 		,LAST_UPDATE_DATE
323 		,LAST_UPDATED_BY
324 		,LAST_UPDATE_LOGIN
325         ) values  (
326 	        NEW_REFERENCES.OCCUPATIONAL_TITLE_CODE
327 	        ,NEW_REFERENCES.OCCUPATIONAL_TITLE
328 	        ,NEW_REFERENCES.ALTERNATE_TITLE
329 	        ,X_LAST_UPDATE_DATE
330 		,X_LAST_UPDATED_BY
331 		,X_LAST_UPDATE_DATE
332 		,X_LAST_UPDATED_BY
333 		,X_LAST_UPDATE_LOGIN
334 );
335 		open c;
336 		 fetch c into X_ROWID;
337  		if (c%notfound) then
338 		close c;
339  	     raise no_data_found;
340 		end if;
341  		close c;
342     After_DML (
343 		p_action => 'INSERT' ,
344 		x_rowid => X_ROWID );
345 end INSERT_ROW;
346  procedure LOCK_ROW (
347       X_ROWID in  VARCHAR2,
348        x_OCCUPATIONAL_TITLE_CODE IN VARCHAR2,
349        x_OCCUPATIONAL_TITLE IN VARCHAR2,
350        x_ALTERNATE_TITLE IN VARCHAR2  ) AS
351 
352 /*************************************************************
353   Created By      : jdeekoll
354   Date Created By : 11-May-2000
355   Purpose :
356   Know limitations, enhancements or remarks
357   Change History
358   Who             When            What
359 
360   (reverse chronological order - newest change first)
361   ***************************************************************/
362 
363 
364    cursor c1 is select
365       OCCUPATIONAL_TITLE
366 ,      ALTERNATE_TITLE
367     from IGS_PS_DIC_OCC_TITLS
368     where ROWID = X_ROWID
369     for update nowait;
370      tlinfo c1%rowtype;
371 begin
372   open c1;
373   fetch c1 into tlinfo;
374   if (c1%notfound) then
375     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
376       IGS_GE_MSG_STACK.ADD;
377     close c1;
378     app_exception.raise_exception;
379     return;
380   end if;
381   close c1;
382 if ( (  tlinfo.OCCUPATIONAL_TITLE = X_OCCUPATIONAL_TITLE)
383   AND ((tlinfo.ALTERNATE_TITLE = X_ALTERNATE_TITLE)
384  	    OR ((tlinfo.ALTERNATE_TITLE is null)
385 		AND (X_ALTERNATE_TITLE is null)))
386   ) then
387     null;
388   else
389     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
390       IGS_GE_MSG_STACK.ADD;
391     app_exception.raise_exception;
392   end if;
393   return;
394 end LOCK_ROW;
395  Procedure UPDATE_ROW (
396       X_ROWID in  VARCHAR2,
397        x_OCCUPATIONAL_TITLE_CODE IN VARCHAR2,
398        x_OCCUPATIONAL_TITLE IN VARCHAR2,
399        x_ALTERNATE_TITLE IN VARCHAR2,
400       X_MODE in VARCHAR2 default 'R'
401   ) AS
402 
403 /*************************************************************
404   Created By      : jdeekoll
405   Date Created By : 11-May-2000
406   Purpose :
407   Know limitations, enhancements or remarks
408   Change History
409   Who             When            What
410 
411   (reverse chronological order - newest change first)
412   ***************************************************************/
413 
414 
415      X_LAST_UPDATE_DATE DATE ;
416      X_LAST_UPDATED_BY NUMBER ;
417      X_LAST_UPDATE_LOGIN NUMBER ;
418  begin
419      X_LAST_UPDATE_DATE := SYSDATE;
420       if(X_MODE = 'I') then
421         X_LAST_UPDATED_BY := 1;
422         X_LAST_UPDATE_LOGIN := 0;
423          elsif (X_MODE = 'R') then
424                X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
425             if X_LAST_UPDATED_BY is NULL then
426                 X_LAST_UPDATED_BY := -1;
427             end if;
428             X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
429          if X_LAST_UPDATE_LOGIN is NULL then
430             X_LAST_UPDATE_LOGIN := -1;
431           end if;
432        else
433         FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
434       IGS_GE_MSG_STACK.ADD;
435           app_exception.raise_exception;
436        end if;
437    Before_DML(
438  		p_action=>'UPDATE',
439  		x_rowid=>X_ROWID,
440  	       x_occupational_title_code=>X_OCCUPATIONAL_TITLE_CODE,
441  	       x_occupational_title=>X_OCCUPATIONAL_TITLE,
442  	       x_alternate_title=>X_ALTERNATE_TITLE,
443 	       x_creation_date=>X_LAST_UPDATE_DATE,
444 	       x_created_by=>X_LAST_UPDATED_BY,
445 	       x_last_update_date=>X_LAST_UPDATE_DATE,
446 	       x_last_updated_by=>X_LAST_UPDATED_BY,
447 	       x_last_update_login=>X_LAST_UPDATE_LOGIN);
448    update IGS_PS_DIC_OCC_TITLS set
449       OCCUPATIONAL_TITLE =  NEW_REFERENCES.OCCUPATIONAL_TITLE,
450       ALTERNATE_TITLE =  NEW_REFERENCES.ALTERNATE_TITLE,
451 	LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
452 	LAST_UPDATED_BY = X_LAST_UPDATED_BY,
453 	LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
454 	  where ROWID = X_ROWID;
455 	if (sql%notfound) then
456 		raise no_data_found;
457 	end if;
458 
459  After_DML (
460 	p_action => 'UPDATE' ,
461 	x_rowid => X_ROWID
462 	);
463 end UPDATE_ROW;
464  procedure ADD_ROW (
465       X_ROWID in out NOCOPY VARCHAR2,
466        x_OCCUPATIONAL_TITLE_CODE IN VARCHAR2,
467        x_OCCUPATIONAL_TITLE IN VARCHAR2,
468        x_ALTERNATE_TITLE IN VARCHAR2,
469       X_MODE in VARCHAR2 default 'R'
470   ) AS
471 
472 
473 /*************************************************************
474   Created By      : jdeekoll
475   Date Created By : 11-May-2000
476   Purpose :
477   Know limitations, enhancements or remarks
478   Change History
479   Who             When            What
480 
481   (reverse chronological order - newest change first)
482   ***************************************************************/
483 
484 
485     cursor c1 is select ROWID from IGS_PS_DIC_OCC_TITLS
486              where     OCCUPATIONAL_TITLE_CODE= X_OCCUPATIONAL_TITLE_CODE
487 ;
488 begin
489 	open c1;
490 		fetch c1 into X_ROWID;
491 	if (c1%notfound) then
492 	close c1;
493     INSERT_ROW (
494       X_ROWID,
495        X_OCCUPATIONAL_TITLE_CODE,
496        X_OCCUPATIONAL_TITLE,
497        X_ALTERNATE_TITLE,
498       X_MODE );
499      return;
500 	end if;
501 	   close c1;
502 UPDATE_ROW (
503       X_ROWID,
504        X_OCCUPATIONAL_TITLE_CODE,
505        X_OCCUPATIONAL_TITLE,
506        X_ALTERNATE_TITLE,
507       X_MODE );
508 end ADD_ROW;
509 procedure DELETE_ROW (
510   X_ROWID in VARCHAR2
511 ) AS
512 
513 /*************************************************************
514   Created By      : jdeekoll
515   Date Created By : 11-May-2000
516   Purpose :
517   Know limitations, enhancements or remarks
518   Change History
519   Who             When            What
520 
521   (reverse chronological order - newest change first)
522   ***************************************************************/
523 
524 
525 
526 begin
527 Before_DML (
528 p_action => 'DELETE',
529 x_rowid => X_ROWID
530 );
531  delete from IGS_PS_DIC_OCC_TITLS
532  where ROWID = X_ROWID;
533   if (sql%notfound) then
534     raise no_data_found;
535   end if;
536 After_DML (
537  p_action => 'DELETE',
538  x_rowid => X_ROWID
539 );
540 end DELETE_ROW;
541 END igs_ps_dic_occ_titls_pkg;