1 package fnd_ums_analysis_engine as
2 /* $Header: AFUMSAES.pls 120.1 2005/07/02 04:20:42 appldev noship $ */
3
4 -- modes:
5
6 -- normal (the default)
7
8 MODE_NORMAL constant varchar2(30) := 'NORMAL';
9
10 -- debug mode producing a more extensive report
11
12 MODE_DEBUG constant varchar2(30) := 'DEBUG';
13
14 -- dependency analysis status codes:
15
16 -- all patches already (implicitly or explicitly) applied
17
18 STATUS_APPLIED constant varchar2(30) := 'APPLIED';
19
20 -- at least one patch is not (implicitly or explicitly) applied and
21 -- no prereqs are missing
22
23 STATUS_READY constant varchar2(30) := 'READY';
24
25 -- at least one top-level bugfix doesn't have data in the UMS repository
26
27 STATUS_NO_INFORMATION constant varchar2(30) := 'NO_INFORMATION';
28
29 -- at least one prereq is missing
30
31 STATUS_MISSING constant varchar2(30) := 'MISSING';
32
33 -- at least one patch in the list of patches has been obsoleted
34
35 STATUS_OBSOLETED constant varchar2(30) := 'OBSOLETED';
36
37 -- data or internal error
38
39 STATUS_ERROR constant varchar2(30) := 'ERROR';
40
41 --------------------------------------------------------------------------------
42 -- Analyzes the dependency information of merged bugs to find out if there are
43 -- any prereqs that need to be applied along with the current merged bugs.
44 -- The resulting list of bugs should be merged with the current merged bugs.
45 --
46 -- Following algorithm is used to derive x_status:
47 --
48 -- If there is an error then ERROR,
49 -- else if merge patch contains an obsolete patch then OBSOLETED,
50 -- else if there is a missing prereq then MISSING,
51 -- else if merge patch contains an un-applied non-UMS bugfix then NO_INFORMATION,
52 -- else if merge patch contains an un-applied patch then READY
53 -- else (all merged patches are applied) then APPLIED.
54 --
55 -- p_appl_top_id - the application top id
56 -- p_release_name - the release name (e.g., '11i')
57 -- p_bug_numbers - the comma-separated list of bug numbers and language codes
58 -- (e.g., '1234567:US,2345678:US,2345678:TR,3456789:NLS_F'
59 -- from which to begin the analysis. The language code for an NLS bugfix is
60 -- prefixed with 'NLS_' keyword.
61 -- p_mode - the mode (e.g., MODE_NORMAL, MODE_DEBUG)
62 -- x_status - the status
63 --------------------------------------------------------------------------------
64 procedure analyze_dependencies(p_appl_top_id in number,
65 p_release_name in varchar2,
66 p_bug_numbers in varchar2,
67 p_mode in varchar2,
68 x_status out nocopy varchar2);
69
70 --------------------------------------------------------------------------------
71 -- Returns a comma-separated list of the missing prereqs.
72 -- analyze_dependencies must be called first.
73 -- e.g.: '12345,12346,12347'
74 --
75 -- return: a comma-separated list of the missing prereqs.
76 -- exception: if analyze_dependencies is not called,
77 -- or it returned STATUS_OBSOLETED or STATUS_ERROR.
78 --------------------------------------------------------------------------------
79 function get_prereq_list return varchar2;
80
81 --------------------------------------------------------------------------------
82 -- Gets the number of pieces of the report.
83 --
84 -- return: the number of pieces of the report
85 --------------------------------------------------------------------------------
86 function get_report_count return number;
87
88 --------------------------------------------------------------------------------
89 -- Gets the specified piece of the report.
90 --
91 -- i - the one-based index of the piece to get
92 --
93 -- return: the specified piece of the report
94 --------------------------------------------------------------------------------
95 function get_report(i in number) return varchar2;
96
97 end fnd_ums_analysis_engine;