DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PE_STUP_DATA_EMT_PKG

Source


1 PACKAGE BODY igs_pe_stup_data_emt_pkg AS
2 /* $Header: IGSNI45B.pls 115.8 2002/11/29 01:24:36 nsidana ship $ */
3   l_rowid VARCHAR2(25);
4   old_references igs_pe_stup_data_emt_all%RowType;
5   new_references igs_pe_stup_data_emt_all%RowType;
6 
7   PROCEDURE Set_Column_Values (
8     p_action IN VARCHAR2,
9     x_rowid IN VARCHAR2 DEFAULT NULL,
10     x_setup_data_element_id IN NUMBER DEFAULT NULL,
11     x_person_type_code IN VARCHAR2 DEFAULT NULL,
12     x_data_element IN VARCHAR2 DEFAULT NULL,
13     x_value IN VARCHAR2 DEFAULT NULL,
14     x_required_ind 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     X_ORG_ID in NUMBER default NULL
21   ) AS
22 
23   /*************************************************************
24   Created By : svenkata
25   Date Created By : 2000/05/11
26   Purpose : To set column values before inserting / updating a row
27   Know limitations, enhancements or remarks
28   Change History
29   Who             When            What
30 
31   (reverse chronological order - newest change first)
32   ***************************************************************/
33 
34     CURSOR cur_old_ref_values IS
35       SELECT   *
36       FROM     igs_pe_stup_data_emt_all
37       WHERE    rowid = x_rowid;
38 
39   BEGIN
40 
41     l_rowid := x_rowid;
42 
43     -- Code for setting the Old and New Reference Values.
44     -- Populate Old Values.
45     Open cur_old_ref_values;
46     Fetch cur_old_ref_values INTO old_references;
47     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
48       Close cur_old_ref_values;
49       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
50       IGS_GE_MSG_STACK.ADD;
51       App_Exception.Raise_Exception;
52       Return;
53     END IF;
54     Close cur_old_ref_values;
55 
56     -- Populate New Values.
57     new_references.setup_data_element_id := x_setup_data_element_id;
58     new_references.person_type_code := x_person_type_code;
59     new_references.data_element := x_data_element;
60     new_references.value := x_value;
61     new_references.required_ind := x_required_ind;
62     new_references.org_id := x_org_id;
63     IF (p_action = 'UPDATE') THEN
64       new_references.creation_date := old_references.creation_date;
65       new_references.created_by := old_references.created_by;
66     ELSE
67       new_references.creation_date := x_creation_date;
68       new_references.created_by := x_created_by;
69     END IF;
70     new_references.last_update_date := x_last_update_date;
71     new_references.last_updated_by := x_last_updated_by;
72     new_references.last_update_login := x_last_update_login;
73 
74   END Set_Column_Values;
75 
76   PROCEDURE Check_Constraints (
77 		 Column_Name IN VARCHAR2  DEFAULT NULL,
78 		 Column_Value IN VARCHAR2  DEFAULT NULL ) AS
79   /*************************************************************
80   Created By : svenkata
81   Date Created By : 2000/05/11
82   Purpose : Checks if constraints are satisfied before insertion or modification of a record
83   Know limitations, enhancements or remarks
84   Change History
85   Who             When            What
86 
87   (reverse chronological order - newest change first)
88   ***************************************************************/
89 
90   BEGIN
91 
92       IF column_name IS NULL THEN
93         NULL;
94       ELSIF  UPPER(column_name) = 'REQUIRED_IND'  THEN
95         new_references.required_ind := column_value;
96         NULL;
97       END IF;
98 
99 
100 
101     -- The following code checks for check constraints on the Columns.
102       IF Upper(Column_Name) = 'REQUIRED_IND' OR
103       	Column_Name IS NULL THEN
104         IF NOT (new_references.required_ind IN ('M', 'P', 'N'))  THEN
105            Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
106       IGS_GE_MSG_STACK.ADD;
107            App_Exception.Raise_Exception;
108         END IF;
109       END IF;
110 
111 
112   END Check_Constraints;
113 
114   PROCEDURE Check_Parent_Existance AS
115   /*************************************************************
116   Created By : svenkata
117   Date Created By : 2000/05/11
118   Purpose : Checks if a parent record exists before inserting or updating a row
119   Know limitations, enhancements or remarks
120   Change History
121   Who             When            What
122 
123   (reverse chronological order - newest change first)
124   ***************************************************************/
125 
126   BEGIN
127 
128     IF (((old_references.person_type_code = new_references.person_type_code)) OR
129         ((new_references.person_type_code IS NULL))) THEN
130       NULL;
131     ELSIF NOT Igs_Pe_Person_Types_Pkg.Get_PK_For_Validation (
132         		new_references.person_type_code
133         )  THEN
134 	 Fnd_Message.Set_Name ('FND','FORM_RECORD_DELETED');
135       IGS_GE_MSG_STACK.ADD;
136  	 App_Exception.Raise_Exception;
137     END IF;
138 
139     IF (((old_references.data_element = new_references.data_element)) OR
140         ((new_references.data_element IS NULL))) THEN
141       NULL;
142     ELSIF NOT Igs_Pe_Data_Element_Pkg.Get_PK_For_Validation (
143         		new_references.data_element
144         )  THEN
145 	 Fnd_Message.Set_Name ('FND','FORM_RECORD_DELETED');
146       IGS_GE_MSG_STACK.ADD;
147  	 App_Exception.Raise_Exception;
148     END IF;
149 
150   END Check_Parent_Existance;
151 
152   FUNCTION Get_PK_For_Validation (
153     x_setup_data_element_id IN NUMBER
154     ) RETURN BOOLEAN AS
155 
156   /*************************************************************
157   Created By : svenkata
158   Date Created By : 2000/05/11
159   Purpose : Checks for duplicate Primary key
160   Know limitations, enhancements or remarks
161   Change History
162   Who             When            What
163 
164   (reverse chronological order - newest change first)
165   ***************************************************************/
166 
167     CURSOR cur_rowid IS
168       SELECT   rowid
169       FROM     igs_pe_stup_data_emt_all
170       WHERE    setup_data_element_id = x_setup_data_element_id
171       FOR UPDATE NOWAIT;
172 
173     lv_rowid cur_rowid%RowType;
174 
175   BEGIN
176 
177     Open cur_rowid;
178     Fetch cur_rowid INTO lv_rowid;
179     IF (cur_rowid%FOUND) THEN
180       Close cur_rowid;
181       Return(TRUE);
182     ELSE
183       Close cur_rowid;
184       Return(FALSE);
185     END IF;
186   END Get_PK_For_Validation;
187 
188   PROCEDURE Get_FK_Igs_Pe_Person_Types (
189     x_person_type_code IN VARCHAR2
190     ) AS
191 
192   /*************************************************************
193   Created By : svenkata
194   Date Created By : 2000/05/11
195   Purpose : Checks existance of child record
196   Know limitations, enhancements or remarks
197   Change History
198   Who             When            What
199 
200   (reverse chronological order - newest change first)
201   ***************************************************************/
202 
203     CURSOR cur_rowid IS
204       SELECT   rowid
205       FROM     igs_pe_stup_data_emt_all
206       WHERE    person_type_code = x_person_type_code ;
207 
208     lv_rowid cur_rowid%RowType;
209 
210   BEGIN
211 
212     Open cur_rowid;
213     Fetch cur_rowid INTO lv_rowid;
214     IF (cur_rowid%FOUND) THEN
215       Close cur_rowid;
216       Fnd_Message.Set_Name ('IGS', 'IGS_PE_PSDE_PT_FK');
217       IGS_GE_MSG_STACK.ADD;
218       App_Exception.Raise_Exception;
219       Return;
220     END IF;
221     Close cur_rowid;
222 
223   END Get_FK_Igs_Pe_Person_Types;
224 
225   PROCEDURE Get_FK_Igs_Pe_Data_Element (
226     x_data_element IN VARCHAR2
227     ) AS
228 
229   /*************************************************************
230   Created By : svenkata
231   Date Created By : 2000/05/11
232   Purpose : Checks existance of child record
233   Know limitations, enhancements or remarks
234   Change History
235   Who             When            What
236 
237   (reverse chronological order - newest change first)
238   ***************************************************************/
239 
240     CURSOR cur_rowid IS
241       SELECT   rowid
242       FROM     igs_pe_stup_data_emt_all
243       WHERE    data_element = x_data_element ;
244 
245     lv_rowid cur_rowid%RowType;
246 
247   BEGIN
248 
249     Open cur_rowid;
250     Fetch cur_rowid INTO lv_rowid;
251     IF (cur_rowid%FOUND) THEN
252       Close cur_rowid;
253       Fnd_Message.Set_Name ('IGS', 'IGS_PE_PSDE_PDE_FK');
254       IGS_GE_MSG_STACK.ADD;
255       App_Exception.Raise_Exception;
256       Return;
257     END IF;
258     Close cur_rowid;
259 
260   END Get_FK_Igs_Pe_Data_Element;
261 
262   PROCEDURE Before_DML (
263     p_action IN VARCHAR2,
264     x_rowid IN VARCHAR2 DEFAULT NULL,
265     x_setup_data_element_id IN NUMBER DEFAULT NULL,
266     x_person_type_code IN VARCHAR2 DEFAULT NULL,
267     x_data_element IN VARCHAR2 DEFAULT NULL,
268     x_value IN VARCHAR2 DEFAULT NULL,
269     x_required_ind IN VARCHAR2 DEFAULT NULL,
270     x_creation_date IN DATE DEFAULT NULL,
271     x_created_by IN NUMBER DEFAULT NULL,
272     x_last_update_date IN DATE DEFAULT NULL,
273     x_last_updated_by IN NUMBER DEFAULT NULL,
274     x_last_update_login IN NUMBER DEFAULT NULL,
275     X_ORG_ID in NUMBER default NULL
276   ) AS
277   /*************************************************************
278   Created By : svenkata
279   Date Created By : 2000/05/11
280   Purpose : Executes steps to be carried out NOCOPY before any DML operation
281   Know limitations, enhancements or remarks
282   Change History
283   Who             When            What
284 
285   (reverse chronological order - newest change first)
286   ***************************************************************/
287 
288   BEGIN
289 
290     Set_Column_Values (
291       p_action,
292       x_rowid,
293       x_setup_data_element_id,
294       x_person_type_code,
295       x_data_element,
296       x_value,
297       x_required_ind,
298       x_creation_date,
299       x_created_by,
300       x_last_update_date,
301       x_last_updated_by,
302       x_last_update_login ,
303       x_org_id
304     );
305 
306     IF (p_action = 'INSERT') THEN
307       -- Call all the procedures related to Before Insert.
308       Null;
309 	     IF Get_Pk_For_Validation(
310     		new_references.setup_data_element_id)  THEN
311 	       Fnd_Message.Set_name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
312       IGS_GE_MSG_STACK.ADD;
313 	       App_Exception.Raise_Exception;
314 	     END IF;
315       Check_Constraints;
316       Check_Parent_Existance;
317     ELSIF (p_action = 'UPDATE') THEN
318       -- Call all the procedures related to Before Update.
319       Null;
320       Check_Constraints;
321       Check_Parent_Existance;
322     ELSIF (p_action = 'DELETE') THEN
323       -- Call all the procedures related to Before Delete.
324       Null;
325     ELSIF (p_action = 'VALIDATE_INSERT') THEN
326 	 -- Call all the procedures related to Before Insert.
327       IF Get_PK_For_Validation (
328     		new_references.setup_data_element_id)  THEN
329 	       Fnd_Message.Set_name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
330       IGS_GE_MSG_STACK.ADD;
331 	       App_Exception.Raise_Exception;
332 	     END IF;
333       Check_Constraints;
334     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
335       Check_Constraints;
336     ELSIF (p_action = 'VALIDATE_DELETE') THEN
337       Null;
338     END IF;
339 
340   END Before_DML;
341 
342   PROCEDURE After_DML (
343     p_action IN VARCHAR2,
344     x_rowid IN VARCHAR2
345   ) IS
346   /*************************************************************
347   Created By : svenkata
348   Date Created By : 2000/05/11
349   Purpose : Executes steps to be carried out NOCOPY after any DML operation
350   Know limitations, enhancements or remarks
351   Change History
352   Who             When            What
353 
354   (reverse chronological order - newest change first)
355   ***************************************************************/
356 
357   BEGIN
358 
359     l_rowid := x_rowid;
360 
361     IF (p_action = 'INSERT') THEN
362       -- Call all the procedures related to After Insert.
363       Null;
364     ELSIF (p_action = 'UPDATE') THEN
365       -- Call all the procedures related to After Update.
366       Null;
367     ELSIF (p_action = 'DELETE') THEN
368       -- Call all the procedures related to After Delete.
369       Null;
370     END IF;
371 
372   END After_DML;
373 
374  procedure INSERT_ROW (
375       X_ROWID in out NOCOPY VARCHAR2,
376        x_SETUP_DATA_ELEMENT_ID IN OUT NOCOPY NUMBER,
377        x_PERSON_TYPE_CODE IN VARCHAR2,
378        x_DATA_ELEMENT IN VARCHAR2,
379        x_VALUE IN VARCHAR2,
380        x_REQUIRED_IND IN VARCHAR2,
381       X_MODE in VARCHAR2 default 'R'  ,
382        x_org_id IN NUMBER
383   ) AS
384   /*************************************************************
385   Created By : svenkata
386   Date Created By : 2000/05/11
387   Purpose : Inserts a row into a table
388   Know limitations, enhancements or remarks
389   Change History
390   Who             When            What
391 
392   (reverse chronological order - newest change first)
393   ***************************************************************/
394 
395     cursor C is select ROWID from igs_pe_stup_data_emt_all
396              where                 SETUP_DATA_ELEMENT_ID= X_SETUP_DATA_ELEMENT_ID
397 ;
398      X_LAST_UPDATE_DATE DATE ;
399      X_LAST_UPDATED_BY NUMBER ;
400      X_LAST_UPDATE_LOGIN NUMBER ;
401  begin
402      X_LAST_UPDATE_DATE := SYSDATE;
403       if(X_MODE = 'I') then
404         X_LAST_UPDATED_BY := 1;
405         X_LAST_UPDATE_LOGIN := 0;
406          elsif (X_MODE = 'R') then
407                X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
408             if X_LAST_UPDATED_BY is NULL then
409                 X_LAST_UPDATED_BY := -1;
410             end if;
411             X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
412          if X_LAST_UPDATE_LOGIN is NULL then
413             X_LAST_UPDATE_LOGIN := -1;
414           end if;
415        else
416         FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
417       IGS_GE_MSG_STACK.ADD;
418           app_exception.raise_exception;
419        end if;
420 
421 
422        SELECT IGS_PE_STUP_DATA_EMT_S.NEXTVAL INTO x_setup_data_element_id FROM DUAL;
423 
424    Before_DML(
425  		p_action=>'INSERT',
426  		x_rowid=>X_ROWID,
427  	       x_setup_data_element_id=>X_SETUP_DATA_ELEMENT_ID,
428  	       x_person_type_code=>X_PERSON_TYPE_CODE,
429  	       x_data_element=>X_DATA_ELEMENT,
430  	       x_value=>X_VALUE,
431  	       x_required_ind=>X_REQUIRED_IND,
432 	       x_creation_date=>X_LAST_UPDATE_DATE,
433 	       x_created_by=>X_LAST_UPDATED_BY,
434 	       x_last_update_date=>X_LAST_UPDATE_DATE,
435 	       x_last_updated_by=>X_LAST_UPDATED_BY,
436 	       x_last_update_login=>X_LAST_UPDATE_LOGIN,
437  	       x_org_id=>igs_ge_gen_003.get_org_id
438 );
439      insert into igs_pe_stup_data_emt_all (
440 		SETUP_DATA_ELEMENT_ID
441 		,PERSON_TYPE_CODE
442 		,DATA_ELEMENT
443 		,VALUE
444 		,REQUIRED_IND
445 	        ,CREATION_DATE
446 		,CREATED_BY
447 		,LAST_UPDATE_DATE
448 		,LAST_UPDATED_BY
449 		,LAST_UPDATE_LOGIN,
450 		 ORG_ID
451         ) values  (
452 	        NEW_REFERENCES.SETUP_DATA_ELEMENT_ID
453 	        ,NEW_REFERENCES.PERSON_TYPE_CODE
454 	        ,NEW_REFERENCES.DATA_ELEMENT
455 	        ,NEW_REFERENCES.VALUE
456 	        ,NEW_REFERENCES.REQUIRED_IND
457 	        ,X_LAST_UPDATE_DATE
458 		,X_LAST_UPDATED_BY
459 		,X_LAST_UPDATE_DATE
460 		,X_LAST_UPDATED_BY
461 		,X_LAST_UPDATE_LOGIN,
462               NEW_REFERENCES.ORG_ID
463 );
464 		open c;
465 		 fetch c into X_ROWID;
466  		if (c%notfound) then
467 		close c;
468  	     raise no_data_found;
469 		end if;
470  		close c;
471     After_DML (
472 		p_action => 'INSERT' ,
473 		x_rowid => X_ROWID );
474 end INSERT_ROW;
475 
476  procedure LOCK_ROW (
477       X_ROWID in  VARCHAR2,
478        x_SETUP_DATA_ELEMENT_ID IN NUMBER,
479        x_PERSON_TYPE_CODE IN VARCHAR2,
480        x_DATA_ELEMENT IN VARCHAR2,
481        x_VALUE IN VARCHAR2,
482        x_REQUIRED_IND IN VARCHAR2
483   ) AS
484   /*************************************************************
485   Created By : svenkata
486   Date Created By : 2000/05/11
487   Purpose : Locks a particular row in a table
488   Know limitations, enhancements or remarks
489   Change History
490   Who             When            What
491 
492   (reverse chronological order - newest change first)
493   ***************************************************************/
494 
495    cursor c1 is select
496       PERSON_TYPE_CODE
497 ,      DATA_ELEMENT
498 ,      VALUE
499 ,      REQUIRED_IND
500     from igs_pe_stup_data_emt_all
501     where ROWID = X_ROWID
502     for update nowait;
503      tlinfo c1%rowtype;
504 begin
505   open c1;
506   fetch c1 into tlinfo;
507   if (c1%notfound) then
508     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
509       IGS_GE_MSG_STACK.ADD;
510     close c1;
511     app_exception.raise_exception;
512     return;
513   end if;
514   close c1;
515 if ( (  tlinfo.PERSON_TYPE_CODE = X_PERSON_TYPE_CODE)
516   AND (tlinfo.DATA_ELEMENT = X_DATA_ELEMENT)
517   AND ((tlinfo.VALUE = X_VALUE)
518  	    OR ((tlinfo.VALUE is null)
519 		AND (X_VALUE is null)))
520   AND ((tlinfo.REQUIRED_IND = X_REQUIRED_IND)
521  	    OR ((tlinfo.REQUIRED_IND is null)
522 		AND (X_REQUIRED_IND is null)))
523   ) then
524     null;
525   else
526     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
527       IGS_GE_MSG_STACK.ADD;
528     app_exception.raise_exception;
529   end if;
530   return;
531 end LOCK_ROW;
532 
533  Procedure UPDATE_ROW (
534       X_ROWID in  VARCHAR2,
535        x_SETUP_DATA_ELEMENT_ID IN NUMBER,
536        x_PERSON_TYPE_CODE IN VARCHAR2,
537        x_DATA_ELEMENT IN VARCHAR2,
538        x_VALUE IN VARCHAR2,
539        x_REQUIRED_IND IN VARCHAR2,
540       X_MODE in VARCHAR2 default 'R'
541   ) AS
542   /*************************************************************
543   Created By : svenkata
544   Date Created By : 2000/05/11
545   Purpose : Updates a row in the table
546   Know limitations, enhancements or remarks
547   Change History
548   Who             When            What
549 
550   (reverse chronological order - newest change first)
551   ***************************************************************/
552 
553      X_LAST_UPDATE_DATE DATE ;
554      X_LAST_UPDATED_BY NUMBER ;
555      X_LAST_UPDATE_LOGIN NUMBER ;
556  begin
557      X_LAST_UPDATE_DATE := SYSDATE;
558       if(X_MODE = 'I') then
559         X_LAST_UPDATED_BY := 1;
560         X_LAST_UPDATE_LOGIN := 0;
561          elsif (X_MODE = 'R') then
562                X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
563             if X_LAST_UPDATED_BY is NULL then
564                 X_LAST_UPDATED_BY := -1;
565             end if;
566             X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
567          if X_LAST_UPDATE_LOGIN is NULL then
568             X_LAST_UPDATE_LOGIN := -1;
569           end if;
570        else
571         FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
572       IGS_GE_MSG_STACK.ADD;
573           app_exception.raise_exception;
574        end if;
575    Before_DML(
576  		p_action=>'UPDATE',
577  		x_rowid=>X_ROWID,
578  	       x_setup_data_element_id=>X_SETUP_DATA_ELEMENT_ID,
579  	       x_person_type_code=>X_PERSON_TYPE_CODE,
580  	       x_data_element=>X_DATA_ELEMENT,
581  	       x_value=>X_VALUE,
582  	       x_required_ind=>X_REQUIRED_IND,
583 	       x_creation_date=>X_LAST_UPDATE_DATE,
584 	       x_created_by=>X_LAST_UPDATED_BY,
585 	       x_last_update_date=>X_LAST_UPDATE_DATE,
586 	       x_last_updated_by=>X_LAST_UPDATED_BY,
587 	       x_last_update_login=>X_LAST_UPDATE_LOGIN
588 );
589    update igs_pe_stup_data_emt_all set
590       PERSON_TYPE_CODE =  NEW_REFERENCES.PERSON_TYPE_CODE,
591       DATA_ELEMENT =  NEW_REFERENCES.DATA_ELEMENT,
592       VALUE =  NEW_REFERENCES.VALUE,
593       REQUIRED_IND =  NEW_REFERENCES.REQUIRED_IND,
594 	LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
595 	LAST_UPDATED_BY = X_LAST_UPDATED_BY,
596 	LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
597 	  where ROWID = X_ROWID;
598 	if (sql%notfound) then
599 		raise no_data_found;
600 	end if;
601 
602  After_DML (
603 	p_action => 'UPDATE' ,
604 	x_rowid => X_ROWID
605 	);
606 end UPDATE_ROW;
607 
608 procedure ADD_ROW (
609       X_ROWID in out NOCOPY VARCHAR2,
610        x_SETUP_DATA_ELEMENT_ID IN OUT NOCOPY NUMBER,
611        x_PERSON_TYPE_CODE IN VARCHAR2,
612        x_DATA_ELEMENT IN VARCHAR2,
613        x_VALUE IN VARCHAR2,
614        x_REQUIRED_IND IN VARCHAR2,
615       X_MODE in VARCHAR2 default 'R'  ,
616        X_ORG_ID in NUMBER
617   ) AS
618   /*************************************************************
619   Created By : svenkata
620   Date Created By : 2000/05/11
621   Purpose : Adds a new row to the table
622   Know limitations, enhancements or remarks
623   Change History
624   Who             When            What
625 
626   (reverse chronological order - newest change first)
627   ***************************************************************/
628 
629     cursor c1 is select ROWID from igs_pe_stup_data_emt_all
630              where     SETUP_DATA_ELEMENT_ID= X_SETUP_DATA_ELEMENT_ID
631 ;
632 begin
633 	open c1;
634 		fetch c1 into X_ROWID;
635 	if (c1%notfound) then
636 	close c1;
637     INSERT_ROW (
638       X_ROWID,
639        X_SETUP_DATA_ELEMENT_ID,
640        X_PERSON_TYPE_CODE,
641        X_DATA_ELEMENT,
642        X_VALUE,
643        X_REQUIRED_IND,
644       X_MODE ,
645       x_org_id
646 );
647      return;
648 	end if;
649 	   close c1;
650 UPDATE_ROW (
651       X_ROWID,
652        X_SETUP_DATA_ELEMENT_ID,
653        X_PERSON_TYPE_CODE,
654        X_DATA_ELEMENT,
655        X_VALUE,
656        X_REQUIRED_IND,
657       X_MODE
658 );
659 end ADD_ROW;
660 procedure DELETE_ROW (
661   X_ROWID in VARCHAR2
662 ) AS
663   /*************************************************************
664   Created By : svenkata
665   Date Created By : 2000/05/11
666   Purpose : Deletes a row from the table
667   Know limitations, enhancements or remarks
668   Change History
669   Who             When            What
670 
671   (reverse chronological order - newest change first)
672   ***************************************************************/
673 
674 begin
675 Before_DML (
676 p_action => 'DELETE',
677 x_rowid => X_ROWID
678 );
679  delete from igs_pe_stup_data_emt_all
680  where ROWID = X_ROWID;
681   if (sql%notfound) then
682     raise no_data_found;
683   end if;
684 After_DML (
685  p_action => 'DELETE',
686  x_rowid => X_ROWID
687 );
688 end DELETE_ROW;
689 END igs_pe_stup_data_emt_pkg;