DBA Data[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;