DBA Data[Home] [Help]

PACKAGE: APPS.PA_PLAN_REVENUE

Source


1 PACKAGE PA_PLAN_REVENUE AUTHID CURRENT_USER as
2 /* $Header: PAXPLRTS.pls 120.2 2012/01/03 14:55:15 a5sharma ship $ */
3 
4 --
5 -- Procedure            : Get_Planning_Rates
6 -- Purpose              : This procedure will calculate the  bill rate and raw revenue from one of
7 --                        the given criteria's on the basis of passed parameters for the Planning Transaction
8 -- Parameters           :
9 
10 
11 
12 PROCEDURE Get_planning_Rates (
13 	p_project_id                   	 IN     NUMBER,
14 	p_task_id                        IN     NUMBER      DEFAULT NULL,
15         p_top_task_id                    IN     NUMBER      DEFAULT NULL, /* for costing top task Id */
16 	p_person_id                    	 IN     NUMBER,
17 	p_job_id                         IN     NUMBER,			  /* for costing p_proj_cost_job_id */
18 	p_bill_job_grp_id             	 IN     NUMBER      DEFAULT NULL,
19 	p_resource_class		 IN     VARCHAR2,                 /* resource_class_code for Resource Class */
20 	p_planning_resource_format       IN     VARCHAR2,                /* resource format required for Costing */
21 	p_use_planning_rates_flag    	 IN     VARCHAR2    DEFAULT 'N',  /* Rate using Actual Rates */
22 	p_rate_based_flag		 IN     VARCHAR2    DEFAULT 'Y',  /* to identify a rate based transaction */
23 	p_uom			    	 IN     VARCHAR2,		  /* Planning UOM */
24 	p_system_linkage		 IN     VARCHAR2,
25 	p_project_organz_id            	 IN     NUMBER	    DEFAULT NULL, /* For revenue calc use in Resource Class Sch carrying out Org Id */
26 	p_rev_res_class_rate_sch_id  	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Resource Class*/
27 	p_cost_res_class_rate_sch_id  	 IN     NUMBER	    DEFAULT NULL, /* For Cost Rate Calculations based on Resource Class*/
28 	p_rev_task_nl_rate_sch_id        IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Non Labor*/
29    	p_rev_proj_nl_rate_sch_id        IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Non Labor*/
30         p_rev_job_rate_sch_id         	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Job*/
31 	p_rev_emp_rate_sch_id         	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Emp*/
32 	p_plan_rev_job_rate_sch_id 	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on job for planning*/
33 	p_plan_cost_job_rate_sch_id  	 IN     NUMBER	    DEFAULT NULL, /* For Cost Rate Calculations based on job for planning*/
34 	p_plan_rev_emp_rate_sch_id       IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on emp for planning*/
35    	p_plan_cost_emp_rate_sch_id      IN     NUMBER	    DEFAULT NULL, /* For cost Rate Calculations based on emp for planning*/
36 	p_plan_rev_nlr_rate_sch_id       IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on non labor for planning*/
37         p_plan_cost_nlr_rate_sch_id      IN     NUMBER	    DEFAULT NULL, /* For Cost Rate Calculations based on non labor for planning*/
38 	p_plan_burden_cost_sch_id        IN     NUMBER	    DEFAULT NULL, /* For Cost Rate Calculations based on burdening  for planning*/
39 	p_calculate_mode                 IN     VARCHAR2    DEFAULT 'COST_REVENUE' ,/* useed for calculating either only Cost(COST),only Revenue(REVENUE) or both Cost and Revenue(COST_REVENUE) */
40 	p_mcb_flag                    	 IN     VARCHAR2    DEFAULT NULL,
41         p_cost_rate_multiplier           IN     NUMBER      DEFAULT NULL ,
42         p_bill_rate_multiplier      	 IN     NUMBER	    DEFAULT 1,
43         p_quantity                	 IN     NUMBER,                    /* required param for People/Equipment Class */
44         p_item_date                	 IN     DATE,                      /* Used as p_expenditure_item_date for non labor */
45    	p_cost_sch_type		 	 IN     VARCHAR2 ,		   /* Costing Schedule Type'COST' / 'REVENUE' / 'INVOICE' */
46         p_labor_sch_type            	 IN     VARCHAR2,		   /* Revenue Labor Schedule Type B/I */
47         p_non_labor_sch_type       	 IN     VARCHAR2 ,                 /* Revenue Non_Labor Schedule Type B/I */
48         p_labor_schdl_discnt         	 IN     NUMBER	    DEFAULT NULL,
49         p_labor_bill_rate_org_id   	 IN     NUMBER	    DEFAULT NULL,
50         p_labor_std_bill_rate_schdl 	 IN     VARCHAR2    DEFAULT NULL,
51         p_labor_schdl_fixed_date   	 IN     DATE        DEFAULT NULL,
52   	p_assignment_id               	 IN     NUMBER      DEFAULT NULL,  /* used as  p_item_id  in the internal APIs */
53         p_project_org_id            	 IN     NUMBER,			   /* Project Org Id */
54         p_project_type              	 IN     VARCHAR2,
55         p_expenditure_type          	 IN     VARCHAR2,
56         p_non_labor_resource         	 IN     VARCHAR2    DEFAULT NULL,
57         p_incurred_by_organz_id     	 IN     NUMBER,                    /* Incurred By Org Id */
58  	p_override_to_organz_id    	 IN     NUMBER,			   /* Override Org Id */
59 	p_expenditure_org_id        	 IN     NUMBER,                    /* p_expenditure_OU (p_exp_organization_id in costing) */
60         p_assignment_precedes_task 	 IN     VARCHAR2,		   /* Added for Asgmt overide */
61         p_planning_transaction_id    	 IN     NUMBER      DEFAULT NULL,  /* changeed from p_forecast_item_id will passed to client extension */
62         p_task_bill_rate_org_id      	 IN     NUMBER      DEFAULT NULL,  /* Org Id of the Bill Rate at Project Level */
63         p_project_bill_rate_org_id       IN     NUMBER      DEFAULT NULL,  /* Org Id of the Bill Rate at task Level */
64  	p_nlr_organization_id            IN     NUMBER      DEFAULT NULL,   /* Org Id of the Non Labor Resource */
65 	p_project_sch_date          	 IN     DATE        DEFAULT NULL,   /* Revenue Non_Labor Schedule Date at project Level */
66 	p_task_sch_date             	 IN     DATE        DEFAULT NULL,   /* Revenue Non_Labor Schedule Date at task Level */
67 	p_project_sch_discount      	 IN     NUMBER      DEFAULT NULL ,  /* Revenue Non_Labor Schedule Discount at project Level */
68         p_task_sch_discount        	 IN     NUMBER      DEFAULT NULL ,  /* Revenue Non_Labor Schedule Discount at task Level */
69         p_inventory_item_id         	 IN	NUMBER      DEFAULT NULL,   /* Passed for Inventoty Items */
70         p_BOM_resource_Id          	 IN	NUMBER      DEFAULT NULL,  /* Passed for BOM Resource  Id */
71         P_mfc_cost_type_id           	 IN	NUMBER      DEFAULT 0,     /* Manufacturing cost api */
72         P_item_category_id           	 IN	NUMBER      DEFAULT NULL,  /* Manufacturing cost api */
73         p_mfc_cost_source                IN     NUMBER      DEFAULT 1,
74         p_cost_override_rate        	 IN	NUMBER      DEFAULT NULL,  /*override rate if not null no call to costing internal api.*/
75         p_revenue_override_rate     	 IN	NUMBER      DEFAULT NULL,  /*override rate if not null no call to billing internal api.*/
76         p_override_burden_cost_rate 	 IN	NUMBER      DEFAULT NULL,  /*override burden multiplier and p_raw_cost is not null calculate x_burden_cost */
77         p_override_currency_code  	 IN	VARCHAR2    DEFAULT NULL,  /*override currency Code */
78         p_txn_currency_code		 IN	VARCHAR2    DEFAULT NULL,  /* if not null, amounts to be returned in this currency only else in x_txn_curr_code*/
79         p_raw_cost                       IN 	NUMBER,		          /*If p_raw_cost is only passed,return the burden multiplier, burden_cost */
80         p_burden_cost                    IN 	NUMBER      DEFAULT NULL,
81         p_raw_revenue                	 IN     NUMBER      DEFAULT NULL,
82         p_billability_flag               IN     VARCHAR2    DEFAULT 'Y',  /* Added rate calculation honoring billability flag */
83 	p_budget_version_id              IN     NUMBER      DEFAULT NULL, /*Added for CBS*/
84 	x_bill_rate                      OUT NOCOPY	NUMBER,
85         x_cost_rate                      OUT NOCOPY	NUMBER,
86         x_burden_cost_rate               OUT NOCOPY	NUMBER,
87         x_burden_multiplier		 OUT NOCOPY	NUMBER,
88         x_raw_cost                       OUT NOCOPY	NUMBER,
89         x_burden_cost                    OUT NOCOPY	NUMBER,
90         x_raw_revenue                	 OUT NOCOPY	NUMBER,
91         x_bill_markup_percentage       	 OUT NOCOPY     NUMBER,
92         x_cost_txn_curr_code         	 OUT NOCOPY     VARCHAR2,
93         x_rev_txn_curr_code         	 OUT NOCOPY     VARCHAR2,
94         x_raw_cost_rejection_code	 OUT NOCOPY	VARCHAR2,
95         x_burden_cost_rejection_code	 OUT NOCOPY	VARCHAR2,
96         x_revenue_rejection_code	 OUT NOCOPY	VARCHAR2,
97         x_cost_ind_compiled_set_id	 OUT NOCOPY	NUMBER,
98         x_return_status              	 OUT NOCOPY     VARCHAR2,
99         x_msg_data                   	 OUT NOCOPY     VARCHAR2,
100         x_msg_count                  	 OUT NOCOPY     NUMBER
101 	);
102 --
103 -- Procedure            : Get_plan_actual_Rates
104 -- Purpose              : This is an internal procedure for calculating the  bill rate and raw revenue from one of
105 --                        the given criteria's on the basis of passed parameters for the 'ACTUAL RATES' of Planning Transaction
106 -- Parameters           :
107 --
108 
109 PROCEDURE Get_plan_actual_Rates  (
110 	p_project_id                   	 IN     NUMBER,
111 	p_task_id                        IN     NUMBER      DEFAULT NULL,
112         p_top_task_id                    IN     NUMBER      DEFAULT NULL, /* for costing top task Id */
113 	p_person_id                    	 IN     NUMBER,
114 	p_job_id                         IN     NUMBER,			  /* for costing p_proj_cost_job_id */
115 	p_bill_job_grp_id             	 IN     NUMBER      DEFAULT NULL,
116 	p_resource_class		 IN     VARCHAR2,                 /* resource_class_code for Resource Class */
117 	p_planning_resource_format       IN     VARCHAR2 ,                /* resource format required for Costing */
118 	p_use_planning_rates_flag    	 IN     VARCHAR2    DEFAULT 'N',  /* Rate using Actual Rates */
119 	p_rate_based_flag		 IN     VARCHAR2    DEFAULT 'Y',  /* to identify a rate based transaction */
120 	p_uom			    	 IN     VARCHAR2,		  /* Planning UOM */
121 	p_system_linkage		 IN     VARCHAR2,
122 	p_project_organz_id            	 IN     NUMBER	    DEFAULT NULL, /* For revenue calc use in Resource Class Sch carrying out Org Id */
123 	p_rev_task_nl_rate_sch_id        IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Non Labor*/
124    	p_rev_proj_nl_rate_sch_id        IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Non Labor*/
125         p_rev_job_rate_sch_id         	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Job*/
126 	p_rev_emp_rate_sch_id         	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Emp*/
127 	p_calculate_mode                  IN     VARCHAR2   DEFAULT 'COST_REVENUE' ,/* useed for calculating either only Cost(COST),only Revenue(REVENUE) or both Cost and Revenue(COST_REVENUE) */
128 	p_mcb_flag                    	 IN     VARCHAR2    DEFAULT NULL,
129         p_cost_rate_multiplier           IN     NUMBER     DEFAULT NULL ,
130         p_bill_rate_multiplier      	 IN     NUMBER	    DEFAULT 1,
131         p_quantity                	 IN     NUMBER,                    /* required param for People/Equipment Class */
132         p_item_date                	 IN     DATE,                      /* Used as p_expenditure_item_date for non labor */
133    	p_cost_sch_type		 	 IN     VARCHAR2 ,		   /* Costing Schedule Type'COST' / 'REVENUE' / 'INVOICE' */
134         p_labor_sch_type            	 IN     VARCHAR2,		   /* Revenue Labor Schedule Type B/I */
135         p_non_labor_sch_type       	 IN     VARCHAR2 ,                  /* Revenue Non_Labor Schedule Type B/I */
136         p_labor_schdl_discnt         	 IN     NUMBER	    DEFAULT NULL,
137         p_labor_bill_rate_org_id   	 IN     NUMBER	    DEFAULT NULL,
138         p_labor_std_bill_rate_schdl 	 IN     VARCHAR2    DEFAULT NULL,
139         p_labor_schdl_fixed_date   	 IN     DATE        DEFAULT NULL,
140  	p_assignment_id               	 IN     NUMBER      DEFAULT NULL,  /* used as  p_item_id  in the internal APIs */
141         p_project_org_id            	 IN     NUMBER,			   /* Project Org Id */
142         p_project_type              	 IN     VARCHAR2,
143         p_expenditure_type          	 IN     VARCHAR2,
144         p_non_labor_resource         	 IN     VARCHAR2    DEFAULT NULL,
145         p_incurred_by_organz_id     	 IN     NUMBER,                    /* Incurred By Org Id */
146 	p_override_to_organz_id    	 IN     NUMBER,			   /* Override Org Id */
147 	p_expenditure_org_id        	 IN     NUMBER,                    /* p_expenditure_OU (p_exp_organization_id in costing) */
148         p_assignment_precedes_task 	 IN     VARCHAR2,		   /* Added for Asgmt overide */
149         p_planning_transaction_id    	 IN     NUMBER      DEFAULT NULL,  /* changeed from p_forecast_item_id will passed to client extension */
150         p_task_bill_rate_org_id      	 IN     NUMBER      DEFAULT NULL,  /* Org Id of the Bill Rate at Project Level */
151         p_project_bill_rate_org_id       IN     NUMBER      DEFAULT NULL,  /* Org Id of the Bill Rate at task Level */
152 	p_nlr_organization_id            IN     NUMBER     DEFAULT NULL,   /* Org Id of the Non Labor Resource */
153         p_project_sch_date          	 IN     DATE        DEFAULT NULL,   /* Revenue Non_Labor Schedule Date at project Level */
154 	p_task_sch_date             	 IN     DATE        DEFAULT NULL,   /* Revenue Non_Labor Schedule Date at task Level */
155 	p_project_sch_discount      	 IN     NUMBER      DEFAULT NULL ,  /* Revenue Non_Labor Schedule Discount at project Level */
156         p_task_sch_discount        	 IN     NUMBER      DEFAULT NULL ,  /* Revenue Non_Labor Schedule Discount at task Level */
157         p_inventory_item_id         	 IN	NUMBER      DEFAULT NULL,  /* Passed for Inventoty Items */
158         p_BOM_resource_Id          	 IN	NUMBER      DEFAULT NULL,  /* Passed for BOM Resource  Id */
159         P_mfc_cost_type_id           	 IN	NUMBER      DEFAULT 0,     /* Manufacturing cost api */
160         P_item_category_id           	 IN	NUMBER      DEFAULT NULL,  /* Manufacturing cost api */
161         p_mfc_cost_source                IN     NUMBER      DEFAULT 1,
162         p_cost_override_rate        	 IN	NUMBER      DEFAULT NULL,  /*override rate if not null no call to costing internal api.*/
163         p_revenue_override_rate     	 IN	NUMBER      DEFAULT NULL,  /*override rate if not null no call to billing internal api.*/
164         p_override_burden_cost_rate  	 IN	NUMBER      DEFAULT NULL,
165         p_override_currency_code  	 IN	VARCHAR2    DEFAULT NULL,  /*override currency Code */
166         p_txn_currency_code		 IN	VARCHAR2    DEFAULT NULL,  /* if not null, amounts to be returned in this currency only else in x_txn_curr_code*/
167         p_raw_cost                       IN 	NUMBER,		           /*If p_raw_cost is only passed,return the burden multiplier, burden_cost */
168         p_burden_cost                    IN 	NUMBER      DEFAULT NULL,
169         p_raw_revenue                	 IN     NUMBER      DEFAULT NULL,
170 	x_bill_rate                      OUT NOCOPY	NUMBER,
171         x_cost_rate                      OUT NOCOPY	NUMBER,
172         x_burden_cost_rate               OUT NOCOPY	NUMBER,
173         x_burden_multiplier		 OUT NOCOPY	NUMBER,
174         x_raw_cost                       OUT NOCOPY	NUMBER,
175         x_burden_cost                    OUT NOCOPY	NUMBER,
176         x_raw_revenue                	 OUT NOCOPY	NUMBER,
177         x_bill_markup_percentage       	 OUT NOCOPY     NUMBER,
178         x_cost_txn_curr_code         	 OUT NOCOPY     VARCHAR2,
179         x_rev_txn_curr_code         	 OUT NOCOPY     VARCHAR2,
180         x_raw_cost_rejection_code	 OUT NOCOPY	VARCHAR2,
181         x_burden_cost_rejection_code	 OUT NOCOPY	VARCHAR2,
182         x_revenue_rejection_code	 OUT NOCOPY	VARCHAR2,
183         x_cost_ind_compiled_set_id	 OUT NOCOPY	NUMBER,
184         x_return_status              	 OUT NOCOPY     VARCHAR2,
185         x_msg_data                   	 OUT NOCOPY     VARCHAR2,
186         x_msg_count                  	 OUT NOCOPY     NUMBER
187 	);
188 -- Procedure            : Get_plan_actual_Rates
189 -- Purpose              : This is an internal procedure for calculating the  bill rate and raw revenue from one of
190 --                        the given criteria's on the basis of passed parameters for the 'ACTUAL RATES' of Planning Transaction
191 -- Parameters           :
192 --
193 
194 PROCEDURE Get_Plan_Actual_Rev_Rates  (
195 	p_project_id                   	 IN     NUMBER,
196 	p_task_id                        IN     NUMBER      DEFAULT NULL,
197         p_person_id                    	 IN     NUMBER,
198 	p_job_id                         IN     NUMBER,			  /* for costing p_proj_cost_job_id */
199 	p_bill_job_grp_id             	 IN     NUMBER      DEFAULT NULL,
200 	p_resource_class		 IN     VARCHAR2,                 /* resource_class_code for Resource Class */
201 	p_rate_based_flag		 IN     VARCHAR2    DEFAULT 'Y',  /* to identify a rate based transaction */
202 	p_uom			    	 IN     VARCHAR2,		  /* Planning UOM */
203 	p_system_linkage		 IN     VARCHAR2,
204 	p_project_organz_id            	 IN     NUMBER	    DEFAULT NULL, /* For revenue calc use in Resource Class Sch carrying out Org Id */
205 	p_rev_proj_nl_rate_sch_id      	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Non Labor*/
206         p_rev_task_nl_rate_sch_id      	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Non Labor*/
207 	p_rev_job_rate_sch_id         	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Job*/
208 	p_rev_emp_rate_sch_id         	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on Emp*/
209 	p_mcb_flag                    	 IN     VARCHAR2    DEFAULT NULL,
210         p_bill_rate_multiplier      	 IN     NUMBER	    DEFAULT 1,
211         p_quantity                	 IN     NUMBER,                    /* required param for People/Equipment Class */
212         p_item_date                	 IN     DATE,                      /* Used as p_expenditure_item_date for non labor */
213  	p_labor_sch_type            	 IN     VARCHAR2,		   /* Revenue Labor Schedule Type B/I */
214         p_labor_schdl_discnt         	 IN     NUMBER	    DEFAULT NULL,
215         p_labor_bill_rate_org_id   	 IN     NUMBER	    DEFAULT NULL,
216         p_labor_std_bill_rate_schdl 	 IN     VARCHAR2    DEFAULT NULL,
217         p_labor_schdl_fixed_date   	 IN     DATE        DEFAULT NULL,
218 	p_assignment_id               	 IN     NUMBER      DEFAULT NULL,  /* used as  p_item_id  in the internal APIs */
219         p_project_org_id            	 IN     NUMBER,			   /* Project Org Id */
220         p_project_type              	 IN     VARCHAR2,
221         p_expenditure_type          	 IN     VARCHAR2,
222         p_incurred_by_organz_id     	 IN     NUMBER,                    /* Incurred By Org Id */
223 	p_override_to_organz_id    	 IN     NUMBER,			   /* Override Org Id */
224 	p_expenditure_org_id        	 IN     NUMBER,                    /* p_expenditure_OU (p_exp_organization_id in costing) */
225         p_assignment_precedes_task 	 IN     VARCHAR2,		   /* Added for Asgmt overide */
226         p_planning_transaction_id    	 IN     NUMBER      DEFAULT NULL,  /* changeed from p_forecast_item_id will passed to client extension */
227         p_task_bill_rate_org_id      	 IN     NUMBER      DEFAULT NULL,  /* Org Id of the Bill Rate at Project Level */
228         p_project_bill_rate_org_id       IN     NUMBER      DEFAULT NULL,  /* Org Id of the Bill Rate at task Level */
229 	p_non_labor_resource         	 IN     VARCHAR2    DEFAULT NULL,
230 	p_NLR_organization_id            IN      NUMBER     DEFAULT NULL,   /* Org Id of the Non Labor Resource */
231 	p_non_labor_sch_type       	 IN     VARCHAR2 ,                  /* Revenue Non_Labor Schedule Type B/I */
232 	p_project_sch_date          	 IN     DATE        DEFAULT NULL,   /* Revenue Non_Labor Schedule Date at project Level */
233 	p_task_sch_date             	 IN     DATE        DEFAULT NULL,   /* Revenue Non_Labor Schedule Date at task Level */
234 	p_project_sch_discount      	 IN     NUMBER      DEFAULT NULL ,  /* Revenue Non_Labor Schedule Discount at project Level */
235         p_task_sch_discount        	 IN     NUMBER      DEFAULT NULL ,  /* Revenue Non_Labor Schedule Discount at task Level */
236  	p_revenue_override_rate     	 IN	NUMBER      DEFAULT NULL,  /*override rate if not null no call to billing internal api.*/
237 	p_override_currency_code  	 IN	VARCHAR2    DEFAULT NULL, /*override currency Code */
238         p_txn_currency_code		 IN	VARCHAR2    DEFAULT NULL,  /* if not null, amounts to be returned in this currency only else in x_txn_curr_code*/
239 	p_raw_cost                       IN 	NUMBER,		/*If p_raw_cost is only passed,return the burden multiplier, burden_cost */
240         p_burden_cost                    IN 	NUMBER      DEFAULT NULL,
241 	p_raw_revenue                	 IN     NUMBER      DEFAULT NULL,
242 	p_raw_cost_rate			 IN     NUMBER      DEFAULT NULL,
243 	x_bill_rate                      OUT NOCOPY NUMBER,
244 	x_raw_revenue                	 OUT NOCOPY NUMBER,
245         x_bill_markup_percentage       	 OUT NOCOPY NUMBER,
249 	x_msg_count                  	 OUT NOCOPY NUMBER
246 	x_txn_curr_code         	 OUT NOCOPY VARCHAR2,
247         x_return_status              	 OUT NOCOPY VARCHAR2,
248         x_msg_data                   	 OUT NOCOPY VARCHAR2,
250 	);
251 
252 
253 
254 
255 --
256 -- Procedure            : Get_plan_res_class_rates
257 -- Purpose              :This procedure will calculate the raw revenue and bill amount from one of the 12
258 --                       criterias on the basis of passed parameters
259 -- Parameters           :
260 --
261 
262 PROCEDURE Get_plan_res_class_rates  (
263         p_project_type			 IN	VARCHAR2,
264 	p_project_id                   	 IN     NUMBER,
265 	p_task_id                        IN     NUMBER      DEFAULT NULL,
266 	p_person_id                    	 IN     NUMBER,
267 	p_job_id                         IN     NUMBER DEFAULT NULL,
268 	p_resource_class        	 IN     VARCHAR2,                /* resource_class_code for Resource Class */
269         p_use_planning_rates_flag    	 IN     VARCHAR2    DEFAULT 'N',  /* Rate using Actual Rates */
270         p_rate_based_flag		 IN     VARCHAR2    DEFAULT 'Y', /* to identify a rate based transaction */
271 	p_uom			    	 IN     VARCHAR2,		 /* Planning UOM */
272 	p_project_organz_id            	 IN     NUMBER	DEFAULT NULL,   /* For revenue calculation use in Resource Class Sch carrying out*/
273 	p_rev_res_class_rate_sch_id  	 IN     NUMBER	DEFAULT NULL,   /* For Bill Rate Calculations based on Resource Class*/
274 	p_cost_res_class_rate_sch_id  	 IN     NUMBER	DEFAULT NULL,   /* For Cost Rate Calculations based on Resource Class*/
275         p_plan_burden_cost_sch_id         IN     NUMBER	    DEFAULT NULL, /* For Cost Rate Calculations based on burdening  for planning*/
276 	p_cost_rate_multiplier           IN     NUMBER  DEFAULT 1,	/* p_bill_rate_multiplier or p_cost_rate_multiplier */
277         p_bill_rate_multiplier           IN     NUMBER  DEFAULT 1,	/* p_bill_rate_multiplier or p_cost_rate_multiplier */
278         p_quantity                  	 IN     NUMBER,
279         p_item_date                	 IN     DATE,			/* Used as p_expenditure_item_date for non labor */
280         p_schedule_type            	 IN     VARCHAR2 DEFAULT NULL, /* REVENUE OR COST  OR NULL , will calculate both cost and Revenue*/
281         p_project_org_id            	 IN     NUMBER,
282         p_incurred_by_organz_id     	 IN     NUMBER,
283 	p_override_to_organz_id    	 IN     NUMBER,
284 	p_expenditure_org_id        	 IN     NUMBER,
285         p_nlr_organization_id            IN     NUMBER      DEFAULT NULL,   /* Org Id of the Non Labor Resource */
286         p_override_trxn_cost_rate        IN     NUMBER   DEFAULT NULL,  /*p_override_trxn_cost_rate  for costing */
287         p_override_burden_cost_rate   	 IN	NUMBER   DEFAULT NULL, /*override burden multiplier and p_raw_cost is not null calculate x_burden_cost */
288         p_override_trxn_bill_rate        IN     NUMBER   DEFAULT NULL,  /*p_override_trxn_bill_rate or for billing */
289         p_override_txn_currency_code     IN     VARCHAR2 DEFAULT NULL,
290         p_txn_currency_code              IN     VARCHAR2,
291         p_raw_cost                       IN     NUMBER,
292         p_burden_cost                    IN     NUMBER   DEFAULT NULL,
293         p_raw_revenue                	 IN     NUMBER   DEFAULT NULL,
294         p_system_linkage		 IN     VARCHAR2,
295 	p_expenditure_type		 IN     VARCHAR2,
296         x_bill_rate                      OUT   NOCOPY  NUMBER,
297         x_cost_rate                      OUT   NOCOPY  NUMBER,
298         x_burden_cost_rate               OUT   NOCOPY  NUMBER,
299 	x_burden_multiplier              OUT   NOCOPY  NUMBER,
300         x_raw_cost                       OUT   NOCOPY  NUMBER,
301         x_burden_cost                    OUT   NOCOPY  NUMBER,
302         x_raw_revenue                	 OUT   NOCOPY  NUMBER,
303         x_bill_markup_percentage       	 OUT   NOCOPY  NUMBER,
304         x_cost_markup_percentage       	 OUT   NOCOPY  NUMBER,
305         x_cost_txn_curr_code         	 OUT   NOCOPY  VARCHAR2,
306         x_rev_txn_curr_code         	 OUT   NOCOPY  VARCHAR2,
307         x_raw_cost_rejection_code        OUT   NOCOPY  VARCHAR2,
308         x_burden_cost_rejection_code	 OUT   NOCOPY	VARCHAR2,
309         x_revenue_rejection_code	 OUT   NOCOPY	VARCHAR2,
310         x_cost_ind_compiled_set_id	 OUT   NOCOPY	NUMBER,
311         x_return_status              	 OUT   NOCOPY  VARCHAR2,
312         x_msg_count                  	 OUT   NOCOPY  NUMBER,
313         x_msg_data                   	 OUT   NOCOPY  VARCHAR2);
314 
315 
316 
317 --
318 -- Procedure            : Get_plan_plan_Rates
319 -- Purpose              : This is an internal procedure for calculating the cost/bill rate and raw cost/burden cost/raw revenue from one of
320 --                        the given criteria's on the basis of passed parameters for the 'PLANNING RATES' of Planning Transaction
321 -- Parameters           :
322 --
323 
324 PROCEDURE Get_plan_plan_Rates  (	p_project_id                   	 IN     NUMBER,
325 	p_task_id                        IN     NUMBER      DEFAULT NULL,
326         p_top_task_id                    IN     NUMBER      DEFAULT NULL, /* for costing top task Id */
327 	p_person_id                    	 IN     NUMBER,
328 	p_job_id                         IN     NUMBER,			  /* for costing p_proj_cost_job_id */
329 	p_bill_job_grp_id             	 IN     NUMBER      DEFAULT NULL,
330 	p_resource_class		 IN     VARCHAR2,                 /* resource_class_code for Resource Class */
331 	p_rate_based_flag		 IN     VARCHAR2    DEFAULT 'Y',  /* to identify a rate based transaction */
332 	p_uom			    	 IN     VARCHAR2,		  /* Planning UOM */
333 	p_system_linkage		 IN     VARCHAR2,
334 	p_project_organz_id            	 IN     NUMBER	    DEFAULT NULL, /* For revenue calc use in Resource Class Sch carrying out Org Id */
338    	p_plan_cost_emp_rate_sch_id       IN     NUMBER	    DEFAULT NULL, /* For cost Rate Calculations based on emp for planning*/
335 	p_plan_rev_job_rate_sch_id 	  IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on job for planning*/
336 	p_plan_cost_job_rate_sch_id  	  IN     NUMBER	    DEFAULT NULL, /* For Cost Rate Calculations based on job for planning*/
337 	p_plan_rev_emp_rate_sch_id        IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on emp for planning*/
339 	p_plan_rev_nlr_rate_sch_id       IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on non labor for planning*/
340         p_plan_cost_nlr_rate_sch_id      IN     NUMBER	    DEFAULT NULL, /* For Cost Rate Calculations based on non labor for planning*/
341 	p_plan_burden_cost_sch_id         IN     NUMBER	    DEFAULT NULL, /* For Cost Rate Calculations based on burdening  for planning*/
342 	p_calculate_mode                  IN     VARCHAR2   DEFAULT 'COST_REVENUE' ,/* useed for calculating either only Cost(COST),only Revenue(REVENUE) or both Cost and Revenue(COST_REVENUE) */
343 	p_mcb_flag                    	 IN     VARCHAR2    DEFAULT NULL,
344         p_cost_rate_multiplier           IN     NUMBER      DEFAULT NULL ,
345         p_bill_rate_multiplier      	 IN     NUMBER	    DEFAULT 1,
346         p_quantity                	 IN     NUMBER,                    /* required param for People/Equipment Class */
347         p_item_date                	 IN     DATE,                      /* Used as p_expenditure_item_date for non labor */
348    	p_project_org_id            	 IN     NUMBER,			   /* Project Org Id */
349         p_project_type              	 IN     VARCHAR2,
350         p_expenditure_type          	 IN     VARCHAR2,
351         p_non_labor_resource         	 IN     VARCHAR2    DEFAULT NULL,
352         p_incurred_by_organz_id     	 IN     NUMBER,                    /* Incurred By Org Id */
353 	p_override_to_organz_id    	 IN     NUMBER,			   /* Override Org Id */
354 	p_expenditure_org_id        	 IN     NUMBER,                    /* p_expenditure_OU (p_exp_organization_id in costing) */
355         p_planning_transaction_id    	 IN     NUMBER      DEFAULT NULL,  /* changeed from p_forecast_item_id will passed to client extension */
356         p_nlr_organization_id            IN     NUMBER      DEFAULT NULL,   /* Org Id of the Non Labor Resource */
357 	p_inventory_item_id         	 IN	NUMBER      DEFAULT NULL,  /* Passed for Inventoty Items */
358         p_BOM_resource_Id          	 IN	NUMBER      DEFAULT NULL,  /* Passed for BOM Resource  Id */
359         P_mfc_cost_type_id           	 IN	NUMBER      DEFAULT 0,     /* Manufacturing cost api */
360         P_item_category_id           	 IN	NUMBER      DEFAULT NULL,  /* Manufacturing cost api */
361         p_mfc_cost_source                IN     NUMBER      DEFAULT 1,
362         p_cost_override_rate        	 IN	NUMBER      DEFAULT NULL,  /*override rate if not null no call to costing internal api.*/
363         p_revenue_override_rate     	 IN	NUMBER      DEFAULT NULL,  /*override rate if not null no call to billing internal api.*/
364         p_override_burden_cost_rate   	 IN	NUMBER      DEFAULT NULL,  /*override burden multiplier and p_raw_cost is not null calculate x_burden_cost */
365         p_override_currency_code  	 IN	VARCHAR2    DEFAULT NULL,  /*override currency Code */
366         p_txn_currency_code		 IN	VARCHAR2    DEFAULT NULL,  /* if not null, amounts to be returned in this currency only else in x_txn_curr_code*/
367         p_raw_cost                       IN 	NUMBER,		           /*If p_raw_cost is only passed,return the burden multiplier, burden_cost */
368         p_burden_cost                    IN 	NUMBER      DEFAULT NULL,
369         p_raw_revenue                	 IN     NUMBER      DEFAULT NULL,
370         x_bill_rate                      OUT NOCOPY	NUMBER,
371         x_cost_rate                      OUT NOCOPY	NUMBER,
372         x_burden_cost_rate               OUT NOCOPY	NUMBER,
373         x_burden_multiplier		 OUT NOCOPY	NUMBER,
374         x_raw_cost                       OUT NOCOPY	NUMBER,
375         x_burden_cost                    OUT NOCOPY	NUMBER,
376         x_raw_revenue                	 OUT NOCOPY	NUMBER,
377         x_bill_markup_percentage       	 OUT NOCOPY     NUMBER,
378         x_cost_txn_curr_code         	 OUT NOCOPY     VARCHAR2,
379         x_rev_txn_curr_code         	 OUT NOCOPY     VARCHAR2, /* x_txn_currency_code  for Labor and x_rev_curr_code   for non labor */
380         x_raw_cost_rejection_code	 OUT NOCOPY	VARCHAR2,
381         x_burden_cost_rejection_code	 OUT NOCOPY	VARCHAR2,
382         x_revenue_rejection_code	 OUT NOCOPY	VARCHAR2,
383         x_cost_ind_compiled_set_id	 OUT NOCOPY	NUMBER,
384         x_return_status              	 OUT NOCOPY     VARCHAR2,
385         x_msg_data                   	 OUT NOCOPY     VARCHAR2,
386         x_msg_count                  	 OUT NOCOPY     NUMBER
387 	);
388 -- Procedure            : Get_Plan_plan_Rev_Rates
389 -- Purpose              : This is an internal procedure for calculating the  bill rate and raw revenue from one of
390 --                        the given criteria's on the basis of passed parameters for the 'PLANNING RATES' of Planning Transaction
391 -- Parameters           :
392 --
393 
394 PROCEDURE Get_Plan_plan_Rev_Rates  (
395 	p_project_id                   	 IN     NUMBER,
396 	p_task_id                        IN     NUMBER      DEFAULT NULL,
397         p_person_id                    	 IN     NUMBER,
398 	p_job_id                         IN     NUMBER,			  /* for costing p_proj_cost_job_id */
399 	p_bill_job_grp_id             	 IN     NUMBER      DEFAULT NULL,
400 	p_resource_class		 IN     VARCHAR2,                 /* resource_class_code for Resource Class */
401 	p_rate_based_flag		 IN     VARCHAR2    DEFAULT 'Y',  /* to identify a rate based transaction */
402 	p_uom			    	 IN     VARCHAR2,		  /* Planning UOM */
403 	p_system_linkage		 IN     VARCHAR2,
404 	p_project_organz_id            	 IN     NUMBER	    DEFAULT NULL, /* For revenue calc use in Resource Class Sch carrying out Org Id */
405 	p_plan_rev_job_rate_sch_id 	 IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on job for planning*/
406 	p_plan_rev_emp_rate_sch_id       IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on emp for planning*/
407    	p_plan_rev_nlr_rate_sch_id       IN     NUMBER	    DEFAULT NULL, /* For Bill Rate Calculations based on non labor for planning*/
408         p_mcb_flag                    	 IN     VARCHAR2    DEFAULT NULL,
409    	p_bill_rate_multiplier      	 IN     NUMBER	    DEFAULT 1,
410         p_quantity                	 IN     NUMBER,                    /* required param for People/Equipment Class */
411         p_item_date                	 IN     DATE,                      /* Used as p_expenditure_item_date for non labor */
412  	p_project_org_id            	 IN     NUMBER,			   /* Project Org Id */
413         p_project_type              	 IN     VARCHAR2,
414         p_expenditure_type          	 IN     VARCHAR2,
415         p_incurred_by_organz_id     	 IN     NUMBER,                    /* Incurred By Org Id */
416 	p_override_to_organz_id    	 IN     NUMBER,			   /* Override Org Id */
417 	p_expenditure_org_id        	 IN     NUMBER,                    /* p_expenditure_OU (p_exp_organization_id in costing) */
418         p_planning_transaction_id    	 IN     NUMBER      DEFAULT NULL,  /* changeed from p_forecast_item_id will passed to client extension */
419    	p_non_labor_resource         	 IN     VARCHAR2    DEFAULT NULL,
423         p_txn_currency_code		 IN	VARCHAR2    DEFAULT NULL,
420 	p_NLR_organization_id            IN      NUMBER     DEFAULT NULL,   /* Org Id of the Non Labor Resource */
421 	p_revenue_override_rate     	 IN	NUMBER      DEFAULT NULL,
422 	p_override_currency_code  	 IN	VARCHAR2    DEFAULT NULL,  /*override currency Code */
424 	p_raw_cost                       IN 	NUMBER,
425         p_burden_cost                    IN 	NUMBER      DEFAULT NULL,
426 	p_raw_revenue                	 IN     NUMBER      DEFAULT NULL,
427 	x_bill_rate                      OUT NOCOPY NUMBER,
428 	x_raw_revenue                	 OUT NOCOPY NUMBER,
429         x_bill_markup_percentage       	 OUT NOCOPY NUMBER,
430 	x_txn_curr_code         	 OUT NOCOPY VARCHAR2,
431         x_return_status              	 OUT NOCOPY VARCHAR2,
432         x_msg_data                   	 OUT NOCOPY VARCHAR2,
433 	x_msg_count                  	 OUT NOCOPY NUMBER
434 	);
435 --
436 -- Procedure            : Get_plan_default_rates
437 -- Purpose              : This is an internal procedure for calculating the bill rate and raw revenue
438 --                        for the Enhanced PRL
439 -- Parameters           :
440 --
441 PROCEDURE Get_plan_default_rates(
442     p_project_type   IN VARCHAR2,
443     p_budget_version_id         IN NUMBER DEFAULT NULL,
444     p_use_planning_rates_flag IN VARCHAR2 DEFAULT 'N',
445     p_rate_based_flag IN VARCHAR2 DEFAULT 'Y',
446     p_quantity  IN NUMBER,
447     p_item_date IN DATE,
448     p_schedule_type IN VARCHAR2 DEFAULT NULL,
449     p_project_org_id        IN NUMBER,
450     p_expenditure_org_id    IN NUMBER,
451     p_nlr_organization_id   IN NUMBER DEFAULT NULL,
452     p_override_burden_cost_rate IN NUMBER DEFAULT NULL,
453     p_override_txn_currency_code IN VARCHAR2 DEFAULT NULL,
454     p_project_id                 IN NUMBER,
455     p_system_linkage             IN VARCHAR2,
456     p_expenditure_type           IN VARCHAR2,
457     p_burden_cost                IN NUMBER DEFAULT NULL,
458     p_incurred_by_organz_id IN NUMBER,
459     p_task_id        IN NUMBER DEFAULT NULL,
460     p_plan_burden_cost_sch_id IN NUMBER DEFAULT NULL,
461     p_raw_cost                   IN NUMBER,
462     p_override_trxn_cost_rate IN NUMBER DEFAULT NULL,
463     p_override_trxn_bill_rate IN NUMBER DEFAULT NULL,
464     p_raw_revenue                IN NUMBER DEFAULT NULL,
465     p_override_to_organz_id IN NUMBER,
466     x_bill_rate OUT NOCOPY                  NUMBER,
467     x_cost_rate OUT NOCOPY                  NUMBER,
468     x_burden_cost_rate OUT NOCOPY           NUMBER,
469     x_burden_multiplier OUT NOCOPY          NUMBER,
470     x_raw_cost OUT NOCOPY                   NUMBER,
471     x_burden_cost OUT NOCOPY                NUMBER,
472     x_raw_revenue OUT NOCOPY                NUMBER,
473     x_bill_markup_percentage OUT NOCOPY     NUMBER,
474     x_cost_markup_percentage OUT NOCOPY     NUMBER,
475     x_cost_txn_curr_code OUT NOCOPY         VARCHAR2,
476     x_rev_txn_curr_code OUT NOCOPY          VARCHAR2,
477     x_raw_cost_rejection_code OUT NOCOPY    VARCHAR2,
478     x_burden_cost_rejection_code OUT NOCOPY VARCHAR2,
479     x_revenue_rejection_code OUT NOCOPY     VARCHAR2,
480     x_cost_ind_compiled_set_id OUT NOCOPY   NUMBER,
481     x_return_status OUT NOCOPY              VARCHAR2,
482     x_msg_count OUT NOCOPY                  NUMBER,
483     x_msg_data OUT NOCOPY                   VARCHAR2);
484 
485 
486 END PA_PLAN_REVENUE;
487