1875: IF l_planned_effort_uom IS NULL OR l_planned_effort_uom = fnd_api.g_miss_char THEN
1876: l_planned_effort_uom := l_task_info.planned_effort_uom;
1877: END IF;
1878:
1879: l_planned_effort_minutes := csf_util_pvt.convert_to_minutes(
1880: l_planned_effort
1881: , l_planned_effort_uom
1882: );
1883:
3102: , t.scheduled_start_date
3103: , t.scheduled_end_date
3104: , t.planned_start_date
3105: , t.planned_end_date
3106: , csf_util_pvt.convert_to_minutes(t.actual_effort, t.actual_effort_uom) actual_effort
3107: FROM jtf_tasks_b t
3108: WHERE t.task_id = p_parent_task_id
3109: AND NVL(t.deleted_flag, 'N') <> 'Y';
3110:
3113: , MIN(t.scheduled_start_date) scheduled_start_date
3114: , MAX(t.scheduled_end_date) scheduled_end_date
3115: , MIN(t.actual_start_date) actual_start_date
3116: , MAX(t.actual_end_date) actual_end_date
3117: , SUM(csf_util_pvt.convert_to_minutes(t.actual_effort, t.actual_effort_uom)) actual_effort
3118: FROM jtf_tasks_b t
3119: , jtf_task_statuses_b ts
3120: WHERE t.parent_task_id = p_parent_task_id
3121: AND NVL(t.deleted_flag, 'N') <> 'Y'
3297: * Updating the Parent Task Information *
3298: *****************************************************************************/
3299: IF l_update_parent THEN
3300: IF l_new_parent_info.actual_effort IS NOT NULL THEN
3301: l_actual_effort_uom := csf_util_pvt.get_uom_minutes;
3302: END IF;
3303:
3304: jtf_tasks_pub.update_task (
3305: p_api_version => 1.0
4777:
4778: /**
4779: * Gets the Task Effort conditionally converted to the Default UOM as given by
4780: * the profile CSF: Default Effort UOM by calling
4781: * CSF_UTIL_PVT.GET_EFFORT_IN_DEFAULT_UOM function.
4782: *
4783: * All parameters are optional. If Planned Effort, Planned Effort UOM and Task
4784: * Split Flag are passed, then it helps in better performance as JTF_TASKS_B
4785: * wont be queried to get those information. In case of better flexibility,
4795: * UOM only for Child Tasks and will merely act as a Concatenation Operator for
4796: * other Tasks. If you want to overrule this and want conversion to Default UOM
4797: * to take place for all Tasks, pass p_always_convert as FND_API.G_TRUE
4798: *
4799: * Also refer to the documentation on CSF_UTIL_PVT.GET_EFFORT_IN_DEFAULT_UOM.
4800: *
4801: *
4802: * @param p_planned_effort Planned Effort to be converted
4803: * @param p_planned_effort_uom UOM of the above Effort
4848:
4849: IF NVL(l_task_split_flag, 'M') IN ('M', '@')
4850: AND NVL(p_always_convert, fnd_api.g_false) = fnd_api.g_false
4851: THEN
4852: RETURN l_effort || ' ' || csf_util_pvt.get_uom(l_effort_uom);
4853: END IF;
4854:
4855: RETURN csf_util_pvt.get_effort_in_default_uom(l_effort, l_effort_uom);
4856: END get_task_effort_in_default_uom;
4851: THEN
4852: RETURN l_effort || ' ' || csf_util_pvt.get_uom(l_effort_uom);
4853: END IF;
4854:
4855: RETURN csf_util_pvt.get_effort_in_default_uom(l_effort, l_effort_uom);
4856: END get_task_effort_in_default_uom;
4857:
4858: PROCEDURE get_contact_details(
4859: p_incident_id IN NUMBER