DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_MEDIA_EQUIP_PKG

Source


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