[Home] [Help]
PACKAGE BODY: APPS.AHL_SIMULATION_PLANS_PKG
Source
1 package body AHL_SIMULATION_PLANS_PKG as
2 /* $Header: AHLLSPNB.pls 120.0.12020000.4 2013/04/10 13:09:14 debadey ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_SIMULATION_PLAN_ID in NUMBER,
6 X_OBJECT_VERSION_NUMBER in NUMBER,
7 X_PRIMARY_PLAN_FLAG in VARCHAR2,
8 X_ATTRIBUTE_CATEGORY in VARCHAR2,
9 X_ATTRIBUTE1 in VARCHAR2,
10 X_ATTRIBUTE2 in VARCHAR2,
11 X_ATTRIBUTE3 in VARCHAR2,
12 X_ATTRIBUTE4 in VARCHAR2,
13 X_ATTRIBUTE5 in VARCHAR2,
14 X_ATTRIBUTE6 in VARCHAR2,
15 X_ATTRIBUTE7 in VARCHAR2,
16 X_ATTRIBUTE8 in VARCHAR2,
17 X_ATTRIBUTE9 in VARCHAR2,
18 X_ATTRIBUTE10 in VARCHAR2,
19 X_ATTRIBUTE11 in VARCHAR2,
20 X_ATTRIBUTE12 in VARCHAR2,
21 X_ATTRIBUTE13 in VARCHAR2,
22 X_ATTRIBUTE14 in VARCHAR2,
23 X_ATTRIBUTE15 in VARCHAR2,
24 X_SIMULATION_PLAN_NAME in VARCHAR2,
25 X_DESCRIPTION in VARCHAR2,
26 X_CREATION_DATE in DATE,
27 X_CREATED_BY in NUMBER,
28 X_LAST_UPDATE_DATE in DATE,
29 X_LAST_UPDATED_BY in NUMBER,
30 X_LAST_UPDATE_LOGIN in NUMBER,
31 X_STATUS_CODE in VARCHAR2,
32 X_SIMULATION_TYPE in VARCHAR2
33 ) is
34 cursor C is select ROWID from AHL_SIMULATION_PLANS_B
35 where SIMULATION_PLAN_ID = X_SIMULATION_PLAN_ID
36 ;
37 begin
38 insert into AHL_SIMULATION_PLANS_B (
39 SIMULATION_PLAN_ID,
40 OBJECT_VERSION_NUMBER,
41 PRIMARY_PLAN_FLAG,
42 ATTRIBUTE_CATEGORY,
43 ATTRIBUTE1,
44 ATTRIBUTE2,
45 ATTRIBUTE3,
46 ATTRIBUTE4,
47 ATTRIBUTE5,
48 ATTRIBUTE6,
49 ATTRIBUTE7,
50 ATTRIBUTE8,
51 ATTRIBUTE9,
52 ATTRIBUTE10,
53 ATTRIBUTE11,
54 ATTRIBUTE12,
55 ATTRIBUTE13,
56 ATTRIBUTE14,
57 ATTRIBUTE15,
58 CREATION_DATE,
59 CREATED_BY,
60 LAST_UPDATE_DATE,
61 LAST_UPDATED_BY,
62 LAST_UPDATE_LOGIN,
63 STATUS_CODE,
64 SIMULATION_TYPE
65 ) values (
66 X_SIMULATION_PLAN_ID,
67 X_OBJECT_VERSION_NUMBER,
68 X_PRIMARY_PLAN_FLAG,
69 X_ATTRIBUTE_CATEGORY,
70 X_ATTRIBUTE1,
71 X_ATTRIBUTE2,
72 X_ATTRIBUTE3,
73 X_ATTRIBUTE4,
74 X_ATTRIBUTE5,
75 X_ATTRIBUTE6,
76 X_ATTRIBUTE7,
77 X_ATTRIBUTE8,
78 X_ATTRIBUTE9,
79 X_ATTRIBUTE10,
80 X_ATTRIBUTE11,
81 X_ATTRIBUTE12,
82 X_ATTRIBUTE13,
83 X_ATTRIBUTE14,
84 X_ATTRIBUTE15,
85 X_CREATION_DATE,
86 X_CREATED_BY,
87 X_LAST_UPDATE_DATE,
88 X_LAST_UPDATED_BY,
89 X_LAST_UPDATE_LOGIN,
90 X_STATUS_CODE,
91 X_SIMULATION_TYPE
92 );
93
94 insert into AHL_SIMULATION_PLANS_TL (
95 SIMULATION_PLAN_ID,
96 LAST_UPDATE_DATE,
97 LAST_UPDATED_BY,
98 CREATION_DATE,
99 CREATED_BY,
100 LAST_UPDATE_LOGIN,
101 SIMULATION_PLAN_NAME,
102 DESCRIPTION,
103 LANGUAGE,
104 SOURCE_LANG
105 ) select
106 X_SIMULATION_PLAN_ID,
107 X_LAST_UPDATE_DATE,
108 X_LAST_UPDATED_BY,
109 X_CREATION_DATE,
110 X_CREATED_BY,
111 X_LAST_UPDATE_LOGIN,
112 X_SIMULATION_PLAN_NAME,
113 X_DESCRIPTION,
114 L.LANGUAGE_CODE,
115 userenv('LANG')
116 from FND_LANGUAGES L
117 where L.INSTALLED_FLAG in ('I', 'B')
118 and not exists
119 (select NULL
120 from AHL_SIMULATION_PLANS_TL T
121 where T.SIMULATION_PLAN_ID = X_SIMULATION_PLAN_ID
122 and T.LANGUAGE = L.LANGUAGE_CODE);
123
124 open c;
125 fetch c into X_ROWID;
126 if (c%notfound) then
127 close c;
128 raise no_data_found;
129 end if;
130 close c;
131
132 end INSERT_ROW;
133
134 procedure LOCK_ROW (
135 X_SIMULATION_PLAN_ID in NUMBER,
136 X_OBJECT_VERSION_NUMBER in NUMBER,
137 X_PRIMARY_PLAN_FLAG in VARCHAR2,
138 X_ATTRIBUTE_CATEGORY in VARCHAR2,
139 X_ATTRIBUTE1 in VARCHAR2,
140 X_ATTRIBUTE2 in VARCHAR2,
141 X_ATTRIBUTE3 in VARCHAR2,
142 X_ATTRIBUTE4 in VARCHAR2,
143 X_ATTRIBUTE5 in VARCHAR2,
144 X_ATTRIBUTE6 in VARCHAR2,
145 X_ATTRIBUTE7 in VARCHAR2,
146 X_ATTRIBUTE8 in VARCHAR2,
147 X_ATTRIBUTE9 in VARCHAR2,
148 X_ATTRIBUTE10 in VARCHAR2,
149 X_ATTRIBUTE11 in VARCHAR2,
150 X_ATTRIBUTE12 in VARCHAR2,
151 X_ATTRIBUTE13 in VARCHAR2,
152 X_ATTRIBUTE14 in VARCHAR2,
153 X_ATTRIBUTE15 in VARCHAR2,
154 X_SIMULATION_PLAN_NAME in VARCHAR2,
155 X_DESCRIPTION in VARCHAR2,
156 X_STATUS_CODE in VARCHAR2,
157 X_SIMULATION_TYPE in VARCHAR2
158 ) is
159 cursor c is select
160 OBJECT_VERSION_NUMBER,
161 PRIMARY_PLAN_FLAG,
162 ATTRIBUTE_CATEGORY,
163 ATTRIBUTE1,
164 ATTRIBUTE2,
165 ATTRIBUTE3,
166 ATTRIBUTE4,
167 ATTRIBUTE5,
168 ATTRIBUTE6,
169 ATTRIBUTE7,
170 ATTRIBUTE8,
171 ATTRIBUTE9,
172 ATTRIBUTE10,
173 ATTRIBUTE11,
174 ATTRIBUTE12,
175 ATTRIBUTE13,
176 ATTRIBUTE14,
177 ATTRIBUTE15,
178 STATUS_CODE,
179 SIMULATION_TYPE
180 from AHL_SIMULATION_PLANS_B
181 where SIMULATION_PLAN_ID = X_SIMULATION_PLAN_ID
182 for update of SIMULATION_PLAN_ID nowait;
183 recinfo c%rowtype;
184
185 cursor c1 is select
186 SIMULATION_PLAN_NAME,
187 DESCRIPTION,
188 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
189 from AHL_SIMULATION_PLANS_TL
190 where SIMULATION_PLAN_ID = X_SIMULATION_PLAN_ID
191 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
192 for update of SIMULATION_PLAN_ID nowait;
193 begin
194 open c;
195 fetch c into recinfo;
196 if (c%notfound) then
197 close c;
198 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
199 app_exception.raise_exception;
200 end if;
201 close c;
202 if ( (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
203 AND (recinfo.PRIMARY_PLAN_FLAG = X_PRIMARY_PLAN_FLAG)
204 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
205 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
206 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
207 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
208 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
209 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
210 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
211 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
212 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
213 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
214 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
215 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
216 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
217 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
218 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
219 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
220 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
221 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
222 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
223 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
224 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
225 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
226 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
227 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
228 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
229 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
230 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
231 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
232 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
233 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
234 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
235 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
236 AND ((recinfo.STATUS_CODE = X_STATUS_CODE)
237 OR ((recinfo.STATUS_CODE is null) AND (X_STATUS_CODE is null)))
238 AND ((recinfo.SIMULATION_TYPE = X_SIMULATION_TYPE)
239 OR ((recinfo.SIMULATION_TYPE is null) AND (X_SIMULATION_TYPE is null)))
240 ) then
241 null;
242 else
243 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
244 app_exception.raise_exception;
245 end if;
246
247 for tlinfo in c1 loop
248 if (tlinfo.BASELANG = 'Y') then
249 if ( (tlinfo.SIMULATION_PLAN_NAME = X_SIMULATION_PLAN_NAME)
250 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
251 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
252 ) then
253 null;
254 else
255 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
256 app_exception.raise_exception;
257 end if;
258 end if;
259 end loop;
260 return;
261 end LOCK_ROW;
262
263 procedure UPDATE_ROW (
264 X_SIMULATION_PLAN_ID in NUMBER,
265 X_OBJECT_VERSION_NUMBER in NUMBER,
266 X_PRIMARY_PLAN_FLAG in VARCHAR2,
267 X_ATTRIBUTE_CATEGORY in VARCHAR2,
268 X_ATTRIBUTE1 in VARCHAR2,
269 X_ATTRIBUTE2 in VARCHAR2,
270 X_ATTRIBUTE3 in VARCHAR2,
271 X_ATTRIBUTE4 in VARCHAR2,
272 X_ATTRIBUTE5 in VARCHAR2,
273 X_ATTRIBUTE6 in VARCHAR2,
274 X_ATTRIBUTE7 in VARCHAR2,
275 X_ATTRIBUTE8 in VARCHAR2,
276 X_ATTRIBUTE9 in VARCHAR2,
277 X_ATTRIBUTE10 in VARCHAR2,
278 X_ATTRIBUTE11 in VARCHAR2,
279 X_ATTRIBUTE12 in VARCHAR2,
280 X_ATTRIBUTE13 in VARCHAR2,
281 X_ATTRIBUTE14 in VARCHAR2,
282 X_ATTRIBUTE15 in VARCHAR2,
283 X_SIMULATION_PLAN_NAME in VARCHAR2,
284 X_DESCRIPTION in VARCHAR2,
285 X_LAST_UPDATE_DATE in DATE,
286 X_LAST_UPDATED_BY in NUMBER,
287 X_LAST_UPDATE_LOGIN in NUMBER,
288 X_STATUS_CODE in VARCHAR2,
289 X_SIMULATION_TYPE in VARCHAR2
290 ) is
291 begin
292 update AHL_SIMULATION_PLANS_B set
293 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
294 PRIMARY_PLAN_FLAG = X_PRIMARY_PLAN_FLAG,
295 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
296 ATTRIBUTE1 = X_ATTRIBUTE1,
297 ATTRIBUTE2 = X_ATTRIBUTE2,
298 ATTRIBUTE3 = X_ATTRIBUTE3,
299 ATTRIBUTE4 = X_ATTRIBUTE4,
300 ATTRIBUTE5 = X_ATTRIBUTE5,
301 ATTRIBUTE6 = X_ATTRIBUTE6,
302 ATTRIBUTE7 = X_ATTRIBUTE7,
303 ATTRIBUTE8 = X_ATTRIBUTE8,
304 ATTRIBUTE9 = X_ATTRIBUTE9,
305 ATTRIBUTE10 = X_ATTRIBUTE10,
306 ATTRIBUTE11 = X_ATTRIBUTE11,
307 ATTRIBUTE12 = X_ATTRIBUTE12,
308 ATTRIBUTE13 = X_ATTRIBUTE13,
309 ATTRIBUTE14 = X_ATTRIBUTE14,
310 ATTRIBUTE15 = X_ATTRIBUTE15,
311 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
312 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
313 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
314 STATUS_CODE = X_STATUS_CODE,
315 SIMULATION_TYPE = X_SIMULATION_TYPE
316 where SIMULATION_PLAN_ID = X_SIMULATION_PLAN_ID;
317
318 if (sql%notfound) then
319 raise no_data_found;
320 end if;
321
322 update AHL_SIMULATION_PLANS_TL set
323 SIMULATION_PLAN_NAME = X_SIMULATION_PLAN_NAME,
324 DESCRIPTION = X_DESCRIPTION,
325 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
326 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
327 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
328 SOURCE_LANG = userenv('LANG')
329 where SIMULATION_PLAN_ID = X_SIMULATION_PLAN_ID
330 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
331
332 if (sql%notfound) then
333 raise no_data_found;
334 end if;
335 end UPDATE_ROW;
336
337 procedure DELETE_ROW (
338 X_SIMULATION_PLAN_ID in NUMBER
339 ) is
340 begin
341 delete from AHL_SIMULATION_PLANS_TL
342 where SIMULATION_PLAN_ID = X_SIMULATION_PLAN_ID;
343
344 if (sql%notfound) then
345 raise no_data_found;
346 end if;
347
348 delete from AHL_SIMULATION_PLANS_B
349 where SIMULATION_PLAN_ID = X_SIMULATION_PLAN_ID;
350
351 if (sql%notfound) then
352 raise no_data_found;
353 end if;
354 end DELETE_ROW;
355
356 procedure ADD_LANGUAGE
357 is
358 begin
359 delete from AHL_SIMULATION_PLANS_TL T
360 where not exists
361 (select NULL
362 from AHL_SIMULATION_PLANS_B B
363 where B.SIMULATION_PLAN_ID = T.SIMULATION_PLAN_ID
364 );
365
366 update AHL_SIMULATION_PLANS_TL T set (
367 SIMULATION_PLAN_NAME,
368 DESCRIPTION
369 ) = (select
370 B.SIMULATION_PLAN_NAME,
371 B.DESCRIPTION
372 from AHL_SIMULATION_PLANS_TL B
373 where B.SIMULATION_PLAN_ID = T.SIMULATION_PLAN_ID
374 and B.LANGUAGE = T.SOURCE_LANG)
375 where (
376 T.SIMULATION_PLAN_ID,
377 T.LANGUAGE
378 ) in (select
379 SUBT.SIMULATION_PLAN_ID,
380 SUBT.LANGUAGE
381 from AHL_SIMULATION_PLANS_TL SUBB, AHL_SIMULATION_PLANS_TL SUBT
382 where SUBB.SIMULATION_PLAN_ID = SUBT.SIMULATION_PLAN_ID
383 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
384 and (SUBB.SIMULATION_PLAN_NAME <> SUBT.SIMULATION_PLAN_NAME
385 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
386 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
387 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
388 ));
389
390 insert into AHL_SIMULATION_PLANS_TL (
391 SIMULATION_PLAN_ID,
392 LAST_UPDATE_DATE,
396 LAST_UPDATE_LOGIN,
393 LAST_UPDATED_BY,
394 CREATION_DATE,
395 CREATED_BY,
397 SIMULATION_PLAN_NAME,
398 DESCRIPTION,
399 LANGUAGE,
400 SOURCE_LANG
401 ) select /*+ ORDERED */
402 B.SIMULATION_PLAN_ID,
403 B.LAST_UPDATE_DATE,
404 B.LAST_UPDATED_BY,
405 B.CREATION_DATE,
406 B.CREATED_BY,
407 B.LAST_UPDATE_LOGIN,
408 B.SIMULATION_PLAN_NAME,
409 B.DESCRIPTION,
410 L.LANGUAGE_CODE,
411 B.SOURCE_LANG
412 from AHL_SIMULATION_PLANS_TL B, FND_LANGUAGES L
413 where L.INSTALLED_FLAG in ('I', 'B')
414 and B.LANGUAGE = userenv('LANG')
415 and not exists
416 (select NULL
417 from AHL_SIMULATION_PLANS_TL T
418 where T.SIMULATION_PLAN_ID = B.SIMULATION_PLAN_ID
419 and T.LANGUAGE = L.LANGUAGE_CODE);
420 end ADD_LANGUAGE;
421
422 PROCEDURE LOAD_ROW (
423 X_SIMULATION_PLAN_ID in NUMBER,
424 X_OBJECT_VERSION_NUMBER in NUMBER,
425 X_PRIMARY_PLAN_FLAG in VARCHAR2,
426 X_SIMULATION_PLAN_NAME in VARCHAR2,
427 X_DESCRIPTION in VARCHAR2,
428 X_OWNER in VARCHAR2,
429 X_ATTRIBUTE_CATEGORY in VARCHAR2,
430 X_ATTRIBUTE1 in VARCHAR2,
431 X_ATTRIBUTE2 in VARCHAR2,
432 X_ATTRIBUTE3 in VARCHAR2,
433 X_ATTRIBUTE4 in VARCHAR2,
434 X_ATTRIBUTE5 in VARCHAR2,
435 X_ATTRIBUTE6 in VARCHAR2,
436 X_ATTRIBUTE7 in VARCHAR2,
437 X_ATTRIBUTE8 in VARCHAR2,
438 X_ATTRIBUTE9 in VARCHAR2,
439 X_ATTRIBUTE10 in VARCHAR2,
440 X_ATTRIBUTE11 in VARCHAR2,
441 X_ATTRIBUTE12 in VARCHAR2,
442 X_ATTRIBUTE13 in VARCHAR2,
443 X_ATTRIBUTE14 in VARCHAR2,
444 X_ATTRIBUTE15 in VARCHAR2,
445 X_STATUS_CODE in VARCHAR2,
446 X_SIMULATION_TYPE in VARCHAR2)
447 IS
448
449 CURSOR c_obj_verno IS
450 SELECT object_version_number
451 FROM AHL_SIMULATION_PLANS_B
452 WHERE simulation_plan_id = X_SIMULATION_PLAN_ID;
453 --
454 CURSOR c_chk_simulation_exists IS
455 SELECT 'x'
456 FROM AHL_SIMULATION_PLANS_B
457 WHERE simulation_plan_id = X_SIMULATION_PLAN_ID;
458 --
459 CURSOR c_get_simulation_id IS
460 SELECT ahl_simulation_plans_b_s.NEXTVAL
461 FROM dual;
462 --
463 CURSOR c_chk_pri_plan_exists IS
464 SELECT 'x'
465 FROM AHL_SIMULATION_PLANS_B
466 WHERE primary_plan_flag = 'Y'
467 AND simulation_type = 'UMP';
468 --
469 l_user_id NUMBER := 0;
470 l_obj_verno NUMBER;
471 l_dummy_char VARCHAR2(1);
472 l_row_id VARCHAR2(100);
473 l_plan_id NUMBER;
474 l_primary_plan_flag VARCHAR2(1);
475 l_simulation_plan_name VARCHAR2(30);
476
477 BEGIN
478
479 IF X_OWNER = 'SEED' THEN
480 l_user_id := 1;
481 END IF;
482
483 IF (X_PRIMARY_PLAN_FLAG = 'Y' AND X_SIMULATION_TYPE = 'UMP')
484 THEN
485 OPEN c_chk_pri_plan_exists;
486 FETCH c_chk_pri_plan_exists INTO l_dummy_char;
487 IF c_chk_pri_plan_exists%NOTFOUND
488 THEN
489 CLOSE c_chk_pri_plan_exists;
490 ELSE
491 CLOSE c_chk_pri_plan_exists;
492 --app_exception.raise_exception;
493 RETURN;
494 END IF;
495 END IF;
496
497 OPEN c_chk_simulation_exists;
498 FETCH c_chk_simulation_exists INTO l_dummy_char;
499 IF c_chk_simulation_exists%NOTFOUND
500 THEN
501 CLOSE c_chk_simulation_exists;
502
503 IF X_SIMULATION_PLAN_ID IS NULL THEN
504 OPEN c_get_simulation_id;
505 FETCH c_get_simulation_id INTO l_plan_id;
506 CLOSE c_get_simulation_id;
507 ELSE
508 l_plan_id := X_SIMULATION_PLAN_ID;
509 END IF ;
510
511 l_obj_verno := 1;
512
513 AHL_SIMULATION_PLANS_PKG.INSERT_ROW(
514 X_ROWID => l_row_id,
515 X_SIMULATION_PLAN_ID => l_plan_id,
516 X_OBJECT_VERSION_NUMBER => l_obj_verno,
517 X_PRIMARY_PLAN_FLAG => X_PRIMARY_PLAN_FLAG,
518 X_SIMULATION_PLAN_NAME => X_SIMULATION_PLAN_NAME,
519 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
520 X_ATTRIBUTE1 => X_ATTRIBUTE1,
521 X_ATTRIBUTE2 => X_ATTRIBUTE2,
522 X_ATTRIBUTE3 => X_ATTRIBUTE3,
523 X_ATTRIBUTE4 => X_ATTRIBUTE4,
524 X_ATTRIBUTE5 => X_ATTRIBUTE5,
525 X_ATTRIBUTE6 => X_ATTRIBUTE6,
526 X_ATTRIBUTE7 => X_ATTRIBUTE7,
527 X_ATTRIBUTE8 => X_ATTRIBUTE8,
528 X_ATTRIBUTE9 => X_ATTRIBUTE9,
529 X_ATTRIBUTE10 => X_ATTRIBUTE10,
530 X_ATTRIBUTE11 => X_ATTRIBUTE11,
531 X_ATTRIBUTE12 => X_ATTRIBUTE12,
532 X_ATTRIBUTE13 => X_ATTRIBUTE13,
533 X_ATTRIBUTE14 => X_ATTRIBUTE14,
534 X_ATTRIBUTE15 => X_ATTRIBUTE15,
535 X_DESCRIPTION => X_DESCRIPTION ,
536 X_CREATION_DATE => SYSDATE,
537 X_CREATED_BY => l_user_id,
538 X_LAST_UPDATE_DATE => SYSDATE,
539 X_LAST_UPDATED_BY => l_user_id,
540 X_LAST_UPDATE_LOGIN => 0,
541 X_STATUS_CODE => X_STATUS_CODE,
542 X_SIMULATION_TYPE => X_SIMULATION_TYPE);
543
544
545 ELSE
546 CLOSE c_chk_simulation_exists;
547 OPEN c_obj_verno;
548 FETCH c_obj_verno INTO l_obj_verno;
549 CLOSE c_obj_verno;
550
551 AHL_SIMULATION_PLANS_PKG.UPDATE_ROW(
552
553 X_SIMULATION_PLAN_ID => X_SIMULATION_PLAN_ID,
554 X_OBJECT_VERSION_NUMBER => l_obj_verno + 1,
555 X_PRIMARY_PLAN_FLAG => X_PRIMARY_PLAN_FLAG ,
556 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
557 X_ATTRIBUTE1 => X_ATTRIBUTE1,
561 X_ATTRIBUTE5 => X_ATTRIBUTE5,
558 X_ATTRIBUTE2 => X_ATTRIBUTE2,
559 X_ATTRIBUTE3 => X_ATTRIBUTE3,
560 X_ATTRIBUTE4 => X_ATTRIBUTE4,
562 X_ATTRIBUTE6 => X_ATTRIBUTE6,
563 X_ATTRIBUTE7 => X_ATTRIBUTE7,
564 X_ATTRIBUTE8 => X_ATTRIBUTE8,
565 X_ATTRIBUTE9 => X_ATTRIBUTE9,
566 X_ATTRIBUTE10 => X_ATTRIBUTE10,
567 X_ATTRIBUTE11 => X_ATTRIBUTE11,
568 X_ATTRIBUTE12 => X_ATTRIBUTE12,
569 X_ATTRIBUTE13 => X_ATTRIBUTE13,
570 X_ATTRIBUTE14 => X_ATTRIBUTE14,
571 X_ATTRIBUTE15 => X_ATTRIBUTE15,
572 X_SIMULATION_PLAN_NAME => X_SIMULATION_PLAN_NAME,
573 X_DESCRIPTION => X_DESCRIPTION ,
574 X_LAST_UPDATE_DATE => SYSDATE,
575 X_LAST_UPDATED_BY => l_user_id,
576 X_LAST_UPDATE_LOGIN => 0,
577 X_STATUS_CODE => X_STATUS_CODE,
578 X_SIMULATION_TYPE => X_SIMULATION_TYPE);
579
580
581 END IF;
582 END LOAD_ROW;
583 --
584 procedure TRANSLATE_ROW(
585 x_simulation_plan_id in NUMBER
586 , x_simulation_plan_name in VARCHAR2
587 , x_description in VARCHAR2
588 , x_owner in VARCHAR2
589 ) is
590 begin
591 update AHL_SIMULATION_PLANS_TL set
592 simulation_plan_name = nvl(x_simulation_plan_name, simulation_plan_name),
593 description = nvl(x_description, description),
594 source_lang = userenv('LANG'),
595 last_update_date = sysdate,
596 last_updated_by = decode(x_owner, 'SEED', 1, 0),
597 last_update_login = 0
598 where simulation_plan_id = x_simulation_plan_id
599 and userenv('LANG') in (language, source_lang);
600
601 end TRANSLATE_ROW;
602
603
604 end AHL_SIMULATION_PLANS_PKG;