DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PE_ABORG_TORESCD_PKG

Source


1 package body IGS_PE_ABORG_TORESCD_PKG as
2  /* $Header: IGSNI03B.pls 115.4 2002/12/24 05:44:41 npalanis ship $ */
3 
4   l_rowid VARCHAR2(25);
5 
6   old_references IGS_PE_ABORG_TORESCD%RowType;
7 
8   new_references IGS_PE_ABORG_TORESCD%RowType;
9 
10 
11 
12   PROCEDURE Set_Column_Values (
13 
14     p_action IN VARCHAR2,
15 
16     x_rowid IN VARCHAR2 DEFAULT NULL,
17 
18     x_aborig_torres_cd IN VARCHAR2 DEFAULT NULL,
19 
20     x_govt_aborig_torres_cd IN NUMBER DEFAULT NULL,
21 
22     x_description IN VARCHAR2 DEFAULT NULL,
23 
24     x_closed_ind IN VARCHAR2 DEFAULT NULL,
25 
26     x_notes IN VARCHAR2 DEFAULT NULL,
27 
28     x_creation_date IN DATE DEFAULT NULL,
29 
30     x_created_by IN NUMBER DEFAULT NULL,
31 
32     x_last_update_date IN DATE DEFAULT NULL,
33 
34     x_last_updated_by IN NUMBER DEFAULT NULL,
35 
36     x_last_update_login IN NUMBER DEFAULT NULL
37 
38   ) as
39 
40 
41 
42     CURSOR cur_old_ref_values IS
43 
44       SELECT   *
45 
46       FROM     IGS_PE_ABORG_TORESCD
47 
48       WHERE    rowid = x_rowid;
49 
50 
51 
52   BEGIN
53 
54 
55 
56     l_rowid := x_rowid;
57 
58 
59 
60     -- Code for setting the Old and New Reference Values.
61 
62     -- Populate Old Values.
63 
64     Open cur_old_ref_values;
65 
66     Fetch cur_old_ref_values INTO old_references;
67 
68     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
69 
70       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
71       IGS_GE_MSG_STACK.ADD;
72 
73 
74       Close cur_old_ref_values;
75       App_Exception.Raise_Exception;
76        Return;
77 
78     END IF;
79 
80     Close cur_old_ref_values;
81 
82 
83 
84     -- Populate New Values.
85 
86     new_references.aborig_torres_cd := x_aborig_torres_cd;
87 
88     new_references.govt_aborig_torres_cd := x_govt_aborig_torres_cd;
89 
90     new_references.description := x_description;
91 
92     new_references.closed_ind := x_closed_ind;
93 
94     new_references.notes := x_notes;
95 
96     IF (p_action = 'UPDATE') THEN
97 
98       new_references.creation_date := old_references.creation_date;
99 
100       new_references.created_by := old_references.created_by;
101 
102     ELSE
103 
104       new_references.creation_date := x_creation_date;
105 
106       new_references.created_by := x_created_by;
107 
108     END IF;
109 
110     new_references.last_update_date := x_last_update_date;
111 
112     new_references.last_updated_by := x_last_updated_by;
113 
114     new_references.last_update_login := x_last_update_login;
115 
116 
117 
118   END Set_Column_Values;
119 
120 
121 
122   PROCEDURE BeforeRowInsertUpdate1(
123 
124     p_inserting IN BOOLEAN DEFAULT FALSE,
125 
126     p_updating IN BOOLEAN DEFAULT FALSE,
127 
128     p_deleting IN BOOLEAN DEFAULT FALSE
129 
130     ) as
131 
132 	v_message_name varchar2(30);
133 
134   BEGIN
135 
136 	-- Set audit details.
137 
138 	-- Validate GOVERNMENT ABORIG/TORRES CODE.
139 
140 	IF p_inserting OR ((old_references.govt_aborig_torres_cd <> new_references.govt_aborig_torres_cd) OR
141 
142 			 (old_references.closed_ind = 'Y' AND new_references.closed_ind = 'N')) THEN
143 
144 		IF IGS_EN_VAL_ATC.enrp_val_atc_govt (
145 
146 				new_references.govt_aborig_torres_cd,
147 
148 				v_message_name) = FALSE THEN
149 
150 			Fnd_Message.Set_Name('IGS', v_message_name);
151 			IGS_GE_MSG_STACK.ADD;
152                                                     App_Exception.Raise_Exception;
153 
154 		END IF;
155 
156 	END IF;
157   END BeforeRowInsertUpdate1;
158 
159 
160 
161 
162 
163   PROCEDURE Check_Constraints (
164  Column_Name	IN	VARCHAR2	DEFAULT NULL,
165  Column_Value 	IN	VARCHAR2	DEFAULT NULL
166  )
167  as
168  BEGIN
169   IF  column_name is null then
170      NULL;
171  ELSIF upper(Column_name) = 'ABORIG_TORRES_CD' then
172      new_references.aborig_torres_cd  := column_value;
173  ELSIF upper(Column_name) = 'CLOSED_IND' then
174      new_references. closed_ind:= column_value;
175  ELSIF upper(Column_name) = 'CLOSED_IND' then
176      new_references.closed_ind := column_value;
177 END IF;
178 
179 IF upper(column_name) = 'ABORIG_TORRES_CD' OR
180      column_name is null Then
181      IF new_references.aborig_torres_cd  <> UPPER(new_references.aborig_torres_cd ) Then
182        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
183        IGS_GE_MSG_STACK.ADD;
184        App_Exception.Raise_Exception;
185                    END IF;
186               END IF;
187 
188 IF upper(column_name) = 'CLOSED_IND' OR
189      column_name is null Then
190      IF new_references.closed_ind<>
191 UPPER(new_references.closed_ind) Then
192        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
193        IGS_GE_MSG_STACK.ADD;
194        App_Exception.Raise_Exception;
195                    END IF;
196               END IF;
197 IF upper(column_name) = 'CLOSED_IND' OR
198      column_name is null Then
199      IF new_references.closed_ind  NOT IN ( 'Y' , 'N' )Then
200        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
201        IGS_GE_MSG_STACK.ADD;
202        App_Exception.Raise_Exception;
203                    END IF;
204               END IF;
205 
206  END Check_Constraints;
207 
208   PROCEDURE Check_Parent_Existance as
209 
210   BEGIN
211 
212 
213 
214     IF (((old_references.govt_aborig_torres_cd = new_references.govt_aborig_torres_cd)) OR
215 
216         ((new_references.govt_aborig_torres_cd IS NULL))) THEN
217 
218       NULL;
219 
220     ELSE
221        IF  NOT IGS_PE_GOV_ABRGRESCD_PKG.Get_PK_For_Validation (
222          new_references.govt_aborig_torres_cd) THEN
223      Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
224      IGS_GE_MSG_STACK.ADD;
225      App_Exception.Raise_Exception;
226  END IF;
227 
228     END IF;
229   END Check_Parent_Existance;
230 
231 
232   FUNCTION Get_PK_For_Validation (
233 
234     x_aborig_torres_cd IN VARCHAR2
235 
236     ) RETURN BOOLEAN as
237 
238 
239 
240     CURSOR cur_rowid IS
241 
242       SELECT   rowid
243 
244       FROM     IGS_PE_ABORG_TORESCD
245 
246       WHERE    aborig_torres_cd = x_aborig_torres_cd
247 
248       FOR UPDATE NOWAIT;
249 
250 
251 
252     lv_rowid cur_rowid%RowType;
253 
254   BEGIN
255     Open cur_rowid;
256     Fetch cur_rowid INTO lv_rowid;
257 
258      IF (cur_rowid%FOUND) THEN
259        Close cur_rowid;
260        Return (TRUE);
261         ELSE
262        Close cur_rowid;
263        Return (FALSE);
264  	END IF;
265   END Get_PK_For_Validation;
266 
267 
268 
269   PROCEDURE GET_FK_IGS_PE_GOV_ABRGRESCD (
270 
271     x_govt_aborig_torres_cd IN NUMBER
272 
273     ) as
274 
275 
276 
277     CURSOR cur_rowid IS
278 
279       SELECT   rowid
280 
281       FROM     IGS_PE_ABORG_TORESCD
282 
283       WHERE    govt_aborig_torres_cd = x_govt_aborig_torres_cd  ;
284 
285 
286 
287     lv_rowid cur_rowid%RowType;
288 
289 
290 
291   BEGIN
292 
293 
294 
295     Open cur_rowid;
296 
297     Fetch cur_rowid INTO lv_rowid;
298 
299     IF (cur_rowid%FOUND) THEN
300 
301       Fnd_Message.Set_Name ('IGS', 'IGS_PE_ATC_GATC_FK');
302       IGS_GE_MSG_STACK.ADD;
303 
304 
305       Close cur_rowid;
306       App_Exception.Raise_Exception;
307       Return;
308 
309     END IF;
310 
311     Close cur_rowid;
312 
313 
314 
315   END GET_FK_IGS_PE_GOV_ABRGRESCD ;
316 
317 
318 
319   PROCEDURE Before_DML (
320 
321     p_action IN VARCHAR2,
322 
323     x_rowid IN  VARCHAR2 DEFAULT NULL,
324 
325     x_aborig_torres_cd IN VARCHAR2 DEFAULT NULL,
326 
327     x_govt_aborig_torres_cd IN NUMBER DEFAULT NULL,
328 
329     x_description IN VARCHAR2 DEFAULT NULL,
330 
331     x_closed_ind IN VARCHAR2 DEFAULT NULL,
332 
333     x_notes IN VARCHAR2 DEFAULT NULL,
334 
335     x_creation_date IN DATE DEFAULT NULL,
336 
337     x_created_by IN NUMBER DEFAULT NULL,
338 
339     x_last_update_date IN DATE DEFAULT NULL,
340 
341     x_last_updated_by IN NUMBER DEFAULT NULL,
342 
343     x_last_update_login IN NUMBER DEFAULT NULL
344 
345   ) as
346 
347   BEGIN
348 
349 
350 
351     Set_Column_Values (
352 
353       p_action,
354 
355       x_rowid,
356 
357       x_aborig_torres_cd,
358 
359       x_govt_aborig_torres_cd,
360 
361       x_description,
362 
363       x_closed_ind,
364 
365       x_notes,
366 
367       x_creation_date,
368 
369       x_created_by,
370 
371       x_last_update_date,
372 
373       x_last_updated_by,
374 
375       x_last_update_login
376 
377     );
378 
379 
380 
381      IF (p_action = 'INSERT') THEN
382        -- Call all the procedures related to Before Insert.
383      BeforeRowInsertUpdate1 ( p_inserting => TRUE );
384       IF  Get_PK_For_Validation (
385           new_references.aborig_torres_cd ) THEN
386          Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
387          IGS_GE_MSG_STACK.ADD;
388           App_Exception.Raise_Exception;
389       END IF;
390 
391       Check_Constraints; -- if procedure present
392       Check_Parent_Existance; -- if procedure present
393  ELSIF (p_action = 'UPDATE') THEN
394        -- Call all the procedures related to Before Update.
395        BeforeRowInsertUpdate1 ( p_updating => TRUE );
396 
397        Check_Constraints; -- if procedure present
398        Check_Parent_Existance; -- if procedure present
399 
400  ELSIF (p_action = 'DELETE') THEN
401        -- Call all the procedures related to Before Delete.
402 
403        null; -- if procedure present
404  ELSIF (p_action = 'VALIDATE_INSERT') THEN
405       IF  Get_PK_For_Validation (
406            new_references.aborig_torres_cd ) THEN
407          Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
408          IGS_GE_MSG_STACK.ADD;
409           App_Exception.Raise_Exception;
410       END IF;
411 
412       Check_Constraints; -- if procedure present
413  ELSIF (p_action = 'VALIDATE_UPDATE') THEN
414 
415        Check_Constraints; -- if procedure present
416 
417 ELSIF (p_action = 'VALIDATE_DELETE') THEN
418       null; -- if procedure present
419  END IF;
420 
421 
422 
423   END Before_DML;
424 
425 
426 
427   PROCEDURE After_DML (
428 
429     p_action IN VARCHAR2,
430 
431     x_rowid IN VARCHAR2
432 
433   ) as
434 
435   BEGIN
436 
437 
438 
439     l_rowid := x_rowid;
440 
441 
442 
443     IF (p_action = 'INSERT') THEN
444 
445       -- Call all the procedures related to After Insert.
446 
447       Null;
448 
449     ELSIF (p_action = 'UPDATE') THEN
450 
451       -- Call all the procedures related to After Update.
452 
453       Null;
454 
455     ELSIF (p_action = 'DELETE') THEN
456 
457       -- Call all the procedures related to After Delete.
458 
459       Null;
460 
461     END IF;
462 
463 
464 
465   END After_DML;
466 
467 
468 
469 
470 procedure INSERT_ROW (
471   X_ROWID in out NOCOPY VARCHAR2,
472   X_ABORIG_TORRES_CD in VARCHAR2,
473   X_GOVT_ABORIG_TORRES_CD in NUMBER,
474   X_DESCRIPTION in VARCHAR2,
475   X_CLOSED_IND in VARCHAR2,
476   X_NOTES in VARCHAR2,
477   X_MODE in VARCHAR2 default 'R'
478   ) as
479     cursor C is select ROWID from IGS_PE_ABORG_TORESCD
480       where ABORIG_TORRES_CD = X_ABORIG_TORRES_CD;
481     X_LAST_UPDATE_DATE DATE;
482     X_LAST_UPDATED_BY NUMBER;
483     X_LAST_UPDATE_LOGIN NUMBER;
484 begin
485   X_LAST_UPDATE_DATE := SYSDATE;
486   if(X_MODE = 'I') then
487     X_LAST_UPDATED_BY := 1;
488     X_LAST_UPDATE_LOGIN := 0;
489   elsif (X_MODE = 'R') then
490     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
491     if X_LAST_UPDATED_BY is NULL then
492       X_LAST_UPDATED_BY := -1;
493     end if;
494     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
495     if X_LAST_UPDATE_LOGIN is NULL then
496       X_LAST_UPDATE_LOGIN := -1;
497     end if;
498   else
499     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
500     IGS_GE_MSG_STACK.ADD;
501     app_exception.raise_exception;
502   end if;
503 
504 
505 
506 Before_DML(
507 
508  p_action=>'INSERT',
509 
510  x_rowid=>X_ROWID,
511 
512  x_aborig_torres_cd=>X_ABORIG_TORRES_CD,
513 
514  x_closed_ind=> NVL(X_CLOSED_IND,'N'),
515 
516  x_description=>X_DESCRIPTION,
517 
518  x_govt_aborig_torres_cd=>X_GOVT_ABORIG_TORRES_CD,
519 
520  x_notes=>X_NOTES,
521 
522  x_creation_date=>X_LAST_UPDATE_DATE,
523 
524  x_created_by=>X_LAST_UPDATED_BY,
525 
526  x_last_update_date=>X_LAST_UPDATE_DATE,
527 
528  x_last_updated_by=>X_LAST_UPDATED_BY,
529 
530  x_last_update_login=>X_LAST_UPDATE_LOGIN
531 
532  );
533 
534 
535 
536 insert into IGS_PE_ABORG_TORESCD (
537     ABORIG_TORRES_CD,
538     GOVT_ABORIG_TORRES_CD,
539     DESCRIPTION,
540     CLOSED_IND,
541     NOTES,
542     CREATION_DATE,
543     CREATED_BY,
544     LAST_UPDATE_DATE,
545     LAST_UPDATED_BY,
546     LAST_UPDATE_LOGIN
547   ) values (
548     NEW_REFERENCES.ABORIG_TORRES_CD,
549     NEW_REFERENCES.GOVT_ABORIG_TORRES_CD,
550     NEW_REFERENCES.DESCRIPTION,
551     NEW_REFERENCES.CLOSED_IND,
552     NEW_REFERENCES.NOTES,
553     X_LAST_UPDATE_DATE,
554     X_LAST_UPDATED_BY,
555     X_LAST_UPDATE_DATE,
556     X_LAST_UPDATED_BY,
557     X_LAST_UPDATE_LOGIN
558   );
559 
560   open c;
561   fetch c into X_ROWID;
562   if (c%notfound) then
563     close c;
564     raise no_data_found;
565   end if;
566   close c;
567 
568 
569  After_DML(
570 
571   p_action => 'INSERT',
572 
573   x_rowid => X_ROWID
574 
575   );
576 end INSERT_ROW;
577 
578 procedure LOCK_ROW (
579 
580   X_ROWID in VARCHAR2,
581   X_ABORIG_TORRES_CD in VARCHAR2,
582   X_GOVT_ABORIG_TORRES_CD in NUMBER,
583   X_DESCRIPTION in VARCHAR2,
584   X_CLOSED_IND in VARCHAR2,
585   X_NOTES in VARCHAR2
586 ) as
587   cursor c1 is select
588       GOVT_ABORIG_TORRES_CD,
589       DESCRIPTION,
590       CLOSED_IND,
591       NOTES
592     from IGS_PE_ABORG_TORESCD
593     where ROWID = X_ROWID
594 
595     for update nowait;
596   tlinfo c1%rowtype;
597 
598 begin
599   open c1;
600   fetch c1 into tlinfo;
601   if (c1%notfound) then
602     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
603 
604     close c1;
605     App_Exception.Raise_Exception;
606     return;
607   end if;
608   close c1;
609 
610   if ( (tlinfo.GOVT_ABORIG_TORRES_CD = X_GOVT_ABORIG_TORRES_CD)
611       AND (tlinfo.DESCRIPTION = X_DESCRIPTION)
612       AND (tlinfo.CLOSED_IND = X_CLOSED_IND)
613       AND ((tlinfo.NOTES = X_NOTES)
614            OR ((tlinfo.NOTES is null)
615                AND (X_NOTES is null)))
616   ) then
617     null;
618   else
619     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
620     app_exception.raise_exception;
621   end if;
622   return;
623 end LOCK_ROW;
624 
625 procedure UPDATE_ROW (
626 
627   X_ROWID in VARCHAR2,
628   X_ABORIG_TORRES_CD in VARCHAR2,
629   X_GOVT_ABORIG_TORRES_CD in NUMBER,
630   X_DESCRIPTION in VARCHAR2,
631   X_CLOSED_IND in VARCHAR2,
632   X_NOTES in VARCHAR2,
633   X_MODE in VARCHAR2 default 'R'
634   ) as
635     X_LAST_UPDATE_DATE DATE;
636     X_LAST_UPDATED_BY NUMBER;
637     X_LAST_UPDATE_LOGIN NUMBER;
638 begin
639   X_LAST_UPDATE_DATE := SYSDATE;
640   if(X_MODE = 'I') then
641     X_LAST_UPDATED_BY := 1;
642     X_LAST_UPDATE_LOGIN := 0;
643   elsif (X_MODE = 'R') then
644     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
645     if X_LAST_UPDATED_BY is NULL then
646       X_LAST_UPDATED_BY := -1;
647     end if;
648     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
649     if X_LAST_UPDATE_LOGIN is NULL then
650       X_LAST_UPDATE_LOGIN := -1;
651     end if;
652   else
653     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
654     IGS_GE_MSG_STACK.ADD;
655     app_exception.raise_exception;
656   end if;
657 
658 
659 
660 Before_DML(
661 
662  p_action=>'UPDATE',
663 
664  x_rowid=>X_ROWID,
665 
666  x_aborig_torres_cd=>X_ABORIG_TORRES_CD,
667 
668  x_closed_ind=>X_CLOSED_IND,
669 
670  x_description=>X_DESCRIPTION,
671 
672  x_govt_aborig_torres_cd=>X_GOVT_ABORIG_TORRES_CD,
673 
674  x_notes=>X_NOTES,
675 
676  x_creation_date=>X_LAST_UPDATE_DATE,
677 
678  x_created_by=>X_LAST_UPDATED_BY,
679 
680  x_last_update_date=>X_LAST_UPDATE_DATE,
681 
682  x_last_updated_by=>X_LAST_UPDATED_BY,
683 
684  x_last_update_login=>X_LAST_UPDATE_LOGIN
685 
686  );
687   update IGS_PE_ABORG_TORESCD set
688     GOVT_ABORIG_TORRES_CD = NEW_REFERENCES.GOVT_ABORIG_TORRES_CD,
689     DESCRIPTION = NEW_REFERENCES.DESCRIPTION,
690     CLOSED_IND = NEW_REFERENCES.CLOSED_IND,
691     NOTES = NEW_REFERENCES.NOTES,
692     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
693     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
694     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
695   where ROWID = X_ROWID
696   ;
697   if (sql%notfound) then
698     raise no_data_found;
699   end if;
700 
701 
702 
703  After_DML(
704 
705   p_action => 'UPDATE',
706 
707   x_rowid => X_ROWID
708 
709   );
710 end UPDATE_ROW;
711 
712 procedure ADD_ROW (
713   X_ROWID in out NOCOPY VARCHAR2,
714   X_ABORIG_TORRES_CD in VARCHAR2,
715   X_GOVT_ABORIG_TORRES_CD in NUMBER,
716   X_DESCRIPTION in VARCHAR2,
717   X_CLOSED_IND in VARCHAR2,
718   X_NOTES in VARCHAR2,
719   X_MODE in VARCHAR2 default 'R'
720   ) as
721   cursor c1 is select rowid from IGS_PE_ABORG_TORESCD
722      where ABORIG_TORRES_CD = X_ABORIG_TORRES_CD
723   ;
724 
725 begin
726   open c1;
727   fetch c1 into X_ROWID;
728 
729   if (c1%notfound) then
730     close c1;
731     INSERT_ROW (
732 
733      X_ROWID,
734      X_ABORIG_TORRES_CD,
735      X_GOVT_ABORIG_TORRES_CD,
736      X_DESCRIPTION,
737      X_CLOSED_IND,
738      X_NOTES,
739      X_MODE);
740     return;
741   end if;
742   close c1;
743   UPDATE_ROW (
744 
745    X_ROWID,
746    X_ABORIG_TORRES_CD,
747    X_GOVT_ABORIG_TORRES_CD,
748    X_DESCRIPTION,
749    X_CLOSED_IND,
750    X_NOTES,
751    X_MODE);
752 end ADD_ROW;
753 
754 procedure DELETE_ROW (
755  X_ROWID in VARCHAR2
756 ) as
757 begin
758 
759  Before_DML(
760 
761   p_action => 'DELETE',
762 
763   x_rowid => X_ROWID
764 
765   );
766   delete from IGS_PE_ABORG_TORESCD
767   where ROWID = X_ROWID;
768   if (sql%notfound) then
769     raise no_data_found;
770   end if;
771 
772 
773 
774  After_DML(
775 
776   p_action => 'DELETE',
777 
778   x_rowid => X_ROWID
779 
780   );
781 
782 
783 end DELETE_ROW;
784 
785 end IGS_PE_ABORG_TORESCD_PKG;