1 PACKAGE PA_PLANNING_RESOURCE_UTILS AS
2 /* $Header: PARPRLUS.pls 120.2 2006/02/22 16:28:46 ramurthy noship $*/
3
4 -- Standard who
5 g_last_updated_by NUMBER(15) := FND_GLOBAL.USER_ID;
6 g_last_update_date DATE := SYSDATE;
7 g_creation_date DATE := SYSDATE;
8 g_created_by NUMBER(15) := FND_GLOBAL.USER_ID;
9 g_last_update_login NUMBER(15) := FND_GLOBAL.LOGIN_ID;
10
11 FUNCTION chk_spread_curve_in_use(p_spread_curve_id IN NUMBER) return BOOLEAN;
12
13 FUNCTION chk_nlr_resource_exists(p_non_labor_resource IN Varchar2) return BOOLEAN;
14
15 /*************************************************************
16 * Function : get_Res_member_code
17 * **********************************************************/
18 FUNCTION Get_res_member_code(p_resource_list_member_id IN NUMBER)
19 return VARCHAR2;
20 /*************************************************************
21 * Function : get_member_fin_cat_code
22 * **********************************************************/
23 FUNCTION Get_member_fin_cat_code(p_resource_list_member_id IN NUMBER)
24 return VARCHAR2;
25 /*************************************************************
26 * Function : get_member_incur_by_res_code
27 * **********************************************************/
28 FUNCTION Get_member_incur_by_res_code(p_resource_list_member_id IN NUMBER)
29 return VARCHAR2;
30
31 /**************************************************************
32 * FUNCTION : Get_res_type_code
33 * ************************************************************/
34 FUNCTION Get_res_type_code(p_res_format_id IN NUMBER)
35 RETURN VARCHAR2;
36
37 /****************************************************************
38 * Purpose of Get_Resource_Code Function is to return the resource code
39 * for a given resource assignment.
40 * ***************************************************************/
41 FUNCTION Get_resource_Code(p_resource_assignment_id IN NUMBER) return VARCHAR2;
42
43
44 /***************************************************************************
45 * Purpose of Get_Incur_By_Res_Code Function is to return the Incur
46 * by resource code for a given resource assignment.
47 * **************************************************************/
48 FUNCTION Get_Incur_By_Res_Code(p_resource_assignment_id IN NUMBER) return VARCHAR2;
49
50 /*********************************************************************
51 * Purpose of Get_Fin_Category_Code Function is to return the Financial
52 * category code for a given resource assignment.
53 * *******************************************************************/
54 FUNCTION Get_Fin_Category_Code(p_resource_assignment_id IN NUMBER) return VARCHAR2;
55
56
57 /******************************************************************
58 * Purpose of the Validate_Organization procedure is to validate
59 * organization for the planning resource.
60 * **********************************************************/
61 PROCEDURE Validate_organization(
62 p_organization_name IN VARCHAR2,
63 p_organization_id IN NUMBER,
64 x_organization_id OUT NOCOPY NUMBER,
65 x_return_status OUT NOCOPY VARCHAR2,
66 x_error_msg_code OUT NOCOPY VARCHAR2);
67
68
69 /************************************************************************
70 * Procedure : Check_SupplierName_Or_Id
71 * Description : This Subprog validates the supplier name
72 * and ID combination
73 *********************************************************************/
74 PROCEDURE Check_SupplierName_Or_Id
75 ( p_supplier_id IN NUMBER
76 ,p_supplier_name IN VARCHAR2
77 ,p_check_id_flag IN VARCHAR2
78 ,x_supplier_id OUT NOCOPY NUMBER
79 ,x_return_status OUT NOCOPY VARCHAR2
80 ,x_error_msg_code OUT NOCOPY VARCHAR2 );
81
82 /****************************************************************
83 * The purpose of the Validate_Supplier procedure is to validate the
84 * supplier
85 *****************************************************************/
86 PROCEDURE Validate_Supplier(
87 p_resource_class_code IN VARCHAR2,
88 p_person_id IN NUMBER,
89 p_supplier_id IN NUMBER DEFAULT NULL,
90 p_supplier_name IN VARCHAR2 DEFAULT NULL,
91 x_supplier_id OUT NOCOPY NUMBER,
92 x_return_status OUT NOCOPY VARCHAR2,
93 x_error_msg_code OUT NOCOPY VARCHAR2);
94 /*********************************************************
95 * Procedure : Check_PersonName_or_ID
96 * Description : Used to validate the Person ID
97 * Name combination.
98 ********************************************************/
99 PROCEDURE Check_PersonName_or_ID(
100 p_person_id IN VARCHAR2,
101 p_person_name IN VARCHAR2,
102 p_check_id_flag IN VARCHAR2,
103 x_person_id OUT NOCOPY NUMBER,
104 x_return_status OUT NOCOPY VARCHAR2,
105 x_error_msg_code OUT NOCOPY VARCHAR2);
106
107 /****************************************************
108 * Procedure : Check_JobName_or_ID
109 * Description : Used to validate the Job ID
110 * Name combination.
111 ****************************************************/
112 PROCEDURE Check_JobName_or_ID(
113 p_job_id IN VARCHAR2,
114 p_job_name IN VARCHAR2,
115 p_check_id_flag IN VARCHAR2,
116 x_job_id OUT NOCOPY NUMBER,
117 x_return_status OUT NOCOPY VARCHAR2,
118 x_error_msg_code OUT NOCOPY VARCHAR2);
119 /******************************************************
120 * Procedure : Check_BOM_EqLabor_or_ID
121 * Description : Used to validate the BOM ID
122 * Name combination.
123 *******************************************************/
124 PROCEDURE Check_BOM_EqLabor_or_ID
125 ( p_bom_eqlabor_id IN NUMBER
126 , p_bom_eqlabor_name IN VARCHAR2
127 , p_res_type_code IN VARCHAR2
128 , p_check_id_flag IN VARCHAR2
129 , x_bom_resource_id OUT NOCOPY NUMBER
130 , x_return_status OUT NOCOPY VARCHAR2
131 , x_error_msg_code OUT NOCOPY VARCHAR2 );
132
133 /******************************************************
134 * Procedure : Check_ItemCat_or_ID
135 * Description : Used to validate the Item Category ID
136 * Category name combination.
137 *******************************************************/
138 PROCEDURE Check_ItemCat_or_ID
139 ( p_item_cat_id IN NUMBER
140 ,p_item_cat_name IN VARCHAR2
141 , P_item_category_set_id IN NUMBER
142 , p_check_id_flag IN VARCHAR2
143 , x_item_category_id OUT NOCOPY NUMBER
144 , x_return_status OUT NOCOPY VARCHAR2
145 , x_error_msg_code OUT NOCOPY VARCHAR2 );
146
147 /******************************************************
148 * Procedure : Check_InventoryItem_or_ID
149 * Description : Used to validate the Inventory Item ID
150 * Inv Item name combination.
151 *******************************************************/
152 PROCEDURE Check_InventoryItem_or_ID
153 ( p_item_id IN NUMBER
154 ,p_item_name IN VARCHAR2
155 , P_item_master_id IN NUMBER
156 , p_check_id_flag IN VARCHAR2
157 , x_item_id OUT NOCOPY NUMBER
158 , x_return_status OUT NOCOPY VARCHAR2
159 , x_error_msg_code OUT NOCOPY VARCHAR2 );
160 /*****************************************************
161 * procedure : Validate_resource
162 * *************************************************/
163 PROCEDURE Validate_Resource(
164 p_resource_code IN VARCHAR2 DEFAULT NULL,
165 p_resource_name IN VARCHAR2 DEFAULT NULL,
166 p_resource_class_code IN VARCHAR2,
167 p_res_type_code IN VARCHAR2 DEFAULT NULL,
168 x_person_id OUT NOCOPY NUMBER,
169 x_bom_resource_id OUT NOCOPY NUMBER,
170 x_job_id OUT NOCOPY NUMBER,
171 x_person_type_code OUT NOCOPY VARCHAR2,
172 x_non_labor_resource OUT NOCOPY VARCHAR2,
173 x_inventory_item_id OUT NOCOPY NUMBER,
174 x_item_category_id OUT NOCOPY NUMBER,
175 x_resource_class_code OUT NOCOPY VARCHAR2,
176 x_resource_class_flag OUT NOCOPY VARCHAR2,
177 x_return_status OUT NOCOPY VARCHAR2,
178 x_error_msg_code OUT NOCOPY VARCHAR2);
179
180 /*******************************************************
181 * Procedure : Default_expenditure_type
182 ********************************************************/
183 PROCEDURE Default_expenditure_type;
184
185 /*******************************************************
186 * Procedure : Default_rate_expenditure_type
187 ********************************************************/
188 PROCEDURE Default_rate_expenditure_type;
189
190 /*******************************************************
191 * Procedure : Default_Supplier
192 * ****************************************************/
193 PROCEDURE Default_Supplier;
194
195 /*********************************************************
196 * PROCEDURE : default_job
197 *******************************************************/
198 PROCEDURE Default_job;
199
200 /**********************************************************
201 * Procedure : Default_Organization
202 *********************************************************/
203 PROCEDURE Default_Organization(p_project_id IN PA_PROJECTS_ALL.PROJECT_ID%TYPE);
204
205 /*******************************************************************
206 * Procedure : Default_rate_based
207 * *****************************************************************/
208 PROCEDURE Default_rate_based;
209
210 /*******************************************************************
211 * Procedure : Default_ou
212 ******************************************************************/
213 PROCEDURE Default_ou(p_project_id IN PA_PROJECTS_ALL.PROJECT_ID%TYPE);
214
215 /*******************************************************************
216 * Procedure : Default_currency_code
217 ******************************************************************/
218 PROCEDURE Default_currency_code;
219
220 /*******************************************************************
221 * Procedure : Default_UOM
222 ******************************************************************/
223 PROCEDURE Default_UOM;
224
225 /********************************************************************
226 * Procedure : get_resource_defaults
227 * *****************************************************************/
228 PROCEDURE get_resource_defaults (
229 P_resource_list_members IN SYSTEM.PA_NUM_TBL_TYPE,
230 P_project_id IN PA_PROJECTS_ALL.PROJECT_ID%TYPE,
231 X_resource_class_flag OUT NOCOPY SYSTEM.PA_VARCHAR2_1_TBL_TYPE,
232 X_resource_class_code OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
233 X_resource_class_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
234 X_res_type_code OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
235 X_incur_by_res_type OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
236 X_person_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
237 X_job_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
238 X_person_type_code OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
239 X_named_role OUT NOCOPY SYSTEM.PA_VARCHAR2_80_TBL_TYPE,
240 X_bom_resource_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
241 X_non_labor_resource OUT NOCOPY SYSTEM.PA_VARCHAR2_20_TBL_TYPE,
245 X_organization_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
242 X_inventory_item_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
243 X_item_category_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
244 X_project_role_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
246 X_fc_res_type_code OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
247 X_expenditure_type OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
248 X_expenditure_category OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
249 X_event_type OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
250 X_revenue_category_code OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
251 X_supplier_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
252 X_spread_curve_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
253 X_etc_method_code OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
254 X_mfc_cost_type_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
255 X_incurred_by_res_flag OUT NOCOPY SYSTEM.PA_VARCHAR2_1_TBL_TYPE,
256 X_incur_by_res_class_code OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
257 X_incur_by_role_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
258 X_unit_of_measure OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
259 X_org_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE,
260 X_rate_based_flag OUT NOCOPY SYSTEM.PA_VARCHAR2_1_TBL_TYPE,
261 X_rate_expenditure_type OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
262 X_rate_func_curr_code OUT NOCOPY SYSTEM.PA_VARCHAR2_30_TBL_TYPE,
263 X_msg_data OUT NOCOPY VARCHAR2,
264 X_msg_count OUT NOCOPY NUMBER,
265 X_return_status OUT NOCOPY VARCHAR2);
266
267 --Eugenes proc and Funcs
268 /*****************************************************************
269 * Type (Procedure or Procedure): Function
270 * Package Object Name : Ret_Resource_Name
271 * Purpose : Return the resource name from a given
272 * resource type code and id.
273 * Public or Private API?
274 * Public
275 ******************************************************************/
276 Function Ret_Resource_Name ( P_Res_Type_Code IN Varchar2,
277 P_Person_Id IN Number,
278 P_Bom_Resource_Id IN Number,
279 P_Job_Id IN Number,
280 P_Person_Type_Code IN Varchar2,
281 P_Non_Labor_Resource IN Varchar2,
282 P_Inventory_Item_Id IN Number,
283 P_Resource_Class_Id IN Number,
284 P_Item_Category_Id IN Number,
285 p_res_assignment_id IN NUMBER DEFAULT NULL)
286 Return VARCHAR2;
287
288 /**********************************************************************
289 *Type (Procedure or Procedure): Procedure
290 *Package Object Name: Get_Resource_Name
291 *Purpose: Return the resource name from a given
292 * resource type code/id.
293 *Public or Private API? Public
294 *Note: The parameter P_Proc_Func_Flag indicates where
295 * this procedure is being called from a procedure
296 * or a function. If called from a function then no data
297 * found will be supressed and the id/code is null will not get
298 * and raise exception and returns null for displayed parameter. All
299 * other errors will be raise;
300 * If called form a procedure then
301 * raise exception on no data found and when needed id/code is null.
302 ************************************************************/
303 Procedure Get_Resource_Name ( P_Res_Type_Code IN Varchar2,
304 P_Person_Id IN Number,
305 P_Bom_Resource_Id IN Number,
306 P_Job_Id IN Number,
307 P_Person_Type_Code IN Varchar2,
308 P_Non_Labor_Resource IN Varchar2,
309 P_Inventory_Item_Id IN Number,
310 P_Item_Category_Id IN Number,
311 P_Resource_Class_Id IN Number,
312 P_Proc_Func_Flag IN Varchar2,
313 p_res_assignment_id IN NUMBER DEFAULT NULL,
314 X_Resource_Displayed OUT NOCOPY Varchar2,
315 X_Return_Status OUT NOCOPY Varchar2,
316 X_Msg_Data OUT NOCOPY Varchar2
317 );
318
319 /***********************************************************************
320 *Type (Procedure or Procedure): Function
321 *Package Object Name: Ret_Fin_Category_Name
322 *Purpose: Return the resource name from a given
323 * resource type code.
324 *Public or Private API?
325 * Public
326 ***************************************************************/
327 Function Ret_Fin_Category_Name ( P_FC_Res_Type_Code IN Varchar2,
328 P_Expenditure_Type IN Varchar2,
329 P_Expenditure_Category IN Varchar2,
330 P_Event_Type IN Varchar2,
331 P_Revenue_Category_Code IN Varchar2,
332 p_res_assignment_id IN NUMBER default null
333 ) Return varchar2;
334
335 /******************************************************************
336 *Type (Procedure or Procedure): Procedure
337 *Package Object Name: Get_Fin_Category_Name
338 *Purpose: Return the resource name from a given
339 * resource type code.
340 ********************************************************************/
341 Procedure Get_Fin_Category_Name ( P_FC_Res_Type_Code IN Varchar2,
342 P_Expenditure_Type IN Varchar2,
343 P_Expenditure_Category IN Varchar2,
344 P_Event_Type IN Varchar2,
345 P_Revenue_Category_Code IN Varchar2,
346 P_Proc_Func_Flag IN Varchar2,
347 p_res_assignment_id IN NUMBER default null,
348 X_Fin_Cat_Displayed OUT NOCOPY Varchar2,
352
349 X_Return_Status OUT NOCOPY Varchar2,
350 X_Msg_Data OUT NOCOPY Varchar2
351 );
353 /***********************************************************************
354 * Function : ret_Organization_Name
355 * *******************************************************************/
356 Function Ret_Organization_Name ( P_Organization_Id IN Number ) Return Varchar2;
357
358 /******************************************************************
359 * Procedure : Get_Organization_Name
360 * ************************************************************/
361 Procedure Get_Organization_Name ( P_Organization_Id IN Number,
362 P_Proc_Func_Flag IN Varchar2,
363 X_Org_Displayed OUT NOCOPY Varchar2,
364 X_Return_Status OUT NOCOPY Varchar2,
365 X_Msg_Data OUT NOCOPY Varchar2 );
366
367 /*****************************************************************
368 * Function : Ret_Supplier_Name
369 * **************************************************************/
370 Function Ret_Supplier_Name ( P_Supplier_Id IN Number ) Return Varchar2;
371
372 /**************************************************************
373 * Procedure : Get_Supplier_Name
374 * **********************************************************/
375 Procedure Get_Supplier_Name ( P_Supplier_Id IN Number,
376 P_Proc_Func_Flag IN Varchar2,
377 X_Supplier_Displayed OUT NOCOPY Varchar2,
378 X_Return_Status OUT NOCOPY Varchar2,
379 X_Msg_Data OUT NOCOPY Varchar2 );
380 /****************************************************************
381 * Function : Ret_role_name
382 * *************************************************************/
383 Function Ret_Role_Name ( P_Role_Id IN Number ) Return Varchar2;
384
385 /*************************************************************
386 * Procedure : Get_Role_Name
387 * ***********************************************************/
388 Procedure Get_Role_Name ( P_Role_Id IN Number,
389 P_Proc_Func_Flag IN Varchar2,
390 X_Role_Displayed OUT NOCOPY Varchar2,
391 X_Return_Status OUT NOCOPY Varchar2,
392 X_Msg_Data OUT NOCOPY Varchar2 );
393
394 /************************************************************
395 * Function : Ret_Incur_By_Res_Name
396 * *********************************************************/
397 Function Ret_Incur_By_Res_Name ( P_Person_Id IN Number,
398 P_Job_Id IN Number,
399 P_Incur_By_Role_Id IN Number,
400 P_Person_Type_Code IN Varchar2,
401 P_Inc_By_Res_Class_Code IN Varchar2,
402 p_res_assignment_id IN NUMBER default null)
403 Return varchar2;
404
405 /*************************************************************
406 * Procedure : Get_Incur_By_Res_Name
407 * ***********************************************************/
408 Procedure Get_Incur_By_Res_Name ( P_Person_Id IN Number,
409 P_Job_Id IN Number,
410 P_Incur_By_Role_Id IN Number,
411 P_Person_Type_Code IN Varchar2,
412 P_Inc_By_Res_Class_Code IN Varchar2,
413 P_Proc_Func_Flag IN Varchar2,
414 p_res_assignment_id IN NUMBER default null,
415 X_Inc_By_Displayed OUT NOCOPY Varchar2,
416 X_Return_Status OUT NOCOPY Varchar2,
417 X_Msg_Data OUT NOCOPY Varchar2
418 );
419
420
421 /************************************************************
422 * Procedure : Get_Plan_Res_Combination
423 * *********************************************************/
424 Procedure Get_Plan_Res_Combination(
425 P_Resource_List_Member_Id IN Number,
426 X_Resource_Alias OUT NOCOPY Varchar2,
427 X_Plan_Res_Combination OUT NOCOPY Varchar2,
428 X_Return_Status OUT NOCOPY Varchar2,
429 X_Msg_Count OUT NOCOPY Number,
430 X_Msg_Data OUT NOCOPY Varchar2);
431
432 /*****************************************************************
433 * Function : Get_plan_res_combination
434 * ************************************************************/
435 FUNCTION Get_plan_res_combination( p_resource_list_member_id IN NUMBER) return
436 VARCHAR2;
437
438 /**************************************************************
439 * Procedure : Validate_fin_category
440 * ************************************************************/
441 Procedure Validate_Fin_Category(
442 P_FC_Res_Type_Code IN Varchar2,
443 P_Resource_Class_Code IN Varchar2,
444 P_Fin_Category_Name IN Varchar2,
445 P_migration_code IN Varchar2,
446 X_Expenditure_Type OUT NOCOPY Varchar2,
447 x_Expenditure_Category OUT NOCOPY Varchar2,
448 X_Event_Type OUT NOCOPY Varchar2,
449 X_Revenue_Category OUT NOCOPY Varchar2,
450 X_Return_Status OUT NOCOPY Varchar2,
451 X_Error_Message_Code OUT NOCOPY Varchar2);
452
453 /***************************************************************
454 * Procedure : Validate_Incur_by_resource
455 * ***********************************************************/
456 Procedure Validate_Incur_by_Resource(
457 P_Resource_Class_Code IN Varchar2,
458 P_Res_Type_Code IN Varchar2 Default Null,
459 P_Incur_By_Res_Code IN varchar2 Default Null,
460 X_Person_Id OUT NOCOPY Number,
461 X_Incur_By_Role_Id OUT NOCOPY Number,
462 X_Job_Id OUT NOCOPY Number,
463 X_Person_Type_Code OUT NOCOPY varchar2,
464 X_Incur_By_Res_Class_Code OUT NOCOPY varchar2,
465 X_Return_Status OUT NOCOPY Varchar2,
466 X_Error_Message_Code OUT NOCOPY Varchar2);
467
468 /**************************************************************
472 P_Task_Name IN VARCHAR2 Default Null,
469 * Procedure : Validate_Planning_Resource
470 * ************************************************************/
471 Procedure Validate_Planning_Resource(
473 P_Task_Number IN Varchar2 Default Null,
474 P_Planning_Resource_Alias IN Varchar2 Default Null,
475 P_Resource_List_Member_Id IN Number Default Null,
476 P_Resource_List_Id IN Number Default Null,
477 P_Res_Format_Id IN Number Default Null,
478 P_Resource_Class_Code IN Varchar2,
479 P_Res_Type_Code IN Varchar2 Default Null,
480 P_Resource_Code IN Varchar2 Default Null,
481 P_Resource_Name IN Varchar2 Default Null,
482 P_Project_Role_Id IN Number Default Null,
483 P_Project_Role_Name IN Varchar2 Default Null,
484 P_Team_role IN Varchar2 Default Null,
485 P_Organization_Id IN Number Default Null,
486 P_Organization_Name IN Varchar2 Default Null,
487 P_FC_Res_Type_Code IN Varchar2 Default Null,
488 P_Fin_Category_Name IN Varchar2 Default Null,
489 P_Supplier_Id IN Number Default Null,
490 P_Supplier_Name IN Varchar2 Default Null,
491 P_Incur_By_Resource_Code IN varchar2 Default Null,
492 P_Incur_By_resource_Type IN Varchar2 Default Null,
493 X_Resource_List_Member_Id OUT NOCOPY Number,
494 X_Person_Id OUT NOCOPY Number,
495 X_Bom_Resource_Id OUT NOCOPY Number,
496 X_Job_Id OUT NOCOPY Number,
497 X_Person_Type_Code OUT NOCOPY varchar2,
498 X_Non_Labor_Resource OUT NOCOPY varchar2,
499 X_Inventory_Item_Id OUT NOCOPY Number,
500 X_Item_Category_Id OUT NOCOPY Number,
501 X_Project_Role_Id OUT NOCOPY Number,
502 X_team_role OUT NOCOPY Varchar2,
503 X_Organization_Id OUT NOCOPY Number,
504 X_Expenditure_Type OUT NOCOPY Varchar2,
505 X_Expenditure_Category OUT NOCOPY Varchar2,
506 X_Event_Type OUT NOCOPY Varchar2,
507 X_Revenue_Category_Code OUT NOCOPY Varchar2,
508 X_Supplier_Id OUT NOCOPY Number,
509 X_Resource_Class_Id OUT NOCOPY Number,
510 X_resource_class_flag OUT NOCOPY varchar2,
511 X_Incur_By_Role_Id OUT NOCOPY Number,
512 X_Incur_By_res_Class_Code OUT NOCOPY varchar2,
513 X_Incur_By_Res_Flag OUT NOCOPY varchar2,
514 X_Return_Status OUT NOCOPY Varchar2,
515 X_Msg_Data OUT NOCOPY Varchar2,
516 X_Msg_Count OUT NOCOPY Number);
517
518
519 /* -----------------------------------------------------------------------
520 Type (Procedure or Procedure): Procedure
521 Package Object Name: Get_Resource_Cost_Rate
522 Purpose: Return the resource raw/burden rate and the
523 currency values.
524 Public or Private API? Public
525
526 ------------------------------------------------------------------------- */
527 Procedure Get_Resource_Cost_Rate
528 (P_eligible_rlm_id_tbl IN SYSTEM.PA_NUM_TBL_TYPE
529 ,P_project_id IN pa_projects_all.project_id%type
530 ,p_structure_type IN VARCHAR2
531 ,p_fin_plan_type_id IN NUMBER DEFAULT NULL
532 ,P_resource_curr_code_tbl OUT NOCOPY SYSTEM.PA_VARCHAR2_15_TBL_TYPE
533 ,P_resource_raw_rate_tbl OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE
534 ,P_resource_burden_rate_tbl OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE
535 ) ;
536
537 Function Derive_Resource_List_Member
538 (p_project_id IN NUMBER,
539 p_res_format_id IN NUMBER,
540 p_person_id IN NUMBER DEFAULT NULL,
541 p_job_id IN NUMBER DEFAULT NULL,
542 p_organization_id IN NUMBER DEFAULT NULL,
543 p_expenditure_type IN Varchar2 DEFAULT NULL,
544 p_expenditure_category IN Varchar2 DEFAULT NULL,
545 p_project_role_id IN Number DEFAULT NULL,
546 p_person_type_code IN Varchar2 DEFAULT NULL,
547 p_named_role IN Varchar2 DEFAULT NULL)
548 RETURN NUMBER;
549
550 Procedure Get_Res_Format_For_Team_Role
551 (p_resource_list_id IN NUMBER,
552 x_asgmt_res_format_id OUT NOCOPY NUMBER,
553 x_req_res_format_id OUT NOCOPY NUMBER,
554 x_return_status OUT NOCOPY Varchar2);
555
556
557 /* ----------------------------------------------------------------
558 * API for populating a resource list into the new TL tables. This API
559 * is called by the resource list upgrade concurrent program.
560 * ----------------------------------------------------------------*/
561 PROCEDURE Populate_list_into_tl(
562 p_resource_list_id IN NUMBER,
563 x_return_status OUT NOCOPY VARCHAR2,
564 x_msg_count OUT NOCOPY VARCHAR2,
565 x_msg_data OUT NOCOPY VARCHAR2 );
566
567 /*******************************************************************
568 * Procedure : Delete_proj_specific_resource
569 * Desc : This API is used to delete the project specific resources
570 * once the project is deleted.
571 *******************************************************************/
572 PROCEDURE Delete_Proj_Specific_Resource(
573 p_project_id IN NUMBER,
574 x_return_status OUT NOCOPY VARCHAR2,
575 x_msg_count OUT NOCOPY NUMBER);
576
577 /*****************************************************************
578 * Function : Get_class_member_id
579 * Given a resource list, project and resource class, this function
580 * returns the class level resource list member for that class, for
581 * both centrally and non-centrally controlled resource lists.
582 * ************************************************************/
583 FUNCTION Get_class_member_id(p_project_id IN NUMBER,
584 p_resource_list_id IN NUMBER,
585 p_resource_class_code IN VARCHAR2) return NUMBER;
586
587 /*****************************************************************
588 * Function : get_rate_based_flag
589 * Given a resource list member, this function returns a flag
590 * to indicate whether the list member is rate based or not.
591 * ************************************************************/
592 FUNCTION Get_rate_based_flag(p_resource_list_member_id IN NUMBER) return VARCHAR2;
593
594 /*****************************************************************
595 * Function : check_enable_allowed
596 * Given a disabled resource list member, this function checks to see if
597 * enabling it is allowed - meaning that it won't result in a duplicate
598 * resource list member. Hence it checks to see if there are any enabled
599 * list members with the same format and attributes. Returns Y if the
600 * given list member is unique; and N if not.
601 * ************************************************************/
602
603 FUNCTION check_enable_allowed(p_resource_list_member_id IN NUMBER)
604 return VARCHAR2;
605
606 /*****************************************************************
607 * Procedure : check_list_member_on_list
608 * Given a resource list member and a resource list, this procedure checks
609 * to see if the list member is on the list (looking at the project specific
610 * case as well) and returns an error message if it isn't.
611 * If p_chk_enabled is passed in as 'Y', an additional check is done
612 * to see whether the list member is enabled or not.
613 * ************************************************************/
614 PROCEDURE check_list_member_on_list(
615 p_resource_list_id IN NUMBER,
616 p_resource_list_member_id IN NUMBER,
617 p_project_id IN NUMBER,
618 p_chk_enabled IN VARCHAR2 DEFAULT 'N',
619 p_alias IN VARCHAR2 DEFAULT NULL,
620 x_resource_list_member_id OUT NOCOPY NUMBER,
621 x_valid_member_flag OUT NOCOPY VARCHAR2,
622 x_return_status OUT NOCOPY VARCHAR2,
623 x_msg_count OUT NOCOPY VARCHAR2,
624 x_msg_data OUT NOCOPY VARCHAR2 );
625
626 /********************************************************************
627 * Procedure : default_other_elements
628 * This procedure derives other segments for a planning resource, based
629 * on the resource format, if it is possible to derive anything. For
630 * example, if the format provided is Named Person - Organization, and
631 * the person ID or name is specified, the person's HR Organization is derived
632 * and passed back as X_organization_id and X_organization_name. Please
633 * see the functional design for all the values that can be derived.
634 * *****************************************************************/
635 PROCEDURE default_other_elements (
636 P_res_format_id IN NUMBER,
637 P_person_id IN NUMBER DEFAULT NULL,
638 P_person_name IN VARCHAR2 DEFAULT NULL,
639 p_bom_resource_id IN NUMBER DEFAULT NULL,
640 p_bom_resource_name IN VARCHAR2 DEFAULT NULL,
641 p_non_labor_resource IN VARCHAR2 DEFAULT NULL,
642 X_organization_id OUT NOCOPY NUMBER,
643 x_organization_name OUT NOCOPY VARCHAR2,
644 X_expenditure_type OUT NOCOPY VARCHAR2,
645 X_msg_data OUT NOCOPY VARCHAR2,
646 X_msg_count OUT NOCOPY NUMBER,
647 X_return_status OUT NOCOPY VARCHAR2);
648
649 END PA_PLANNING_RESOURCE_UTILS;