DBA Data[Home] [Help]

PACKAGE: APPS.FND_PROGRAM

Source


1 PACKAGE fnd_program AUTHID CURRENT_USER AS
2 /* $Header: AFCPRCPS.pls 120.2.12020000.3 2012/11/07 22:03:29 ckclark 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  * @rep:displayname Define Concurrent Program
159  * @rep:scope public
160  * @rep:lifecycle active
161  * @rep:compatibility S
162  */
163 -- Procedure
164 --   REGISTER
165 --
166 -- Purpose
167 --   Register a concurrent program.
168 --
169 -- Arguments
170 --   program                - User-visible program name. e.g. 'Menu Report'
171 --   application            - Program application short name. e.g. 'FND'
172 --   enabled                - 'Y' or 'N'
173 --   short_name             - Internal program name.  e.g. 'FNDSCRMT'
174 --   description            - Description of program.
175 --   executable_short_name  - Name of the registered executable.
176 --   executable_application - Short name of the application under which the
177 --                            executable is registered.
178 --   execution_options      - Special options string for certain executables.
179 --   priority               - Program level priority. 1..99
180 --   save_output            - Save 'report' file? 'Y' or 'N'
181 --   print                  - 'Y' or 'N'
182 --   cols                   - Report columns (page width).
183 --   rows                   - Report rows (page length).
184 --   style                  - Print style name. (e.g. 'Landwide')
185 --   style_required         - Prevent style changes in SRS form. 'Y' or 'N'
186 --   printer                - Named printer cannot be changed in SRS form.
187 --   request_type           - User-defined request type
188 --   request_type_application - Application short name of request type.
189 --   use_in_srs             - Allow program to be submitted form SRS form
190 --                            'Y' or 'N'
191 --   allow_disabled_values  - Allow parameters based on outdated value sets
192 --                            to validate anyway.
193 --   run_alone              - Program must have the whole system to itself.
194 --                            'Y' or 'N'
195 --   output_type            - Type of output generated by the concurrent
196 --                            program.  'HTML', 'PS', 'TEXT', or 'PDF'
197 --   enable_trace           - Always enable SQL trace for this program?
198 --   restart                - Restart program if it was running during a
199 --                            general system failure.
200 --   nls_compliant          - Certifies NLS standards compliance.
201 --   icon_name              - For future web interfaces. Not yet supported.
202 --   language_code          - Language code for the name and description.
203 --                            e.g. 'US'
204 --   mls_function_short_name- Name of the registered mls function
205 --   mls_function_application- Name of the application under which mls function
206 --                              was registered
207 --   incrementor	    - Incrementor pl/sql function name
208 --   refresh_portlet        - Refresh Portlet based on the specified program
209 --                            outcome ('Never','On Success', 'Always',
210 --                                     'On Success or Warning')
211 --
212 PROCEDURE register(program  	                IN VARCHAR2,
213 		   application  		IN VARCHAR2,
214 		   enabled       		IN VARCHAR2,
215 		   short_name	  	        IN VARCHAR2,
216 		   description		 	IN VARCHAR2 DEFAULT NULL,
217 		   executable_short_name	IN VARCHAR2,
218 		   executable_application       IN VARCHAR2,
219 		   execution_options		IN VARCHAR2 DEFAULT NULL,
220 		   priority			IN NUMBER   DEFAULT NULL,
221 		   save_output			IN VARCHAR2 DEFAULT 'Y',
222 		   print			IN VARCHAR2 DEFAULT 'Y',
223 		   cols				IN NUMBER   DEFAULT NULL,
224 		   rows				IN NUMBER   DEFAULT NULL,
225 		   style 			IN VARCHAR2 DEFAULT NULL,
226 		   style_required		IN VARCHAR2 DEFAULT 'N',
227 		   printer			IN VARCHAR2 DEFAULT NULL,
228 		   request_type			IN VARCHAR2 DEFAULT NULL,
229 		   request_type_application     IN VARCHAR2 DEFAULT NULL,
230 		   use_in_srs			IN VARCHAR2 DEFAULT 'N',
231 		   allow_disabled_values	IN VARCHAR2 DEFAULT 'N',
232 		   run_alone			IN VARCHAR2 DEFAULT 'N',
233                    output_type                  IN VARCHAR2 DEFAULT 'TEXT',
234                    enable_trace                 IN VARCHAR2 DEFAULT 'N',
235                    restart                      IN VARCHAR2 DEFAULT 'Y',
236                    nls_compliant                IN VARCHAR2 DEFAULT 'Y',
237                    icon_name                    IN VARCHAR2 DEFAULT NULL,
238                    language_code                IN VARCHAR2 DEFAULT 'US',
239                    mls_function_short_name      IN VARCHAR2 DEFAULT NULL,
240                    mls_function_application     IN VARCHAR2 DEFAULT NULL,
241                    incrementor			IN VARCHAR2 DEFAULT NULL,
242                    refresh_portlet              IN VARCHAR2 DEFAULT NULL
243 		    );
244 
245 
246 /*#
247  * Registers an incompatibility for the specified concurrent program
248  * @param program_short_name The short name used as the developer name of the concurrent program
252  * @param scope Specify either 'Set' or 'Program Only'
249  * @param application The short name of the application that owns the concurrent program
250  * @param inc_prog_short_name The short name of the incompatible program
251  * @param inc_prog_application The application that owns the incompatible program
253  * @param inc_type Type of incompatibility  D - Domain-specific or G - Global
254  * @rep:displayname Define Incompatibility
255  * @rep:scope public
256  * @rep:lifecycle active
257  * @rep:compatibility S
258  */
259 -- Procedure
260 --   Incompatibility
261 --
262 -- Purpose
263 --   Register a concurrent program incompatibility.
264 --
265 -- Arguments
266 --   program_short_name  - Short name of the first program. (e.g. FNDSCRMT)
267 --   application         - Application of the first program. (e.g. FND)
268 --   inc_prog_short_name - Short name of the incompatible program.
269 --   inc_prog_application- Application of the incompatible program.
270 --   scope               - 'Set' or 'Program Only'
271 --   inc_type            - Incompatibility type - (D)omain-specific or (G)lobal
272 --
273 PROCEDURE incompatibility(program_short_name       IN VARCHAR2,
274 			  application   	   IN VARCHAR2,
275 			  inc_prog_short_name  	   IN VARCHAR2,
276 			  inc_prog_application     IN VARCHAR2,
277                           scope                    IN VARCHAR2 DEFAULT 'Set',
278 			  inc_type                 IN VARCHAR2 DEFAULT 'D');
279 
280 
281 /*#
282  * Registers an executable with the concurrent processing system
283  * @param executable The name of the executable
284  * @param application The short name of executable's application
285  * @param description The description of the executable
286  * @param execution_method The type of program the executable uses
287  * @param execution_file_name The operating system name of the file
288  * @param subroutine_name Subroutine name. Used only by immediate programs.
289  * @param icon_name Icon name
290  * @param language_code language code for the name and description
291  * @rep:displayname Register Executable
292  * @rep:scope public
293  * @rep:lifecycle active
294  * @rep:compatibility S
295  */
296 -- Procedure
297 --   EXECUTABLE
298 --
299 -- Purpose
300 --   Register a concurrent program executable.
301 --
302 -- Arguments
303 --   executable          - Name of executable.  (e.g. 'FNDSCRMT')
304 --   application         - Short name of executable's application.
305 --                        (e.g. 'FND')
306 --   short_name          - Short (non-translated) name of the executable.
307 --   description         - Optional description of the executable.
308 --   execution method    - 'FlexRpt', 'FlexSQL', 'Host', 'Immediate',
309 --                         'Oracle Reports', 'PL/SQL Stored Procedure',
310 --                         'Spawned', 'SQL*Loader', 'SQL*Plus', 'SQL*Report',
311 --                         'Request Set Stage Function',
312 --			   'Multi Language Function','Java Stored Procedure'
313 --                         'Shutdown Callback', 'Java Concurrent Program'
314 --   execution_file_name - Required for all but 'Immediate' programs.
315 --                         Cannot contain spaces or periods.
316 --   subroutine_name     - Used only for 'Immediate' programs.
317 --                         Cannot contain spaces or periods.
318 --   icon_name           - For future web interfaces. Not yet supported.
319 --   language_code       - Language code for the name and description.
320 --                         (e.g. 'US')
321 --   execution_file_path - Used only for 'Java Concurrent Program'
322 --   			   It is the package path for the class
323 --
324 PROCEDURE executable(executable            	     IN VARCHAR2,
325 	             application	     	     IN VARCHAR2,
326                      short_name                      IN VARCHAR2,
327 	             description                     IN VARCHAR2 DEFAULT NULL,
328 		     execution_method                IN VARCHAR2,
329 		     execution_file_name             IN VARCHAR2 DEFAULT NULL,
330 	             subroutine_name                 IN VARCHAR2 DEFAULT NULL,
331                      icon_name                       IN VARCHAR2 DEFAULT NULL,
332                      language_code                   IN VARCHAR2 DEFAULT 'US',
333 		     execution_file_path	     IN VARCHAR2 DEFAULT NULL);
334 
335 
336 -- Procedure
337 --   REQUEST_GROUP
338 --
339 -- Purpose
340 --   Registers a request group.
341 --
342 -- Arguments
343 --   request_group       - Name of request group.
344 --   application         - Name of group's application. (e.g. 'FND')
345 --   code                - Optional group code.
346 --   description         - Optional description of the set.
347 PROCEDURE request_group(request_group        	     IN VARCHAR2,
348 	        	 application	     	     IN VARCHAR2,
349 	        	 code 		     	     IN VARCHAR2 DEFAULT NULL,
350 	        	 description                 IN VARCHAR2 DEFAULT NULL);
351 
352 
353 
354 /*#
355  * Adds a concurrent program to an existing request group
356  * @param program_short_name The short name used as the developer name of the concurrent program
357  * @param program_application The application that owns the concurrent program
358  * @param request_group The request group to which to add the concurrent program
359  * @param group_application The application that owns the request group
360  * @rep:displayname Delete Request Group
361  * @rep:scope public
362  * @rep:lifecycle active
363  * @rep:compatibility S
364  */
365 -- Procedure
366 --   ADD_TO_GROUP
367 --
368 -- Purpose
369 --   Add a concurrent program to a request group.
370 --
371 -- Arguments
372 --   program_short_name  - Short name of the program. (e.g. FNDSCRMT)
373 --   program_application - Application of the program. (e.g. 'FND')
377 PROCEDURE add_to_group(program_short_name            IN VARCHAR2,
374 --   request_group       - Name of request group.
375 --   group_application   - Application of the request group.
376 --
378 	               program_application	     IN VARCHAR2,
379 	               request_group                 IN VARCHAR2,
380 		       group_application             IN VARCHAR2);
381 
382 /*#
383  * Deletes a concurrent program from an existing request group
384  * @param program_short_name The short name used as the developer name of the concurrent program
385  * @param program_application The application that owns the concurrent program
386  * @param request_group The request group from which to delete the concurrent program
387  * @param group_application The application that owns the request group
388  * @rep:displayname Remove From Request Group
389  * @rep:scope public
390  * @rep:lifecycle active
391  * @rep:compatibility S
392  */
393 -- Procedure
394 --   REMOVE_FROM_GROUP
395 --
396 -- Purpose
397 --   Remove a concurrent program to a request group.
398 --
399 -- Arguments
400 --   program_short_name  - Short name of the program. (e.g. FNDSCRMT)
401 --   program_application - Application of the program. (e.g. 'FND')
402 --   request_group       - Name of request group.
403 --   group_application   - Application of the request group.
404 --
405 PROCEDURE remove_from_group(program_short_name            IN VARCHAR2,
406 	                    program_application	          IN VARCHAR2,
407 	                    request_group                 IN VARCHAR2,
408 		            group_application             IN VARCHAR2);
409 
410 
411 /*#
412  * Deletes a concurrent program. All the references to the concurrent program are also deleted as well (cascaded).
413  * @param program_short_name The short name used as the developer name of the concurrent program
414  * @param application Short Name of the application that owns the concurrent program
415  * @rep:displayname Delete Program
416  * @rep:scope public
417  * @rep:lifecycle active
418  * @rep:compatibility S
419  */
420 -- Procedure
421 --   DELETE_PROGRAM
422 --
423 -- Purpose
424 --   Delete a concurrent program.  All references to the program are
425 --   also deleted.
426 --
427 -- Arguments
428 --   program_short_name  - Short name of the program. (e.g. FNDSCRMT)
429 --   application         - Application of the program. (e.g. 'FND')
430 --
431 PROCEDURE delete_program(program_short_name          IN VARCHAR2,
432 	                 application	     	     IN VARCHAR2);
433 
434 
435 /*#
436  * Deletes a parameter to a concurrent program
437  * @param program_short_name The short name used as the developer name of the concurrent program
438  * @param application The short name of the application that owns the concurrent program
439  * @param parameter The parameter to delete
440  * @rep:displayname Delete Parameter
441  * @rep:scope public
442  * @rep:lifecycle active
443  * @rep:compatibility S
444  */
445 -- Procedure
446 --   DELETE_PARAMETER
447 --
448 -- Purpose
449 --   Delete a concurrent program parameter.
450 --
451 -- Arguments
452 --   program_short_name  - Short name of the program. (e.g. FNDSCRMT)
453 --   application         - Application of the program. (e.g. 'FND')
454 --   parameter           - Parameter name.
455 PROCEDURE delete_parameter(program_short_name          IN VARCHAR2,
456 	                   application	     	       IN VARCHAR2,
457                            parameter                   IN VARCHAR2);
458 
459 
460 /*#
461  * Deletes a concurrent program executable
462  * @param executable_short_name The short name of the executable to delete
463  * @param application The short name of the executable's application
464  * @rep:displayname Delete Executable
465  * @rep:scope public
466  * @rep:lifecycle active
467  * @rep:compatibility S
468  */
469 -- Procedure
470 --   DELETE_EXECUTABLE
471 --
472 -- Purpose
473 --   Delete a concurrent program executable.  An executable that
474 --   is assigned to a concurrent program cannot be deleted.
475 --
476 -- Arguments
477 --   executable_short_name  - Short name of the executable. (e.g. FNDSCRMT)
478 --   application - Application of the executable. (e.g. 'FND')
479 --
480 PROCEDURE delete_executable(executable_short_name IN VARCHAR2,
481 	         	    application	     	  IN VARCHAR2);
482 
483 
484 /*#
485  * Deletes an existing request group
486  * @param request_group The short name of the request group to delete
487  * @param application The short name of the application that owns the concurrent program
488  * @rep:displayname Delete Request Group
489  * @rep:scope public
490  * @rep:lifecycle active
491  * @rep:compatibility S
492  */
493 -- Procedure
494 --   DELETE_GROUP
495 --
496 -- Purpose
497 --   Delete a request group and group units.
498 --
499 -- Arguments
500 --   group       - Name of the group. (e.g. FNDSCRMT)
501 --   application - Application of the executable. (e.g. 'FND')
502 --
503 PROCEDURE delete_group(request_group  IN VARCHAR2,
504 	               application    IN VARCHAR2);
505 
506 
507 /*#
508  * Deletes a concurrent program. All the references to the concurrent program are also deleted as well (cascaded)
509  * @param program_short_name The short name used as the developer name of the concurrent program
510  * @param application The short name of the application that owns the concurrent program
511  * @param inc_prog_short_name The short name of the incompatible program to delete
512  * @param inc_prog_application The application that owns the incompatible program
513  * @rep:displayname Delete Incompatibility
514  * @rep:scope public
515  * @rep:lifecycle active
519 --   DELETE_INCOMPATIBILITY
516  * @rep:compatibility S
517  */
518 -- Procedure
520 --
521 -- Purpose
522 --   Delete a concurrent program incompatibility rule.
523 --
524 -- Arguments
525 --   program_short_name  - Short name of the first program. (e.g. FNDSCRMT)
526 --   application         - Application of the first program. (e.g. 'FND')
527 --   inc_prog_short_name - Short name of the incompatible program.
528 --   inc_prog_application- Application of the incompatible program.
529 --
530 PROCEDURE delete_incompatibility(program_short_name         IN VARCHAR2,
531 			  	application     	    IN VARCHAR2,
532 			  	inc_prog_short_name  	    IN VARCHAR2,
533 			  	inc_prog_application        IN VARCHAR2);
534 
535 /*#
536  * Enables or disables an existing concurrent program
537  * @param short_name The short name of the program
538  * @param application The application short name of the program
539  * @param  enabled Specify 'Y' to enable the program and 'N' to disable the program
540  * @rep:displayname Enable program
541  * @rep:scope public
542  * @rep:lifecycle active
543  * @rep:compatibility S
544  */
545 -- Procedure
546 --   enable_program
547 --
548 -- Purpose
549 --   enable or disable the concurrent program.
550 --
551 -- Arguments
552 --   program_short_name  - Short name of the program.
553 --   program_application - Application of the program.
554 --   enabled             - 'Y' or 'N' values.
555 --
556 PROCEDURE enable_program(short_name        IN VARCHAR2,
557                          application       IN VARCHAR2,
558                          enabled           IN VARCHAR2);
559 
560 /*#
561  * Checks if the specified concurrent program exists
562  * @param program The short name of the program
563  * @param application The application short name of the program
564  * @return Returns TRUE if the concurrent program exists
565  * @rep:displayname Program Exists
566  * @rep:scope public
567  * @rep:lifecycle active
568  * @rep:compatibility S
569  */
570 -- Function
571 --   PROGRAM_EXISTS
572 --
573 -- Purpose
574 --   Return TRUE if a concurrent program exists.
575 --
576 -- Arguments
577 --   program     - Short name of the program.
578 --   application - Application short name of the program.
579 --
580 FUNCTION program_exists(program 	IN VARCHAR2,
581 			application	IN VARCHAR2) RETURN BOOLEAN;
582 
583 
584 /*#
585  * Checks if the parameter provided is valid for the given program
586  * @param program_short_name The short name of the program
587  * @param application The application short name of the program
588  * @param parameter The name of the parameter
589  * @return Returns TRUE if the program parameter exists
590  * @rep:displayname Program Parameter Exists
591  * @rep:scope public
592  * @rep:lifecycle active
593  * @rep:compatibility S
594  */
595 -- Function
596 --   PARAMETER_EXISTS
597 --
598 -- Purpose
599 --   Return TRUE if a program parameter exists.
600 --
601 -- Arguments
602 --   program_short_name - Short name of program.
603 --   application        - Application short name of the program.
604 --   parameter          - Name of the parameter.
605 --
606 FUNCTION parameter_exists(program_short_name IN VARCHAR2,
607 			  application        IN VARCHAR2,
608 			  parameter	     IN VARCHAR2) RETURN BOOLEAN;
609 
610 /*#
611  * Checks if the specified program incompatibility exists
612  * @param program_short_name The short name of the first program
613  * @param application The application short name of the program
614  * @param inc_prog_short_name The short name of the incompatible program
615  * @param inc_prog_application The application short name of the incompatible program
616  * @return Returns TRUE if the program incompatibility exists
617  * @rep:displayname Program Incompatibility Exists
618  * @rep:scope public
619  * @rep:lifecycle active
620  * @rep:compatibility S
621  */
622 -- Function
623 --   INCOMPATIBILITY_EXISTS
624 --
625 -- Purpose
626 --   Return TRUE if a program incompatibility exists.
627 --
628 -- Arguments
629 --   program_short_name  - Short name of the first program.
630 --   application         - Application short name of the first program.
631 --   inc_prog_short_name - Short name of the incompatible program.
632 --   inc_prog_application- Application short name of the incompatible program.
633 --
634 FUNCTION incompatibility_exists(program_short_name         IN VARCHAR2,
635 			  	application     	    IN VARCHAR2,
636 			  	inc_prog_short_name  	    IN VARCHAR2,
637 			  	inc_prog_application        IN VARCHAR2)
638 				RETURN BOOLEAN;
639 
640 
641 /*#
642  * Checks if an executable of the give name exists
643  * @param executable_short_name The name of the executable
644  * @param application The application short name of the executable
645  * @return Returns TRUE if the program executable exists
646  * @rep:displayname Executable Exists
647  * @rep:scope public
648  * @rep:lifecycle active
649  * @rep:compatibility S
650  */
651 -- Function
652 --   EXECUTABLE_EXISTS
653 --
654 -- Purpose
655 --   Return TRUE if a program executable exists.
656 --
657 -- Arguments
658 --   executable_short_name - Name of the executable.
659 --   application - Application short name of the executable.
660 --
661 FUNCTION executable_exists(executable_short_name IN VARCHAR2,
662 	         	   application	     IN VARCHAR2) RETURN BOOLEAN;
663 
664 
665 /*#
666  * Checks if a Request Group of the given name exists in the specified application
667  * @param request_group The short name of the request group
668  * @param application The application short name of the Request Group
669  * @return Returns TRUE if the request group exists
670  * @rep:displayname Executable Exists
671  * @rep:scope public
672  * @rep:lifecycle active
673  * @rep:compatibility S
674  */
675 -- Function
676 --   REQUEST_GROUP_EXISTS
677 --
678 -- Purpose
679 --   Return TRUE if a request group exists.
680 --
681 -- Arguments
682 --   group       - Name of the group.
683 --   application - Application short name of the executable.
684 --
685 FUNCTION request_group_exists(request_group  IN VARCHAR2,
686 	                      application    IN VARCHAR2) RETURN BOOLEAN;
687 
688 
689 /*#
690  * Checks if the program, uniquely identified by the program name and the program application short name, belongs the given request group
691  * @param program_short_name The short name of the program
692  * @param program_application The application short name of the program
693  * @param request_group The name of the request group
694  * @param group_application The application short name of the request group
695  * @return Returns TRUE if the program exists in the request group
696  * @rep:displayname Program In Request Group
697  * @rep:scope public
698  * @rep:lifecycle active
699  * @rep:compatibility S
700  */
701 -- Function
702 --   PROGRAM_IN_GROUP
703 --
704 -- Purpose
705 --   Returns true if a program is in a request group.
706 --
707 -- Arguments
708 --   program_short_name  - Short name of the program.
709 --   program_application - Application of the program.
710 --   request_group       - Name of request group.
711 --   group_application   - Application of the request group.
712 --
713 FUNCTION program_in_group(program_short_name	IN VARCHAR2,
714 	                  program_application	IN VARCHAR2,
715 	                  request_group         IN VARCHAR2,
716 		          group_application     IN VARCHAR2) RETURN BOOLEAN;
717 
718 -- Procedure
719 --   ADD_APPLICATION_TO_GROUP
720 --
721 -- Purpose
722 --   Add a applicaiton to a request group.
723 --
724 -- Arguments
725 --   application_name - Application of the program.
726 --                         (e.g. 'Application Object Library')
727 --   request_group       - Name of request group.
728 --   group_application   - Application of the request group.
729 --
730 PROCEDURE add_application_to_group(
731 		       application_name 	     IN VARCHAR2,
732 	               request_group                 IN VARCHAR2,
733 		       group_application             IN VARCHAR2);
734 
735 -- Procedure
736 --   REMOVE_APPLICATION_FROM_GROUP
737 --
738 -- Purpose
739 --   Remove a application from a request group.
740 --
741 -- Arguments
742 --   application_name - Application of the program.
743 --                         (e.g. 'Application Object Library')
744 --   request_group       - Name of request group.
745 --   group_application   - Application of the request group.
746 --
747 PROCEDURE remove_application_from_group(
748 			    application_name	          IN VARCHAR2,
749 	                    request_group                 IN VARCHAR2,
750 		            group_application             IN VARCHAR2);
751 
752 -- Function
753 --   APPLICATION_IN_GROUP
754 --
755 -- Purpose
756 --   Returns true if a program is in a request group.
757 --
758 -- Arguments
759 --   program_application - Application of the program.
760 --   request_group       - Name of request group.
761 --   group_application   - Application of the request group.
762 --
763 FUNCTION application_in_group(application_name	IN VARCHAR2,
764 	                  request_group         IN VARCHAR2,
765 		          group_application     IN VARCHAR2) RETURN BOOLEAN;
766 
767 /*#
768  * Checks if the program, uniquely identified by the program name and the program application short name, has a valid mls function
769  * @param program_short_name The short name of the program
770  * @param program_application The application short name of the program
771  * @return Returns TRUE if the program has a valid mls function
772  * @rep:displayname Program Is MLS
773  * @rep:scope public
774  * @rep:lifecycle active
775  * @rep:compatibility S
776  */
777 -- Function
778 --   PROGRAM_IS_MLS
779 --
780 -- Purpose
781 --   Returns NTRUE (1) if the program, uniquely identified by the program name
782 --   and the program application short name, has a valid mls function
783 --   Otherwise, return NFALSE (0)
784 --
785 -- Arguments
786 --   program_short_name  - Short name of the program.
787 --   program_application - Application short name of the program.
788 --
789 FUNCTION program_is_mls(program_short_name	IN VARCHAR2,
790 	                  program_application	IN VARCHAR2) RETURN NUMBER;
791 
792 END fnd_program;