[Home] [Help]
PACKAGE BODY: APPS.GMS_FP_DISTRIBUTIONS_PKG
Source
1 Package Body GMS_FP_DISTRIBUTIONS_PKG AS
2 -- $Header: gmsfdtbb.pls 120.1 2005/07/26 14:22:03 appldev ship $
3
4 PROCEDURE INSERT_ROW ( P_rec GMS_FP_DISTRIBUTIONS%ROWTYPE)
5 IS
6 X_rec GMS_FP_DISTRIBUTIONS%ROWTYPE;
7
8 BEGIN
9 X_rec := P_rec;
10
11 IF X_rec.creation_date is NULL THEN
12 x_rec.creation_date := SYSDATE ;
13 END IF ;
14 insert into GMS_FP_DISTRIBUTIONS(funding_pattern_id
15 ,distribution_number
16 ,award_id
17 ,distribution_value
18 ,last_update_date
19 ,last_updated_by
20 ,creation_date
21 ,created_by
22 ,last_update_login
23 )
24 values( X_rec .funding_pattern_id
25 ,X_rec .distribution_number
26 ,X_rec .award_id
27 ,X_rec .distribution_value
28 ,X_rec .last_update_date
29 ,X_rec .last_updated_by
30 ,X_rec .creation_date
31 ,X_rec .created_by
32 ,X_rec .last_update_login);
33
34
35
36
37 END INSERT_ROW;
38
39 PROCEDURE LOCK_ROW ( P_rec GMS_FP_DISTRIBUTIONS%ROWTYPE) IS
40 Counter NUMBER;
41 CURSOR C IS
42 SELECT funding_pattern_id
43 ,distribution_number
44 ,award_id
45 ,distribution_value
46 FROM GMS_FP_DISTRIBUTIONS
47 WHERE funding_pattern_id = P_rec.funding_pattern_id
48 AND distribution_number = P_rec.distribution_number
49 AND award_id = P_rec.award_id;
50 X_rec C%ROWTYPE;
51 BEGIN
52 Counter := 0;
53 LOOP
54 BEGIN
55 Counter := Counter+1;
56 OPEN C;
57 FETCH C INTO X_rec;
58 if C%NOTFOUND then
59 CLOSE C;
60 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
61 app_exception.raise_exception;
62 close C;
63 end if;
64 close C;
65
66
67 if (
68 ( (X_rec.funding_pattern_id = P_REC.funding_pattern_id ) OR
69 (( X_rec.funding_pattern_id is NULL ) AND ( P_REC.funding_pattern_id IS NULL ))
70 ) AND
71 ( (X_rec.distribution_number = P_REC.distribution_number ) OR
72 (( X_rec.distribution_number is NULL ) AND ( P_REC.distribution_number IS NULL ))
73 ) AND
74 ( (X_rec.award_id = P_REC.award_id ) OR
75 (( X_rec.award_id is NULL ) AND ( P_REC.award_id IS NULL ))
76 ) AND
77 ( (X_rec.distribution_value = P_REC.distribution_value ) OR
78 (( X_rec.distribution_value is NULL ) AND ( P_REC.distribution_value IS NULL ))
79 )
80 )
81
82
83 then
84 return;
85 else
86 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
87 app_exception.raise_exception;
88 end if;
89 EXCEPTION
90 when APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION then
91 IF (C% ISOPEN) THEN
92 close C;
93 END IF;
94 end;
95 end loop;
96 END LOCK_ROW;
97 PROCEDURE UPDATE_ROW ( P_rec GMS_FP_DISTRIBUTIONS%ROWTYPE) IS
98 X_rec GMS_FP_DISTRIBUTIONS%ROWTYPE;
99 BEGIN
100 X_rec := P_rec;
101
102 update GMS_FP_DISTRIBUTIONS
103 set distribution_value = X_rec.distribution_value
104 ,award_id = X_rec.award_id
105 where funding_pattern_id = X_rec.funding_pattern_id
106 and distribution_number = X_rec.distribution_number;
107 --IF (SQL%NOTFOUND) THEN
108 -- raise NO_DATA_FOUND;
109 --END IF;
110
111 EXCEPTION
112 WHEN OTHERS THEN
113 RAISE ;
114
115 END UPDATE_ROW;
116 PROCEDURE DELETE_ROW ( P_rec GMS_FP_DISTRIBUTIONS%ROWTYPE) IS
117 X_rec GMS_FP_DISTRIBUTIONS%ROWTYPE;
118 BEGIN
119 X_rec := P_rec;
120 delete gms_fp_distributions
121 where funding_pattern_id = X_rec.funding_pattern_id
122 and distribution_number = X_rec.distribution_number;
123
124 IF (SQL%NOTFOUND) THEN
125 raise NO_DATA_FOUND;
126 END IF;
127
128 EXCEPTION
129 WHEN OTHERS THEN
130 RAISE ;
131 END DELETE_ROW;
132
133 END GMS_FP_DISTRIBUTIONS_PKG;