DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_OR_ORG_NOTE_TYPE_PKG

Source


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