[Home] [Help]
PACKAGE BODY: APPS.GMS_FUNDING_PATTERNS_PKG
Source
1 Package Body GMS_FUNDING_PATTERNS_PKG AS
2 -- $Header: gmsfptbb.pls 120.1 2005/07/26 14:22:06 appldev ship $
3
4 PROCEDURE INSERT_ROW( P_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE)
5 IS
6 X_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE;
7
8 BEGIN
9 X_rec := P_rec;
10
11 IF X_REC.funding_pattern_id is NULL THEN
12 select gms_funding_pattern_s.nextval
13 into X_REC.funding_pattern_id
14 from dual;
15
16 END IF ;
17
18 IF X_REC.creation_date is NULL THEN
19 x_rec.creation_date := SYSDATE ;
20 END IF ;
21
22 insert into GMS_FUNDING_PATTERNS_ALL( funding_pattern_id
23 ,org_id
24 ,funding_sequence
25 ,funding_name
26 ,retroactive_flag
27 ,project_id
28 ,task_id
29 ,status
30 ,funds_status
31 ,start_date
32 ,end_date
33 ,last_update_date
34 ,last_updated_by
35 ,creation_date
36 ,created_by
37 ,last_update_login)
38 values(X_rec.funding_pattern_id
39 , X_rec.org_id
40 ,X_rec.funding_sequence
41 ,X_rec.funding_name
42 ,X_rec.retroactive_flag
43 ,X_rec.project_id
44 ,X_rec.task_id
45 ,X_rec.status
46 , X_rec.funds_status
47 , X_rec.start_date
48 , X_rec.end_date
49 , X_rec.last_update_date
50 , X_rec.last_updated_by
51 , X_rec.creation_date
52 , X_rec.created_by
53 , X_rec.last_update_login);
54
55
56
57 END;
58
59
60
61 PROCEDURE LOCK_ROW ( P_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE) IS
62 Counter NUMBER;
63 CURSOR C IS
64 SELECT funding_pattern_id
65 ,org_id
66 ,funding_sequence
67 ,funding_name
68 ,retroactive_flag
69 ,project_id
70 ,task_id
71 ,status
72 ,funds_status
73 ,start_date
74 ,end_date
75 FROM GMS_FUNDING_PATTERNS_ALL
76 WHERE funding_pattern_id = P_rec.funding_pattern_id
77 AND funding_sequence = P_rec.funding_sequence
78 AND funding_name = P_rec.funding_name
79 AND status = P_rec.status;
80 X_rec C%ROWTYPE;
81 BEGIN
82 Counter := 0;
83 LOOP
84 BEGIN
85 Counter := Counter+1;
86 OPEN C;
87 FETCH C INTO X_rec;
88 if C%NOTFOUND then
89 CLOSE C;
90 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
91 app_exception.raise_exception;
92 close C;
93 end if;
94 close C;
95
96
97 if (
98 ( (X_rec.funding_pattern_id = P_REC.funding_pattern_id ) OR
99 (( X_rec.funding_pattern_id is NULL ) AND ( P_REC.funding_pattern_id IS NULL ))
100 ) AND
101 ( (X_rec.funding_sequence = P_REC.funding_sequence ) OR
102 (( X_rec.funding_sequence is NULL ) AND ( P_REC.funding_sequence IS NULL ))
103 ) AND
104 ( (X_rec.org_id = P_REC.org_id ) OR
105 (( X_rec.org_id is NULL ) AND ( P_REC.org_id IS NULL ))
106 ) AND
107 ( (X_rec.funding_name = P_REC.funding_name ) OR
108 (( X_rec.funding_name is NULL ) AND ( P_REC.funding_name IS NULL ))
109 ) AND
110 ( (X_rec.retroactive_flag = P_REC.retroactive_flag ) OR
111 (( X_rec.retroactive_flag is NULL ) AND ( P_REC.retroactive_flag IS NULL ))
112 ) AND
113 ( (X_rec.project_id = P_REC.project_id ) OR
114 (( X_rec.project_id is NULL ) AND ( P_REC.project_id IS NULL ))
115 ) AND
116 ( (X_rec.task_id = P_REC.task_id ) OR
117 (( X_rec.task_id is NULL ) AND ( P_REC.task_id IS NULL ))
118 ) AND
119 ( (X_rec.status = P_REC.status ) OR
120 (( X_rec.status is NULL ) AND ( P_REC.status IS NULL ))
121 ) AND
122 ( (X_rec.funds_status = P_REC.funds_status ) OR
123 (( X_rec.funds_status is NULL ) AND ( P_REC.funds_status IS NULL ))
124 ) AND
125 ( (X_rec.start_date = P_REC.start_date ) OR
126 (( X_rec.start_date is NULL ) AND ( P_REC.start_date IS NULL ))
127 ) AND
128 ( (X_rec.end_date = P_REC.end_date ) OR
129 (( X_rec.end_date is NULL ) AND ( P_REC.end_date IS NULL ))
130 )
131 )
132
133
134 then
135 return;
136 else
137 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
138 app_exception.raise_exception;
139 end if;
140 EXCEPTION
141 when APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION then
142 IF (C% ISOPEN) THEN
143 close C;
144 END IF;
145 end;
146 end loop;
147 END LOCK_ROW;
148
149 PROCEDURE UPDATE_ROW( P_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE)
150 IS
151 X_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE;
152
153 BEGIN
154 X_rec := P_rec;
155 update GMS_FUNDING_PATTERNS_ALL
156 set funding_sequence = X_rec.funding_sequence
157 ,funding_name = X_rec.funding_name
158 ,retroactive_flag = X_rec.retroactive_flag
159 ,status = X_rec.status
160 ,start_date = nvl(X_rec.start_date,sysdate)
161 ,end_date = X_rec.end_date
162 where funding_pattern_id = X_rec.funding_pattern_id ;
163 IF (SQL%NOTFOUND) THEN
164 raise NO_DATA_FOUND;
165 END IF;
166
167 EXCEPTION
168 WHEN OTHERS THEN
169 RAISE ;
170
171 END UPDATE_ROW;
172
173 PROCEDURE DELETE_ROW( P_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE)
174 IS
175 X_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE;
176 BEGIN
177 X_rec := P_rec;
178 delete gms_funding_patterns_all
179 where funding_pattern_id=X_rec.funding_pattern_id ;
180
181 IF (SQL%NOTFOUND) THEN
182 raise NO_DATA_FOUND;
183 END IF;
184
185 EXCEPTION
186 WHEN OTHERS THEN
187 RAISE ;
188 END DELETE_ROW;
189
190
191
192 END GMS_FUNDING_PATTERNS_PKG;