DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_USEC_TCH_RESP_PKG

Source


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