[Home] [Help]
PACKAGE BODY: APPS.OKE_BILLING_METHODS_PKG
Source
1 package body OKE_BILLING_METHODS_PKG as
2 /* $Header: OKEOBMXB.pls 115.5 2002/11/21 23:02:51 ybchen ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2
5 , X_BILLING_METHOD_CODE in VARCHAR2
6 , X_CREATION_DATE in DATE
7 , X_CREATED_BY in NUMBER
8 , X_LAST_UPDATE_DATE in DATE
9 , X_LAST_UPDATED_BY in NUMBER
10 , X_LAST_UPDATE_LOGIN in NUMBER
11 , X_BILLING_METHOD_NAME in VARCHAR2
12 , X_INCLUDE_PRICE_FLAG in VARCHAR2
13 , X_INCLUDE_COST_FLAG in VARCHAR2
14 , X_INCLUDE_FEE_FLAG in VARCHAR2
15 , X_DESCRIPTION in VARCHAR2
16 , X_START_DATE_ACTIVE in DATE
17 , X_END_DATE_ACTIVE in DATE
18 , X_ATTRIBUTE_CATEGORY in VARCHAR2
19 , X_ATTRIBUTE1 in VARCHAR2
20 , X_ATTRIBUTE2 in VARCHAR2
21 , X_ATTRIBUTE3 in VARCHAR2
22 , X_ATTRIBUTE4 in VARCHAR2
23 , X_ATTRIBUTE5 in VARCHAR2
24 , X_ATTRIBUTE6 in VARCHAR2
25 , X_ATTRIBUTE7 in VARCHAR2
26 , X_ATTRIBUTE8 in VARCHAR2
27 , X_ATTRIBUTE9 in VARCHAR2
28 , X_ATTRIBUTE10 in VARCHAR2
29 , X_ATTRIBUTE11 in VARCHAR2
30 , X_ATTRIBUTE12 in VARCHAR2
31 , X_ATTRIBUTE13 in VARCHAR2
32 , X_ATTRIBUTE14 in VARCHAR2
33 , X_ATTRIBUTE15 in VARCHAR2
34 ) is
35 cursor C is select ROWID from OKE_BILLING_METHODS_B
36 where BILLING_METHOD_CODE = X_BILLING_METHOD_CODE
37 ;
38 begin
39 insert into OKE_BILLING_METHODS_B (
40 BILLING_METHOD_CODE
41 , CREATION_DATE
42 , CREATED_BY
43 , LAST_UPDATE_DATE
44 , LAST_UPDATED_BY
45 , LAST_UPDATE_LOGIN
46 , INCLUDE_PRICE_FLAG
47 , INCLUDE_COST_FLAG
48 , INCLUDE_FEE_FLAG
49 , START_DATE_ACTIVE
50 , END_DATE_ACTIVE
51 , ATTRIBUTE_CATEGORY
52 , ATTRIBUTE1
53 , ATTRIBUTE2
54 , ATTRIBUTE3
55 , ATTRIBUTE4
56 , ATTRIBUTE5
57 , ATTRIBUTE6
58 , ATTRIBUTE7
59 , ATTRIBUTE8
60 , ATTRIBUTE9
61 , ATTRIBUTE10
62 , ATTRIBUTE11
63 , ATTRIBUTE12
64 , ATTRIBUTE13
65 , ATTRIBUTE14
66 , ATTRIBUTE15
67 ) values (
68 X_BILLING_METHOD_CODE
69 , X_CREATION_DATE
70 , X_CREATED_BY
71 , X_LAST_UPDATE_DATE
72 , X_LAST_UPDATED_BY
73 , X_LAST_UPDATE_LOGIN
74 , X_INCLUDE_PRICE_FLAG
75 , X_INCLUDE_COST_FLAG
76 , X_INCLUDE_FEE_FLAG
77 , X_START_DATE_ACTIVE
78 , X_END_DATE_ACTIVE
79 , X_ATTRIBUTE_CATEGORY
80 , X_ATTRIBUTE1
81 , X_ATTRIBUTE2
82 , X_ATTRIBUTE3
83 , X_ATTRIBUTE4
84 , X_ATTRIBUTE5
85 , X_ATTRIBUTE6
86 , X_ATTRIBUTE7
87 , X_ATTRIBUTE8
88 , X_ATTRIBUTE9
89 , X_ATTRIBUTE10
90 , X_ATTRIBUTE11
91 , X_ATTRIBUTE12
92 , X_ATTRIBUTE13
93 , X_ATTRIBUTE14
94 , X_ATTRIBUTE15
95 );
96
97 insert into OKE_BILLING_METHODS_TL (
98 BILLING_METHOD_CODE
99 , LANGUAGE
100 , CREATION_DATE
101 , CREATED_BY
102 , LAST_UPDATE_DATE
103 , LAST_UPDATED_BY
104 , LAST_UPDATE_LOGIN
105 , BILLING_METHOD_NAME
106 , DESCRIPTION
107 , SOURCE_LANG
108 ) select
109 X_BILLING_METHOD_CODE
110 , L.LANGUAGE_CODE
111 , X_CREATION_DATE
112 , X_CREATED_BY
113 , X_LAST_UPDATE_DATE
114 , X_LAST_UPDATED_BY
115 , X_LAST_UPDATE_LOGIN
116 , X_BILLING_METHOD_NAME
117 , X_DESCRIPTION
118 , userenv('LANG')
119 from FND_LANGUAGES L
120 where L.INSTALLED_FLAG in ('I', 'B')
121 and not exists
122 (select NULL
123 from OKE_BILLING_METHODS_TL T
124 where T.BILLING_METHOD_CODE = X_BILLING_METHOD_CODE
125 and T.LANGUAGE = L.LANGUAGE_CODE)
126 ;
127
128 open c;
129 fetch c into X_ROWID;
130 if (c%notfound) then
131 close c;
132 raise no_data_found;
133 end if;
134 close c;
135
136 end INSERT_ROW;
137
138 procedure LOCK_ROW (
139 X_BILLING_METHOD_CODE in VARCHAR2
140 , X_BILLING_METHOD_NAME in VARCHAR2
141 , X_INCLUDE_PRICE_FLAG in VARCHAR2
142 , X_INCLUDE_COST_FLAG in VARCHAR2
143 , X_INCLUDE_FEE_FLAG in VARCHAR2
144 , X_DESCRIPTION in VARCHAR2
145 , X_START_DATE_ACTIVE in DATE
146 , X_END_DATE_ACTIVE in DATE
147 , X_ATTRIBUTE_CATEGORY in VARCHAR2
148 , X_ATTRIBUTE1 in VARCHAR2
149 , X_ATTRIBUTE2 in VARCHAR2
150 , X_ATTRIBUTE3 in VARCHAR2
151 , X_ATTRIBUTE4 in VARCHAR2
152 , X_ATTRIBUTE5 in VARCHAR2
153 , X_ATTRIBUTE6 in VARCHAR2
154 , X_ATTRIBUTE7 in VARCHAR2
155 , X_ATTRIBUTE8 in VARCHAR2
156 , X_ATTRIBUTE9 in VARCHAR2
157 , X_ATTRIBUTE10 in VARCHAR2
158 , X_ATTRIBUTE11 in VARCHAR2
159 , X_ATTRIBUTE12 in VARCHAR2
160 , X_ATTRIBUTE13 in VARCHAR2
161 , X_ATTRIBUTE14 in VARCHAR2
162 , X_ATTRIBUTE15 in VARCHAR2
163 ) is
164 cursor c is select
165 BILLING_METHOD_CODE
166 , INCLUDE_PRICE_FLAG
167 , INCLUDE_COST_FLAG
168 , INCLUDE_FEE_FLAG
169 , START_DATE_ACTIVE
170 , END_DATE_ACTIVE
171 , ATTRIBUTE_CATEGORY
172 , ATTRIBUTE1
173 , ATTRIBUTE2
174 , ATTRIBUTE3
175 , ATTRIBUTE4
176 , ATTRIBUTE5
177 , ATTRIBUTE6
178 , ATTRIBUTE7
179 , ATTRIBUTE8
180 , ATTRIBUTE9
181 , ATTRIBUTE10
182 , ATTRIBUTE11
183 , ATTRIBUTE12
184 , ATTRIBUTE13
185 , ATTRIBUTE14
186 , ATTRIBUTE15
187 from OKE_BILLING_METHODS_B
188 where BILLING_METHOD_CODE = X_BILLING_METHOD_CODE
189 for update of BILLING_METHOD_CODE nowait;
190 recinfo c%rowtype;
191
192 cursor c1 is select
193 BILLING_METHOD_NAME
194 ,DESCRIPTION
195 ,decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
196 from OKE_BILLING_METHODS_TL
197 where BILLING_METHOD_CODE= X_BILLING_METHOD_CODE
198 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
199 for update of BILLING_METHOD_CODE nowait;
200 tlinfo c1%rowtype;
201
202 begin
203 open c;
204 fetch c into recinfo;
205 if (c%notfound) then
206 close c;
207 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
208 app_exception.raise_exception;
209 end if;
210 close c;
211
212 if ( (recinfo.BILLING_METHOD_CODE = X_BILLING_METHOD_CODE)
213 AND ((recinfo.INCLUDE_PRICE_FLAG = X_INCLUDE_PRICE_FLAG)
214 OR ((recinfo.INCLUDE_PRICE_FLAG is null) AND (X_INCLUDE_PRICE_FLAG is null)))
215 AND ((recinfo.INCLUDE_COST_FLAG = X_INCLUDE_COST_FLAG)
216 OR ((recinfo.INCLUDE_COST_FLAG is null) AND (X_INCLUDE_COST_FLAG is null)))
217 AND ((recinfo.INCLUDE_FEE_FLAG = X_INCLUDE_FEE_FLAG)
218 OR ((recinfo.INCLUDE_FEE_FLAG is null) AND (X_INCLUDE_FEE_FLAG is null)))
219 AND ((recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
220 OR ((recinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
221 AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
222 OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
223 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
224 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
225 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
226 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
227 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
228 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
229 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
230 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
231 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
232 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
233 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
234 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
235 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
236 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
237 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
238 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
239 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
240 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
241 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
242 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
243 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
244 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
245 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
246 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
247 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
248 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
249 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
250 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
251 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
252 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
253 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
254 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
255 ) then
256 null;
257 else
258 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
259 app_exception.raise_exception;
260 end if;
261
262 for tlinfo in c1 loop
263 if (tlinfo.BASELANG = 'Y') then
264 if ( ((tlinfo.BILLING_METHOD_NAME = X_BILLING_METHOD_NAME)
265 OR ((tlinfo.BILLING_METHOD_NAME is null) AND (X_BILLING_METHOD_NAME is null)))
266 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
267 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
268 ) then
269 null;
270 else
271 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
272 app_exception.raise_exception;
273 end if;
274 end if;
275 end loop;
276
277 return;
278 end LOCK_ROW;
279
280
281
282 procedure UPDATE_ROW (
283 X_BILLING_METHOD_CODE in VARCHAR2
284 , X_LAST_UPDATE_DATE in DATE
285 , X_LAST_UPDATED_BY in NUMBER
286 , X_LAST_UPDATE_LOGIN in NUMBER
287 , X_BILLING_METHOD_NAME in VARCHAR2
288 , X_INCLUDE_PRICE_FLAG in VARCHAR2
289 , X_INCLUDE_COST_FLAG in VARCHAR2
290 , X_INCLUDE_FEE_FLAG in VARCHAR2
291 , X_DESCRIPTION in VARCHAR2
292 , X_START_DATE_ACTIVE in DATE
293 , X_END_DATE_ACTIVE in DATE
294 , X_ATTRIBUTE_CATEGORY in VARCHAR2
295 , X_ATTRIBUTE1 in VARCHAR2
296 , X_ATTRIBUTE2 in VARCHAR2
297 , X_ATTRIBUTE3 in VARCHAR2
298 , X_ATTRIBUTE4 in VARCHAR2
299 , X_ATTRIBUTE5 in VARCHAR2
300 , X_ATTRIBUTE6 in VARCHAR2
301 , X_ATTRIBUTE7 in VARCHAR2
302 , X_ATTRIBUTE8 in VARCHAR2
303 , X_ATTRIBUTE9 in VARCHAR2
304 , X_ATTRIBUTE10 in VARCHAR2
305 , X_ATTRIBUTE11 in VARCHAR2
306 , X_ATTRIBUTE12 in VARCHAR2
307 , X_ATTRIBUTE13 in VARCHAR2
308 , X_ATTRIBUTE14 in VARCHAR2
309 , X_ATTRIBUTE15 in VARCHAR2
310 ) is
311 begin
312 update OKE_BILLING_METHODS_B set
313 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE
314 , LAST_UPDATED_BY = X_LAST_UPDATED_BY
315 , LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
316 , INCLUDE_PRICE_FLAG = X_INCLUDE_PRICE_FLAG
317 , INCLUDE_COST_FLAG = X_INCLUDE_COST_FLAG
318 , INCLUDE_FEE_FLAG = X_INCLUDE_FEE_FLAG
319 , START_DATE_ACTIVE = X_START_DATE_ACTIVE
320 , END_DATE_ACTIVE = X_END_DATE_ACTIVE
321 , ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY
322 , ATTRIBUTE1 = X_ATTRIBUTE1
323 , ATTRIBUTE2 = X_ATTRIBUTE2
324 , ATTRIBUTE3 = X_ATTRIBUTE3
325 , ATTRIBUTE4 = X_ATTRIBUTE4
326 , ATTRIBUTE5 = X_ATTRIBUTE5
327 , ATTRIBUTE6 = X_ATTRIBUTE6
328 , ATTRIBUTE7 = X_ATTRIBUTE7
329 , ATTRIBUTE8 = X_ATTRIBUTE8
330 , ATTRIBUTE9 = X_ATTRIBUTE9
331 , ATTRIBUTE10 = X_ATTRIBUTE10
332 , ATTRIBUTE11 = X_ATTRIBUTE11
333 , ATTRIBUTE12 = X_ATTRIBUTE12
334 , ATTRIBUTE13 = X_ATTRIBUTE13
335 , ATTRIBUTE14 = X_ATTRIBUTE14
336 , ATTRIBUTE15 = X_ATTRIBUTE15
337 where BILLING_METHOD_CODE = X_BILLING_METHOD_CODE
338 ;
339
340 if (sql%notfound) then
341 raise no_data_found;
342 end if;
343
344 update OKE_BILLING_METHODS_TL set
345 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE
346 , LAST_UPDATED_BY = X_LAST_UPDATED_BY
347 , LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
348 , BILLING_METHOD_NAME = X_BILLING_METHOD_NAME
349 , DESCRIPTION = X_DESCRIPTION
350 , SOURCE_LANG = userenv('LANG')
351 where BILLING_METHOD_CODE = X_BILLING_METHOD_CODE
352 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
353 ;
354
358
355 if (sql%notfound) then
356 raise no_data_found;
357 end if;
359 end UPDATE_ROW;
360
361 procedure ADD_LANGUAGE
362 is
363 begin
364 delete from OKE_BILLING_METHODS_TL T
365 where not exists
366 (select NULL
367 from OKE_BILLING_METHODS_B B
368 where B.BILLING_METHOD_CODE = T.BILLING_METHOD_CODE
369 );
370
371 update OKE_BILLING_METHODS_TL T set (
372 BILLING_METHOD_NAME,
373 DESCRIPTION
374 ) = (select
375 B.BILLING_METHOD_NAME,
376 B.DESCRIPTION
377 from OKE_BILLING_METHODS_TL B
378 where B.BILLING_METHOD_CODE = T.BILLING_METHOD_CODE
379 and B.LANGUAGE = T.SOURCE_LANG)
380 where (
381 T.BILLING_METHOD_CODE,
382 T.LANGUAGE
383 ) in (select
384 SUBT.BILLING_METHOD_CODE,
385 SUBT.LANGUAGE
386 from OKE_BILLING_METHODS_TL SUBB, OKE_BILLING_METHODS_TL SUBT
387 where SUBB.BILLING_METHOD_CODE = SUBT.BILLING_METHOD_CODE
388 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
389 and (SUBB.BILLING_METHOD_NAME <> SUBT.BILLING_METHOD_NAME
390 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
391 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
392 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
393 ));
394
395 insert into OKE_BILLING_METHODS_TL (
396 DESCRIPTION,
397 BILLING_METHOD_CODE,
398 CREATION_DATE,
399 CREATED_BY,
400 LAST_UPDATE_DATE,
401 LAST_UPDATED_BY,
402 LAST_UPDATE_LOGIN,
403 BILLING_METHOD_NAME,
404 LANGUAGE,
405 SOURCE_LANG
406 ) select
407 B.DESCRIPTION,
408 B.BILLING_METHOD_CODE,
409 B.CREATION_DATE,
410 B.CREATED_BY,
411 B.LAST_UPDATE_DATE,
412 B.LAST_UPDATED_BY,
413 B.LAST_UPDATE_LOGIN,
414 B.BILLING_METHOD_NAME,
415 L.LANGUAGE_CODE,
416 B.SOURCE_LANG
417 from OKE_BILLING_METHODS_TL B, FND_LANGUAGES L
418 where L.INSTALLED_FLAG in ('I', 'B')
419 and B.LANGUAGE = userenv('LANG')
420 and not exists
421 (select NULL
422 from OKE_BILLING_METHODS_TL T
423 where T.BILLING_METHOD_CODE = B.BILLING_METHOD_CODE
424 and T.LANGUAGE = L.LANGUAGE_CODE);
425 end ADD_LANGUAGE;
426
427 end OKE_BILLING_METHODS_PKG;