209: AND arc_act_metric_used_by = l_obj_code;
210:
211: l_parent_obj_code VARCHAR2(30) := p_arc_act_metric_used_by;
212: l_act_flag NUMBER :=0;
213: l_act_metrics_rec Ams_Actmetric_Pvt.act_metric_rec_type;
214: l_return_status VARCHAR2(1);
215: l_msg_count NUMBER;
216: l_msg_data VARCHAR2(2000);
217: l_act_met_id NUMBER;
266: RETURN;
267: END IF;
268:
269: IF l_parent_obj IS NOT NULL THEN
270: l_is_locked := ams_actmetric_pvt.lock_object(
271: p_api_version => 1 ,
272: p_init_msg_list => Fnd_Api.G_FALSE,
273: p_arc_act_metric_used_by => l_parent_obj_code,
274: p_act_metric_used_by_id => l_parent_obj,
298: l_act_metrics_rec.metric_id := l_metric_parent_id;
299: l_act_metrics_rec.func_actual_value := NULL; --p_func_actual_value;
300: l_act_metrics_rec.func_forecasted_value := NULL; --p_func_forecasted_value;
301: l_act_metrics_rec.application_id := 530;
302: Ams_Actmetric_Pvt.Create_ActMetric (
303: p_api_version => 1.0,
304: p_act_metric_rec => l_act_metrics_rec,
305: x_return_status => l_return_status,
306: x_msg_count => l_msg_count,
319: ELSE
320: IF p_dirty = 'Y' THEN
321: -- 02/12/2001 dmvincen - make the parent metric dirty
322: -- but do not refresh the data.
323: Ams_Actmetric_Pvt.Make_actmetric_dirty(l_act_met_id);
324: END IF;
325:
326: IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
327: RAISE Fnd_Api.G_EXC_ERROR;
413: l_master_found VARCHAR2(1) := Fnd_Api.G_FALSE;
414: l_sum_forecasted_value NUMBER;
415: l_sum_actual_value NUMBER;
416: l_refresh VARCHAR2(1) := 'N';
417: l_default_currency VARCHAR2(15) := Ams_Actmetric_Pvt.Default_Func_Currency;
418: l_act_metric_id NUMBER;
419: l_act_metric_rec Ams_Actmetric_Pvt.act_metric_rec_type;
420: l_return_status VARCHAR2(1);
421: l_msg_count NUMBER;
415: l_sum_actual_value NUMBER;
416: l_refresh VARCHAR2(1) := 'N';
417: l_default_currency VARCHAR2(15) := Ams_Actmetric_Pvt.Default_Func_Currency;
418: l_act_metric_id NUMBER;
419: l_act_metric_rec Ams_Actmetric_Pvt.act_metric_rec_type;
420: l_return_status VARCHAR2(1);
421: l_msg_count NUMBER;
422: l_msg_data VARCHAR2(2000);
423: l_current_date DATE := SYSDATE;
449: l_default_currency THEN
450: -- Convert currency into default currency
451: IF NVL(l_child_summary_actmet_rec.func_actual_value,0) <> 0 OR
452: NVL(l_child_summary_actmet_rec.func_forecasted_value,0) <> 0 THEN
453: Ams_Actmetric_Pvt.CONVERT_CURRENCY2 (
454: x_return_status => l_return_status,
455: p_from_currency => l_child_summary_actmet_rec.functional_currency_code,
456: p_to_currency => l_default_currency,
457: p_conv_date => l_current_date,
479: CLOSE c_get_master_accrual_actmet;
480: IF l_master_found = Fnd_Api.G_TRUE THEN
481: -- Update the accrual metrics's VALUES FROM child object's summary level metric
482: -- Initialize the record type for Activity Metric update
483: Ams_Actmetric_Pvt.Init_ActMetric_Rec(x_act_metric_rec => l_act_metric_rec );
484: l_act_metric_rec.activity_metric_id := l_act_metric_id;
485: l_act_metric_rec.func_actual_value := l_sum_actual_value;
486: l_act_metric_rec.func_forecasted_value := l_sum_forecasted_value;
487: l_act_metric_rec.trans_actual_value := NULL;
490: l_act_metric_rec.functional_currency_code := l_default_currency;
491: ELSE
492: l_act_metric_rec.functional_currency_code := NULL;
493: END IF;
494: Ams_Actmetric_Pvt.update_actmetric (
495: p_api_version => 1.0,
496: p_commit => Fnd_Api.G_FALSE,
497: p_validation_level => Fnd_Api.g_valid_level_full,
498: p_act_metric_rec => l_act_metric_rec,
527: l_act_metric_rec.functional_currency_code := l_default_currency;
528: ELSE
529: l_act_metric_rec.functional_currency_code := NULL;
530: END IF;
531: Ams_Actmetric_Pvt.Create_ActMetric (
532: p_api_version => 1.0,
533: p_act_metric_rec => l_act_metric_rec,
534: x_return_status => l_return_status,
535: x_msg_count => l_msg_count,
642: CURSOR c_next_metric_accrual_id IS
643: SELECT ams_metric_accruals_s.NEXTVAL
644: FROM dual;
645:
646: l_act_metric_rec Ams_Actmetric_Pvt.act_metric_rec_type;
647: l_metric_rec Ams_Metric_Pvt.metric_rec_type;
648: l_accrual_metric_id NUMBER;
649: l_category_name VARCHAR2(120);
650: l_object_type_meaning VARCHAR2(80);
1062: x_func_actual_value, x_func_forecasted_value, l_func_currency_code;
1063: CLOSE c_act_metric;
1064: IF l_trans_currency_code IS NOT NULL AND l_func_currency_code IS NOT NULL
1065: AND l_func_currency_code <> p_func_currency_code THEN
1066: Ams_Actmetric_Pvt.CONVERT_CURRENCY2(
1067: x_return_status => l_return_status,
1068: p_from_currency => l_trans_currency_code,
1069: p_to_currency => p_func_currency_code,
1070: -- p_conv_date => SYSDATE,
1124: /*** OBSOLETE BUG4924982 ***
1125: PROCEDURE Make_Functions_Dirty
1126: IS
1127: l_new_func_value NUMBER;
1128: l_act_metric_rec Ams_Actmetric_Pvt.Act_Metric_Rec_Type;
1129:
1130: l_return_status VARCHAR2(1);
1131: l_msg_count NUMBER;
1132: l_msg_data VARCHAR2(4000);
1146: AND metric_calculation_type = 'FUNCTION';
1147:
1148: l_function_rec c_functions%ROWTYPE;
1149: l_current_date DATE := SYSDATE;
1150: l_default_currency VARCHAR2(15) := Ams_Actmetric_Pvt.DEFAULT_FUNC_CURRENCY;
1151: BEGIN
1152:
1153: OPEN c_functions;
1154: LOOP
1157: l_new_func_value := Exec_Function (l_function_rec.activity_metric_id,
1158: l_function_rec.function_name);
1159:
1160: IF l_new_func_value <> l_function_rec.func_actual_value THEN
1161: Ams_Actmetric_Pvt.Init_ActMetric_Rec(x_act_metric_rec => l_act_metric_rec );
1162: l_act_metric_rec.activity_metric_id :=
1163: l_function_rec.activity_metric_id;
1164: l_act_metric_rec.func_actual_value := l_new_func_value;
1165: -- BUG2385692: Set transaction values to recalculate.
1173: l_current_date - l_function_rec.last_calculated_date;
1174: l_act_metric_rec.last_calculated_date := l_current_date;
1175: l_act_metric_rec.dirty_flag := 'Y';
1176:
1177: Ams_Actmetric_Pvt.Update_ActMetric (
1178: p_api_version => 1.0,
1179: p_init_msg_list => Fnd_Api.g_false,
1180: p_commit => Fnd_Api.G_FALSE,
1181: p_validation_level => Fnd_Api.g_valid_level_full,
1399: IF l_met_child_rec.functional_currency_code IS NOT NULL AND
1400: l_met_child_rec.functional_currency_code <> p_func_currency_code
1401: THEN
1402: -- Syncronize the currency code with the default.
1403: Ams_Actmetric_Pvt.CONVERT_CURRENCY2(
1404: x_return_status => l_return_status,
1405: p_from_currency => l_met_child_rec.transaction_currency_code,
1406: p_to_currency => p_func_currency_code,
1407: -- p_conv_date => SYSDATE,
1725: -------------------------------------------------------------
1726: -- Define Record type , this will be passed to activity
1727: -- metric API for Updation
1728: -------------------------------------------------------------
1729: l_act_metrics_rec Ams_Actmetric_Pvt.act_metric_rec_type;
1730: CURSOR c_met_cal_type(l_metric_id NUMBER) IS
1731: SELECT value_type, -- Ratio / Numeric
1732: metric_calculation_type, -- Manual/Function/...
1733: accrual_type, -- Fixed/Variable
1969: l_origin_rec.functional_currency_code IS NOT NULL AND
1970: l_origin_rec.functional_currency_code <> p_func_currency_code
1971: THEN
1972: l_func_currency_code := p_func_currency_code;
1973: Ams_Actmetric_Pvt.CONVERT_CURRENCY2(
1974: x_return_status => l_return_status,
1975: p_from_currency => l_origin_rec.transaction_currency_code,
1976: p_to_currency => l_func_currency_code,
1977: -- p_conv_date => SYSDATE,
2269:
2270: -------------------------------------------------------------
2271: -- Initialize the record type for Activity Metric update
2272: -------------------------------------------------------------
2273: Ams_Actmetric_Pvt.Init_ActMetric_Rec(x_act_metric_rec => l_act_metrics_rec );
2274: -- BUG2385692: Set transaction values to recalculate.
2275: l_act_metrics_rec.trans_actual_value := NULL;
2276: l_act_metrics_rec.trans_forecasted_value := NULL;
2277: l_act_metrics_rec.func_actual_value := l_conv_uom_actual_value;
2286: l_current_date - l_origin_rec.last_calculated_date;
2287: l_act_metrics_rec.last_calculated_date := l_current_date;
2288: l_act_metrics_rec.dirty_flag := 'N';
2289:
2290: Ams_Actmetric_Pvt.update_actmetric (
2291: p_api_version => l_api_version,
2292: p_init_msg_list => p_init_msg_list,
2293: p_commit => Fnd_Api.G_FALSE,
2294: p_validation_level => Fnd_Api.g_valid_level_full,
2509: l_object_attribute ams_custom_setup_attr.OBJECT_ATTRIBUTE%TYPE;
2510: l_metric_id NUMBER;
2511: l_metric_category NUMBER;
2512: l_custom_setup_id NUMBER := NULL;
2513: l_act_metrics_rec Ams_Actmetric_Pvt.act_metric_rec_type;
2514: l_activity_metric_id NUMBER;
2515: l_accrual_type VARCHAR2(2000);
2516:
2517: CURSOR c_get_camp_setup(p_campaign_id NUMBER) IS
2767: FROM ams_act_metrics_all
2768: WHERE activity_metric_origin_id = p_obj_association_id ;
2769: l_obj_det_rec c_obj_det%ROWTYPE ;
2770: -- Initialize Activity Metric Record type for Insertion/Updation of Act. Metric
2771: l_act_metrics_rec Ams_Actmetric_Pvt.act_metric_rec_type ;
2772: l_amount NUMBER;
2773: l_count NUMBER;
2774: l_activity_metric_id NUMBER ;
2775: l_return_status VARCHAR2(1) ;
2817: CLOSE c_act_met ;
2818: IF l_count > 0 THEN
2819: -- Update Activity Metric
2820: -- Initialize the record type for Activity Metric updation
2821: Ams_Actmetric_Pvt.Init_ActMetric_Rec(
2822: x_act_metric_rec => l_act_metrics_rec );
2823: l_act_metrics_rec.activity_metric_origin_id := p_obj_association_id ;
2824: l_act_metrics_rec.func_actual_value := l_amount ;
2825: l_act_metrics_rec.trans_actual_value :=
2823: l_act_metrics_rec.activity_metric_origin_id := p_obj_association_id ;
2824: l_act_metrics_rec.func_actual_value := l_amount ;
2825: l_act_metrics_rec.trans_actual_value :=
2826: l_act_metrics_rec.func_actual_value ;
2827: Ams_Actmetric_Pvt.Update_ActMetric (
2828: p_api_version => l_api_version,
2829: p_init_msg_list => p_init_msg_list,
2830: p_commit => Fnd_Api.G_FALSE,
2831: p_validation_level => Fnd_Api.g_valid_level_full,
2852: l_obj_det_rec.master_object_type;
2853: l_act_metrics_rec.application_id := 530 ;
2854: -- Give Call to Default_Func_Currency to decide default Currency code
2855: l_act_metrics_rec.functional_currency_code :=
2856: Ams_Actmetric_Pvt.default_func_currency ;
2857: l_act_metrics_rec.transaction_currency_code :=
2858: l_act_metrics_rec.functional_currency_code ;
2859: Ams_Actmetric_Pub.Create_ActMetric (
2860: p_api_version => l_api_version,
3091: -- p_act_metric_uom_code => l_act_metric_rec.metric_uom_code,
3092: x_actual_value => l_actual_value,
3093: x_forecasted_value => l_forecasted_value,
3094: p_refresh_function => p_refresh_function,
3095: p_func_currency_code => Ams_Actmetric_Pvt.DEFAULT_FUNC_CURRENCY);
3096: -- If any errors happen abort API.
3097: IF x_return_status = Fnd_Api.G_RET_STS_ERROR THEN
3098: RAISE Fnd_Api.G_EXC_ERROR;
3099: ELSIF x_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
3126: -- p_act_metric_uom_code => l_act_metric_rec.metric_uom_code,
3127: x_actual_value => l_actual_value,
3128: x_forecasted_value => l_forecasted_value,
3129: p_refresh_function => p_refresh_function,
3130: p_func_currency_code => Ams_Actmetric_Pvt.DEFAULT_FUNC_CURRENCY);
3131:
3132: -- If any errors happen abort API.
3133: IF x_return_status = Fnd_Api.G_RET_STS_ERROR THEN
3134: RAISE Fnd_Api.G_EXC_ERROR;
3287: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
3288: --
3289: -- Begin API Body.
3290:
3291: l_is_locked := ams_actmetric_pvt.lock_object(
3292: p_api_version => l_api_version ,
3293: p_init_msg_list => Fnd_Api.G_FALSE,
3294: p_arc_act_metric_used_by => p_arc_act_metric_used_by,
3295: p_act_metric_used_by_id => p_act_metric_used_by_id,
3347: -- p_act_metric_uom_code => l_act_metric_rec.metric_uom_code,
3348: x_actual_value => l_actual_value,
3349: x_forecasted_value => l_forecasted_value,
3350: p_refresh_function => p_refresh_function,
3351: p_func_currency_code => Ams_Actmetric_Pvt.DEFAULT_FUNC_CURRENCY);
3352:
3353: -- If any errors happen abort API.
3354: IF x_return_status = Fnd_Api.G_RET_STS_ERROR THEN
3355: CLOSE c_all_metrics;