[Home] [Help]
PACKAGE BODY: APPS.IGW_PROP_SPECIAL_REVIEWS_PKG
Source
1 package body IGW_PROP_SPECIAL_REVIEWS_PKG as
2 /* $Header: igwpr60b.pls 115.7 2002/03/28 19:13:31 pkm ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out VARCHAR2,
5 X_PROPOSAL_ID in NUMBER,
6 X_SPECIAL_REVIEW_CODE in VARCHAR2,
7 X_SPECIAL_REVIEW_TYPE in VARCHAR2,
8 X_APPROVAL_TYPE_CODE in VARCHAR2,
9 X_PROTOCOL_NUMBER in VARCHAR2,
10 X_APPLICATION_DATE in DATE,
11 X_APPROVAL_DATE in DATE,
12 X_COMMENTS in VARCHAR2,
13 X_MODE in VARCHAR2 default 'R'
14 ) is
15 cursor C is select ROWID from IGW_PROP_SPECIAL_REVIEWS
16 where PROPOSAL_ID = X_PROPOSAL_ID
17 AND SPECIAL_REVIEW_CODE = X_SPECIAL_REVIEW_CODE;
18
19 X_LAST_UPDATE_DATE DATE;
20 X_LAST_UPDATED_BY NUMBER;
21 X_LAST_UPDATE_LOGIN NUMBER;
22 begin
23 X_LAST_UPDATE_DATE := SYSDATE;
24 if(X_MODE = 'I') then
25 X_LAST_UPDATED_BY := 1;
26 X_LAST_UPDATE_LOGIN := 0;
27 elsif (X_MODE = 'R') then
28 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
29 if X_LAST_UPDATED_BY is NULL then
30 X_LAST_UPDATED_BY := -1;
31 end if;
32 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
33 if X_LAST_UPDATE_LOGIN is NULL then
34 X_LAST_UPDATE_LOGIN := -1;
35 end if;
36 else
37 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
38 app_exception.raise_exception;
39 end if;
40 insert into IGW_PROP_SPECIAL_REVIEWS (
41 PROPOSAL_ID,
42 SPECIAL_REVIEW_CODE,
43 SPECIAL_REVIEW_TYPE,
44 APPROVAL_TYPE_CODE,
45 PROTOCOL_NUMBER,
46 APPLICATION_DATE,
47 APPROVAL_DATE,
48 COMMENTS,
49 CREATION_DATE,
50 CREATED_BY,
51 LAST_UPDATE_DATE,
52 LAST_UPDATED_BY,
53 LAST_UPDATE_LOGIN
54 ) values (
55 X_PROPOSAL_ID,
56 X_SPECIAL_REVIEW_CODE,
57 X_SPECIAL_REVIEW_TYPE,
58 X_APPROVAL_TYPE_CODE,
59 X_PROTOCOL_NUMBER,
60 X_APPLICATION_DATE,
61 X_APPROVAL_DATE,
62 X_COMMENTS,
63 X_LAST_UPDATE_DATE,
64 X_LAST_UPDATED_BY,
65 X_LAST_UPDATE_DATE,
66 X_LAST_UPDATED_BY,
67 X_LAST_UPDATE_LOGIN
68 );
69
70 open c;
71 fetch c into X_ROWID;
72 if (c%notfound) then
73 close c;
74 raise no_data_found;
75 end if;
76 close c;
77
78 end INSERT_ROW;
79
80 procedure LOCK_ROW (
81 X_ROWID in VARCHAR2,
82 X_PROPOSAL_ID in NUMBER,
83 X_SPECIAL_REVIEW_CODE in VARCHAR2,
84 X_SPECIAL_REVIEW_TYPE in VARCHAR2,
85 X_APPROVAL_TYPE_CODE in VARCHAR2,
86 X_PROTOCOL_NUMBER in VARCHAR2,
87 X_APPLICATION_DATE in DATE,
88 X_APPROVAL_DATE in DATE,
89 X_COMMENTS in VARCHAR2
90 ) is
91 cursor c1 is select
92 SPECIAL_REVIEW_CODE,
93 SPECIAL_REVIEW_TYPE,
94 APPROVAL_TYPE_CODE,
95 PROTOCOL_NUMBER,
96 APPLICATION_DATE,
97 APPROVAL_DATE,
98 COMMENTS
99 from IGW_PROP_SPECIAL_REVIEWS
100 where ROWID = X_ROWID
101 for update of PROPOSAL_ID nowait;
102 tlinfo c1%rowtype;
103
104 begin
105 open c1;
106 fetch c1 into tlinfo;
107 if (c1%notfound) then
108 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
109 app_exception.raise_exception;
110 close c1;
111 return;
112 end if;
113 close c1;
114
115 if ( (tlinfo.SPECIAL_REVIEW_CODE = X_SPECIAL_REVIEW_CODE)
116 AND ((tlinfo.SPECIAL_REVIEW_TYPE = X_SPECIAL_REVIEW_TYPE)
117 OR ((tlinfo.SPECIAL_REVIEW_TYPE is null)
118 AND (X_SPECIAL_REVIEW_TYPE is null)))
119 AND (tlinfo.APPROVAL_TYPE_CODE = X_APPROVAL_TYPE_CODE)
120 AND ((tlinfo.PROTOCOL_NUMBER = X_PROTOCOL_NUMBER)
121 OR ((tlinfo.PROTOCOL_NUMBER is null)
122 AND (X_PROTOCOL_NUMBER is null)))
123 AND ((tlinfo.APPLICATION_DATE = X_APPLICATION_DATE)
124 OR ((tlinfo.APPLICATION_DATE is null)
125 AND (X_APPLICATION_DATE is null)))
126 AND ((tlinfo.APPROVAL_DATE = X_APPROVAL_DATE)
127 OR ((tlinfo.APPROVAL_DATE is null)
128 AND (X_APPROVAL_DATE is null)))
129 AND ((tlinfo.COMMENTS = X_COMMENTS)
130 OR ((tlinfo.COMMENTS is null)
131 AND (X_COMMENTS is null)))
132 ) then
133 null;
134 else
135 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
136 app_exception.raise_exception;
137 end if;
138 return;
139 end LOCK_ROW;
140
141 procedure UPDATE_ROW (
142 X_ROWID in VARCHAR2,
143 X_PROPOSAL_ID in NUMBER,
144 X_SPECIAL_REVIEW_CODE in VARCHAR2,
145 X_SPECIAL_REVIEW_TYPE in VARCHAR2,
146 X_APPROVAL_TYPE_CODE in VARCHAR2,
147 X_PROTOCOL_NUMBER in VARCHAR2,
148 X_APPLICATION_DATE in DATE,
149 X_APPROVAL_DATE in DATE,
150 X_COMMENTS in VARCHAR2,
151 X_MODE in VARCHAR2 default 'R'
152 ) is
153 X_LAST_UPDATE_DATE DATE;
154 X_LAST_UPDATED_BY NUMBER;
155 X_LAST_UPDATE_LOGIN NUMBER;
156 begin
157 X_LAST_UPDATE_DATE := SYSDATE;
158 if(X_MODE = 'I') then
159 X_LAST_UPDATED_BY := 1;
160 X_LAST_UPDATE_LOGIN := 0;
161 elsif (X_MODE = 'R') then
162 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
163 if X_LAST_UPDATED_BY is NULL then
164 X_LAST_UPDATED_BY := -1;
165 end if;
166 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
167 if X_LAST_UPDATE_LOGIN is NULL then
168 X_LAST_UPDATE_LOGIN := -1;
169 end if;
170 else
171 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
172 app_exception.raise_exception;
173 end if;
174 update IGW_PROP_SPECIAL_REVIEWS set
175 SPECIAL_REVIEW_CODE = X_SPECIAL_REVIEW_CODE,
176 SPECIAL_REVIEW_TYPE = X_SPECIAL_REVIEW_TYPE,
177 APPROVAL_TYPE_CODE = X_APPROVAL_TYPE_CODE,
178 PROTOCOL_NUMBER = X_PROTOCOL_NUMBER,
179 APPLICATION_DATE = X_APPLICATION_DATE,
180 APPROVAL_DATE = X_APPROVAL_DATE,
181 COMMENTS = X_COMMENTS,
182 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
183 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
184 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
185 where ROWID = X_ROWID
186 ;
187 if (sql%notfound) then
188 raise no_data_found;
189 end if;
190 end UPDATE_ROW;
191
192 procedure ADD_ROW (
193 X_ROWID in out VARCHAR2,
194 X_PROPOSAL_ID in NUMBER,
195 X_SPECIAL_REVIEW_CODE in VARCHAR2,
196 X_SPECIAL_REVIEW_TYPE in VARCHAR2,
197 X_APPROVAL_TYPE_CODE in VARCHAR2,
198 X_PROTOCOL_NUMBER in VARCHAR2,
199 X_APPLICATION_DATE in DATE,
200 X_APPROVAL_DATE in DATE,
201 X_COMMENTS in VARCHAR2,
202 X_MODE in VARCHAR2 default 'R'
203 ) is
204 cursor c1 is select rowid from IGW_PROP_SPECIAL_REVIEWS
205 where PROPOSAL_ID = X_PROPOSAL_ID
206 and SPECIAL_REVIEW_CODE = X_SPECIAL_REVIEW_CODE
207 ;
208 dummy c1%rowtype;
209 begin
210 open c1;
211 fetch c1 into dummy;
212 if (c1%notfound) then
213 close c1;
214 INSERT_ROW (
215 X_ROWID,
216 X_PROPOSAL_ID,
217 X_SPECIAL_REVIEW_CODE,
218 X_SPECIAL_REVIEW_TYPE,
219 X_APPROVAL_TYPE_CODE,
220 X_PROTOCOL_NUMBER,
221 X_APPLICATION_DATE,
222 X_APPROVAL_DATE,
223 X_COMMENTS,
224 X_MODE);
225 return;
226 end if;
227 close c1;
228 UPDATE_ROW (
229 X_ROWID,
230 X_PROPOSAL_ID,
231 X_SPECIAL_REVIEW_CODE,
232 X_SPECIAL_REVIEW_TYPE,
233 X_APPROVAL_TYPE_CODE,
234 X_PROTOCOL_NUMBER,
235 X_APPLICATION_DATE,
236 X_APPROVAL_DATE,
237 X_COMMENTS,
238 X_MODE);
239 end ADD_ROW;
240
241 procedure DELETE_ROW (
242 X_ROWID in VARCHAR2
243 ) is
244 begin
245 delete from IGW_PROP_SPECIAL_REVIEWS
246 where ROWID = X_ROWID;
247 if (sql%notfound) then
248 raise no_data_found;
249 end if;
250 end DELETE_ROW;
251
252 end IGW_PROP_SPECIAL_REVIEWS_PKG;