[Home] [Help]
PACKAGE BODY: APPS.FND_CONCURRENT_PROGRAMS_PKG
Source
1 package body FND_CONCURRENT_PROGRAMS_PKG as
2 /* $Header: AFCPMCPB.pls 120.3.12010000.2 2009/07/22 15:24:17 tkamiya ship $ */
3
4 procedure INSERT_ROW (
5 X_ROWID in out nocopy VARCHAR2,
6 X_APPLICATION_ID in NUMBER,
7 X_CONCURRENT_PROGRAM_ID in NUMBER,
8 X_CONCURRENT_PROGRAM_NAME in VARCHAR2,
9 X_EXECUTABLE_APPLICATION_ID in NUMBER,
10 X_EXECUTABLE_ID in NUMBER,
11 X_EXECUTION_METHOD_CODE in VARCHAR2,
12 X_ARGUMENT_METHOD_CODE in VARCHAR2,
13 X_QUEUE_CONTROL_FLAG in VARCHAR2,
14 X_QUEUE_METHOD_CODE in VARCHAR2,
15 X_REQUEST_SET_FLAG in VARCHAR2,
16 X_ENABLED_FLAG in VARCHAR2,
17 X_PRINT_FLAG in VARCHAR2,
18 X_RUN_ALONE_FLAG in VARCHAR2,
19 X_SRS_FLAG in VARCHAR2,
20 X_CLASS_APPLICATION_ID in NUMBER,
21 X_CONCURRENT_CLASS_ID in NUMBER,
22 X_EXECUTION_OPTIONS in VARCHAR2,
23 X_SAVE_OUTPUT_FLAG in VARCHAR2,
24 X_REQUIRED_STYLE in VARCHAR2,
25 X_OUTPUT_PRINT_STYLE in VARCHAR2,
26 X_PRINTER_NAME in VARCHAR2,
27 X_MINIMUM_WIDTH in NUMBER,
28 X_MINIMUM_LENGTH in NUMBER,
29 X_REQUEST_PRIORITY in NUMBER,
30 X_OUTPUT_FILE_TYPE in VARCHAR2,
31 X_RESTART in VARCHAR2,
32 X_NLS_COMPLIANT in VARCHAR2,
33 X_ENABLE_TRACE in VARCHAR2,
34 X_ICON_NAME in VARCHAR2,
35 X_CD_PARAMETER in VARCHAR2,
36 X_SECURITY_GROUP_ID in NUMBER,
37 X_INCREMENT_PROC in VARCHAR2,
38 X_MLS_EXECUTABLE_APP_ID in NUMBER,
39 X_MLS_EXECUTABLE_ID in NUMBER,
40 X_RESOURCE_CONSUMER_GROUP in VARCHAR2,
41 X_ROLLBACK_SEGMENT in VARCHAR2,
42 X_OPTIMIZER_MODE in VARCHAR2,
43 X_USER_CONCURRENT_PROGRAM_NAME in VARCHAR2,
44 X_DESCRIPTION in VARCHAR2,
45 X_CREATION_DATE in DATE,
46 X_CREATED_BY in NUMBER,
47 X_LAST_UPDATE_DATE in DATE,
48 X_LAST_UPDATED_BY in NUMBER,
49 X_LAST_UPDATE_LOGIN in NUMBER,
50 X_ENABLE_TIME_STATISTICS in VARCHAR2,
51 X_REFRESH_PORTLET in VARCHAR2,
52 X_PROGRAM_TYPE in VARCHAR2,
53 X_ACTIVITY_SUMMARIZER in VARCHAR2,
54 X_ALLOW_MULTIPLE_PENDING_REQUE VARCHAR2,
55 X_DELETE_LOG_FILE VARCHAR2,
56 X_TEMPLATE_APPL_SHORT_NAME in VARCHAR2,
57 X_TEMPLATE_CODE in VARCHAR2,
58 X_MULTI_ORG_CATEGORY in VARCHAR2
59 ) is
60 cursor C is select ROWID from FND_CONCURRENT_PROGRAMS
61 where APPLICATION_ID = X_APPLICATION_ID
62 and CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID;
63 begin
64 insert into FND_CONCURRENT_PROGRAMS (
65 APPLICATION_ID,
66 CONCURRENT_PROGRAM_ID,
67 CONCURRENT_PROGRAM_NAME,
68 EXECUTABLE_APPLICATION_ID,
69 EXECUTABLE_ID,
70 EXECUTION_METHOD_CODE,
71 ARGUMENT_METHOD_CODE,
72 QUEUE_CONTROL_FLAG,
73 QUEUE_METHOD_CODE,
74 REQUEST_SET_FLAG,
75 ENABLED_FLAG,
76 PRINT_FLAG,
77 RUN_ALONE_FLAG,
78 SRS_FLAG,
79 CLASS_APPLICATION_ID,
80 CONCURRENT_CLASS_ID,
81 EXECUTION_OPTIONS,
82 SAVE_OUTPUT_FLAG,
83 REQUIRED_STYLE,
84 OUTPUT_PRINT_STYLE,
85 PRINTER_NAME,
86 MINIMUM_WIDTH,
87 MINIMUM_LENGTH,
88 REQUEST_PRIORITY,
89 OUTPUT_FILE_TYPE,
90 ENABLE_TRACE,
91 RESTART,
92 NLS_COMPLIANT,
93 ICON_NAME,
94 CD_PARAMETER,
95 SECURITY_GROUP_ID,
96 INCREMENT_PROC,
97 MLS_EXECUTABLE_APP_ID,
98 MLS_EXECUTABLE_ID,
99 RESOURCE_CONSUMER_GROUP,
100 ROLLBACK_SEGMENT,
101 OPTIMIZER_MODE,
102 CREATION_DATE,
103 CREATED_BY,
104 LAST_UPDATE_DATE,
105 LAST_UPDATED_BY,
106 LAST_UPDATE_LOGIN,
107 ENABLE_TIME_STATISTICS,
108 REFRESH_PORTLET,
109 PROGRAM_TYPE,
110 ACTIVITY_SUMMARIZER,
111 ALLOW_MULTIPLE_PENDING_REQUEST,
112 DELETE_LOG_FILE,
113 TEMPLATE_CODE,
114 TEMPLATE_APPL_SHORT_NAME,
115 MULTI_ORG_CATEGORY
116 ) values (
117 X_APPLICATION_ID,
118 X_CONCURRENT_PROGRAM_ID,
119 X_CONCURRENT_PROGRAM_NAME,
120 X_EXECUTABLE_APPLICATION_ID,
121 X_EXECUTABLE_ID,
122 X_EXECUTION_METHOD_CODE,
123 X_ARGUMENT_METHOD_CODE,
124 X_QUEUE_CONTROL_FLAG,
125 X_QUEUE_METHOD_CODE,
126 X_REQUEST_SET_FLAG,
127 X_ENABLED_FLAG,
128 X_PRINT_FLAG,
129 X_RUN_ALONE_FLAG,
130 X_SRS_FLAG,
131 X_CLASS_APPLICATION_ID,
132 X_CONCURRENT_CLASS_ID,
133 X_EXECUTION_OPTIONS,
134 X_SAVE_OUTPUT_FLAG,
135 X_REQUIRED_STYLE,
136 X_OUTPUT_PRINT_STYLE,
137 X_PRINTER_NAME,
138 X_MINIMUM_WIDTH,
139 X_MINIMUM_LENGTH,
140 X_REQUEST_PRIORITY,
141 X_OUTPUT_FILE_TYPE,
142 X_ENABLE_TRACE,
143 X_RESTART,
144 X_NLS_COMPLIANT,
145 X_ICON_NAME,
146 X_CD_PARAMETER,
147 X_SECURITY_GROUP_ID,
148 X_INCREMENT_PROC,
149 X_MLS_EXECUTABLE_APP_ID,
150 X_MLS_EXECUTABLE_ID,
151 X_RESOURCE_CONSUMER_GROUP,
152 X_ROLLBACK_SEGMENT,
153 X_OPTIMIZER_MODE,
154 X_CREATION_DATE,
155 X_CREATED_BY,
156 X_LAST_UPDATE_DATE,
157 X_LAST_UPDATED_BY,
158 X_LAST_UPDATE_LOGIN,
159 NVL(X_ENABLE_TIME_STATISTICS,'N'),
160 X_REFRESH_PORTLET,
161 X_PROGRAM_TYPE,
162 X_ACTIVITY_SUMMARIZER,
163 X_ALLOW_MULTIPLE_PENDING_REQUE,
164 X_DELETE_LOG_FILE,
165 X_TEMPLATE_CODE ,
166 X_TEMPLATE_APPL_SHORT_NAME,
167 X_MULTI_ORG_CATEGORY
168 );
169
170
171 insert into FND_CONCURRENT_PROGRAMS_TL (
172 APPLICATION_ID,
173 CONCURRENT_PROGRAM_ID,
174 USER_CONCURRENT_PROGRAM_NAME,
175 CREATION_DATE,
176 CREATED_BY,
177 LAST_UPDATE_DATE,
178 LAST_UPDATED_BY,
179 LAST_UPDATE_LOGIN,
180 DESCRIPTION,
181 LANGUAGE,
182 SOURCE_LANG
183 ) select
184 X_APPLICATION_ID,
185 X_CONCURRENT_PROGRAM_ID,
186 X_USER_CONCURRENT_PROGRAM_NAME,
187 X_CREATION_DATE,
188 X_CREATED_BY,
189 X_LAST_UPDATE_DATE,
190 X_LAST_UPDATED_BY,
191 X_LAST_UPDATE_LOGIN,
192 X_DESCRIPTION,
193 L.LANGUAGE_CODE,
194 userenv('LANG')
195 from FND_LANGUAGES L
196 where L.INSTALLED_FLAG in ('I', 'B')
197 and not exists
198 (select NULL
199 from FND_CONCURRENT_PROGRAMS_TL T
200 where T.APPLICATION_ID = X_APPLICATION_ID
201 and T.CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID
202 and T.LANGUAGE = L.LANGUAGE_CODE);
203
204 open c;
205 fetch c into X_ROWID;
206 if (c%notfound) then
207 close c;
208 raise no_data_found;
209 end if;
210 close c;
211
212 end INSERT_ROW;
213
214 procedure LOCK_ROW (
215 X_APPLICATION_ID in NUMBER,
216 X_CONCURRENT_PROGRAM_ID in NUMBER,
217 X_CONCURRENT_PROGRAM_NAME in VARCHAR2,
218 X_EXECUTABLE_APPLICATION_ID in NUMBER,
219 X_EXECUTABLE_ID in NUMBER,
220 X_EXECUTION_METHOD_CODE in VARCHAR2,
221 X_ARGUMENT_METHOD_CODE in VARCHAR2,
222 X_QUEUE_CONTROL_FLAG in VARCHAR2,
223 X_QUEUE_METHOD_CODE in VARCHAR2,
224 X_REQUEST_SET_FLAG in VARCHAR2,
225 X_ENABLED_FLAG in VARCHAR2,
226 X_PRINT_FLAG in VARCHAR2,
227 X_RUN_ALONE_FLAG in VARCHAR2,
228 X_SRS_FLAG in VARCHAR2,
229 X_CLASS_APPLICATION_ID in NUMBER,
230 X_CONCURRENT_CLASS_ID in NUMBER,
231 X_EXECUTION_OPTIONS in VARCHAR2,
232 X_SAVE_OUTPUT_FLAG in VARCHAR2,
233 X_REQUIRED_STYLE in VARCHAR2,
234 X_OUTPUT_PRINT_STYLE in VARCHAR2,
235 X_PRINTER_NAME in VARCHAR2,
236 X_MINIMUM_WIDTH in NUMBER,
237 X_MINIMUM_LENGTH in NUMBER,
238 X_REQUEST_PRIORITY in NUMBER,
239 X_OUTPUT_FILE_TYPE in VARCHAR2,
240 X_RESTART in VARCHAR2,
241 X_NLS_COMPLIANT in VARCHAR2,
242 X_ENABLE_TRACE in VARCHAR2,
243 X_ICON_NAME in VARCHAR2,
244 X_CD_PARAMETER in VARCHAR2,
245 X_SECURITY_GROUP_ID in NUMBER,
246 X_INCREMENT_PROC in VARCHAR2,
247 X_MLS_EXECUTABLE_APP_ID in NUMBER,
248 X_MLS_EXECUTABLE_ID in NUMBER,
249 X_RESOURCE_CONSUMER_GROUP in VARCHAR2,
250 X_ROLLBACK_SEGMENT in VARCHAR2,
251 X_OPTIMIZER_MODE in VARCHAR2,
252 X_USER_CONCURRENT_PROGRAM_NAME in VARCHAR2,
253 X_DESCRIPTION in VARCHAR2,
254 X_ENABLE_TIME_STATISTICS in VARCHAR2,
255 X_REFRESH_PORTLET in VARCHAR2,
256 X_PROGRAM_TYPE in VARCHAR2,
257 X_ACTIVITY_SUMMARIZER in VARCHAR2,
258 X_ALLOW_MULTIPLE_PENDING_REQUE VARCHAR2,
259 X_DELETE_LOG_FILE VARCHAR2,
260 X_TEMPLATE_APPL_SHORT_NAME in VARCHAR2,
261 X_TEMPLATE_CODE in VARCHAR2,
262 X_MULTI_ORG_CATEGORY in VARCHAR2
263 ) is
264 cursor c is select
265 CONCURRENT_PROGRAM_NAME,
266 EXECUTABLE_APPLICATION_ID,
267 EXECUTABLE_ID,
268 EXECUTION_METHOD_CODE,
269 ARGUMENT_METHOD_CODE,
270 QUEUE_CONTROL_FLAG,
271 QUEUE_METHOD_CODE,
272 REQUEST_SET_FLAG,
273 ENABLED_FLAG,
274 PRINT_FLAG,
275 RUN_ALONE_FLAG,
276 SRS_FLAG,
277 CLASS_APPLICATION_ID,
278 CONCURRENT_CLASS_ID,
279 EXECUTION_OPTIONS,
280 SAVE_OUTPUT_FLAG,
281 REQUIRED_STYLE,
282 OUTPUT_PRINT_STYLE,
283 PRINTER_NAME,
284 MINIMUM_WIDTH,
285 MINIMUM_LENGTH,
286 REQUEST_PRIORITY,
287 OUTPUT_FILE_TYPE,
288 RESTART,
289 NLS_COMPLIANT,
290 ENABLE_TRACE,
291 ICON_NAME,
292 CD_PARAMETER,
293 SECURITY_GROUP_ID,
294 INCREMENT_PROC,
295 MLS_EXECUTABLE_APP_ID,
296 MLS_EXECUTABLE_ID,
297 RESOURCE_CONSUMER_GROUP,
298 ROLLBACK_SEGMENT,
299 OPTIMIZER_MODE,
300 ENABLE_TIME_STATISTICS,
301 REFRESH_PORTLET,
302 PROGRAM_TYPE,
303 ACTIVITY_SUMMARIZER,
304 ALLOW_MULTIPLE_PENDING_REQUEST,
305 DELETE_LOG_FILE,
306 TEMPLATE_CODE,
307 TEMPLATE_APPL_SHORT_NAME,
308 MULTI_ORG_CATEGORY
309
310 from FND_CONCURRENT_PROGRAMS
311 where APPLICATION_ID = X_APPLICATION_ID
312 and CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID
313 for update of APPLICATION_ID nowait;
314 recinfo c%rowtype;
315
316 cursor c1 is select
317 USER_CONCURRENT_PROGRAM_NAME,
318 DESCRIPTION,
319 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
320 from FND_CONCURRENT_PROGRAMS_TL
321 where APPLICATION_ID = X_APPLICATION_ID
322 and CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID
323 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
324 for update of APPLICATION_ID nowait;
325 begin
326 open c;
327 fetch c into recinfo;
328 if (c%notfound) then
329 close c;
330 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
331 app_exception.raise_exception;
332 end if;
333 close c;
334 if ( (recinfo.CONCURRENT_PROGRAM_NAME = X_CONCURRENT_PROGRAM_NAME)
335 AND (recinfo.EXECUTABLE_APPLICATION_ID = X_EXECUTABLE_APPLICATION_ID)
336 AND (recinfo.EXECUTABLE_ID = X_EXECUTABLE_ID)
337 AND (recinfo.EXECUTION_METHOD_CODE = X_EXECUTION_METHOD_CODE)
338 AND (recinfo.ARGUMENT_METHOD_CODE = X_ARGUMENT_METHOD_CODE)
339 AND (recinfo.QUEUE_CONTROL_FLAG = X_QUEUE_CONTROL_FLAG)
340 AND (recinfo.QUEUE_METHOD_CODE = X_QUEUE_METHOD_CODE)
341 AND (recinfo.REQUEST_SET_FLAG = X_REQUEST_SET_FLAG)
342 AND (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
343 AND (recinfo.PRINT_FLAG = X_PRINT_FLAG)
344 AND (recinfo.RUN_ALONE_FLAG = X_RUN_ALONE_FLAG)
345 AND (recinfo.SRS_FLAG = X_SRS_FLAG)
346 AND ((recinfo.CLASS_APPLICATION_ID = X_CLASS_APPLICATION_ID)
347 OR ((recinfo.CLASS_APPLICATION_ID is null) AND (X_CLASS_APPLICATION_ID is null)))
348 AND ((recinfo.CONCURRENT_CLASS_ID = X_CONCURRENT_CLASS_ID)
349 OR ((recinfo.CONCURRENT_CLASS_ID is null) AND (X_CONCURRENT_CLASS_ID is null)))
350 AND ((recinfo.EXECUTION_OPTIONS = X_EXECUTION_OPTIONS)
351 OR ((recinfo.EXECUTION_OPTIONS is null) AND (X_EXECUTION_OPTIONS is null)))
352 AND ((recinfo.SAVE_OUTPUT_FLAG = X_SAVE_OUTPUT_FLAG)
353 OR ((recinfo.SAVE_OUTPUT_FLAG is null) AND (X_SAVE_OUTPUT_FLAG is null)))
354 AND (recinfo.REQUIRED_STYLE = X_REQUIRED_STYLE)
355 AND ((recinfo.OUTPUT_PRINT_STYLE = X_OUTPUT_PRINT_STYLE)
356 OR ((recinfo.OUTPUT_PRINT_STYLE is null) AND (X_OUTPUT_PRINT_STYLE is null)))
357 AND ((recinfo.PRINTER_NAME = X_PRINTER_NAME)
358 OR ((recinfo.PRINTER_NAME is null) AND (X_PRINTER_NAME is null)))
359 AND ((recinfo.MINIMUM_WIDTH = X_MINIMUM_WIDTH)
360 OR ((recinfo.MINIMUM_WIDTH is null) AND (X_MINIMUM_WIDTH is null)))
361 AND ((recinfo.MINIMUM_LENGTH = X_MINIMUM_LENGTH)
362 OR ((recinfo.MINIMUM_LENGTH is null) AND (X_MINIMUM_LENGTH is null)))
363 AND ((recinfo.REQUEST_PRIORITY = X_REQUEST_PRIORITY)
364 OR ((recinfo.REQUEST_PRIORITY is null) AND (X_REQUEST_PRIORITY is null)))
365 AND ((recinfo.OUTPUT_FILE_TYPE = X_OUTPUT_FILE_TYPE)
366 OR ((recinfo.OUTPUT_FILE_TYPE is null) AND (X_OUTPUT_FILE_TYPE is null)))
367 AND (recinfo.ENABLE_TRACE = X_ENABLE_TRACE)
368 AND (recinfo.RESTART = X_RESTART)
369 AND (recinfo.NLS_COMPLIANT = X_NLS_COMPLIANT)
370 AND ((recinfo.ICON_NAME = X_ICON_NAME)
371 OR ((recinfo.ICON_NAME is null) AND (X_ICON_NAME is null)))
372 AND ((recinfo.CD_PARAMETER = X_CD_PARAMETER)
373 OR ((recinfo.CD_PARAMETER is null) AND (X_CD_PARAMETER is null)))
374 AND ((recinfo.SECURITY_GROUP_ID = X_SECURITY_GROUP_ID)
375 OR ((recinfo.SECURITY_GROUP_ID is null) AND (X_SECURITY_GROUP_ID is null)))
376 AND ((recinfo.INCREMENT_PROC = X_INCREMENT_PROC)
377 OR ((recinfo.INCREMENT_PROC is null) AND (X_INCREMENT_PROC is null)))
378 AND ((recinfo.MLS_EXECUTABLE_APP_ID = X_MLS_EXECUTABLE_APP_ID)
379 OR ((recinfo.MLS_EXECUTABLE_APP_ID is null) AND (X_MLS_EXECUTABLE_APP_ID is null)))
380 AND ((recinfo.MLS_EXECUTABLE_ID = X_MLS_EXECUTABLE_ID)
381 OR ((recinfo.MLS_EXECUTABLE_ID is null) AND (X_MLS_EXECUTABLE_ID is null)))
382 AND ((recinfo.RESOURCE_CONSUMER_GROUP = X_RESOURCE_CONSUMER_GROUP)
383 OR ((recinfo.RESOURCE_CONSUMER_GROUP is null) AND (X_RESOURCE_CONSUMER_GROUP is null)))
384 AND ((recinfo.ROLLBACK_SEGMENT = X_ROLLBACK_SEGMENT)
385 OR ((recinfo.ROLLBACK_SEGMENT is null) AND (X_ROLLBACK_SEGMENT is null)))
386 AND ((recinfo.OPTIMIZER_MODE = X_OPTIMIZER_MODE)
387 OR ((recinfo.OPTIMIZER_MODE is null) AND (X_OPTIMIZER_MODE is null)))
388 AND ((recinfo.ENABLE_TIME_STATISTICS = X_ENABLE_TIME_STATISTICS)
389 OR ((recinfo.ENABLE_TIME_STATISTICS is null) AND (X_ENABLE_TIME_STATISTICS is null)))
390 AND ((recinfo.REFRESH_PORTLET = X_REFRESH_PORTLET)
391 OR ((recinfo.REFRESH_PORTLET is null) AND (X_REFRESH_PORTLET is null)))
392 AND ((recinfo.PROGRAM_TYPE = X_PROGRAM_TYPE)
393 OR ((recinfo.PROGRAM_TYPE is null) AND (X_PROGRAM_TYPE is null)))
394 AND ((recinfo.ACTIVITY_SUMMARIZER = X_ACTIVITY_SUMMARIZER)
395 OR ((recinfo.ACTIVITY_SUMMARIZER is null) AND (X_ACTIVITY_SUMMARIZER is null)))
396 AND ((recinfo.ALLOW_MULTIPLE_PENDING_REQUEST = X_ALLOW_MULTIPLE_PENDING_REQUE)
400 AND ((recinfo.TEMPLATE_CODE = X_TEMPLATE_CODE)
397 OR ((recinfo.ALLOW_MULTIPLE_PENDING_REQUEST is null) AND (X_ALLOW_MULTIPLE_PENDING_REQUE is null)))
398 AND ((recinfo.DELETE_LOG_FILE = X_DELETE_LOG_FILE)
399 OR ((recinfo.DELETE_LOG_FILE is null) AND (X_DELETE_LOG_FILE is null)))
401 OR ((recinfo.TEMPLATE_CODE is null) AND (X_TEMPLATE_CODE is null)))
402 AND ((recinfo.TEMPLATE_APPL_SHORT_NAME = X_TEMPLATE_APPL_SHORT_NAME)
403 OR ((recinfo.TEMPLATE_APPL_SHORT_NAME is null) AND (X_TEMPLATE_APPL_SHORT_NAME is null)))
404 AND ((recinfo.MULTI_ORG_CATEGORY = X_MULTI_ORG_CATEGORY)
405 OR ((recinfo.MULTI_ORG_CATEGORY is null) AND (X_MULTI_ORG_CATEGORY is null)))
406
407 ) then
408 null;
409 else
410 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
411 app_exception.raise_exception;
412 end if;
413
414 for tlinfo in c1 loop
415 if (tlinfo.BASELANG = 'Y') then
416 if ( (tlinfo.USER_CONCURRENT_PROGRAM_NAME = X_USER_CONCURRENT_PROGRAM_NAME)
417 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
418 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
419 ) then
420 null;
421 else
422 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
423 app_exception.raise_exception;
424 end if;
425 end if;
426 end loop;
427 return;
428 end LOCK_ROW;
429
430 procedure UPDATE_ROW (
431 X_APPLICATION_ID in NUMBER,
432 X_CONCURRENT_PROGRAM_ID in NUMBER,
433 X_CONCURRENT_PROGRAM_NAME in VARCHAR2,
434 X_EXECUTABLE_APPLICATION_ID in NUMBER,
435 X_EXECUTABLE_ID in NUMBER,
436 X_EXECUTION_METHOD_CODE in VARCHAR2,
437 X_ARGUMENT_METHOD_CODE in VARCHAR2,
438 X_QUEUE_CONTROL_FLAG in VARCHAR2,
439 X_QUEUE_METHOD_CODE in VARCHAR2,
440 X_REQUEST_SET_FLAG in VARCHAR2,
441 X_ENABLED_FLAG in VARCHAR2,
442 X_PRINT_FLAG in VARCHAR2,
443 X_RUN_ALONE_FLAG in VARCHAR2,
444 X_SRS_FLAG in VARCHAR2,
445 X_CLASS_APPLICATION_ID in NUMBER,
446 X_CONCURRENT_CLASS_ID in NUMBER,
447 X_EXECUTION_OPTIONS in VARCHAR2,
448 X_SAVE_OUTPUT_FLAG in VARCHAR2,
449 X_REQUIRED_STYLE in VARCHAR2,
450 X_OUTPUT_PRINT_STYLE in VARCHAR2,
451 X_PRINTER_NAME in VARCHAR2,
452 X_MINIMUM_WIDTH in NUMBER,
453 X_MINIMUM_LENGTH in NUMBER,
454 X_REQUEST_PRIORITY in NUMBER,
455 X_OUTPUT_FILE_TYPE in VARCHAR2,
456 X_RESTART in VARCHAR2,
457 X_NLS_COMPLIANT in VARCHAR2,
458 X_ENABLE_TRACE in VARCHAR2,
459 X_ICON_NAME in VARCHAR2,
460 X_CD_PARAMETER in VARCHAR2,
461 X_SECURITY_GROUP_ID in NUMBER,
462 X_INCREMENT_PROC in VARCHAR2,
463 X_MLS_EXECUTABLE_APP_ID in NUMBER,
464 X_MLS_EXECUTABLE_ID in NUMBER,
465 X_RESOURCE_CONSUMER_GROUP in VARCHAR2,
466 X_ROLLBACK_SEGMENT in VARCHAR2,
467 X_OPTIMIZER_MODE in VARCHAR2,
468 X_USER_CONCURRENT_PROGRAM_NAME in VARCHAR2,
469 X_DESCRIPTION in VARCHAR2,
470 X_LAST_UPDATE_DATE in DATE,
471 X_LAST_UPDATED_BY in NUMBER,
472 X_LAST_UPDATE_LOGIN in NUMBER,
473 X_ENABLE_TIME_STATISTICS in VARCHAR2,
474 X_REFRESH_PORTLET in VARCHAR2,
475 X_PROGRAM_TYPE in VARCHAR2,
476 X_ACTIVITY_SUMMARIZER in VARCHAR2,
477 X_ALLOW_MULTIPLE_PENDING_REQUE VARCHAR2,
478 X_DELETE_LOG_FILE VARCHAR2,
479 X_TEMPLATE_APPL_SHORT_NAME VARCHAR2,
480 X_TEMPLATE_CODE VARCHAR2,
481 X_MULTI_ORG_CATEGORY VARCHAR2
482 ) is
483 begin
484 update FND_CONCURRENT_PROGRAMS set
485 CONCURRENT_PROGRAM_NAME =
486 nvl(X_CONCURRENT_PROGRAM_NAME, CONCURRENT_PROGRAM_NAME),
487 EXECUTABLE_APPLICATION_ID = X_EXECUTABLE_APPLICATION_ID,
488 EXECUTABLE_ID = X_EXECUTABLE_ID,
489 EXECUTION_METHOD_CODE = X_EXECUTION_METHOD_CODE,
490 ARGUMENT_METHOD_CODE = X_ARGUMENT_METHOD_CODE,
491 QUEUE_CONTROL_FLAG = X_QUEUE_CONTROL_FLAG,
492 QUEUE_METHOD_CODE = X_QUEUE_METHOD_CODE,
493 REQUEST_SET_FLAG = X_REQUEST_SET_FLAG,
494 ENABLED_FLAG = X_ENABLED_FLAG,
495 PRINT_FLAG = X_PRINT_FLAG,
496 RUN_ALONE_FLAG = X_RUN_ALONE_FLAG,
497 SRS_FLAG = X_SRS_FLAG,
498 CLASS_APPLICATION_ID = X_CLASS_APPLICATION_ID,
499 CONCURRENT_CLASS_ID = X_CONCURRENT_CLASS_ID,
500 EXECUTION_OPTIONS = X_EXECUTION_OPTIONS,
501 SAVE_OUTPUT_FLAG = X_SAVE_OUTPUT_FLAG,
502 REQUIRED_STYLE = X_REQUIRED_STYLE,
503 OUTPUT_PRINT_STYLE = X_OUTPUT_PRINT_STYLE,
504 PRINTER_NAME = X_PRINTER_NAME,
505 MINIMUM_WIDTH = X_MINIMUM_WIDTH,
506 MINIMUM_LENGTH = X_MINIMUM_LENGTH,
507 REQUEST_PRIORITY = X_REQUEST_PRIORITY,
508 OUTPUT_FILE_TYPE = X_OUTPUT_FILE_TYPE,
509 ENABLE_TRACE = nvl(X_ENABLE_TRACE, ENABLE_TRACE),
510 RESTART = X_RESTART,
511 NLS_COMPLIANT = X_NLS_COMPLIANT,
512 ICON_NAME = X_ICON_NAME,
513 CD_PARAMETER = X_CD_PARAMETER,
514 SECURITY_GROUP_ID = X_SECURITY_GROUP_ID,
515 INCREMENT_PROC = X_INCREMENT_PROC,
516 MLS_EXECUTABLE_APP_ID = X_MLS_EXECUTABLE_APP_ID,
517 MLS_EXECUTABLE_ID = X_MLS_EXECUTABLE_ID,
518 RESOURCE_CONSUMER_GROUP = X_RESOURCE_CONSUMER_GROUP,
519 ROLLBACK_SEGMENT = X_ROLLBACK_SEGMENT,
520 OPTIMIZER_MODE = X_OPTIMIZER_MODE,
521 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
522 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
523 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
524 ENABLE_TIME_STATISTICS = NVL(X_ENABLE_TIME_STATISTICS,'N'),
525 REFRESH_PORTLET = X_REFRESH_PORTLET,
526 PROGRAM_TYPE = X_PROGRAM_TYPE,
527 ACTIVITY_SUMMARIZER = X_ACTIVITY_SUMMARIZER,
528 ALLOW_MULTIPLE_PENDING_REQUEST = X_ALLOW_MULTIPLE_PENDING_REQUE,
529 DELETE_LOG_FILE = X_DELETE_LOG_FILE,
530 TEMPLATE_CODE = X_TEMPLATE_CODE,
531 TEMPLATE_APPL_SHORT_NAME = X_TEMPLATE_APPL_SHORT_NAME,
532 MULTI_ORG_CATEGORY = X_MULTI_ORG_CATEGORY
536 if (sql%notfound) then
533 where APPLICATION_ID = X_APPLICATION_ID
534 and CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID;
535
537 raise no_data_found;
538 end if;
539
540 update FND_CONCURRENT_PROGRAMS_TL set
541 USER_CONCURRENT_PROGRAM_NAME = X_USER_CONCURRENT_PROGRAM_NAME,
542 DESCRIPTION = X_DESCRIPTION,
543 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
544 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
545 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
546 SOURCE_LANG = userenv('LANG')
547 where APPLICATION_ID = X_APPLICATION_ID
548 and CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID
549 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
550
551 if (sql%notfound) then
552 raise no_data_found;
553 end if;
554 end UPDATE_ROW;
555
556 -- Overloaded in case custom_mode and last_upate_date are not used
557 procedure TRANSLATE_ROW (
558 x_concurrent_program_name in varchar2,
559 x_application_short_name in varchar2,
560 x_owner in varchar2,
561 x_user_concurrent_program_name in varchar2,
562 x_description in varchar2)
563 is
564 begin
565 fnd_concurrent_programs_pkg.translate_row (
566 x_concurrent_program_name => x_concurrent_program_name,
567 x_application_short_name => x_application_short_name,
568 x_owner => x_owner,
569 x_user_concurrent_program_name => x_user_concurrent_program_name,
570 x_description => x_description,
571 x_custom_mode => null,
572 x_last_update_date => null);
573 end TRANSLATE_ROW;
574
575 -- Overloaded
576 procedure TRANSLATE_ROW (
577 x_concurrent_program_name in varchar2,
578 x_application_short_name in varchar2,
579 x_owner in varchar2,
580 x_user_concurrent_program_name in varchar2,
581 x_description in varchar2,
582 x_custom_mode in varchar2,
583 x_last_update_date in varchar2)
584 is
585 app_id number := 0;
586 key_id number := 0;
587 f_luby number; -- entity owner in file
588 f_ludate date; -- entity update date in file
589 db_luby number; -- entity owner in db
590 db_ludate date; -- entity update date in db
591 begin
592 select application_id into app_id
593 from fnd_application
594 where application_short_name = x_application_short_name;
595
596 begin
597 select CONCURRENT_PROGRAM_ID into key_id
598 from fnd_concurrent_programs
599 where APPLICATION_ID = app_id
600 and CONCURRENT_PROGRAM_NAME = x_concurrent_program_name;
601 exception when others then key_id :=null;
602 end;
603
604 -- Translate owner to file_last_updated_by
605 f_luby := fnd_load_util.OWNER_ID(x_owner);
606
607 -- Translate char last_update_date to date
608 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
609
610 begin
611 select LAST_UPDATED_BY, LAST_UPDATE_DATE
612 into db_luby, db_ludate
613 from FND_CONCURRENT_PROGRAMS_TL
614 where APPLICATION_ID = app_id
615 and CONCURRENT_PROGRAM_ID = key_id
616 and LANGUAGE = userenv('LANG');
617
618 -- Update record, honoring customization mode.
619 -- Record should be updated only if:
620 -- a. CUSTOM_MODE = FORCE, or
621 -- b. file owner is USER, db owner is SEED
622 -- c. owners are the same, and file_date > db_date
623 if (fnd_load_util.UPLOAD_TEST(
624 p_file_id => f_luby,
625 p_file_lud => f_ludate,
626 p_db_id => db_luby,
627 p_db_lud => db_ludate,
628 p_custom_mode => x_custom_mode))
629 then
630 update FND_CONCURRENT_PROGRAMS_TL set
631 USER_CONCURRENT_PROGRAM_NAME =
632 nvl(x_user_concurrent_program_name, USER_CONCURRENT_PROGRAM_NAME),
633 DESCRIPTION = nvl(x_description, DESCRIPTION),
634 SOURCE_LANG = userenv('LANG'),
635 LAST_UPDATE_DATE = f_ludate,
636 LAST_UPDATED_BY = f_luby,
637 LAST_UPDATE_LOGIN = 0
638 where APPLICATION_ID = app_id
639 and CONCURRENT_PROGRAM_ID = key_id
640 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
641 end if;
642 end;
643 end TRANSLATE_ROW;
644
645 -- Overloaded in case custom_mode and last_upate_date are not used
646 procedure LOAD_ROW (
647 x_concurrent_program_name in varchar2,
648 x_application_short_name in varchar2,
649 x_owner in varchar2,
650 x_user_concurrent_program_name in varchar2,
651 x_exec_executable_name in varchar2,
652 x_exec_application_short_name in varchar2,
653 x_execution_method_code in varchar2,
654 x_argument_method_code in varchar2,
655 x_queue_control_flag in varchar2,
656 x_queue_method_code in varchar2,
657 x_request_set_flag in varchar2,
658 x_enabled_flag in varchar2,
659 x_print_flag in varchar2,
660 x_run_alone_flag in varchar2,
661 x_srs_flag in varchar2,
662 x_description in varchar2,
663 x_class_application in varchar2,
664 x_concurrent_class_name in varchar2,
665 x_execution_options in varchar2,
666 x_save_output_flag in varchar2,
667 x_required_style in varchar2,
668 x_output_print_style in varchar2,
669 x_printer_name in varchar2,
670 x_minimum_width in varchar2,
671 x_minimum_length in varchar2,
675 x_attribute2 in varchar2,
672 x_request_priority in varchar2,
673 x_attribute_category in varchar2,
674 x_attribute1 in varchar2,
676 x_attribute3 in varchar2,
677 x_attribute4 in varchar2,
678 x_attribute5 in varchar2,
679 x_attribute6 in varchar2,
680 x_attribute7 in varchar2,
681 x_attribute8 in varchar2,
682 x_attribute9 in varchar2,
683 x_attribute10 in varchar2,
684 x_attribute11 in varchar2,
685 x_attribute12 in varchar2,
686 x_attribute13 in varchar2,
687 x_attribute14 in varchar2,
688 x_attribute15 in varchar2,
689 x_output_file_type in varchar2,
690 x_restart in varchar2,
691 x_nls_compliant in varchar2,
692 x_cd_parameter in varchar2,
693 x_increment_proc in varchar2,
694 x_me_ex_id in varchar2,
695 x_me_ap_id in varchar2,
696 x_enable_time_statistics in varchar2,
697 x_security_group_name in varchar2,
698 x_resource_consumer_group in varchar2,
699 x_rollback_segment in varchar2,
700 x_optimizer_mode in varchar2,
701 x_srs_flex in varchar2)
702 is
703 begin
704 fnd_concurrent_programs_pkg.LOAD_ROW (
705 x_concurrent_program_name => x_concurrent_program_name,
706 x_application_short_name => x_application_short_name,
707 x_owner => x_owner,
708 x_user_concurrent_program_name => x_user_concurrent_program_name,
709 x_exec_executable_name => x_exec_executable_name,
710 x_exec_application_short_name => x_exec_application_short_name,
711 x_execution_method_code => x_execution_method_code,
712 x_argument_method_code => x_argument_method_code,
713 x_queue_control_flag => x_queue_control_flag,
714 x_queue_method_code => x_queue_method_code,
715 x_request_set_flag => x_request_set_flag,
716 x_enabled_flag => x_enabled_flag,
717 x_print_flag => x_print_flag,
718 x_run_alone_flag => x_run_alone_flag,
719 x_srs_flag => x_srs_flag,
720 x_description => x_description,
721 x_class_application => x_class_application,
722 x_concurrent_class_name => x_concurrent_class_name,
723 x_execution_options => x_execution_options,
724 x_save_output_flag => x_save_output_flag,
725 x_required_style => x_required_style,
726 x_output_print_style => x_output_print_style,
727 x_printer_name => x_printer_name,
728 x_minimum_width => x_minimum_width,
729 x_minimum_length => x_minimum_length,
730 x_request_priority => x_request_priority,
731 x_attribute_category => x_attribute_category,
732 x_attribute1 => x_attribute1,
733 x_attribute2 => x_attribute2,
734 x_attribute3 => x_attribute3,
735 x_attribute4 => x_attribute4,
736 x_attribute5 => x_attribute5,
737 x_attribute6 => x_attribute6,
738 x_attribute7 => x_attribute7,
739 x_attribute8 => x_attribute8,
740 x_attribute9 => x_attribute9,
741 x_attribute10 => x_attribute10,
742 x_attribute11 => x_attribute11,
743 x_attribute12 => x_attribute12,
744 x_attribute13 => x_attribute13,
745 x_attribute14 => x_attribute14,
746 x_attribute15 => x_attribute15,
747 x_output_file_type => x_output_file_type,
748 x_restart => x_restart,
749 x_nls_compliant => x_nls_compliant,
750 x_cd_parameter => x_cd_parameter,
751 x_increment_proc => x_increment_proc,
752 x_me_ex_id => x_me_ex_id,
753 x_me_ap_id => x_me_ap_id,
754 x_enable_time_statistics => x_enable_time_statistics,
755 x_security_group_name => x_security_group_name,
756 x_resource_consumer_group => x_resource_consumer_group,
757 x_rollback_segment => x_rollback_segment,
758 x_optimizer_mode => x_optimizer_mode,
759 x_srs_flex => x_srs_flex,
760 x_custom_mode => null,
761 x_last_update_date=> null,
762 x_refresh_portlet => null,
763 x_activity_summarizer => null,
764 x_program_type => null,
765 x_allow_multiple_pending_reque => null,
766 x_template_appl_short_name => null,
767 x_template_code => null,
768 x_multi_org_category => null);
769
770 end LOAD_ROW;
771
772 -- Overloaded
773 procedure LOAD_ROW (
774 x_concurrent_program_name in varchar2,
775 x_application_short_name in varchar2,
776 x_owner in varchar2,
777 x_user_concurrent_program_name in varchar2,
778 x_exec_executable_name in varchar2,
779 x_exec_application_short_name in varchar2,
780 x_execution_method_code in varchar2,
781 x_argument_method_code in varchar2,
782 x_queue_control_flag in varchar2,
783 x_queue_method_code in varchar2,
784 x_request_set_flag in varchar2,
785 x_enabled_flag in varchar2,
786 x_print_flag in varchar2,
787 x_run_alone_flag in varchar2,
788 x_srs_flag in varchar2,
789 x_description in varchar2,
790 x_class_application in varchar2,
791 x_concurrent_class_name in varchar2,
792 x_execution_options in varchar2,
793 x_save_output_flag in varchar2,
794 x_required_style in varchar2,
795 x_output_print_style in varchar2,
796 x_printer_name in varchar2,
797 x_minimum_width in varchar2,
801 x_attribute1 in varchar2,
798 x_minimum_length in varchar2,
799 x_request_priority in varchar2,
800 x_attribute_category in varchar2,
802 x_attribute2 in varchar2,
803 x_attribute3 in varchar2,
804 x_attribute4 in varchar2,
805 x_attribute5 in varchar2,
806 x_attribute6 in varchar2,
807 x_attribute7 in varchar2,
808 x_attribute8 in varchar2,
809 x_attribute9 in varchar2,
810 x_attribute10 in varchar2,
811 x_attribute11 in varchar2,
812 x_attribute12 in varchar2,
813 x_attribute13 in varchar2,
814 x_attribute14 in varchar2,
815 x_attribute15 in varchar2,
816 x_output_file_type in varchar2,
817 x_restart in varchar2,
818 x_nls_compliant in varchar2,
819 x_cd_parameter in varchar2,
820 x_increment_proc in varchar2,
821 x_me_ex_id in varchar2,
822 x_me_ap_id in varchar2,
823 x_enable_time_statistics in varchar2,
824 x_security_group_name in varchar2,
825 x_resource_consumer_group in varchar2,
826 x_rollback_segment in varchar2,
827 x_optimizer_mode in varchar2,
828 x_srs_flex in varchar2,
829 x_custom_mode in varchar2,
830 x_last_update_date in varchar2,
831 x_refresh_portlet in varchar2,
832 x_activity_summarizer in varchar2,
833 x_program_type in varchar2,
834 x_allow_multiple_pending_reque in varchar2,
835 x_template_appl_short_name in varchar2,
836 x_template_code in varchar2,
837 x_multi_org_category in varchar2
838
839 )
840 is
841 f_luby number; -- entity owner in file
842 f_ludate date; -- entity update date in file
843 db_luby number; -- entity owner in db
844 db_ludate date; -- entity update date in db
845 app_id number := 0;
846 key_id number := 0;
847 sgrp_id number := 0;
848 rc_grp varchar2(255) := NULL;
849 ex_app number := 0;
850 ex_id number := 0;
851 cl_app number := 0;
852 cl_id number := 0;
853 ml_app number := 0;
854 ml_id number := 0;
855
856 begin
857 -- Translate owner to file_last_updated_by
858 f_luby := fnd_load_util.OWNER_ID(x_owner);
859
860 -- Translate char last_update_date to date
861 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
862
863 select APPLICATION_ID into app_id
864 from FND_APPLICATION
865 where APPLICATION_SHORT_NAME = x_application_short_name;
866
867
868 begin
869 select SECURITY_GROUP_ID into sgrp_id
870 from FND_SECURITY_GROUPS
871 where SECURITY_GROUP_KEY = x_security_group_name;
872 exception when others then sgrp_id := null;
873 end;
874
875 begin
876 select GRANTED_GROUP into rc_grp
877 from DBA_RSRC_CONSUMER_GROUP_PRIVS
878 where GRANTEE in (USER, 'PUBLIC')
879 and GRANTED_GROUP = x_resource_consumer_group;
880 exception when others then rc_grp :=null;
881 end;
882
883 select ex.APPLICATION_ID, ex.EXECUTABLE_ID,
884 cl.APPLICATION_ID, cl.REQUEST_CLASS_ID,
885 ml.APPLICATION_ID, ml.EXECUTABLE_ID
886 into ex_app, ex_id, cl_app, cl_id, ml_app, ml_id
887 FROM FND_EXECUTABLES ex, FND_APPLICATION exa,
888 FND_CONCURRENT_REQUEST_CLASS cl, FND_APPLICATION cla,
889 FND_EXECUTABLES ml, FND_APPLICATION mla
890 WHERE ex.EXECUTABLE_NAME = x_exec_executable_name
891 and ex.APPLICATION_ID = exa.APPLICATION_ID
892 and exa.APPLICATION_SHORT_NAME = x_exec_application_short_name
893 and cl.REQUEST_CLASS_NAME (+) = x_concurrent_class_name
894 and cl.APPLICATION_ID (+) = cla.APPLICATION_ID
895 and cla.APPLICATION_SHORT_NAME = NVL(x_class_application,'FND')
896 and ml.EXECUTABLE_NAME (+) = x_me_ex_id
897 and ml.APPLICATION_ID (+) = mla.APPLICATION_ID
898 and mla.APPLICATION_SHORT_NAME =
899 NVL(x_me_ap_id,'FND');
900
901 begin
902 select CONCURRENT_PROGRAM_ID, LAST_UPDATED_BY, LAST_UPDATE_DATE
903 into key_id, db_luby, db_ludate
904 from FND_CONCURRENT_PROGRAMS
905 where APPLICATION_ID = app_id
906 and CONCURRENT_PROGRAM_NAME = x_concurrent_program_name;
907
908 -- Update record, honoring customization mode.
909 -- Record should be updated only if:
910 -- a. CUSTOM_MODE = FORCE, or
911 -- b. file owner is USER, db owner is SEED
912 -- c. owners are the same, and file_date > db_date
913 if (fnd_load_util.UPLOAD_TEST(
914 p_file_id => f_luby,
915 p_file_lud => f_ludate,
916 p_db_id => db_luby,
917 p_db_lud => db_ludate,
918 p_custom_mode => x_custom_mode))
919 then
920
921 -- Avoid removing incompatibilities for bug 6398080
922 /* delete from fnd_concurrent_program_serial
923 WHERE running_concurrent_program_id = key_id
924 AND running_application_id = app_id;
925
926 delete from fnd_concurrent_program_serial
927 WHERE to_run_concurrent_program_id = key_id
928 AND to_run_application_id = app_id; */
929
930 update FND_CONCURRENT_PROGRAMS set
931 LAST_UPDATE_DATE = f_ludate,
935 EXECUTABLE_APPLICATION_ID = ex_app,
932 LAST_UPDATED_BY = f_luby,
933 LAST_UPDATE_LOGIN = 0,
934 EXECUTABLE_ID = ex_id,
936 EXECUTION_METHOD_CODE = x_execution_method_code,
937 ARGUMENT_METHOD_CODE = x_argument_method_code,
938 QUEUE_CONTROL_FLAG = x_queue_control_flag,
939 QUEUE_METHOD_CODE = x_queue_method_code,
940 REQUEST_SET_FLAG = x_request_set_flag,
941 ENABLED_FLAG = x_enabled_flag,
942 PRINT_FLAG = x_print_flag,
943 RUN_ALONE_FLAG = x_run_alone_flag,
944 SRS_FLAG = x_srs_flag,
945 CLASS_APPLICATION_ID = cl_app,
946 CONCURRENT_CLASS_ID = cl_id,
947 EXECUTION_OPTIONS = x_execution_options,
948 SAVE_OUTPUT_FLAG = x_save_output_flag,
949 REQUIRED_STYLE = x_required_style,
950 OUTPUT_PRINT_STYLE = x_output_print_style,
951 PRINTER_NAME = x_printer_name,
952 MINIMUM_WIDTH = x_minimum_width,
953 MINIMUM_LENGTH = x_minimum_length,
954 REQUEST_PRIORITY = x_request_priority,
955 ATTRIBUTE_CATEGORY = x_attribute_category,
956 ATTRIBUTE1 = x_attribute1,
957 ATTRIBUTE2 = x_attribute2,
958 ATTRIBUTE3 = x_attribute3,
959 ATTRIBUTE4 = x_attribute4,
960 ATTRIBUTE5 = x_attribute5,
961 ATTRIBUTE6 = x_attribute6,
962 ATTRIBUTE7 = x_attribute7,
963 ATTRIBUTE8 = x_attribute8,
964 ATTRIBUTE9 = x_attribute9,
965 ATTRIBUTE10 = x_attribute10,
966 ATTRIBUTE11 = x_attribute11,
967 ATTRIBUTE12 = x_attribute12,
968 ATTRIBUTE13 = x_attribute13,
969 ATTRIBUTE14 = x_attribute14,
970 ATTRIBUTE15 = x_attribute15,
971 OUTPUT_FILE_TYPE = x_output_file_type,
972 RESTART = x_restart,
973 NLS_COMPLIANT = x_nls_compliant,
974 CD_PARAMETER = x_cd_parameter,
975 INCREMENT_PROC = x_increment_proc,
976 MLS_EXECUTABLE_APP_ID = ml_app,
977 MLS_EXECUTABLE_ID= ml_id,
978 ENABLE_TIME_STATISTICS = x_enable_time_statistics,
979 SECURITY_GROUP_ID = sgrp_id,
980 RESOURCE_CONSUMER_GROUP = rc_grp,
981 ROLLBACK_SEGMENT = x_rollback_segment,
982 OPTIMIZER_MODE = x_optimizer_mode,
983 REFRESH_PORTLET = x_refresh_portlet,
984 ACTIVITY_SUMMARIZER = x_activity_summarizer,
985 PROGRAM_TYPE = x_Program_type,
986 ALLOW_MULTIPLE_PENDING_REQUEST = x_allow_multiple_pending_reque,
987 TEMPLATE_APPL_SHORT_NAME = x_template_appl_short_name ,
988 TEMPLATE_CODE = x_template_code,
989 MULTI_ORG_CATEGORY = x_multi_org_category
990
991 where APPLICATION_ID = app_id
992 and CONCURRENT_PROGRAM_ID = key_id;
993
994 update fnd_concurrent_programs_tl set
995 source_lang=userenv('LANG'),
996 USER_CONCURRENT_PROGRAM_NAME =
997 nvl(x_user_concurrent_program_name, USER_CONCURRENT_PROGRAM_NAME),
998 DESCRIPTION = nvl(x_description, DESCRIPTION),
999 LAST_UPDATED_BY = f_luby,
1000 LAST_UPDATE_DATE = f_ludate,
1001 LAST_UPDATE_LOGIN = 0
1002 where application_id = app_id
1003 and CONCURRENT_PROGRAM_ID = key_id
1004 and NVL(x_user_concurrent_program_name,x_description) is not null
1005 and userenv('LANG') in (language, source_lang);
1006
1007 else
1008
1009 -- Here, UPLOAD_TEST has returned false,
1010 -- so this program has been customized by the user.
1011 -- However, we may still need to update certain columns, regardless of this.
1012 -- CD_PARAMETER is one of these, see bug 2737442
1013 -- Update it quietly, without setting last_update_date or last_updated_by
1014 -- 03/27/03 - not checking last_update anymore, this column is ALWAYS updated.
1015 begin
1016 update FND_CONCURRENT_PROGRAMS
1017 set CD_PARAMETER = x_cd_parameter
1018 where APPLICATION_ID = app_id
1019 and CONCURRENT_PROGRAM_ID = key_id;
1020 exception
1021 when no_data_found then
1022 -- somehow this row does not yet exist?
1023 null;
1024 end;
1025
1026 end if;
1027
1028 exception
1029 when no_data_found then
1030
1031 select FND_CONCURRENT_PROGRAMS_S.nextval into key_id from dual;
1032
1033 insert into FND_CONCURRENT_PROGRAMS
1034 (CONCURRENT_PROGRAM_NAME, CONCURRENT_PROGRAM_ID,
1035 APPLICATION_ID, CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE,
1036 LAST_UPDATED_BY, LAST_UPDATE_LOGIN, EXECUTABLE_ID,
1037 EXECUTABLE_APPLICATION_ID, EXECUTION_METHOD_CODE,
1038 ARGUMENT_METHOD_CODE,QUEUE_CONTROL_FLAG,QUEUE_METHOD_CODE,
1039 REQUEST_SET_FLAG, ENABLED_FLAG,PRINT_FLAG,RUN_ALONE_FLAG,
1040 SRS_FLAG, CLASS_APPLICATION_ID,CONCURRENT_CLASS_ID,
1041 EXECUTION_OPTIONS, SAVE_OUTPUT_FLAG, REQUIRED_STYLE,
1042 OUTPUT_PRINT_STYLE, PRINTER_NAME, MINIMUM_WIDTH,
1043 MINIMUM_LENGTH, REQUEST_PRIORITY, ATTRIBUTE_CATEGORY,
1044 ATTRIBUTE1,ATTRIBUTE2,ATTRIBUTE3,ATTRIBUTE4,
1045 ATTRIBUTE5,ATTRIBUTE6,ATTRIBUTE7,ATTRIBUTE8,
1046 ATTRIBUTE9,ATTRIBUTE10,ATTRIBUTE11,ATTRIBUTE12,
1047 ATTRIBUTE13,ATTRIBUTE14,ATTRIBUTE15,
1048 OUTPUT_FILE_TYPE,RESTART,NLS_COMPLIANT,CD_PARAMETER,
1049 INCREMENT_PROC, MLS_EXECUTABLE_APP_ID, MLS_EXECUTABLE_ID,
1050 ENABLE_TIME_STATISTICS, SECURITY_GROUP_ID, ENABLE_TRACE,
1051 RESOURCE_CONSUMER_GROUP,ROLLBACK_SEGMENT,OPTIMIZER_MODE,
1052 REFRESH_PORTLET,ACTIVITY_SUMMARIZER,PROGRAM_TYPE,ALLOW_MULTIPLE_PENDING_REQUEST,
1053 TEMPLATE_APPL_SHORT_NAME , TEMPLATE_CODE,
1054 MULTI_ORG_CATEGORY
1055 )
1056 select x_concurrent_program_name, key_id,
1060 x_request_set_flag, x_enabled_flag, x_print_flag, x_run_alone_flag,
1057 app_id, f_ludate, f_luby, f_ludate,
1058 f_luby, 0, ex_id, ex_app, x_execution_method_code,
1059 x_argument_method_code, x_queue_control_flag, x_queue_method_code,
1061 x_srs_flag, cl_app, cl_id,
1062 x_execution_options,x_save_output_flag,x_required_style,
1063 x_output_print_style,x_printer_name,x_minimum_width,
1064 x_minimum_length,x_request_priority,x_attribute_category,
1065 x_attribute1,x_attribute2,x_attribute3,x_attribute4,
1066 x_attribute5, x_attribute6,x_attribute7,x_attribute8,
1067 x_attribute9,x_attribute10,x_attribute11,x_attribute12,
1068 x_attribute13,x_attribute14,x_attribute15,
1069 x_output_file_type,x_restart,x_nls_compliant,x_cd_parameter,
1070 x_increment_proc, ml_app, ml_id,
1071 x_enable_time_statistics, sgrp_id, 'N',
1072 rc_grp, x_rollback_segment, x_optimizer_mode,
1073 x_refresh_portlet,x_activity_summarizer,x_program_type,x_allow_multiple_pending_reque,
1074 x_template_appl_short_name, x_template_code,
1075 x_multi_org_category
1076 from DUAL;
1077
1078 insert into FND_CONCURRENT_PROGRAMS_TL
1079 (CONCURRENT_PROGRAM_ID, APPLICATION_ID, CREATION_DATE,
1080 CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY,
1081 LAST_UPDATE_LOGIN, DESCRIPTION,USER_CONCURRENT_PROGRAM_NAME,
1082 LANGUAGE, SOURCE_LANG)
1083 select key_id, app_id, f_ludate,
1084 f_luby, f_ludate, f_luby, 0,
1085 x_description, x_user_concurrent_program_name,
1086 L.LANGUAGE_CODE, userenv('LANG')
1087 from FND_LANGUAGES L
1088 where L.INSTALLED_FLAG in ('I', 'B')
1089 and not exists
1090 (select NULL
1091 from FND_CONCURRENT_PROGRAMS_TL T
1092 where T.APPLICATION_ID = app_id
1093 and T.CONCURRENT_PROGRAM_ID =key_id
1094 and T.LANGUAGE = L.LANGUAGE_CODE);
1095
1096 end;
1097
1098 end LOAD_ROW;
1099 procedure ADD_LANGUAGE
1100 is
1101 begin
1102
1103 /* Mar/19/03 requested by Ric Ginsberg */
1104 /* The following delete and update statements are commented out */
1105 /* as a quick workaround to fix the time-consuming table handler issue */
1106 /* Eventually we'll need to turn them into a separate fix_language procedure */
1107 /*
1108 delete from FND_CONCURRENT_PROGRAMS_TL T
1109 where not exists
1110 (select NULL
1111 from FND_CONCURRENT_PROGRAMS B
1112 where B.APPLICATION_ID = T.APPLICATION_ID
1113 and B.CONCURRENT_PROGRAM_ID = T.CONCURRENT_PROGRAM_ID
1114 );
1115
1116 update FND_CONCURRENT_PROGRAMS_TL T set (
1117 USER_CONCURRENT_PROGRAM_NAME,
1118 DESCRIPTION
1119 ) = (select
1120 B.USER_CONCURRENT_PROGRAM_NAME,
1121 B.DESCRIPTION
1122 from FND_CONCURRENT_PROGRAMS_TL B
1123 where B.APPLICATION_ID = T.APPLICATION_ID
1124 and B.CONCURRENT_PROGRAM_ID = T.CONCURRENT_PROGRAM_ID
1125 and B.LANGUAGE = T.SOURCE_LANG)
1126 where (
1127 T.APPLICATION_ID,
1128 T.CONCURRENT_PROGRAM_ID,
1129 T.LANGUAGE
1130 ) in (select
1131 SUBT.APPLICATION_ID,
1132 SUBT.CONCURRENT_PROGRAM_ID,
1133 SUBT.LANGUAGE
1134 from FND_CONCURRENT_PROGRAMS_TL SUBB, FND_CONCURRENT_PROGRAMS_TL SUBT
1135 where SUBB.APPLICATION_ID = SUBT.APPLICATION_ID
1136 and SUBB.CONCURRENT_PROGRAM_ID = SUBT.CONCURRENT_PROGRAM_ID
1137 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
1138 and (SUBB.USER_CONCURRENT_PROGRAM_NAME <> SUBT.USER_CONCURRENT_PROGRAM_NAME
1139 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
1140 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
1141 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
1142 ));
1143 */
1144
1145 /* bug8260682 */
1146 /* use fake early date for last_update_date and 2 for last_updated_by */
1147 /* so that FNDLOAD will recognize newly created rows as freshly installed */
1148 /* see fnd_load_util.upload_test why this works... */
1149
1150 insert into FND_CONCURRENT_PROGRAMS_TL (
1151 APPLICATION_ID,
1152 CONCURRENT_PROGRAM_ID,
1153 USER_CONCURRENT_PROGRAM_NAME,
1154 CREATION_DATE,
1155 CREATED_BY,
1156 LAST_UPDATE_DATE,
1157 LAST_UPDATED_BY,
1158 LAST_UPDATE_LOGIN,
1159 DESCRIPTION,
1160 LANGUAGE,
1161 SOURCE_LANG
1162 ) select
1163 B.APPLICATION_ID,
1164 B.CONCURRENT_PROGRAM_ID,
1165 B.USER_CONCURRENT_PROGRAM_NAME,
1166 B.CREATION_DATE,
1167 B.CREATED_BY,
1168 to_date('01011980','MMDDYYYY'),
1169 '2',
1170 B.LAST_UPDATE_LOGIN,
1171 B.DESCRIPTION,
1172 L.LANGUAGE_CODE,
1173 B.SOURCE_LANG
1174 from FND_CONCURRENT_PROGRAMS_TL B, FND_LANGUAGES L
1175 where L.INSTALLED_FLAG in ('I', 'B')
1176 and B.LANGUAGE = userenv('LANG')
1177 and not exists
1178 (select NULL
1179 from FND_CONCURRENT_PROGRAMS_TL T
1180 where T.APPLICATION_ID = B.APPLICATION_ID
1181 and T.CONCURRENT_PROGRAM_ID = B.CONCURRENT_PROGRAM_ID
1182 and T.LANGUAGE = L.LANGUAGE_CODE);
1183 end ADD_LANGUAGE;
1184
1185
1186
1187 end FND_CONCURRENT_PROGRAMS_PKG;