DBA Data[Home] [Help]

PACKAGE: APPS.OZF_FUND_ALLOCATIONS_PVT

Source


1 PACKAGE OZF_FUND_ALLOCATIONS_PVT AUTHID CURRENT_USER AS
2 /* $Header: ozfvalcs.pls 115.5 2004/01/28 14:39:31 kdass noship $*/
3 
4 g_max_end_level CONSTANT NUMBER := 99999;
5 /*  due to round up problems, sometimes validation fails although the difference is tiny tiny.
6     so any difference less than g_max_ignorable_amount is ignored
7  */
8 g_max_ignorable_amount   CONSTANT  NUMBER := 0.0000000000000000000000000000001;
9 
10 TYPE fact_table_type IS TABLE OF ozf_actmetricfact_Pvt.act_metric_fact_rec_type INDEX BY BINARY_INTEGER;
11 TYPE factid_type IS RECORD (
12      fact_id            NUMBER,
13      fact_obj_ver       NUMBER,
14      approve_recommend  VARCHAR2(1)      -- Y: approve recommended amount, N: approve request amount
15 );
16 TYPE factid_table_type IS TABLE OF factid_type INDEX BY BINARY_INTEGER;
17 
18 ---------------------------------------------------------------------
19 -- FUNCTION
20 --   get_max_end_level
21 --
22 -- PURPOSE
23 --    returns g_max_end_level
24 --    called by BudgetTopbotAdmEO.java
25 -- HISTORY
26 --    01/28/04  kdass  Created.
27 -- PARAMETERS
28 --
29 ---------------------------------------------------------------------
30 FUNCTION get_max_end_level RETURN NUMBER;
31 
32 ---------------------------------------------------------------------
33 -- PROCEDURE
34 --   get_prior_year_sales
35 --
36 -- PURPOSE
37 --    public api to get prior year's total sales amount for one territory node
38 --    called by compute_worksheet and UI worksheet page
39 --
40 -- HISTORY
41 --    10/16/02  yzhao  Created.
42 --    14/07/03  nkumar  Modified.
43 --
44 -- PARAMETERS
45 ---------------------------------------------------------------------
46 
47 PROCEDURE get_prior_year_sales(
48     p_hierarchy_id       IN       NUMBER
49   , p_node_id            IN       NUMBER
50   , p_basis_year         IN       NUMBER
51   , p_alloc_id           IN       NUMBER
52   , x_self_amount        OUT NOCOPY      NUMBER
53   , x_rollup_amount      OUT NOCOPY      NUMBER
54   , x_return_status      OUT NOCOPY      VARCHAR2
55   , x_msg_count          OUT NOCOPY      NUMBER
56   , x_msg_data           OUT NOCOPY      VARCHAR2
57 );
58 
59 
60 ---------------------------------------------------------------------
61 -- PROCEDURE
62 ---   create_alloc_hierarchy
63 --
64 -- PURPOSE
65 --    Create allocation worksheet hierarchy.
66 --
67 -- HISTORY
68 --    05/20/02  yzhao  Created.
69 --
70 -- PARAMETERS
71 ---------------------------------------------------------------------
72 PROCEDURE create_alloc_hierarchy(
73     p_api_version        IN       NUMBER   DEFAULT 1.0
74   , p_init_msg_list      IN       VARCHAR2 DEFAULT fnd_api.g_false
75   , p_commit             IN       VARCHAR2 DEFAULT fnd_api.g_false
76   , p_alloc_id           IN       NUMBER
77   , x_return_status      OUT NOCOPY      VARCHAR2
78   , x_msg_count          OUT NOCOPY      NUMBER
79   , x_msg_data           OUT NOCOPY      VARCHAR2
80 );
81 
82 
83 ----------------------------------------------------------------------------------------
84 -- This Procedure will publish allocation worksheet                                   --
85 --   create draft or active child funds for the allocation.                           --
86 --   child funds inherit parent funds's market and product eligibity if it's active   --
87 --   send notification to child budget owner                                          --
88 --   set published flag for the allocation                                            --
89 ---------------------------------PARAMETERS---------------------------------------------
90 -- p_alloc_id    allocation id in ozf_act_metrics_all table                          --
91 -- p_alloc_status   allocation status in ozf_act_metric_facts_all table
92 ----------------------------------------------------------------------------------------
93 Procedure publish_allocation( p_api_version         IN     NUMBER    DEFAULT 1.0
94                             , p_init_msg_list       IN     VARCHAR2  DEFAULT FND_API.G_FALSE
95                             , p_commit              IN     VARCHAR2  DEFAULT FND_API.G_FALSE
96                             , p_validation_level    IN     NUMBER    DEFAULT FND_API.g_valid_level_full
97                             , p_alloc_id            IN     NUMBER
98                             , p_alloc_status        IN     VARCHAR2
99                             , p_alloc_obj_ver       IN     NUMBER
100                             , x_return_status       OUT NOCOPY    VARCHAR2
101                             , x_msg_count           OUT NOCOPY    NUMBER
102                             , x_msg_data            OUT NOCOPY    VARCHAR2
103 );
104 
105 
106 ----------------------------------------------------------------------------------------
107 -- This Procedure will validate an allocation worksheet                               --
108 -- For each node:                                                                     --
109 --      Sum(this node and its sibling's allocation amount) <= parent allocation amount - holdback amount
110 --      Sum(child allocation amount) <= this node's allocation amount - holdback amount
111 ----------------------------------------------------------------------------------------
112 ---------------------------------PARAMETERS---------------------------------------------
113 -- p_alloc_id    allocation id in ozf_act_metrics_all table                           --
114 ----------------------------------------------------------------------------------------
115 Procedure validate_worksheet(p_api_version         IN     NUMBER    DEFAULT 1.0,
116                              p_init_msg_list       IN     VARCHAR2  DEFAULT FND_API.G_FALSE,
117                              p_commit              IN     VARCHAR2  DEFAULT FND_API.G_FALSE,
118                              p_validation_level    IN     NUMBER    DEFAULT FND_API.g_valid_level_full,
119                              p_alloc_id            IN     NUMBER,
120                              x_return_status       OUT NOCOPY    VARCHAR2,
121                              x_msg_count           OUT NOCOPY    NUMBER,
122                              x_msg_data            OUT NOCOPY    VARCHAR2
123 );
124 
125 
126 ----------------------------------------------------------------------------------------
127 -- This Procedure will update an allocation worksheet                                 --
128 --   Public api called by worksheet update and publish button                         --
129 --   Only called by allocation in 'NEW' OR 'PLANNED' status                           --
130 --   It first updates fact amount according to the input                              --
131 --   then if 'cascade' flag is set, cascade changes down the whole hierarchy          --
132 --   it also update the corresponding allocation budget's original and holdback amount--
133 --   if base percentage is null in table, set base percentage
134 --   cascade is allowed for recommended amount change only                            --
135 ----------------------------------------------------------------------------------------
136 ---------------------------------PARAMETERS---------------------------------------------
137 -- p_alloc_id    allocation id in ozf_act_metrics_all table                           --
138 -- p_fact_table  table of fact records to be changed                                  --
139 --               required fields are: activity_metric_fact_id, object_version_number, --
140 --                                    recommend_total_amount, recommend_hb_amount,    --
141 --                                    node_id, level_depth                            --
142 ----------------------------------------------------------------------------------------
143 Procedure update_worksheet_amount(p_api_version         IN     NUMBER    DEFAULT 1.0,
144                            p_init_msg_list       IN     VARCHAR2  DEFAULT FND_API.G_FALSE,
145                            p_commit              IN     VARCHAR2  DEFAULT FND_API.G_FALSE,
146                            p_validation_level    IN     NUMBER    DEFAULT FND_API.g_valid_level_full,
147                            p_alloc_id            IN     NUMBER,
148                            p_alloc_obj_ver       IN     NUMBER,
149                            p_cascade_flag        IN     VARCHAR2  DEFAULT 'N',
150                            p_fact_table          IN     fact_table_type,
151                            x_return_status       OUT NOCOPY    VARCHAR2,
152                            x_msg_count           OUT NOCOPY    NUMBER,
153                            x_msg_data            OUT NOCOPY    VARCHAR2
154 );
155 
156 
157 ---------------------------------------------------------------------
158 -- PROCEDURE
159 ---   update_alloc_status
160 --
161 -- PURPOSE
162 --    Update allocation status
163 --    public api called by worksheet page update button
164 --
165 -- HISTORY
166 --    09/23/02  yzhao  Created.
167 --
168 -- PARAMETERS
169 ---------------------------------------------------------------------
170 PROCEDURE update_alloc_status(
171     p_api_version        IN       NUMBER    DEFAULT 1.0
172   , p_init_msg_list      IN       VARCHAR2  DEFAULT FND_API.G_FALSE
173   , p_commit             IN       VARCHAR2  DEFAULT FND_API.G_FALSE
174   , p_validation_level   IN       NUMBER    DEFAULT FND_API.g_valid_level_full
175   , p_alloc_id           IN       NUMBER
176   , p_alloc_status       IN       VARCHAR2
177   , p_alloc_obj_ver      IN       NUMBER
178   , x_return_status      OUT NOCOPY      VARCHAR2
179   , x_msg_count          OUT NOCOPY      NUMBER
180   , x_msg_data           OUT NOCOPY      VARCHAR2
181 );
182 
183 
184 ----------------------------------------------------------------------------------------
185 -- This Procedure will approve a published allocation called by bottom-up budgeting   --
186 --   the approver's fact record must be active to approve its children                --
187 --   approve all levels below, or next level only                                     --
188 --   create budget transfer record                                                    --
189 --   update child node status as 'ACTIVE'                                             --
190 --   send notification to child budget owner                                          --
191 ----------------------------------------------------------------------------------------
192 ---------------------------------PARAMETERS---------------------------------------------
193 -- p_approver_fact_id  the approver's fact id. null means approver is the root budget --
194 -- p_approve_all_flag  Y - approve all levels below; N - approve the next level only  --
195 -- p_factid_table      children fact ids to be approved                               --
196 ----------------------------------------------------------------------------------------
197 Procedure approve_levels(p_api_version         IN     NUMBER     DEFAULT 1.0,
198                          p_init_msg_list       IN     VARCHAR2   DEFAULT FND_API.G_FALSE,
199                          p_commit              IN     VARCHAR2   DEFAULT FND_API.G_FALSE,
200                          p_validation_level    IN     NUMBER     DEFAULT FND_API.g_valid_level_full,
201                          p_approver_factid     IN     NUMBER,
202                          p_approve_all_flag    IN     VARCHAR2,
203                          p_factid_table        IN     factid_table_type,
204                          x_return_status       OUT NOCOPY    VARCHAR2,
205                          x_msg_count           OUT NOCOPY    NUMBER,
206                          x_msg_data            OUT NOCOPY    VARCHAR2
207 );
208 
209 
210 ----------------------------------------------------------------------------------------
211 -- This Procedure will submit user's requested total and holdback amount              --
212 --   only allocation in 'PLANNED' or 'REJECTED' status can user submit request        --
213 --   update this node allocation status as 'SUBMITTED'                                --
214 --   send notification to parent budget owner                                         --
215 --   record justificaiton note if any                                                 --
216 ----------------------------------------------------------------------------------------
217 ---------------------------------PARAMETERS---------------------------------------------
218 -- p_fact_id         fact id                                                          --
219 -- p_fact_obj_ver    fact object version number                                       --
220 -- p_note            justification note if any                                        --
221 ----------------------------------------------------------------------------------------
222 Procedure submit_request(p_api_version         IN     NUMBER    DEFAULT 1.0,
223                          p_init_msg_list       IN     VARCHAR2  DEFAULT FND_API.G_FALSE,
224                          p_commit              IN     VARCHAR2  DEFAULT FND_API.G_FALSE,
225                          p_validation_level    IN     NUMBER    DEFAULT FND_API.g_valid_level_full,
226                          p_fact_id             IN     NUMBER,
227                          p_fact_obj_ver        IN     NUMBER,
228                          p_note                IN     VARCHAR2  DEFAULT NULL,
229                          x_return_status       OUT NOCOPY    VARCHAR2,
230                          x_msg_count           OUT NOCOPY    NUMBER,
231                          x_msg_data            OUT NOCOPY    VARCHAR2
232 );
233 
234 
235 ----------------------------------------------------------------------------------------
236 -- This Procedure will reject user's requested total and holdback amount              --
237 --   only allocation in 'PLANNED' or 'ACTIVE' status can user reject request          --
238 --   called by top or bottom level user                                               --
239 --   update the child node allocation status as 'REJECTED'                            --
240 --   send notification to child budget owners                                         --
241 ----------------------------------------------------------------------------------------
242 ---------------------------------PARAMETERS---------------------------------------------
243 -- p_rejector_factid    rejector's fact id                                            --
244 -- p_factid_table       children fact ids to be rejected                              --
245 ----------------------------------------------------------------------------------------
246 Procedure reject_request(p_api_version         IN     NUMBER    DEFAULT 1.0,
247                          p_init_msg_list       IN     VARCHAR2  DEFAULT FND_API.G_FALSE,
248                          p_commit              IN     VARCHAR2  DEFAULT FND_API.G_FALSE,
249                          p_validation_level    IN     NUMBER    DEFAULT FND_API.g_valid_level_full,
250                          p_rejector_factid     IN     NUMBER,
251                          p_factid_table        IN     factid_table_type,
252                          x_return_status       OUT NOCOPY    VARCHAR2,
253                          x_msg_count           OUT NOCOPY    NUMBER,
254                          x_msg_data            OUT NOCOPY    VARCHAR2
255 );
256 
257 END OZF_Fund_allocations_Pvt;