DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_ROLE_QUOTA_RATES_PKG

Source


1 package body CN_ROLE_QUOTA_RATES_PKG as
2 /* $Header: cntpqrb.pls 115.4 2002/11/21 21:10:11 hlchen ship $ */
3 procedure INSERT_ROW
4   (X_ROWID              IN OUT NOCOPY VARCHAR2,
5    X_ROLE_QUOTA_RATE_ID IN OUT NOCOPY NUMBER,
6    X_ROLE_QUOTA_CATE_ID IN     NUMBER,
7    X_RATE_TIER_ID       IN     NUMBER,
8    X_RATE_SCHEDULE_ID   IN     NUMBER,
9    X_MIN_RATE           IN     NUMBER := NULL,
10    X_MAX_RATE           IN     NUMBER := NULL,
11    X_COMM_RATE          IN     NUMBER := NULL,
12    X_ATTRIBUTE_CATEGORY IN     VARCHAR2 := NULL,
13    X_ATTRIBUTE1         IN     VARCHAR2 := NULL,
14    X_ATTRIBUTE2         IN     VARCHAR2 := NULL,
15    X_ATTRIBUTE3         IN     VARCHAR2 := NULL,
16    X_ATTRIBUTE4         IN     VARCHAR2 := NULL,
17    X_ATTRIBUTE5         IN     VARCHAR2 := NULL,
18    X_ATTRIBUTE6         IN     VARCHAR2 := NULL,
19    X_ATTRIBUTE7         IN     VARCHAR2 := NULL,
20    X_ATTRIBUTE8         IN     VARCHAR2 := NULL,
21    X_ATTRIBUTE9         IN     VARCHAR2 := NULL,
22    X_ATTRIBUTE10        IN     VARCHAR2 := NULL,
23    X_ATTRIBUTE11        IN     VARCHAR2 := NULL,
24    X_ATTRIBUTE12        IN     VARCHAR2 := NULL,
25    X_ATTRIBUTE13        IN     VARCHAR2 := NULL,
26    X_ATTRIBUTE14        IN     VARCHAR2 := NULL,
27    X_ATTRIBUTE15        IN     VARCHAR2 := NULL,
28    X_CREATION_DATE      IN     DATE,
29    X_CREATED_BY         IN     NUMBER,
30    X_LAST_UPDATE_DATE   IN     DATE,
31    X_LAST_UPDATED_BY    IN     NUMBER,
32    X_LAST_UPDATE_LOGIN  IN     NUMBER,
33    X_OBJECT_VERSION_NUMBER  IN   NUMBER
34   ) IS
35      cursor C is select ROWID from cn_role_quota_rates
36        where ROLE_QUOTA_RATE_ID = x_role_quota_rate_id;
37 
38      CURSOR id IS SELECT cn_role_quota_rates_s.NEXTVAL FROM dual;
39 BEGIN
40    IF (x_role_quota_rate_id IS NULL) THEN
41       OPEN id;
42       FETCH id INTO x_role_quota_rate_id;
43       IF (id%notfound) THEN
44    CLOSE id;
45    RAISE no_data_found;
46       END IF;
47       CLOSE id;
48    END IF;
49 
50    insert into CN_ROLE_QUOTA_RATES
51      (ROLE_QUOTA_RATE_ID,
52       ROLE_QUOTA_CATE_ID,
53       RATE_TIER_ID,
54       RATE_SCHEDULE_ID,
55       MIN_RATE,
56       MAX_RATE,
57       COMM_RATE,
58       ATTRIBUTE_CATEGORY,
59       ATTRIBUTE1,
60       ATTRIBUTE2,
61       ATTRIBUTE3,
62       ATTRIBUTE4,
63       ATTRIBUTE5,
64       ATTRIBUTE6,
65       ATTRIBUTE7,
66       ATTRIBUTE8,
67       ATTRIBUTE9,
68       ATTRIBUTE10,
69       ATTRIBUTE11,
70       ATTRIBUTE12,
71       ATTRIBUTE13,
72       ATTRIBUTE14,
73       ATTRIBUTE15,
74       LAST_UPDATE_DATE,
75       LAST_UPDATED_BY,
76       LAST_UPDATE_LOGIN,
77       CREATION_DATE,
78       created_by,
79       OBJECT_VERSION_NUMBER
80       )
81      VALUES
82      (X_ROLE_QUOTA_RATE_ID,
83       X_ROLE_QUOTA_CATE_ID,
84       X_RATE_TIER_ID,
85       X_RATE_SCHEDULE_ID,
86       X_MIN_RATE,
87       X_MAX_RATE,
88       X_COMM_RATE,
89       X_ATTRIBUTE_CATEGORY,
90       X_ATTRIBUTE1,
91       X_ATTRIBUTE2,
92       X_ATTRIBUTE3,
93       X_ATTRIBUTE4,
94       X_ATTRIBUTE5,
95       X_ATTRIBUTE6,
96       X_ATTRIBUTE7,
97       X_ATTRIBUTE8,
98       X_ATTRIBUTE9,
99       X_ATTRIBUTE10,
100       X_ATTRIBUTE11,
101       X_ATTRIBUTE12,
102       X_ATTRIBUTE13,
103       X_ATTRIBUTE14,
104       X_ATTRIBUTE15,
105       X_LAST_UPDATE_DATE,
106       X_LAST_UPDATED_BY,
107       X_LAST_UPDATE_LOGIN,
108       X_CREATION_DATE,
109       x_created_by,
110       X_OBJECT_VERSION_NUMBER
111    );
112 
113    open c;
114    fetch c into X_ROWID;
115    if (c%notfound) THEN
116       close c;
117       raise no_data_found;
118    end if;
119    close c;
120 
121 end INSERT_ROW;
122 
123 procedure LOCK_ROW
124   (X_ROLE_QUOTA_RATE_ID IN     NUMBER,
125    X_ROLE_QUOTA_CATE_ID IN     NUMBER,
126    X_RATE_TIER_ID       IN     NUMBER,
127    X_RATE_SCHEDULE_ID   IN     NUMBER,
128    X_MIN_RATE           IN     NUMBER,
129    X_MAX_RATE           IN     NUMBER,
130    X_COMM_RATE          IN     NUMBER,
131    X_ATTRIBUTE_CATEGORY IN     VARCHAR2,
132    X_ATTRIBUTE1         IN     VARCHAR2,
133    X_ATTRIBUTE2         IN     VARCHAR2,
134    X_ATTRIBUTE3         IN     VARCHAR2,
135    X_ATTRIBUTE4         IN     VARCHAR2,
136    X_ATTRIBUTE5         IN     VARCHAR2,
137    X_ATTRIBUTE6         IN     VARCHAR2,
138    X_ATTRIBUTE7         IN     VARCHAR2,
139    X_ATTRIBUTE8         IN     VARCHAR2,
140    X_ATTRIBUTE9         IN     VARCHAR2,
141    X_ATTRIBUTE10        IN     VARCHAR2,
142    X_ATTRIBUTE11        IN     VARCHAR2,
143    X_ATTRIBUTE12        IN     VARCHAR2,
144    X_ATTRIBUTE13        IN     VARCHAR2,
145    X_ATTRIBUTE14        IN     VARCHAR2,
146    X_ATTRIBUTE15        IN     VARCHAR2,
147    X_OBJECT_VERSION_NUMBER  IN   NUMBER
148    ) IS
149       cursor c1 is SELECT
150   ROLE_QUOTA_CATE_ID,
151   RATE_TIER_ID,
152   RATE_SCHEDULE_ID,
153         MIN_RATE,
154   MAX_RATE,
155   COMM_RATE,
156   ATTRIBUTE_CATEGORY,
157   ATTRIBUTE1,
158   ATTRIBUTE2,
159   ATTRIBUTE3,
160   ATTRIBUTE4,
161   ATTRIBUTE5,
162   ATTRIBUTE6,
163   ATTRIBUTE7,
164   ATTRIBUTE8,
165   ATTRIBUTE9,
166   ATTRIBUTE10,
167   ATTRIBUTE11,
168   ATTRIBUTE12,
169   ATTRIBUTE13,
170   ATTRIBUTE14,
171   ATTRIBUTE15,
172   ROLE_QUOTA_RATE_ID,
173         OBJECT_VERSION_NUMBER
174   from cn_role_quota_rates
175   where ROLE_QUOTA_RATE_ID = x_role_quota_rate_id
176   for update of ROLE_QUOTA_RATE_ID nowait;
177 
178       tlinfo c1%ROWTYPE;
179       record_changed EXCEPTION;
180 BEGIN
181    OPEN c1;
182    FETCH c1 INTO tlinfo;
183 
184    IF (c1%notfound) THEN
185       CLOSE c1;
186       fnd_message.set_name('CN', 'CN_RECORD_DELETED');
187       RAISE no_data_found;
188    END IF;
189    CLOSE c1;
190 
191    if (    (tlinfo.ROLE_QUOTA_RATE_ID = X_ROLE_QUOTA_RATE_ID)
192           AND (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
193           AND (tlinfo.ROLE_QUOTA_CATE_ID = X_ROLE_QUOTA_CATE_ID)
194           AND (tlinfo.RATE_TIER_ID = X_RATE_TIER_ID)
195           AND (tlinfo.RATE_SCHEDULE_ID = X_RATE_SCHEDULE_ID)
196           AND ((tlinfo.MIN_RATE = X_MIN_RATE)
197                OR ((tlinfo.MIN_RATE is null) AND (X_MIN_RATE is null)))
198           AND ((tlinfo.MAX_RATE = X_MAX_RATE)
199                OR ((tlinfo.MAX_RATE is null) AND (X_MAX_RATE is null)))
200           AND ((tlinfo.COMM_RATE = X_COMM_RATE)
201                OR ((tlinfo.COMM_RATE is null) AND (X_COMM_RATE is null)))
202           AND ((tlinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
203                OR ((tlinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
204           AND ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
205                OR ((tlinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
206           AND ((tlinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
207                OR ((tlinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
208           AND ((tlinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
209                OR ((tlinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
210           AND ((tlinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
211                OR ((tlinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
212           AND ((tlinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
213                OR ((tlinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
214           AND ((tlinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
215                OR ((tlinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
216           AND ((tlinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
217                OR ((tlinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
218           AND ((tlinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
219                OR ((tlinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
220           AND ((tlinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
221                OR ((tlinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
222           AND ((tlinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
223                OR ((tlinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
224           AND ((tlinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
225                OR ((tlinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
226           AND ((tlinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
227                OR ((tlinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
228           AND ((tlinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
229                OR ((tlinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
230           AND ((tlinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
231                OR ((tlinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
232           AND ((tlinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
233                OR ((tlinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
234       ) then
235         null;
236       else
237         fnd_message.set_name('CN', 'CN_RECORD_CHANGED');
238         RAISE record_changed;
239       end if;
240     return;
241 end LOCK_ROW;
242 
243 procedure UPDATE_ROW
244   (X_ROLE_QUOTA_RATE_ID IN     NUMBER,
245    X_ROLE_QUOTA_CATE_ID IN     NUMBER,
246    X_RATE_TIER_ID       IN     NUMBER,
247    X_RATE_SCHEDULE_ID   IN     NUMBER,
248    X_MIN_RATE           IN     NUMBER,
249    X_MAX_RATE           IN     NUMBER,
250    X_COMM_RATE          IN     NUMBER,
251    X_ATTRIBUTE_CATEGORY IN     VARCHAR2,
252    X_ATTRIBUTE1         IN     VARCHAR2,
253    X_ATTRIBUTE2         IN     VARCHAR2,
254    X_ATTRIBUTE3         IN     VARCHAR2,
255    X_ATTRIBUTE4         IN     VARCHAR2,
256    X_ATTRIBUTE5         IN     VARCHAR2,
257    X_ATTRIBUTE6         IN     VARCHAR2,
258    X_ATTRIBUTE7         IN     VARCHAR2,
259    X_ATTRIBUTE8         IN     VARCHAR2,
260    X_ATTRIBUTE9         IN     VARCHAR2,
261    X_ATTRIBUTE10        IN     VARCHAR2,
262    X_ATTRIBUTE11        IN     VARCHAR2,
263    X_ATTRIBUTE12        IN     VARCHAR2,
264    X_ATTRIBUTE13        IN     VARCHAR2,
265    X_ATTRIBUTE14        IN     VARCHAR2,
266    X_ATTRIBUTE15        IN     VARCHAR2,
267    X_LAST_UPDATE_DATE   IN     DATE,
268    X_LAST_UPDATED_BY    IN     NUMBER,
269    X_LAST_UPDATE_LOGIN  IN     NUMBER,
270    X_OBJECT_VERSION_NUMBER  IN   NUMBER
271    ) IS
272 BEGIN
273    update CN_ROLE_QUOTA_RATES SET
274      ROLE_QUOTA_CATE_ID = X_ROLE_QUOTA_CATE_ID,
275      RATE_TIER_ID = X_RATE_TIER_ID,
276      RATE_SCHEDULE_ID = X_RATE_SCHEDULE_ID,
277      MIN_RATE = X_MIN_RATE,
278      MAX_RATE = X_MAX_RATE,
279      COMM_RATE = X_COMM_RATE,
280      ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
281      ATTRIBUTE1 = X_ATTRIBUTE1,
282      ATTRIBUTE2 = X_ATTRIBUTE2,
283      ATTRIBUTE3 = X_ATTRIBUTE3,
284      ATTRIBUTE4 = X_ATTRIBUTE4,
285      ATTRIBUTE5 = X_ATTRIBUTE5,
286      ATTRIBUTE6 = X_ATTRIBUTE6,
287      ATTRIBUTE7 = X_ATTRIBUTE7,
288      ATTRIBUTE8 = X_ATTRIBUTE8,
289      ATTRIBUTE9 = X_ATTRIBUTE9,
290      ATTRIBUTE10 = X_ATTRIBUTE10,
291      ATTRIBUTE11 = X_ATTRIBUTE11,
292      ATTRIBUTE12 = X_ATTRIBUTE12,
293      ATTRIBUTE13 = X_ATTRIBUTE13,
294      ATTRIBUTE14 = X_ATTRIBUTE14,
295      ATTRIBUTE15 = X_ATTRIBUTE15,
296      ROLE_QUOTA_RATE_ID = X_ROLE_QUOTA_RATE_ID,
297      LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
298      LAST_UPDATED_BY = X_LAST_UPDATED_BY,
299      LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
300      OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
301      where ROLE_QUOTA_RATE_ID = x_role_quota_rate_id;
302 
303    if (sql%notfound) THEN
304       raise no_data_found;
305    end if;
306 end UPDATE_ROW;
307 
308 procedure DELETE_ROW (
309   X_ROLE_QUOTA_RATE_ID in NUMBER
310 ) is
311 begin
312   delete from CN_ROLE_QUOTA_RATES
313   where ROLE_QUOTA_RATE_ID = X_ROLE_QUOTA_RATE_ID;
314 
315   if (sql%notfound) then
316     raise no_data_found;
317   end if;
318 
319 end DELETE_ROW;
320 
321 end CN_ROLE_QUOTA_RATES_PKG;