DBA Data[Home] [Help]

PACKAGE: APPS.PA_TASK_ASSIGNMENT_UTILS

Source


1 PACKAGE PA_TASK_ASSIGNMENT_UTILS AUTHID CURRENT_USER AS
2 -- $Header: PATAUTLS.pls 120.11 2008/03/20 09:00:33 rthumma noship $
3 
4 
5   p_multi_asgmt_req_flag VARCHAR2(1) := 'N'; /* Added for bug 3724780.*/
6   p_assignment_effort    NUMBER;
7 
8   g_require_progress_rollup VARCHAR(1) := 'N'; --  Bug 4492493
9   g_process_flow VARCHAR(20) := null; --  Bug 4646016
10 
11 /* This record type is used to pass the details of the tasks that should to be
12    processed by the TA validation API. This record type will be passed to the TA
13    validation API from add_planning_transactions API and update_planninng_transactions API*/
14 TYPE task_rec_type IS RECORD
15 (
16        project_id                NUMBER                                                    DEFAULT NULL
17       ,task_elem_version_id      NUMBER                                                    DEFAULT NULL
18       ,struct_elem_version_id    NUMBER                                                    DEFAULT NULL
19       ,task_name                 pa_proj_elements.name%TYPE                                DEFAULT NULL
20       ,task_number               pa_proj_elements.element_number%TYPE                      DEFAULT NULL
21       ,start_date                pa_resource_assignments.planning_start_date%TYPE          DEFAULT NULL
22       ,end_date                  pa_resource_assignments.planning_end_date%TYPE            DEFAULT NULL
23       ,planned_people_effort     pa_resource_assignments.total_plan_quantity%TYPE          DEFAULT NULL
24       ,planned_equip_effort      pa_resource_assignments.total_plan_quantity%TYPE          DEFAULT NULL
25       ,latest_eff_pub_flag       pa_proj_elem_ver_structure.latest_eff_published_flag%TYPE DEFAULT NULL
26 );
27 
28 /* This record type is used to pass the details of the resource assignments that should to be
29    processed by the TA validation API. This record type will be passed to the TA
30    validation API from add_planning_transactions API and update_planninng_transactions API*/
31 TYPE resource_rec_type IS RECORD
32 (
33        resource_assignment_id   NUMBER                                                  DEFAULT NULL
34       ,assignment_description   pa_resource_assignments.assignment_description%TYPE     DEFAULT NULL
35       ,resource_list_member_id  NUMBER                                                  DEFAULT NULL
36       ,planning_resource_alias  pa_resource_list_members.alias%TYPE                     DEFAULT NULL
37       ,resource_class_flag      pa_resource_list_members.resource_class_flag%TYPE       DEFAULT NULL
38       ,resource_class_code      pa_resource_assignments.resource_class_code%TYPE        DEFAULT NULL
39       ,resource_class_id        NUMBER                                                  DEFAULT NULL
40       ,res_type_code            pa_resource_assignments.res_type_code%TYPE              DEFAULT NULL
41       ,resource_code            VARCHAR2(30)                                            DEFAULT NULL
42       ,resource_name            VARCHAR2(240)                                            DEFAULT NULL
43       ,person_id                NUMBER                                                  DEFAULT NULL
47       ,non_labor_resource       pa_resource_assignments.non_labor_resource%TYPE         DEFAULT NULL
44       ,job_id                   NUMBER                                                  DEFAULT NULL
45       ,person_type_code         pa_resource_assignments.person_type_code%TYPE           DEFAULT NULL
46       ,bom_resource_id          NUMBER                                                  DEFAULT NULL
48       ,inventory_item_id        NUMBER                                                  DEFAULT NULL
49       ,item_category_id         NUMBER                                                  DEFAULT NULL
50       ,project_role_id          NUMBER                                                  DEFAULT NULL
51       ,project_role_name        pa_proj_roles_v.meaning%TYPE                            DEFAULT NULL
52       ,organization_id          NUMBER                                                  DEFAULT NULL
53       ,organization_name        hr_all_organization_units.name%TYPE                     DEFAULT NULL
54       ,fc_res_type_code         pa_resource_assignments.fc_res_type_code%TYPE           DEFAULT NULL
55       ,financial_category_code  VARCHAR2(30)                                            DEFAULT NULL
56       ,expenditure_type         pa_resource_assignments.expenditure_type%TYPE           DEFAULT NULL
57       ,expenditure_category     pa_resource_assignments.expenditure_category%TYPE       DEFAULT NULL
58       ,event_type               pa_resource_assignments.event_type%TYPE                 DEFAULT NULL
59       ,revenue_category_code    pa_resource_assignments.revenue_category_code%TYPE      DEFAULT NULL
60       ,supplier_id              NUMBER                                                  DEFAULT NULL
61       ,project_assignment_id    NUMBER                                                  DEFAULT NULL
62       ,unit_of_measure          pa_resource_assignments.unit_of_measure%TYPE            DEFAULT NULL
63       ,spread_curve_id          NUMBER                                                  DEFAULT NULL
64       ,etc_method_code          pa_resource_assignments.etc_method_code%TYPE            DEFAULT NULL
65       ,mfc_cost_type_id         NUMBER                                                  DEFAULT NULL
66       ,procure_resource_flag    pa_resource_assignments.procure_resource_flag%TYPE      DEFAULT NULL
67       ,incurred_by_res_flag     pa_resource_assignments.incurred_by_res_flag%TYPE       DEFAULT NULL
68       ,incur_by_resource_code   VARCHAR2(30)                                            DEFAULT NULL
69       ,incur_by_resource_name   VARCHAR2(240)                                           DEFAULT NULL
70       ,Incur_by_res_class_code  pa_resource_assignments.Incur_by_res_class_code%TYPE    DEFAULT NULL
71       ,Incur_by_role_id         NUMBER                                                  DEFAULT NULL
72       ,use_task_schedule_flag   pa_resource_assignments.use_task_schedule_flag%TYPE     DEFAULT NULL
73       ,planning_start_date      pa_resource_assignments.planning_start_date%TYPE        DEFAULT NULL
74       ,planning_end_date        pa_resource_assignments.planning_end_date%TYPE          DEFAULT NULL
75       ,schedule_start_date     pa_resource_assignments.schedule_start_date%TYPE        DEFAULT NULL
76       ,schedule_end_date       pa_resource_assignments.schedule_end_date%TYPE          DEFAULT NULL
77       ,total_quantity           pa_resource_assignments.total_plan_quantity%TYPE        DEFAULT NULL
78       ,total_raw_cost           pa_resource_assignments.total_plan_raw_cost%TYPE        DEFAULT NULL
79       ,override_currency_code   pa_fp_txn_currencies.txn_currency_code%TYPE             DEFAULT NULL
80       ,billable_percent         pa_resource_assignments.billable_percent%TYPE           DEFAULT NULL
81       ,cost_rate_override       NUMBER                                                  DEFAULT NULL
82       ,burdened_rate_override   NUMBER                                                  DEFAULT NULL
83       ,sp_fixed_date            pa_resource_assignments.sp_fixed_date%TYPE              DEFAULT NULL
84       ,named_role               pa_resource_assignments.named_role%TYPE                 DEFAULT NULL
85       ,financial_category_name  VARCHAR2(80)                                            DEFAULT NULL
86       ,supplier_name            VARCHAR2(240)                                            DEFAULT NULL
87       ,wbs_element_version_id   NUMBER                                                  DEFAULT NULL
88       ,unplanned_flag           VARCHAR2(1)                                             DEFAULT NULL
89       ,org_id                   pa_resource_assignments.rate_expenditure_org_id%TYPE    DEFAULT NULL
90       ,rate_based_flag          pa_resource_assignments.rate_based_flag%TYPE            DEFAULT NULL
91       ,rate_expenditure_type    pa_resource_assignments.rate_expenditure_type%TYPE      DEFAULT NULL
92       ,rate_func_curr_code      pa_resource_assignments.rate_exp_func_curr_code%TYPE    DEFAULT NULL
93 	  --parameter not used for resource defaults anymore..
94       -- ,rate_incurred_by_org_id  pa_resource_assignments.rate_incurred_by_organz_id%TYPE DEFAULT NULL
95       ,incur_by_res_type        VARCHAR2(30)                                            DEFAULT NULL
96       ,task_id                  pa_resource_assignments.task_id%TYPE                    DEFAULT NULL
97       ,structure_version_id     pa_proj_element_versions.parent_structure_version_id%TYPE DEFAULT NULL
98       ,ATTRIBUTE_CATEGORY       pa_resource_assignments.attribute_category%TYPE         DEFAULT NULL
99       ,ATTRIBUTE1               pa_resource_assignments.attribute1%TYPE                 DEFAULT NULL
100       ,ATTRIBUTE2               pa_resource_assignments.attribute2%TYPE                 DEFAULT NULL
101       ,ATTRIBUTE3               pa_resource_assignments.attribute3%TYPE                 DEFAULT NULL
102       ,ATTRIBUTE4               pa_resource_assignments.attribute4%TYPE                 DEFAULT NULL
103       ,ATTRIBUTE5               pa_resource_assignments.attribute5%TYPE                 DEFAULT NULL
104       ,ATTRIBUTE6               pa_resource_assignments.attribute6%TYPE                 DEFAULT NULL
108       ,ATTRIBUTE10              pa_resource_assignments.attribute10%TYPE                DEFAULT NULL
105       ,ATTRIBUTE7               pa_resource_assignments.attribute7%TYPE                 DEFAULT NULL
106       ,ATTRIBUTE8               pa_resource_assignments.attribute8%TYPE                 DEFAULT NULL
107       ,ATTRIBUTE9               pa_resource_assignments.attribute9%TYPE                 DEFAULT NULL
109       ,ATTRIBUTE11              pa_resource_assignments.attribute11%TYPE                DEFAULT NULL
110       ,ATTRIBUTE12              pa_resource_assignments.attribute12%TYPE                DEFAULT NULL
111       ,ATTRIBUTE13              pa_resource_assignments.attribute13%TYPE                DEFAULT NULL
112       ,ATTRIBUTE14              pa_resource_assignments.attribute14%TYPE                DEFAULT NULL
113       ,ATTRIBUTE15              pa_resource_assignments.attribute15%TYPE                DEFAULT NULL
114       ,ATTRIBUTE16              pa_resource_assignments.attribute16%TYPE                DEFAULT NULL
115       ,ATTRIBUTE17              pa_resource_assignments.attribute17%TYPE                DEFAULT NULL
116       ,ATTRIBUTE18              pa_resource_assignments.attribute18%TYPE                DEFAULT NULL
117       ,ATTRIBUTE19              pa_resource_assignments.attribute19%TYPE                DEFAULT NULL
118       ,ATTRIBUTE20              pa_resource_assignments.attribute20%TYPE                DEFAULT NULL
119       ,ATTRIBUTE21              pa_resource_assignments.attribute21%TYPE                DEFAULT NULL
120       ,ATTRIBUTE22              pa_resource_assignments.attribute22%TYPE                DEFAULT NULL
121       ,ATTRIBUTE23              pa_resource_assignments.attribute23%TYPE                DEFAULT NULL
122       ,ATTRIBUTE24              pa_resource_assignments.attribute24%TYPE                DEFAULT NULL
123       ,ATTRIBUTE25              pa_resource_assignments.attribute25%TYPE                DEFAULT NULL
124       ,ATTRIBUTE26              pa_resource_assignments.attribute26%TYPE                DEFAULT NULL
125       ,ATTRIBUTE27              pa_resource_assignments.attribute27%TYPE                DEFAULT NULL
126       ,ATTRIBUTE28              pa_resource_assignments.attribute28%TYPE                DEFAULT NULL
127       ,ATTRIBUTE29              pa_resource_assignments.attribute29%TYPE                DEFAULT NULL
128       ,ATTRIBUTE30              pa_resource_assignments.attribute30%TYPE                DEFAULT NULL
129 	  ,scheduled_delay			pa_resource_assignments.scheduled_delay%TYPE			DEFAULT NULL
130 );
131 
132 --
133 -- Global Variables
134 --
135 g_resource_assignment_id       pa_resource_assignments.resource_assignment_id%TYPE := -999;
136 
137 g_baselined_asgmt_start_date   pa_resource_assignments.planning_end_date%TYPE;
138 g_baselined_asgmt_end_date     pa_resource_assignments.planning_start_date%TYPE;
139 
140 g_baselined_planned_qty   pa_resource_assignments.total_plan_quantity%TYPE;
141 g_bl_planned_bur_cost_txn_cur pa_resource_assignments.total_plan_raw_cost%TYPE;
142 g_bl_bur_cost_proj_cur    pa_resource_assignments.total_project_burdened_cost%TYPE;
143 g_bl_bur_cost_projfunc_cur pa_resource_assignments.total_plan_burdened_cost%TYPE;
144 g_bl_planned_raw_cost_txn_cur pa_budget_lines.txn_raw_cost%TYPE;
145 g_bl_raw_cost_proj_cur    pa_resource_assignments.total_project_raw_cost%TYPE;
146 g_bl_raw_cost_projfunc_cur pa_resource_assignments.total_plan_raw_cost%TYPE;
147 
148 g_pl_resource_assignment_id       pa_resource_assignments.resource_assignment_id%TYPE := -999;
149 
150 g_planned_quantity         pa_budget_lines.quantity%TYPE;
151 g_planned_bur_cost_txn_cur pa_budget_lines.txn_burdened_cost%TYPE;
152 g_planned_raw_cost_txn_cur pa_budget_lines.txn_raw_cost%TYPE;
153 g_actual_quantity          pa_budget_lines.init_quantity%TYPE;
154 g_act_bur_cost_txn_cur     pa_budget_lines.init_burdened_cost%TYPE;
155 g_act_raw_cost_txn_cur     pa_budget_lines.init_raw_cost%TYPE;
156 g_avg_raw_cost_rate        pa_budget_lines.txn_standard_cost_rate%TYPE;
157 g_avg_bur_cost_rate        pa_budget_lines.burden_cost_rate%TYPE;
158 
159 g_cur_resource_assignment_id     pa_resource_assignments.resource_assignment_id%TYPE := -999;
160 
161 g_txn_currency_code        pa_budget_lines.txn_currency_code%TYPE;
162 
163 g_ta_display_flag          VARCHAR2(1) := 'N';
164 g_apply_progress_flag      VARCHAR2(1) := 'N'; -- Bug 4286558
165 
166 --
167 --  FUNCTION
168 --              Get_Task_Resources
169 --  PURPOSE
170 --              Returns VARCHAR - a string of planning resource aliases on a given task.
171 --
172 FUNCTION Get_Task_Resources(p_element_version_id IN NUMBER) RETURN VARCHAR2;
173 
174 --
175 --  FUNCTION
176 --              Check_Asgmt Exists in Task
177 --  PURPOSE
178 --              Returns VARCHAR - 'Y' if task assignment exists in the given workplan task version.
179 --
180 FUNCTION Check_Asgmt_Exists_In_Task(p_element_version_id IN NUMBER) RETURN VARCHAR2;
181 
182 --
183 --  FUNCTION
184 --              	Check_Task_Asgmt_Exists
185 --  PURPOSE
186 --  If task assignment exists in the given financial task on the given ei date
187 --  for a person, return 'Y'; otherwise, return 'N'
188 
189 FUNCTION Check_Task_Asgmt_Exists(
190          p_person_id IN NUMBER,
191 		 p_financial_task_id IN NUMBER,
192          p_ei_date IN DATE) RETURN VARCHAR2;
193 
194 --
195 --  FUNCTION
196 --              Compare Dates
197 --  PURPOSE
198 --              Returns VARCHAR - 'E ' if first date is earlier than second and
199 --                                 'L' otherwise.
200 --
201 FUNCTION Compare_Dates(p_first_date IN DATE, p_second_date IN DATE) RETURN VARCHAR2;
202 
203 -- This procedure will Adjust the Task Assignment Dates
204 -- upon changes on a Task's Scheduled Dates.
205 PROCEDURE Adjust_Asgmt_Dates(
209 			p_old_task_sch_finish    IN   DATE DEFAULT NULL,
206             p_context                IN   VARCHAR2 DEFAULT 'UPDATE',
207             p_element_version_id     IN   NUMBER,
208 			p_old_task_sch_start     IN   DATE,
210 			p_new_task_sch_start     IN   DATE,
211 			p_new_task_sch_finish    IN   DATE,
212             x_res_assignment_id_tbl  OUT NOCOPY  SYSTEM.PA_NUM_TBL_TYPE,
213             x_planning_start_tbl     OUT NOCOPY  SYSTEM.PA_DATE_TBL_TYPE,
214             x_planning_end_tbl       OUT NOCOPY  SYSTEM.PA_DATE_TBL_TYPE,
215 			x_return_status          OUT NOCOPY  VARCHAR2);
216 
217 TYPE l_task_rec_tbl_type IS TABLE OF task_rec_type
218 INDEX BY BINARY_INTEGER;
219 TYPE l_resource_rec_tbl_type IS TABLE OF resource_rec_type
220 INDEX BY BINARY_INTEGER;
221 
222 
223 
224 -- This procedure will Validate the Creation
225 -- and also obtain task assignment specific attributes upon
226 -- Planning transaction creation.
227 
228 PROCEDURE Validate_Create_Assignment
229 		  			(
230                         p_calling_context              IN            VARCHAR2 DEFAULT NULL,  -- Added for Bug 6856934
231                         p_one_to_one_mapping_flag      IN            VARCHAR2 DEFAULT 'N',
232                         p_task_rec_tbl                 IN            l_task_rec_tbl_type,
233 			p_task_assignment_tbl          IN OUT NOCOPY l_resource_rec_tbl_type,
234 			x_del_task_level_rec_code_tbl  OUT NOCOPY     SYSTEM.PA_VARCHAR2_30_TBL_TYPE ,
235 			x_return_status                OUT NOCOPY     VARCHAR2
236 						);
237 
238 -- This procedure will Validate the Updation on Planning Transaction
239 
240 PROCEDURE Validate_Update_Assignment
241 		  			(
242                         p_calling_context        IN            VARCHAR2 DEFAULT NULL,  -- Added for Bug 6856934
243 			p_task_assignment_tbl    IN OUT NOCOPY l_resource_rec_tbl_type,
244 			x_return_status             OUT NOCOPY VARCHAR2
245 					);
246 
247 -- This procedure will Validate the Deletion of Planning Transactions
248 -- and return Assignments that can be deleted.
249 --Bug 4951422. Added the OUT parameter x_task_assmt_ids_tbl. This tbl will be populated
250 --when p_task_or_res parameter is 'TASKS'. This table will contain the resource assignment ids
251 --that are eligible for deletion so that delete_planning_transactions uses these ids instead
252 --of element_version_ids for deleting data
253 PROCEDURE Validate_Delete_Assignment
254 		  (     p_context                    IN   VARCHAR2,
255                         p_calling_context            IN            VARCHAR2 DEFAULT NULL,  -- Added for Bug 6856934
256                         p_task_or_res                IN   VARCHAR2 DEFAULT 'ASSIGNMENT',
257 		        p_elem_ver_id_tbl            IN   SYSTEM.PA_NUM_TBL_TYPE,
258 		        p_task_name_tbl              IN   SYSTEM.PA_VARCHAR2_240_TBL_TYPE,
259 		        p_task_number_tbl            IN   SYSTEM.PA_VARCHAR2_240_TBL_TYPE,
260 		        p_resource_assignment_id_tbl IN   SYSTEM.PA_NUM_TBL_TYPE,
261 		        x_delete_task_flag_tbl       OUT  NOCOPY SYSTEM.PA_VARCHAR2_1_TBL_TYPE,
262 		        x_delete_asgmt_flag_tbl      OUT  NOCOPY SYSTEM.PA_VARCHAR2_1_TBL_TYPE,
263 			x_task_assmt_ids_tbl         OUT  NOCOPY SYSTEM.PA_NUM_TBL_TYPE, --Bug 4951422
264 		        x_return_status              OUT  NOCOPY VARCHAR2);
265 
266 -- This procedure will Validate the Copying of Planning Transaction
267 -- and return Assignments that can be copied.
268 
269 PROCEDURE Validate_Copy_Assignment(
270             p_src_project_id         IN   NUMBER,
271             p_target_project_id      IN   NUMBER,
272             p_src_elem_ver_id_tbl    IN   SYSTEM.PA_NUM_TBL_TYPE,
273             p_targ_elem_ver_id_tbl   IN   SYSTEM.PA_NUM_TBL_TYPE,
274             p_copy_people_flag       IN   VARCHAR2,
275             p_copy_equip_flag        IN   VARCHAR2,
276             p_copy_mat_item_flag     IN   VARCHAR2,
277             p_copy_fin_elem_flag     IN   VARCHAR2,
278             p_copy_external_flag     IN   VARCHAR2   DEFAULT 'N',
279             x_resource_rec_tbl       OUT NOCOPY l_resource_rec_tbl_type,
280             x_calculate_flag         OUT NOCOPY VARCHAR2,
281 			x_rbs_diff_flag          OUT NOCOPY VARCHAR2,
282             x_return_status          OUT NOCOPY VARCHAR2 ) ;
283 
284 
285 
286 -- This function will Validates the Planning Resources for a Workplan
287 
288 FUNCTION Validate_Pl_Res_For_WP( p_resource_list_member_id  IN   NUMBER ) RETURN VARCHAR2 ;
289 
290 -- This function will Validate whether a financial category is valid for workplan
291 -- Returns error if the given fc_res_type_code is 'REVENUE_CATEGORY' or 'EVENT_TYPE'.
292 
293 FUNCTION Validate_Fin_Cat_For_WP( p_fc_res_type_code  IN  VARCHAR2) RETURN VARCHAR2;
294 
295 --Function below calls both pa_proj_element_utils.check_edit_task_ok &
296 --PA_PROJECT_STRUCTURE_UTILS.GET_UPDATE_WBS_FLAG
297 --Needs Project_Id
298 --Structure Version Id & Element_Id will be queried based on
299 --either Element Version Id or Task Assignment Id if not passed.
300 
301 FUNCTION Check_Edit_Task_Ok(P_PROJECT_ID	   IN NUMBER default NULL,
302    P_STRUCTURE_VERSION_ID	IN NUMBER default NULL,
303    P_CURR_STRUCT_VERSION_ID IN NUMBER default NULL,
304    P_Element_Id IN NUMBER default NULL,
305    P_Element_Version_Id IN NUMBER default NULL,
306    P_Task_Assignment_Id IN NUMBER default NULL) RETURN VARCHAR2;
307 
308 FUNCTION Get_WP_Resource_List_Id(
309             p_project_id         IN   NUMBER)
310 RETURN   pa_proj_fp_options.all_resource_list_id%TYPE;
311 
312 /*  This function find all task assignments a resource is assigned to, and find
313     the min/max dates for those assignments.
314     p_resource_list_member_id: the resource id.
315     p_mode: MAX or MIN
316     p_project_id: tasks of which project.
317     p_budget_version_id: budget version.
318     p_unstaffed_only: Y or N, whether only task assigments without team role created, or all
319                       task assignments.
320 */
321 FUNCTION Get_Min_Max_Task_Asgmt_Date(p_resource_list_member_id IN NUMBER, p_mode IN VARCHAR2,
322   p_project_id IN NUMBER, p_budget_version_id IN NUMBER, p_unstaffed_only IN VARCHAR2 default 'N') RETURN DATE;
323 
324 FUNCTION Get_Class_UOM(p_project_id IN NUMBER,
325                        p_budget_version_id IN NUMBER,
326 					   p_class IN VARCHAR2 ) RETURN VARCHAR2;
327 
328 FUNCTION Get_Role(p_resource_list_member_id IN NUMBER default NULL,
329                   p_project_id IN NUMBER default NULL) RETURN VARCHAR2;
330 
331 FUNCTION Get_Team_Role(p_resource_list_member_id IN NUMBER default NULL,
332                        p_project_id IN NUMBER default NULL) RETURN VARCHAR2;
333 
334 FUNCTION Get_Assignment_Effort RETURN NUMBER ;
335 
336 FUNCTION get_baselined_asgmt_dates(
337   p_project_id             IN pa_projects_all.project_id%TYPE,
338   p_element_version_id     IN pa_proj_element_versions.element_version_id%TYPE,
339   p_resource_assignment_id IN pa_resource_assignments.resource_assignment_id%TYPE,
340   p_txn_currency_code      IN pa_budget_lines.txn_currency_code%TYPE,
341   p_proj_currency_code     IN pa_projects_all.project_currency_code%TYPE,
342   p_projfunc_currency_code IN pa_projects_all.projfunc_currency_code%TYPE,
343   p_code IN VARCHAR2) RETURN DATE;
344 
345 FUNCTION get_baselined_asgmt_amounts(
346   p_project_id             IN pa_projects_all.project_id%TYPE,
347   p_element_version_id     IN pa_proj_element_versions.element_version_id%TYPE,
348   p_resource_assignment_id IN pa_resource_assignments.resource_assignment_id%TYPE,
349   p_txn_currency_code      IN pa_budget_lines.txn_currency_code%TYPE,
350   p_proj_currency_code     IN pa_projects_all.project_currency_code%TYPE,
351   p_projfunc_currency_code IN pa_projects_all.projfunc_currency_code%TYPE,
352   p_code IN VARCHAR2) RETURN NUMBER;
353 
354 /*Commented for bug#6798529
355 FUNCTION get_planned_asgmt_amounts(
356   p_resource_assignment_id IN pa_resource_assignments.resource_assignment_id%TYPE,
357   p_code IN VARCHAR2) RETURN NUMBER;
358 */
359 
360 FUNCTION get_planned_currency_info(
361   p_resource_assignment_id IN pa_resource_assignments.resource_assignment_id%TYPE,
362   p_project_id IN pa_projects_all.project_id%TYPE,
363   p_code IN VARCHAR2) RETURN VARCHAR2;
364 
365 FUNCTION get_task_level_record(
366   p_project_id             IN pa_projects_all.project_id%TYPE,
367   p_element_version_id     IN pa_proj_element_versions.element_version_id%TYPE
368 ) RETURN NUMBER;
369 
370 --Internal Utiilities to convert char/num/date to NULL or fnd_api.g_miss_xx depending on p_mode of 'F' or 'B'
371 function gchar(p_char IN VARCHAR2 default NULL, p_mode IN VARCHAR2 default 'F') return varchar2 ;
372 function gnum(p_num IN NUMBER default NULL, p_mode IN VARCHAR2 default 'F') return NUMBER;
373 function gdate(p_date IN DATE default NULL, p_mode IN VARCHAR2 default 'F') return DATE ;
374 
375 PROCEDURE set_table_stats(ownname IN VARCHAR2,
376                           tabname IN VARCHAR2,
377                           numrows IN NUMBER,
378                           numblks IN NUMBER,
379                           avgrlen IN NUMBER);
380 --BUG 4373411 , rtarway, DHIER refresh rates
381 PROCEDURE CHECK_EDIT_OK( p_api_version_number    IN   NUMBER   := 1.0
382 , p_init_msg_list         IN   VARCHAR2 := FND_API.G_FALSE
383 , p_commit                IN   VARCHAR2 := FND_API.G_FALSE
384 , p_project_id            IN NUMBER
385 , p_pa_structure_version_id IN NUMBER
386 , px_budget_version_id    IN OUT NOCOPY NUMBER
387 , x_return_status OUT NOCOPY VARCHAR2 			  --File.Sql.39 bug 4440895
388 , x_msg_data      OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
389 , x_msg_count     OUT NOCOPY NUMBER); --File.Sql.39 bug 4440895
390 
391 -- Bug 4492493
392 FUNCTION Is_Progress_Rollup_Required(
393   p_project_id             IN pa_projects_all.project_id%TYPE
394 ) RETURN VARCHAR2;
395 
396 /* Added for bug 6014706*/
397 FUNCTION is_uncategorized_res_list
398 ( p_resource_list_id        IN pa_resource_lists_all_bg.resource_list_id%TYPE := NULL
399   ,p_project_id             IN pa_projects_all.project_id%TYPE := NULL
400 ) RETURN   VARCHAR2;
401 /* End for bug 6014706*/
402 
403 end PA_TASK_ASSIGNMENT_UTILS;
404 
405