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