DBA Data[Home] [Help]

PACKAGE: APPS.FND_PROGRAM

Source


1 PACKAGE  fnd_program AS
2 /* $Header: AFCPRCPS.pls 120.2 2006/04/05 01:39:30 ktanneru ship $ */
3 /*#
4  * Contains procedures for creating the concurrent program executables, concurrent programs with parameters and incompatibility rules, request sets and request groups
5  * @rep:scope public
6  * @rep:product FND
7  * @rep:displayname Concurrent Program Loaders
8  * @rep:category BUSINESS_ENTITY FND_CP_PROGRAM
9  * @rep:lifecycle active
10  * @rep:compatibility S
11  */
12 
13 
14 PROCEDURE debug_on ;
15 
16 
17 PROCEDURE debug_off ;
18 
19 --
20 -- Procedure
21 --   SET_SESSION_MODE
22 --
23 -- Purpose
24 --   Sets the package mode for the current session.
25 --
26 -- Arguments:
27 --   session_mode - 'seed_data' if new data is for Datamerge.
28 --                  'customer_data' is the default.
29 --
30 PROCEDURE set_session_mode(session_mode IN VARCHAR2);
31 
32 
33 /*#
34  * This function returns an error message. Messages are set when any validation errors occur during the processing of other functions/procedures in this package.
35  * @rep:displayname Message
36  * @rep:scope public
37  * @rep:lifecycle active
38  * @rep:compatibility S
39  */
40 -- Function
41 --   MESSAGE
42 --
43 -- Purpose
44 --   Return an error message.  Messages are set when
45 --   validation (program) errors occur.
46 --
47 FUNCTION message RETURN VARCHAR2 ;
48 
49 /*#
50  * Creates a new parameter for the specified concurrent program
51  * @param program_short_name The short name used as the developer's name of the concurrent program
52  * @param application The short name of the application the owns the concurrent program
53  * @param sequence The parameter sequence number that determines the order of the parameters
54  * @param parameter The parameter name
55  * @param description An optional parameter description
56  * @param enabled Specify 'Y' for enabled parameters and 'N' for disabled parameters
57  * @param value_set The value set to be used with the parameter
58  * @param default_type An optional default type. Possible values are 'Constant', 'Profile', 'SQL Statement',  or 'Segment'
59  * @param default_value Required only when the default type is not null
60  * @param required Specify 'Y' for required parameters, 'N' for optional ones
61  * @param enable_security 'Y' enables value security if the value set permits it, 'N' prevents value security from operating on this parameter
62  * @param range Optionally specify 'High', 'Low' or 'Pair'
63  * @param display Specify 'Y' to display the parameter and 'N' to hide it
64  * @param display_size The length of the item in the parameter window
65  * @param description_size The length of the item's description in the parameter window
66  * @param concatenated_description_size The length of the description in the concatenated parameters field
67  * @param prompt The item prompt in the parameter window
68  * @param token The Oracle Reports token
69  * @rep:displayname Create Parameter
70  * @rep:scope public
71  * @rep:lifecycle active
72  * @rep:compatibility S
73  */
74 -- Procedure
75 --   PARAMETER
76 --
77 -- Purpose
78 --   Register an SRS parameter for a program
79 --
80 -- Arguments:
81 --   program_short_name - e.g. FNDSCRMT
82 --   application        - Program application short name. e.g. 'FND'
83 --   sequence           - Parameter sequence number
84 --   parameter          - Name of parameter
85 --   description        - Parameter description (Optional)
86 --   enabled            - 'Y' or 'N'
87 --   value_set          - Name of value set (e.g. '30 Characters Optional')
88 --   default_type       - 'Constant', 'Profile', 'SQL Statement', 'Segment'
89 --                        (Optional)
90 --   default_value      - Parameter default (Required if default_type is not
91 --                        Null)
92 --   required           - 'Y' or 'N'
93 --   enable_security    - 'Y' or 'N', Enables security if value set allows.
94 --   range              - 'High', 'Low', or 'Pair' (Optional)
95 --   display            - 'Y' or 'N'
96 --   display_size       - Length of item in parameter window
97 --   description_size   - Length of item description in parameter window
98 --   concatenated_description_size - Length of description in concatenated
99 --                                   parameters field.
100 --   prompt             - Item prompt in parameter window
101 --   token              - Required token for Oracle Reports parameters
102 --   cd_parameter       - 'Y' sets this parameter to be this program's cd_parameter
103 --
104 PROCEDURE parameter(
105 	program_short_name            IN VARCHAR2,
106 	application                   IN VARCHAR2,
107 	sequence                      IN NUMBER,
108 	parameter                     IN VARCHAR2,
109 	description                   IN VARCHAR2 DEFAULT NULL,
110 	enabled                       IN VARCHAR2 DEFAULT 'Y',
111 	value_set                     IN VARCHAR2,
112 	default_type                  IN VARCHAR2 DEFAULT NULL,
113 	default_value                 IN VARCHAR2 DEFAULT NULL,
114 	required                      IN VARCHAR2 DEFAULT 'N',
115 	enable_security               IN VARCHAR2 DEFAULT 'N',
116 	range                         IN VARCHAR2 DEFAULT NULL,
117 	display                       IN VARCHAR2 DEFAULT 'Y',
118 	display_size                  IN NUMBER,
119 	description_size              IN NUMBER,
120 	concatenated_description_size IN NUMBER,
121 	prompt                        IN VARCHAR2 DEFAULT NULL,
122         token                         IN VARCHAR2 DEFAULT NULL,
123 	cd_parameter                  IN VARCHAR2 DEFAULT 'N');
124 
125 
126 
127 /*#
128  * Defines a concurrent program for use in the concurrent processing system
129  * @param program User visible program name
130  * @param application The short name of the application that owns the program
131  * @param enabled Specify 'Y' to enable, 'N' otherwise
132  * @param short_name The Internal developer program name
133  * @param description An optional description of the program
134  * @param executable_short_name The short name of the registered concurrent program executable
135  * @param executable_application The short Nname of the application under which the executable is registered
136  * @param execution_options Any special option string used by certain executables such as Oracle Reports
137  * @param priority An optional program level priority
138  * @param save_output Indicate with 'Y' or 'N' whether to save the output
139  * @param print Allow printing by specifying 'Y', otherwise 'N'
140  * @param cols The page width of the report columns
141  * @param rows The page length of the report rows
142  * @param style The default print style name
143  * @param style_required Specify whether to allow changing the default print style from the Submit Requests window
144  * @param printer Force output to the specified printer
145  * @param request_type A user defined request type
146  * @param request_type_application The short name of the application owning the request type
147  * @param use_in_srs Specify 'Y' to allow users to submit the program from the Submit Requests window, otherwise 'N'
148  * @param allow_disabled_values Specify 'Y' to allow parameters based on outdated value sets to validate anyway. Specify 'N' to require current values
149  * @param run_alone Program must have the whole system to itself. Specify 'Y' or 'N'
150  * @param output_type The type of the output generated by the concurrent program
151  * @param enable_trace Specify 'Y' if you want to always enable SQL trace for this program, 'N' if not
152  * @param nls_compliant Reserved for use for internal developers only. Use 'N'
153  * @param icon_name Reserved for use by the internal developers only. Use NULL
154  * @param language_code Language code for the name and description
155  * @param mls_function_short_name The name of the registered MLS function
156  * @param mls_function_application The short name of the application under which the MLS function is registered
157  * @param incrementor The incrementor PL/SQL function name
158  * @return none
159  * @rep:displayname Define Concurrent Program
160  * @rep:scope public
161  * @rep:lifecycle active
162  * @rep:compatibility S
163  */
164 -- Procedure
165 --   REGISTER
166 --
167 -- Purpose
168 --   Register a concurrent program.
169 --
170 -- Arguments
171 --   program                - User-visible program name. e.g. 'Menu Report'
172 --   application            - Program application short name. e.g. 'FND'
173 --   enabled                - 'Y' or 'N'
174 --   short_name             - Internal program name.  e.g. 'FNDSCRMT'
175 --   description            - Description of program.
176 --   executable_short_name  - Name of the registered executable.
177 --   executable_application - Short name of the application under which the
178 --                            executable is registered.
179 --   execution_options      - Special options string for certain executables.
180 --   priority               - Program level priority. 1..99
181 --   save_output            - Save 'report' file? 'Y' or 'N'
182 --   print                  - 'Y' or 'N'
183 --   cols                   - Report columns (page width).
184 --   rows                   - Report rows (page length).
185 --   style                  - Print style name. (e.g. 'Landwide')
186 --   style_required         - Prevent style changes in SRS form. 'Y' or 'N'
187 --   printer                - Named printer cannot be changed in SRS form.
188 --   request_type           - User-defined request type
189 --   request_type_application - Application short name of request type.
190 --   use_in_srs             - Allow program to be submitted form SRS form
191 --                            'Y' or 'N'
192 --   allow_disabled_values  - Allow parameters based on outdated value sets
193 --                            to validate anyway.
194 --   run_alone              - Program must have the whole system to itself.
195 --                            'Y' or 'N'
196 --   output_type            - Type of output generated by the concurrent
197 --                            program.  'HTML', 'PS', 'TEXT', or 'PDF'
198 --   enable_trace           - Always enable SQL trace for this program?
199 --   restart                - Restart program if it was running during a
200 --                            general system failure.
201 --   nls_compliant          - Certifies NLS standards compliance.
202 --   icon_name              - For future web interfaces. Not yet supported.
203 --   language_code          - Language code for the name and description.
204 --                            e.g. 'US'
205 --   mls_function_short_name- Name of the registered mls function
206 --   mls_function_application- Name of the application under which mls function
207 --                              was registered
208 --   incrementor	    - Incrementor pl/sql function name
209 --   refresh_portlet        - Refresh Portlet based on the specified program
210 --                            outcome ('Never','On Success', 'Always',
211 --                                     'On Success or Warning')
212 --
213 PROCEDURE register(program  	                IN VARCHAR2,
214 		   application  		IN VARCHAR2,
215 		   enabled       		IN VARCHAR2,
216 		   short_name	  	        IN VARCHAR2,
217 		   description		 	IN VARCHAR2 DEFAULT NULL,
218 		   executable_short_name	IN VARCHAR2,
219 		   executable_application       IN VARCHAR2,
220 		   execution_options		IN VARCHAR2 DEFAULT NULL,
221 		   priority			IN NUMBER   DEFAULT NULL,
222 		   save_output			IN VARCHAR2 DEFAULT 'Y',
223 		   print			IN VARCHAR2 DEFAULT 'Y',
224 		   cols				IN NUMBER   DEFAULT NULL,
225 		   rows				IN NUMBER   DEFAULT NULL,
226 		   style 			IN VARCHAR2 DEFAULT NULL,
227 		   style_required		IN VARCHAR2 DEFAULT 'N',
228 		   printer			IN VARCHAR2 DEFAULT NULL,
229 		   request_type			IN VARCHAR2 DEFAULT NULL,
230 		   request_type_application     IN VARCHAR2 DEFAULT NULL,
231 		   use_in_srs			IN VARCHAR2 DEFAULT 'N',
232 		   allow_disabled_values	IN VARCHAR2 DEFAULT 'N',
233 		   run_alone			IN VARCHAR2 DEFAULT 'N',
234                    output_type                  IN VARCHAR2 DEFAULT 'TEXT',
235                    enable_trace                 IN VARCHAR2 DEFAULT 'N',
236                    restart                      IN VARCHAR2 DEFAULT 'Y',
237                    nls_compliant                IN VARCHAR2 DEFAULT 'Y',
238                    icon_name                    IN VARCHAR2 DEFAULT NULL,
239                    language_code                IN VARCHAR2 DEFAULT 'US',
240                    mls_function_short_name      IN VARCHAR2 DEFAULT NULL,
241                    mls_function_application     IN VARCHAR2 DEFAULT NULL,
242                    incrementor			IN VARCHAR2 DEFAULT NULL,
243                    refresh_portlet              IN VARCHAR2 DEFAULT NULL
244 		    );
245 
246 
247 /*#
248  * Registers an incompatibility for the specified concurrent program
249  * @param program_short_name The short name used as the developer name of the concurrent program
250  * @param application The short name of the application that owns the concurrent program
251  * @param inc_prog_short_name The short name of the incompatible program
252  * @param inc_prog_application The application that owns the incompatible program
253  * @param scope Specify either 'Set' or 'Program Only'
254  * @param inc_type Type of incompatibility  D - Domain-specific or G - Global
255  * @rep:displayname Define Incompatibility
256  * @rep:scope public
257  * @rep:lifecycle active
258  * @rep:compatibility S
259  */
260 -- Procedure
261 --   Incompatibility
262 --
263 -- Purpose
264 --   Register a concurrent program incompatibility.
265 --
266 -- Arguments
267 --   program_short_name  - Short name of the first program. (e.g. FNDSCRMT)
268 --   application         - Application of the first program. (e.g. FND)
269 --   inc_prog_short_name - Short name of the incompatible program.
270 --   inc_prog_application- Application of the incompatible program.
271 --   scope               - 'Set' or 'Program Only'
272 --   inc_type            - Incompatibility type - (D)omain-specific or (G)lobal
273 --
274 PROCEDURE incompatibility(program_short_name       IN VARCHAR2,
275 			  application   	   IN VARCHAR2,
276 			  inc_prog_short_name  	   IN VARCHAR2,
277 			  inc_prog_application     IN VARCHAR2,
278                           scope                    IN VARCHAR2 DEFAULT 'Set',
279 			  inc_type                 IN VARCHAR2 DEFAULT 'D');
280 
281 
282 /*#
283  * Registers an executable with the concurrent processing system
284  * @param executable The name of the executable
285  * @param application The short name of executable's application
286  * @param description The description of the executable
287  * @param execution_method The type of program the executable uses
288  * @param execution_file_name The operating system name of the file
289  * @param subroutine_name Subroutine name. Used only by immediate programs.
290  * @param icon_name Icon name
291  * @param language_code language code for the name and description
292  * @return none
293  * @rep:displayname Register Executable
294  * @rep:scope public
295  * @rep:lifecycle active
296  * @rep:compatibility S
297  */
298 -- Procedure
299 --   EXECUTABLE
300 --
301 -- Purpose
302 --   Register a concurrent program executable.
303 --
304 -- Arguments
305 --   executable          - Name of executable.  (e.g. 'FNDSCRMT')
306 --   application         - Short name of executable's application.
307 --                        (e.g. 'FND')
308 --   short_name          - Short (non-translated) name of the executable.
309 --   description         - Optional description of the executable.
310 --   execution method    - 'FlexRpt', 'FlexSQL', 'Host', 'Immediate',
311 --                         'Oracle Reports', 'PL/SQL Stored Procedure',
312 --                         'Spawned', 'SQL*Loader', 'SQL*Plus', 'SQL*Report',
313 --                         'Request Set Stage Function',
314 --			   'Multi Language Function','Java Stored Procedure'
315 --                         'Shutdown Callback', 'Java Concurrent Program'
316 --   execution_file_name - Required for all but 'Immediate' programs.
317 --                         Cannot contain spaces or periods.
318 --   subroutine_name     - Used only for 'Immediate' programs.
322 --                         (e.g. 'US')
319 --                         Cannot contain spaces or periods.
320 --   icon_name           - For future web interfaces. Not yet supported.
321 --   language_code       - Language code for the name and description.
323 --   execution_file_path - Used only for 'Java Concurrent Program'
324 --   			   It is the package path for the class
325 --
326 PROCEDURE executable(executable            	     IN VARCHAR2,
327 	             application	     	     IN VARCHAR2,
328                      short_name                      IN VARCHAR2,
329 	             description                     IN VARCHAR2 DEFAULT NULL,
330 		     execution_method                IN VARCHAR2,
331 		     execution_file_name             IN VARCHAR2 DEFAULT NULL,
332 	             subroutine_name                 IN VARCHAR2 DEFAULT NULL,
333                      icon_name                       IN VARCHAR2 DEFAULT NULL,
334                      language_code                   IN VARCHAR2 DEFAULT 'US',
335 		     execution_file_path	     IN VARCHAR2 DEFAULT NULL);
336 
337 
338 -- Procedure
339 --   REQUEST_GROUP
340 --
341 -- Purpose
342 --   Registers a request group.
343 --
344 -- Arguments
345 --   request_group       - Name of request group.
346 --   application         - Name of group's application. (e.g. 'FND')
347 --   code                - Optional group code.
348 --   description         - Optional description of the set.
349 PROCEDURE request_group(request_group        	     IN VARCHAR2,
350 	        	 application	     	     IN VARCHAR2,
351 	        	 code 		     	     IN VARCHAR2 DEFAULT NULL,
352 	        	 description                 IN VARCHAR2 DEFAULT NULL);
353 
354 
355 
356 /*#
357  * Adds a concurrent program to an existing request group
358  * @param program_short_name The short name used as the developer name of the concurrent program
359  * @param program_application The application that owns the concurrent program
360  * @param request_group The request group to which to add the concurrent program
361  * @param group_application The application that owns the request group
362  * @rep:displayname Delete Request Group
363  * @rep:scope public
364  * @rep:lifecycle active
365  * @rep:compatibility S
366  */
367 -- Procedure
368 --   ADD_TO_GROUP
369 --
370 -- Purpose
371 --   Add a concurrent program to a request group.
372 --
373 -- Arguments
374 --   program_short_name  - Short name of the program. (e.g. FNDSCRMT)
375 --   program_application - Application of the program. (e.g. 'FND')
376 --   request_group       - Name of request group.
377 --   group_application   - Application of the request group.
378 --
379 PROCEDURE add_to_group(program_short_name            IN VARCHAR2,
380 	               program_application	     IN VARCHAR2,
381 	               request_group                 IN VARCHAR2,
382 		       group_application             IN VARCHAR2);
383 
384 /*#
385  * Deletes a concurrent program from an existing request group
386  * @param program_short_name The short name used as the developer name of the concurrent program
387  * @param program_application The application that owns the concurrent program
388  * @param request_group The request group from which to delete the concurrent program
389  * @param group_application The application that owns the request group
390  * @rep:displayname Remove From Request Group
391  * @rep:scope public
392  * @rep:lifecycle active
393  * @rep:compatibility S
394  */
395 -- Procedure
396 --   REMOVE_FROM_GROUP
397 --
398 -- Purpose
399 --   Remove a concurrent program to a request group.
400 --
401 -- Arguments
402 --   program_short_name  - Short name of the program. (e.g. FNDSCRMT)
403 --   program_application - Application of the program. (e.g. 'FND')
404 --   request_group       - Name of request group.
405 --   group_application   - Application of the request group.
406 --
407 PROCEDURE remove_from_group(program_short_name            IN VARCHAR2,
408 	                    program_application	          IN VARCHAR2,
409 	                    request_group                 IN VARCHAR2,
410 		            group_application             IN VARCHAR2);
411 
412 
413 /*#
414  * Deletes a concurrent program. All the references to the concurrent program are also deleted as well (cascaded).
415  * @param program_short_name The short name used as the developer name of the concurrent program
416  * @param application Short Name of the application that owns the concurrent program
417  * @rep:displayname Delete Program
418  * @rep:scope public
419  * @rep:lifecycle active
420  * @rep:compatibility S
421  */
422 -- Procedure
423 --   DELETE_PROGRAM
424 --
425 -- Purpose
426 --   Delete a concurrent program.  All references to the program are
427 --   also deleted.
428 --
429 -- Arguments
430 --   program_short_name  - Short name of the program. (e.g. FNDSCRMT)
431 --   application         - Application of the program. (e.g. 'FND')
432 --
433 PROCEDURE delete_program(program_short_name          IN VARCHAR2,
434 	                 application	     	     IN VARCHAR2);
435 
436 
437 /*#
438  * Deletes a parameter to a concurrent program
439  * @param program_short_name The short name used as the developer name of the concurrent program
440  * @param application The short name of the application that owns the concurrent program
444  * @rep:lifecycle active
441  * @param parameter The parameter to delete
442  * @rep:displayname Delete Parameter
443  * @rep:scope public
445  * @rep:compatibility S
446  */
447 -- Procedure
451 --   Delete a concurrent program parameter.
448 --   DELETE_PARAMETER
449 --
450 -- Purpose
452 --
453 -- Arguments
454 --   program_short_name  - Short name of the program. (e.g. FNDSCRMT)
455 --   application         - Application of the program. (e.g. 'FND')
456 --   parameter           - Parameter name.
457 PROCEDURE delete_parameter(program_short_name          IN VARCHAR2,
458 	                   application	     	       IN VARCHAR2,
459                            parameter                   IN VARCHAR2);
460 
461 
462 /*#
463  * Deletes a concurrent program executable
464  * @param executable_short_name The short name of the executable to delete
465  * @param application The short name of the executable's application
466  * @rep:displayname Delete Executable
467  * @rep:scope public
468  * @rep:lifecycle active
469  * @rep:compatibility S
470  */
471 -- Procedure
472 --   DELETE_EXECUTABLE
473 --
474 -- Purpose
475 --   Delete a concurrent program executable.  An executable that
476 --   is assigned to a concurrent program cannot be deleted.
477 --
478 -- Arguments
479 --   executable_short_name  - Short name of the executable. (e.g. FNDSCRMT)
480 --   application - Application of the executable. (e.g. 'FND')
481 --
482 PROCEDURE delete_executable(executable_short_name IN VARCHAR2,
483 	         	    application	     	  IN VARCHAR2);
484 
485 
486 /*#
487  * Deletes an existing request group
488  * @param request_group The short name of the request group to delete
489  * @param application The short name of the application that owns the concurrent program
490  * @rep:displayname Delete Request Group
491  * @rep:scope public
492  * @rep:lifecycle active
493  * @rep:compatibility S
494  */
495 -- Procedure
496 --   DELETE_GROUP
497 --
498 -- Purpose
499 --   Delete a request group and group units.
500 --
501 -- Arguments
502 --   group       - Name of the group. (e.g. FNDSCRMT)
503 --   application - Application of the executable. (e.g. 'FND')
504 --
505 PROCEDURE delete_group(request_group  IN VARCHAR2,
506 	               application    IN VARCHAR2);
507 
508 
509 /*#
510  * Deletes a concurrent program. All the references to the concurrent program are also deleted as well (cascaded)
511  * @param program_short_name The short name used as the developer name of the concurrent program
512  * @param application The short name of the application that owns the concurrent program
513  * @param inc_prog_short_name The short name of the incompatible program to delete
514  * @param inc_prog_application The application that owns the incompatible program
515  * @return none
516  * @rep:displayname Delete Incompatibility
517  * @rep:scope public
518  * @rep:lifecycle active
519  * @rep:compatibility S
520  */
521 -- Procedure
522 --   DELETE_INCOMPATIBILITY
523 --
524 -- Purpose
525 --   Delete a concurrent program incompatibility rule.
526 --
527 -- Arguments
528 --   program_short_name  - Short name of the first program. (e.g. FNDSCRMT)
529 --   application         - Application of the first program. (e.g. 'FND')
530 --   inc_prog_short_name - Short name of the incompatible program.
531 --   inc_prog_application- Application of the incompatible program.
532 --
533 PROCEDURE delete_incompatibility(program_short_name         IN VARCHAR2,
534 			  	application     	    IN VARCHAR2,
535 			  	inc_prog_short_name  	    IN VARCHAR2,
536 			  	inc_prog_application        IN VARCHAR2);
537 
538 /*#
539  * Enables or disables an existing concurrent program
540  * @param short_name The short name of the program
541  * @param application The application short name of the program
542  * @param  enabled Specify 'Y' to enable the program and 'N' to disable the program
543  * @rep:displayname Enable program
544  * @rep:scope public
548 -- Procedure
545  * @rep:lifecycle active
546  * @rep:compatibility S
547  */
549 --   enable_program
550 --
551 -- Purpose
552 --   enable or disable the concurrent program.
553 --
554 -- Arguments
555 --   program_short_name  - Short name of the program.
556 --   program_application - Application of the program.
557 --   enabled             - 'Y' or 'N' values.
558 --
559 PROCEDURE enable_program(short_name        IN VARCHAR2,
560                          application       IN VARCHAR2,
561                          enabled           IN VARCHAR2);
562 
563 /*#
564  * Checks if the specified concurrent program exists
565  * @param program The short name of the program
566  * @param application The application short name of the program
567  * @return Returns TRUE if the concurrent program exists
568  * @rep:displayname Program Exists
569  * @rep:scope public
570  * @rep:lifecycle active
571  * @rep:compatibility S
572  */
573 -- Function
574 --   PROGRAM_EXISTS
575 --
576 -- Purpose
577 --   Return TRUE if a concurrent program exists.
578 --
579 -- Arguments
580 --   program     - Short name of the program.
581 --   application - Application short name of the program.
582 --
583 FUNCTION program_exists(program 	IN VARCHAR2,
584 			application	IN VARCHAR2) RETURN BOOLEAN;
585 
586 
587 /*#
588  * Checks if the parameter provided is valid for the given program
589  * @param program_short_name The short name of the program
590  * @param application The application short name of the program
591  * @param parameter The name of the parameter
592  * @return Returns TRUE if the program parameter exists
593  * @rep:displayname Program Parameter Exists
594  * @rep:scope public
595  * @rep:lifecycle active
596  * @rep:compatibility S
597  */
598 -- Function
599 --   PARAMETER_EXISTS
600 --
601 -- Purpose
602 --   Return TRUE if a program parameter exists.
603 --
604 -- Arguments
605 --   program_short_name - Short name of program.
606 --   application        - Application short name of the program.
607 --   parameter          - Name of the parameter.
608 --
609 FUNCTION parameter_exists(program_short_name IN VARCHAR2,
610 			  application        IN VARCHAR2,
611 			  parameter	     IN VARCHAR2) RETURN BOOLEAN;
612 
613 /*#
614  * Checks if the specified program incompatibility exists
615  * @param program_short_name The short name of the first program
616  * @param application The application short name of the program
617  * @param inc_prog_short_name The short name of the incompatible program
618  * @param inc_prog_application The application short name of the incompatible program
619  * @return Returns TRUE if the program incompatibility exists
620  * @rep:displayname Program Incompatibility Exists
621  * @rep:scope public
622  * @rep:lifecycle active
623  * @rep:compatibility S
624  */
625 -- Function
626 --   INCOMPATIBILITY_EXISTS
627 --
628 -- Purpose
629 --   Return TRUE if a program incompatibility exists.
630 --
631 -- Arguments
632 --   program_short_name  - Short name of the first program.
633 --   application         - Application short name of the first program.
634 --   inc_prog_short_name - Short name of the incompatible program.
635 --   inc_prog_application- Application short name of the incompatible program.
636 --
637 FUNCTION incompatibility_exists(program_short_name         IN VARCHAR2,
638 			  	application     	    IN VARCHAR2,
639 			  	inc_prog_short_name  	    IN VARCHAR2,
640 			  	inc_prog_application        IN VARCHAR2)
641 				RETURN BOOLEAN;
642 
643 
644 /*#
645  * Checks if an executable of the give name exists
646  * @param executable_short_name The name of the executable
647  * @param application The application short name of the executable
651  * @rep:lifecycle active
648  * @return Returns TRUE if the program executable exists
649  * @rep:displayname Executable Exists
650  * @rep:scope public
652  * @rep:compatibility S
653  */
654 -- Function
655 --   EXECUTABLE_EXISTS
656 --
657 -- Purpose
658 --   Return TRUE if a program executable exists.
659 --
660 -- Arguments
661 --   executable_short_name - Name of the executable.
662 --   application - Application short name of the executable.
663 --
664 FUNCTION executable_exists(executable_short_name IN VARCHAR2,
665 	         	   application	     IN VARCHAR2) RETURN BOOLEAN;
666 
667 
668 /*#
669  * Checks if a Request Group of the given name exists in the specified application
670  * @param request_group The short name of the request group
671  * @param application The application short name of the Request Group
672  * @return Returns TRUE if the request group exists
673  * @rep:displayname Executable Exists
674  * @rep:scope public
675  * @rep:lifecycle active
676  * @rep:compatibility S
677  */
678 -- Function
679 --   REQUEST_GROUP_EXISTS
680 --
681 -- Purpose
682 --   Return TRUE if a request group exists.
683 --
684 -- Arguments
685 --   group       - Name of the group.
686 --   application - Application short name of the executable.
687 --
688 FUNCTION request_group_exists(request_group  IN VARCHAR2,
689 	                      application    IN VARCHAR2) RETURN BOOLEAN;
690 
691 
692 /*#
693  * Checks if the program, uniquely identified by the program name and the program application short name, belongs the given request group
694  * @param program_short_name The short name of the program
695  * @param program_application The application short name of the program
696  * @param request_group The name of the request group
697  * @param group_application The application short name of the request group
698  * @return Returns TRUE if the program exists in the request group
699  * @rep:displayname Program In Request Group
700  * @rep:scope public
701  * @rep:lifecycle active
702  * @rep:compatibility S
703  */
704 -- Function
705 --   PROGRAM_IN_GROUP
706 --
707 -- Purpose
708 --   Returns true if a program is in a request group.
709 --
710 -- Arguments
711 --   program_short_name  - Short name of the program.
712 --   program_application - Application of the program.
713 --   request_group       - Name of request group.
714 --   group_application   - Application of the request group.
715 --
716 FUNCTION program_in_group(program_short_name	IN VARCHAR2,
717 	                  program_application	IN VARCHAR2,
718 	                  request_group         IN VARCHAR2,
719 		          group_application     IN VARCHAR2) RETURN BOOLEAN;
720 
721 -- Procedure
722 --   ADD_APPLICATION_TO_GROUP
723 --
724 -- Purpose
725 --   Add a applicaiton to a request group.
726 --
727 -- Arguments
728 --   application_name - Application of the program.
729 --                         (e.g. 'Application Object Library')
730 --   request_group       - Name of request group.
731 --   group_application   - Application of the request group.
732 --
733 PROCEDURE add_application_to_group(
734 		       application_name 	     IN VARCHAR2,
735 	               request_group                 IN VARCHAR2,
736 		       group_application             IN VARCHAR2);
737 
738 -- Procedure
739 --   REMOVE_APPLICATION_FROM_GROUP
740 --
741 -- Purpose
742 --   Remove a application from a request group.
743 --
744 -- Arguments
745 --   application_name - Application of the program.
746 --                         (e.g. 'Application Object Library')
747 --   request_group       - Name of request group.
748 --   group_application   - Application of the request group.
749 --
750 PROCEDURE remove_application_from_group(
751 			    application_name	          IN VARCHAR2,
752 	                    request_group                 IN VARCHAR2,
753 		            group_application             IN VARCHAR2);
754 
755 -- Function
756 --   APPLICATION_IN_GROUP
757 --
758 -- Purpose
759 --   Returns true if a program is in a request group.
760 --
761 -- Arguments
762 --   program_application - Application of the program.
763 --   request_group       - Name of request group.
764 --   group_application   - Application of the request group.
765 --
766 FUNCTION application_in_group(application_name	IN VARCHAR2,
767 	                  request_group         IN VARCHAR2,
768 		          group_application     IN VARCHAR2) RETURN BOOLEAN;
769 
770 
771 END fnd_program;