1: PACKAGE BODY Pa_Prj_Period_Profile_Utils as
2: /* $Header: PAPJPDPB.pls 120.1.12010000.5 2008/11/18 18:00:05 bifernan ship $ */
3:
4: P_PA_DEBUG_MODE varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
5: g_module_name VARCHAR2(100) := 'pa.plsql.pa_prj_period_profile_utils';
6:
7: Procedure Maintain_Prj_Period_Profile(
8: p_project_id IN NUMBER,
64: the p_end_date should be passed with the actual date. */
65:
66: x_return_status := FND_API.G_RET_STS_SUCCESS;
67:
68: PA_DEBUG.Set_Curr_Function( p_function => 'Maintain_Prj_Period_Profile',
69: p_debug_mode => p_debug_mode );
70:
71: IF px_end_date IS NULL THEN
72: IF P_PA_DEBUG_MODE = 'Y' THEN
68: PA_DEBUG.Set_Curr_Function( p_function => 'Maintain_Prj_Period_Profile',
69: p_debug_mode => p_debug_mode );
70:
71: IF px_end_date IS NULL THEN
72: IF P_PA_DEBUG_MODE = 'Y' THEN
73: PA_DEBUG.g_err_stage := 'end date is null, setting the end dt';
74: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
75: END IF;
76: px_end_date := ADD_MONTHS(p_start_date,120);
69: p_debug_mode => p_debug_mode );
70:
71: IF px_end_date IS NULL THEN
72: IF P_PA_DEBUG_MODE = 'Y' THEN
73: PA_DEBUG.g_err_stage := 'end date is null, setting the end dt';
74: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
75: END IF;
76: px_end_date := ADD_MONTHS(p_start_date,120);
77: END IF;
70:
71: IF px_end_date IS NULL THEN
72: IF P_PA_DEBUG_MODE = 'Y' THEN
73: PA_DEBUG.g_err_stage := 'end date is null, setting the end dt';
74: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
75: END IF;
76: px_end_date := ADD_MONTHS(p_start_date,120);
77: END IF;
78: IF p_plan_period_type = 'PA' THEN
93: null;
94: END IF;
95: CLOSE c1;
96:
97: IF P_PA_DEBUG_MODE = 'Y' THEN
98: PA_DEBUG.g_err_stage := 'after fetching pds';
99: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
100: END IF;
101: l_plan_end_period := NULL;
94: END IF;
95: CLOSE c1;
96:
97: IF P_PA_DEBUG_MODE = 'Y' THEN
98: PA_DEBUG.g_err_stage := 'after fetching pds';
99: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
100: END IF;
101: l_plan_end_period := NULL;
102: l_tab_count := l_period_name_tab.count;
95: CLOSE c1;
96:
97: IF P_PA_DEBUG_MODE = 'Y' THEN
98: PA_DEBUG.g_err_stage := 'after fetching pds';
99: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
100: END IF;
101: l_plan_end_period := NULL;
102: l_tab_count := l_period_name_tab.count;
103: px_number_of_periods := l_tab_count;
101: l_plan_end_period := NULL;
102: l_tab_count := l_period_name_tab.count;
103: px_number_of_periods := l_tab_count;
104: IF l_tab_count = 0 THEN
105: IF P_PA_DEBUG_MODE = 'Y' THEN
106: PA_DEBUG.g_err_stage := 'table count is zero for the given dt range, returning ';
107: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
108: END IF;
109: x_return_status := FND_API.G_RET_STS_ERROR;
102: l_tab_count := l_period_name_tab.count;
103: px_number_of_periods := l_tab_count;
104: IF l_tab_count = 0 THEN
105: IF P_PA_DEBUG_MODE = 'Y' THEN
106: PA_DEBUG.g_err_stage := 'table count is zero for the given dt range, returning ';
107: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
108: END IF;
109: x_return_status := FND_API.G_RET_STS_ERROR;
110: IF p_add_msg_in_stack = 'Y' THEN
103: px_number_of_periods := l_tab_count;
104: IF l_tab_count = 0 THEN
105: IF P_PA_DEBUG_MODE = 'Y' THEN
106: PA_DEBUG.g_err_stage := 'table count is zero for the given dt range, returning ';
107: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
108: END IF;
109: x_return_status := FND_API.G_RET_STS_ERROR;
110: IF p_add_msg_in_stack = 'Y' THEN
111: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
112: p_msg_name => 'PA_FP_INVALID_DATE_RANGE');
113: ELSE
114: x_msg_data := 'PA_FP_INVALID_DATE_RANGE';
115: END IF;
116: PA_DEBUG.Reset_Curr_Function;
117: RETURN;
118: END IF;
119:
120: l_plan_end_period := l_period_name_tab(l_tab_count);
296: PROFILE_END_PERIOD_NAME = l_plan_end_period
297: WHERE period_profile_id = px_period_profile_id;
298:
299: IF SQL%ROWCOUNT = 0 THEN
300: IF P_PA_DEBUG_MODE = 'Y' THEN
301: PA_DEBUG.g_err_stage := 'no record updated for the gievn id';
302: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
303: END IF;
304: x_return_status := FND_API.G_RET_STS_ERROR;
297: WHERE period_profile_id = px_period_profile_id;
298:
299: IF SQL%ROWCOUNT = 0 THEN
300: IF P_PA_DEBUG_MODE = 'Y' THEN
301: PA_DEBUG.g_err_stage := 'no record updated for the gievn id';
302: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
303: END IF;
304: x_return_status := FND_API.G_RET_STS_ERROR;
305: IF p_add_msg_in_stack = 'Y' THEN
298:
299: IF SQL%ROWCOUNT = 0 THEN
300: IF P_PA_DEBUG_MODE = 'Y' THEN
301: PA_DEBUG.g_err_stage := 'no record updated for the gievn id';
302: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
303: END IF;
304: x_return_status := FND_API.G_RET_STS_ERROR;
305: IF p_add_msg_in_stack = 'Y' THEN
306: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
307: p_msg_name => 'PA_FP_INVALID_PRJ_PROFILE');
308: ELSE
309: x_msg_data := 'PA_FP_INVALID_PRJ_PROFILE';
310: END IF;
311: PA_DEBUG.Reset_Curr_Function;
312: RETURN;
313: END IF;
314: ELSE
315: INSERT INTO pa_proj_period_profiles (
653: l_tab_count ,
654: l_plan_end_period ) returning period_profile_id into
655: px_period_profile_id;
656:
657: IF P_PA_DEBUG_MODE = 'Y' THEN
658: PA_DEBUG.g_err_stage := 'after inserting pd profile';
659: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
660: END IF;
661:
654: l_plan_end_period ) returning period_profile_id into
655: px_period_profile_id;
656:
657: IF P_PA_DEBUG_MODE = 'Y' THEN
658: PA_DEBUG.g_err_stage := 'after inserting pd profile';
659: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
660: END IF;
661:
662: UPDATE PA_PROJ_PERIOD_PROFILES SET CURRENT_FLAG = 'N' WHERE
655: px_period_profile_id;
656:
657: IF P_PA_DEBUG_MODE = 'Y' THEN
658: PA_DEBUG.g_err_stage := 'after inserting pd profile';
659: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
660: END IF;
661:
662: UPDATE PA_PROJ_PERIOD_PROFILES SET CURRENT_FLAG = 'N' WHERE
663: Period_Profile_Type = p_period_profile_type AND
671: END IF;
672: IF NVL(p_commit_flag,'N') = 'Y' THEN
673: COMMIT;
674: END IF;
675: PA_DEBUG.Reset_Curr_Function;
676: RETURN;
677: EXCEPTION
678: WHEN OTHERS THEN
679: RAISE;
698: l_column_name varchar2(100);
699: l_dummy integer;
700: BEGIN
701: x_return_status := FND_API.G_RET_STS_SUCCESS;
702: PA_DEBUG.Set_Curr_Function( p_function => 'Get_Prj_Period_Profile_Dtls',
703: p_debug_mode => p_debug_mode );
704: BEGIN
705: SELECT Period_Profile_Type,
706: Plan_Period_Type,
733: x_plan_end_date := l_plan_end_date;
734:
735: EXCEPTION
736: WHEN NO_DATA_FOUND THEN
737: IF P_PA_DEBUG_MODE = 'Y' THEN
738: PA_DEBUG.g_err_stage := 'no data found for the given pd profile id';
739: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
740: END IF;
741: x_return_status := FND_API.G_RET_STS_ERROR;
734:
735: EXCEPTION
736: WHEN NO_DATA_FOUND THEN
737: IF P_PA_DEBUG_MODE = 'Y' THEN
738: PA_DEBUG.g_err_stage := 'no data found for the given pd profile id';
739: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
740: END IF;
741: x_return_status := FND_API.G_RET_STS_ERROR;
742: IF p_add_msg_in_stack = 'Y' THEN
735: EXCEPTION
736: WHEN NO_DATA_FOUND THEN
737: IF P_PA_DEBUG_MODE = 'Y' THEN
738: PA_DEBUG.g_err_stage := 'no data found for the given pd profile id';
739: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
740: END IF;
741: x_return_status := FND_API.G_RET_STS_ERROR;
742: IF p_add_msg_in_stack = 'Y' THEN
743: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
745: ELSE
746: x_msg_data := 'PA_FP_INVALID_PRJ_PROFILE';
747: END IF;
748: END;
749: PA_DEBUG.Reset_Curr_Function;
750: RETURN;
751:
752: END Get_Prj_Period_Profile_Dtls;
753:
946: Either both should be null or both should be not null */
947:
948: IF (p_pa_start_period IS NULL and p_pa_end_period IS NOT NULL) or
949: (p_pa_start_period IS NOT NULL and p_pa_end_period IS NULL) THEN
950: IF P_PA_DEBUG_MODE = 'Y' THEN
951: PA_DEBUG.g_err_stage := 'Only one of the pa start or end periods are not null..';
952: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
953: END IF;
954: x_return_status := FND_API.G_RET_STS_ERROR;
947:
948: IF (p_pa_start_period IS NULL and p_pa_end_period IS NOT NULL) or
949: (p_pa_start_period IS NOT NULL and p_pa_end_period IS NULL) THEN
950: IF P_PA_DEBUG_MODE = 'Y' THEN
951: PA_DEBUG.g_err_stage := 'Only one of the pa start or end periods are not null..';
952: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
953: END IF;
954: x_return_status := FND_API.G_RET_STS_ERROR;
955: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
948: IF (p_pa_start_period IS NULL and p_pa_end_period IS NOT NULL) or
949: (p_pa_start_period IS NOT NULL and p_pa_end_period IS NULL) THEN
950: IF P_PA_DEBUG_MODE = 'Y' THEN
951: PA_DEBUG.g_err_stage := 'Only one of the pa start or end periods are not null..';
952: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
953: END IF;
954: x_return_status := FND_API.G_RET_STS_ERROR;
955: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
956: p_msg_name => 'PA_FP_ENTER_PA_PP_ST_END_DT');
957: END IF;
958:
959: IF (p_gl_start_period IS NULL and p_gl_end_period IS NOT NULL) or
960: (p_gl_start_period IS NOT NULL and p_gl_end_period IS NULL) THEN
961: IF P_PA_DEBUG_MODE = 'Y' THEN
962: PA_DEBUG.g_err_stage := 'Only one of the gl start or end periods are not null..';
963: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
964: END IF;
965: x_return_status := FND_API.G_RET_STS_ERROR;
958:
959: IF (p_gl_start_period IS NULL and p_gl_end_period IS NOT NULL) or
960: (p_gl_start_period IS NOT NULL and p_gl_end_period IS NULL) THEN
961: IF P_PA_DEBUG_MODE = 'Y' THEN
962: PA_DEBUG.g_err_stage := 'Only one of the gl start or end periods are not null..';
963: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
964: END IF;
965: x_return_status := FND_API.G_RET_STS_ERROR;
966: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
959: IF (p_gl_start_period IS NULL and p_gl_end_period IS NOT NULL) or
960: (p_gl_start_period IS NOT NULL and p_gl_end_period IS NULL) THEN
961: IF P_PA_DEBUG_MODE = 'Y' THEN
962: PA_DEBUG.g_err_stage := 'Only one of the gl start or end periods are not null..';
963: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
964: END IF;
965: x_return_status := FND_API.G_RET_STS_ERROR;
966: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
967: p_msg_name => 'PA_FP_ENTER_GL_PP_ST_END_DT');
969:
970: /* If start and end periods are null then there should not have been an existing period profile */
971:
972: IF (p_pa_start_period IS NULL and p_pa_end_period IS NULL) THEN
973: IF P_PA_DEBUG_MODE = 'Y' THEN
974: PA_DEBUG.g_err_stage := 'Both pa start and end periods are null...';
975: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
976: END IF;
977: l_valid_pa_period_flag := 'N';
970: /* If start and end periods are null then there should not have been an existing period profile */
971:
972: IF (p_pa_start_period IS NULL and p_pa_end_period IS NULL) THEN
973: IF P_PA_DEBUG_MODE = 'Y' THEN
974: PA_DEBUG.g_err_stage := 'Both pa start and end periods are null...';
975: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
976: END IF;
977: l_valid_pa_period_flag := 'N';
978: IF p_old_pa_profile_id IS NOT NULL THEN
971:
972: IF (p_pa_start_period IS NULL and p_pa_end_period IS NULL) THEN
973: IF P_PA_DEBUG_MODE = 'Y' THEN
974: PA_DEBUG.g_err_stage := 'Both pa start and end periods are null...';
975: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
976: END IF;
977: l_valid_pa_period_flag := 'N';
978: IF p_old_pa_profile_id IS NOT NULL THEN
979: x_return_status := FND_API.G_RET_STS_ERROR;
984: END IF;
985: END IF;
986:
987: IF (p_gl_start_period IS NULL and p_gl_end_period IS NULL) THEN
988: IF P_PA_DEBUG_MODE = 'Y' THEN
989: PA_DEBUG.g_err_stage := 'Both gl start and end periods are null...';
990: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
991: END IF;
992: l_valid_gl_period_flag := 'N';
985: END IF;
986:
987: IF (p_gl_start_period IS NULL and p_gl_end_period IS NULL) THEN
988: IF P_PA_DEBUG_MODE = 'Y' THEN
989: PA_DEBUG.g_err_stage := 'Both gl start and end periods are null...';
990: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
991: END IF;
992: l_valid_gl_period_flag := 'N';
993: IF p_old_gl_profile_id IS NOT NULL THEN
986:
987: IF (p_gl_start_period IS NULL and p_gl_end_period IS NULL) THEN
988: IF P_PA_DEBUG_MODE = 'Y' THEN
989: PA_DEBUG.g_err_stage := 'Both gl start and end periods are null...';
990: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
991: END IF;
992: l_valid_gl_period_flag := 'N';
993: IF p_old_gl_profile_id IS NOT NULL THEN
994: x_return_status := FND_API.G_RET_STS_ERROR;
1508: END IF;
1509:
1510: IF p_refresh_option_code <> 'NONE' THEN
1511: /* calling the concurrent program */
1512: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
1513:
1514: IF l_call_profile_gl_flag = 'Y' THEN
1515: l_conc_gl_profile_id := px_gl_period_profile_id;
1516: ELSE
1536: argument6 => l_conc_pa_profile_id,
1537: argument7 => l_debug_mode );
1538:
1539: IF l_rpt_request_id = 0 then
1540: IF P_PA_DEBUG_MODE = 'Y' THEN
1541: PA_DEBUG.g_err_stage := 'Error while submitting Report [PAFPEXRP]';
1542: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
1543: END IF;
1544: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
1537: argument7 => l_debug_mode );
1538:
1539: IF l_rpt_request_id = 0 then
1540: IF P_PA_DEBUG_MODE = 'Y' THEN
1541: PA_DEBUG.g_err_stage := 'Error while submitting Report [PAFPEXRP]';
1542: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
1543: END IF;
1544: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
1545: p_msg_name => 'PA_FP_PP_CONC_PGM_ERR');
1538:
1539: IF l_rpt_request_id = 0 then
1540: IF P_PA_DEBUG_MODE = 'Y' THEN
1541: PA_DEBUG.g_err_stage := 'Error while submitting Report [PAFPEXRP]';
1542: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
1543: END IF;
1544: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
1545: p_msg_name => 'PA_FP_PP_CONC_PGM_ERR');
1546: x_return_status := FND_API.G_RET_STS_ERROR;
1602: WHERE
1603: budget_version_id = l_bv_id_tab(ii) AND
1604: locked_by_person_id IS NULL;
1605: /* added for locking the budget versions */
1606: IF P_PA_DEBUG_MODE = 'Y' THEN
1607: PA_DEBUG.g_err_stage := 'Exception Report Request Id : ' ||
1608: LTRIM(TO_CHAR(l_rpt_request_id )) ;
1609: PA_DEBUG.log_Message( p_message => PA_DEBUG.g_err_stage,
1610: p_write_file => 'OUT',
1603: budget_version_id = l_bv_id_tab(ii) AND
1604: locked_by_person_id IS NULL;
1605: /* added for locking the budget versions */
1606: IF P_PA_DEBUG_MODE = 'Y' THEN
1607: PA_DEBUG.g_err_stage := 'Exception Report Request Id : ' ||
1608: LTRIM(TO_CHAR(l_rpt_request_id )) ;
1609: PA_DEBUG.log_Message( p_message => PA_DEBUG.g_err_stage,
1610: p_write_file => 'OUT',
1611: p_write_mode => 1);
1605: /* added for locking the budget versions */
1606: IF P_PA_DEBUG_MODE = 'Y' THEN
1607: PA_DEBUG.g_err_stage := 'Exception Report Request Id : ' ||
1608: LTRIM(TO_CHAR(l_rpt_request_id )) ;
1609: PA_DEBUG.log_Message( p_message => PA_DEBUG.g_err_stage,
1610: p_write_file => 'OUT',
1611: p_write_mode => 1);
1612: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
1613: END IF;
1608: LTRIM(TO_CHAR(l_rpt_request_id )) ;
1609: PA_DEBUG.log_Message( p_message => PA_DEBUG.g_err_stage,
1610: p_write_file => 'OUT',
1611: p_write_mode => 1);
1612: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
1613: END IF;
1614: END IF;
1615: x_conc_req_id := LTRIM(RTRIM(TO_CHAR(l_rpt_request_id)));
1616: END IF;
1968:
1969: IF x_pa_start_date IS NOT NULL AND
1970: l_create_pa_profile = 'Y' THEN
1971:
1972: IF p_pa_debug_mode = 'Y' THEN
1973: pa_debug.g_err_stage := 'Calling Maintain_Prj_Period_Profile to create the PA period profile ....';
1974: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1975: END IF;
1976:
1969: IF x_pa_start_date IS NOT NULL AND
1970: l_create_pa_profile = 'Y' THEN
1971:
1972: IF p_pa_debug_mode = 'Y' THEN
1973: pa_debug.g_err_stage := 'Calling Maintain_Prj_Period_Profile to create the PA period profile ....';
1974: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1975: END IF;
1976:
1977: Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile(
1970: l_create_pa_profile = 'Y' THEN
1971:
1972: IF p_pa_debug_mode = 'Y' THEN
1973: pa_debug.g_err_stage := 'Calling Maintain_Prj_Period_Profile to create the PA period profile ....';
1974: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1975: END IF;
1976:
1977: Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile(
1978: p_project_id => p_project_id,
1994: x_msg_count => l_msg_count,
1995: x_msg_data => l_msg_data );
1996:
1997: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1998: IF p_pa_debug_mode = 'Y' THEN
1999: pa_debug.g_err_stage := ' Maintain_Prj_Period_Profile Errored for PA';
2000: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2001: END IF;
2002: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1995: x_msg_data => l_msg_data );
1996:
1997: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1998: IF p_pa_debug_mode = 'Y' THEN
1999: pa_debug.g_err_stage := ' Maintain_Prj_Period_Profile Errored for PA';
2000: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2001: END IF;
2002: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2003: END IF;
1996:
1997: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1998: IF p_pa_debug_mode = 'Y' THEN
1999: pa_debug.g_err_stage := ' Maintain_Prj_Period_Profile Errored for PA';
2000: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2001: END IF;
2002: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2003: END IF;
2004:
2009: The period profile page would then fetch the queried record to be displayed on screen */
2010:
2011: IF x_gl_start_date IS NOT NULL AND
2012: l_create_gl_profile = 'Y' THEN
2013: IF p_pa_debug_mode = 'Y' THEN
2014: pa_debug.g_err_stage := 'Calling Maintain_Prj_Period_Profile to create the GL period profile ....';
2015: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
2016: END IF;
2017:
2010:
2011: IF x_gl_start_date IS NOT NULL AND
2012: l_create_gl_profile = 'Y' THEN
2013: IF p_pa_debug_mode = 'Y' THEN
2014: pa_debug.g_err_stage := 'Calling Maintain_Prj_Period_Profile to create the GL period profile ....';
2015: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
2016: END IF;
2017:
2018: Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile(
2011: IF x_gl_start_date IS NOT NULL AND
2012: l_create_gl_profile = 'Y' THEN
2013: IF p_pa_debug_mode = 'Y' THEN
2014: pa_debug.g_err_stage := 'Calling Maintain_Prj_Period_Profile to create the GL period profile ....';
2015: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
2016: END IF;
2017:
2018: Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile(
2019: p_project_id => p_project_id,
2035: x_msg_count => l_msg_count,
2036: x_msg_data => l_msg_data );
2037:
2038: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2039: IF p_pa_debug_mode = 'Y' THEN
2040: pa_debug.g_err_stage := ' Maintain_Prj_Period_Profile Errored for PA';
2041: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2042: END IF;
2043: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2036: x_msg_data => l_msg_data );
2037:
2038: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2039: IF p_pa_debug_mode = 'Y' THEN
2040: pa_debug.g_err_stage := ' Maintain_Prj_Period_Profile Errored for PA';
2041: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2042: END IF;
2043: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2044: END IF;
2037:
2038: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2039: IF p_pa_debug_mode = 'Y' THEN
2040: pa_debug.g_err_stage := ' Maintain_Prj_Period_Profile Errored for PA';
2041: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2042: END IF;
2043: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2044: END IF;
2045: END IF;
2048: EXCEPTION
2049:
2050: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2051:
2052: IF P_PA_DEBUG_MODE = 'Y' THEN
2053: pa_debug.g_err_stage:= l_msg_data;
2054: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2055: pa_debug.g_err_stage := sqlerrm;
2056: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2049:
2050: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2051:
2052: IF P_PA_DEBUG_MODE = 'Y' THEN
2053: pa_debug.g_err_stage:= l_msg_data;
2054: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2055: pa_debug.g_err_stage := sqlerrm;
2056: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2057: END IF;
2050: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2051:
2052: IF P_PA_DEBUG_MODE = 'Y' THEN
2053: pa_debug.g_err_stage:= l_msg_data;
2054: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2055: pa_debug.g_err_stage := sqlerrm;
2056: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2057: END IF;
2058: RAISE;
2051:
2052: IF P_PA_DEBUG_MODE = 'Y' THEN
2053: pa_debug.g_err_stage:= l_msg_data;
2054: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2055: pa_debug.g_err_stage := sqlerrm;
2056: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2057: END IF;
2058: RAISE;
2059: END Get_Prj_Defaults;
2052: IF P_PA_DEBUG_MODE = 'Y' THEN
2053: pa_debug.g_err_stage:= l_msg_data;
2054: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2055: pa_debug.g_err_stage := sqlerrm;
2056: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
2057: END IF;
2058: RAISE;
2059: END Get_Prj_Defaults;
2060:
2091:
2092: x_msg_count := 0;
2093: x_return_status := FND_API.G_RET_STS_SUCCESS;
2094:
2095: pa_debug.set_err_stack('Get_Curr_Period_Profile_Info');
2096: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2097: l_debug_mode := NVL(l_debug_mode, 'Y');
2098: IF P_PA_DEBUG_MODE = 'Y' THEN
2099: pa_debug.set_process('Get_Curr_Period_Profile_Info: ' || 'PLSQL','LOG',l_debug_mode);
2092: x_msg_count := 0;
2093: x_return_status := FND_API.G_RET_STS_SUCCESS;
2094:
2095: pa_debug.set_err_stack('Get_Curr_Period_Profile_Info');
2096: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2097: l_debug_mode := NVL(l_debug_mode, 'Y');
2098: IF P_PA_DEBUG_MODE = 'Y' THEN
2099: pa_debug.set_process('Get_Curr_Period_Profile_Info: ' || 'PLSQL','LOG',l_debug_mode);
2100: END IF;
2094:
2095: pa_debug.set_err_stack('Get_Curr_Period_Profile_Info');
2096: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2097: l_debug_mode := NVL(l_debug_mode, 'Y');
2098: IF P_PA_DEBUG_MODE = 'Y' THEN
2099: pa_debug.set_process('Get_Curr_Period_Profile_Info: ' || 'PLSQL','LOG',l_debug_mode);
2100: END IF;
2101:
2102: -- Check for not null parameters
2095: pa_debug.set_err_stack('Get_Curr_Period_Profile_Info');
2096: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2097: l_debug_mode := NVL(l_debug_mode, 'Y');
2098: IF P_PA_DEBUG_MODE = 'Y' THEN
2099: pa_debug.set_process('Get_Curr_Period_Profile_Info: ' || 'PLSQL','LOG',l_debug_mode);
2100: END IF;
2101:
2102: -- Check for not null parameters
2103:
2100: END IF;
2101:
2102: -- Check for not null parameters
2103:
2104: pa_debug.g_err_stage := 'Checking for valid parameters:';
2105: IF P_PA_DEBUG_MODE = 'Y' THEN
2106: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2107: END IF;
2108:
2101:
2102: -- Check for not null parameters
2103:
2104: pa_debug.g_err_stage := 'Checking for valid parameters:';
2105: IF P_PA_DEBUG_MODE = 'Y' THEN
2106: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2107: END IF;
2108:
2109: IF (p_project_id IS NULL) OR
2102: -- Check for not null parameters
2103:
2104: pa_debug.g_err_stage := 'Checking for valid parameters:';
2105: IF P_PA_DEBUG_MODE = 'Y' THEN
2106: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2107: END IF;
2108:
2109: IF (p_project_id IS NULL) OR
2110: (p_period_type NOT IN (PA_FP_CONSTANTS_PKG.G_PERIOD_TYPE_GL,PA_FP_CONSTANTS_PKG.G_PERIOD_TYPE_PA)) OR
2110: (p_period_type NOT IN (PA_FP_CONSTANTS_PKG.G_PERIOD_TYPE_GL,PA_FP_CONSTANTS_PKG.G_PERIOD_TYPE_PA)) OR
2111: (p_period_profile_type IS NULL)
2112: THEN
2113:
2114: pa_debug.g_err_stage := 'Project='||p_project_id;
2115: IF P_PA_DEBUG_MODE = 'Y' THEN
2116: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2117: END IF;
2118: pa_debug.g_err_stage := 'Period_type='||p_period_type;
2111: (p_period_profile_type IS NULL)
2112: THEN
2113:
2114: pa_debug.g_err_stage := 'Project='||p_project_id;
2115: IF P_PA_DEBUG_MODE = 'Y' THEN
2116: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2117: END IF;
2118: pa_debug.g_err_stage := 'Period_type='||p_period_type;
2119: IF P_PA_DEBUG_MODE = 'Y' THEN
2112: THEN
2113:
2114: pa_debug.g_err_stage := 'Project='||p_project_id;
2115: IF P_PA_DEBUG_MODE = 'Y' THEN
2116: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2117: END IF;
2118: pa_debug.g_err_stage := 'Period_type='||p_period_type;
2119: IF P_PA_DEBUG_MODE = 'Y' THEN
2120: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2114: pa_debug.g_err_stage := 'Project='||p_project_id;
2115: IF P_PA_DEBUG_MODE = 'Y' THEN
2116: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2117: END IF;
2118: pa_debug.g_err_stage := 'Period_type='||p_period_type;
2119: IF P_PA_DEBUG_MODE = 'Y' THEN
2120: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2121: END IF;
2122: pa_debug.g_err_stage := 'P_period_profile_type='||p_period_profile_type;
2115: IF P_PA_DEBUG_MODE = 'Y' THEN
2116: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2117: END IF;
2118: pa_debug.g_err_stage := 'Period_type='||p_period_type;
2119: IF P_PA_DEBUG_MODE = 'Y' THEN
2120: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2121: END IF;
2122: pa_debug.g_err_stage := 'P_period_profile_type='||p_period_profile_type;
2123: IF P_PA_DEBUG_MODE = 'Y' THEN
2116: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2117: END IF;
2118: pa_debug.g_err_stage := 'Period_type='||p_period_type;
2119: IF P_PA_DEBUG_MODE = 'Y' THEN
2120: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2121: END IF;
2122: pa_debug.g_err_stage := 'P_period_profile_type='||p_period_profile_type;
2123: IF P_PA_DEBUG_MODE = 'Y' THEN
2124: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2118: pa_debug.g_err_stage := 'Period_type='||p_period_type;
2119: IF P_PA_DEBUG_MODE = 'Y' THEN
2120: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2121: END IF;
2122: pa_debug.g_err_stage := 'P_period_profile_type='||p_period_profile_type;
2123: IF P_PA_DEBUG_MODE = 'Y' THEN
2124: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2125: END IF;
2126:
2119: IF P_PA_DEBUG_MODE = 'Y' THEN
2120: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2121: END IF;
2122: pa_debug.g_err_stage := 'P_period_profile_type='||p_period_profile_type;
2123: IF P_PA_DEBUG_MODE = 'Y' THEN
2124: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2125: END IF;
2126:
2127: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
2120: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2121: END IF;
2122: pa_debug.g_err_stage := 'P_period_profile_type='||p_period_profile_type;
2123: IF P_PA_DEBUG_MODE = 'Y' THEN
2124: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2125: END IF;
2126:
2127: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
2128: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
2130: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2131:
2132: END IF;
2133:
2134: pa_debug.g_err_stage := 'Parameter validation complete';
2135: IF P_PA_DEBUG_MODE = 'Y' THEN
2136: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2137: END IF;
2138:
2131:
2132: END IF;
2133:
2134: pa_debug.g_err_stage := 'Parameter validation complete';
2135: IF P_PA_DEBUG_MODE = 'Y' THEN
2136: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2137: END IF;
2138:
2139: --Fetch Profile Info
2132: END IF;
2133:
2134: pa_debug.g_err_stage := 'Parameter validation complete';
2135: IF P_PA_DEBUG_MODE = 'Y' THEN
2136: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2137: END IF;
2138:
2139: --Fetch Profile Info
2140:
2139: --Fetch Profile Info
2140:
2141: BEGIN
2142:
2143: pa_debug.g_err_stage := 'Fetching Profile Info';
2144: IF P_PA_DEBUG_MODE = 'Y' THEN
2145: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2146: END IF;
2147:
2140:
2141: BEGIN
2142:
2143: pa_debug.g_err_stage := 'Fetching Profile Info';
2144: IF P_PA_DEBUG_MODE = 'Y' THEN
2145: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2146: END IF;
2147:
2148: SELECT period_profile_id
2141: BEGIN
2142:
2143: pa_debug.g_err_stage := 'Fetching Profile Info';
2144: IF P_PA_DEBUG_MODE = 'Y' THEN
2145: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2146: END IF;
2147:
2148: SELECT period_profile_id
2149: ,period_name1
2162: WHEN NO_DATA_FOUND THEN
2163:
2164: --There is no current profile for project.return null
2165:
2166: pa_debug.g_err_stage := 'Current period profile doesnt exist for project';
2167: IF P_PA_DEBUG_MODE = 'Y' THEN
2168: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2169: END IF;
2170:
2163:
2164: --There is no current profile for project.return null
2165:
2166: pa_debug.g_err_stage := 'Current period profile doesnt exist for project';
2167: IF P_PA_DEBUG_MODE = 'Y' THEN
2168: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2169: END IF;
2170:
2171: l_period_profile_id := NULL;
2164: --There is no current profile for project.return null
2165:
2166: pa_debug.g_err_stage := 'Current period profile doesnt exist for project';
2167: IF P_PA_DEBUG_MODE = 'Y' THEN
2168: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2169: END IF;
2170:
2171: l_period_profile_id := NULL;
2172: l_start_period := NULL;
2180: x_start_period := l_start_period;
2181: x_end_period := l_end_period;
2182:
2183:
2184: pa_debug.g_err_stage := ' Exiting Get_Curr_Period_Profile_Info';
2185: IF P_PA_DEBUG_MODE = 'Y' THEN
2186: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2187: END IF;
2188: pa_debug.reset_err_stack;
2181: x_end_period := l_end_period;
2182:
2183:
2184: pa_debug.g_err_stage := ' Exiting Get_Curr_Period_Profile_Info';
2185: IF P_PA_DEBUG_MODE = 'Y' THEN
2186: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2187: END IF;
2188: pa_debug.reset_err_stack;
2189: EXCEPTION
2182:
2183:
2184: pa_debug.g_err_stage := ' Exiting Get_Curr_Period_Profile_Info';
2185: IF P_PA_DEBUG_MODE = 'Y' THEN
2186: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2187: END IF;
2188: pa_debug.reset_err_stack;
2189: EXCEPTION
2190:
2184: pa_debug.g_err_stage := ' Exiting Get_Curr_Period_Profile_Info';
2185: IF P_PA_DEBUG_MODE = 'Y' THEN
2186: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,3);
2187: END IF;
2188: pa_debug.reset_err_stack;
2189: EXCEPTION
2190:
2191: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2192:
2210: x_msg_count := l_msg_count;
2211:
2212: END IF;
2213:
2214: pa_debug.g_err_stage:='Invalid Arguments Passed';
2215: IF P_PA_DEBUG_MODE = 'Y' THEN
2216: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2217: END IF;
2218:
2211:
2212: END IF;
2213:
2214: pa_debug.g_err_stage:='Invalid Arguments Passed';
2215: IF P_PA_DEBUG_MODE = 'Y' THEN
2216: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2217: END IF;
2218:
2219: x_return_status:= FND_API.G_RET_STS_ERROR;
2212: END IF;
2213:
2214: pa_debug.g_err_stage:='Invalid Arguments Passed';
2215: IF P_PA_DEBUG_MODE = 'Y' THEN
2216: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2217: END IF;
2218:
2219: x_return_status:= FND_API.G_RET_STS_ERROR;
2220:
2217: END IF;
2218:
2219: x_return_status:= FND_API.G_RET_STS_ERROR;
2220:
2221: pa_debug.reset_err_stack;
2222:
2223: RAISE;
2224:
2225: WHEN Others THEN
2230:
2231: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_PRJ_PERIOD_PROFILE_UTILS'
2232: ,p_procedure_name => 'Get_Curr_Period_Profile_Info');
2233:
2234: pa_debug.g_err_stage:='Unexpected Error' || SQLERRM;
2235: IF P_PA_DEBUG_MODE = 'Y' THEN
2236: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2237: END IF;
2238:
2231: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_PRJ_PERIOD_PROFILE_UTILS'
2232: ,p_procedure_name => 'Get_Curr_Period_Profile_Info');
2233:
2234: pa_debug.g_err_stage:='Unexpected Error' || SQLERRM;
2235: IF P_PA_DEBUG_MODE = 'Y' THEN
2236: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2237: END IF;
2238:
2239: pa_debug.reset_err_stack;
2232: ,p_procedure_name => 'Get_Curr_Period_Profile_Info');
2233:
2234: pa_debug.g_err_stage:='Unexpected Error' || SQLERRM;
2235: IF P_PA_DEBUG_MODE = 'Y' THEN
2236: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2237: END IF;
2238:
2239: pa_debug.reset_err_stack;
2240:
2235: IF P_PA_DEBUG_MODE = 'Y' THEN
2236: pa_debug.write('Get_Curr_Period_Profile_Info: ' || g_module_name,pa_debug.g_err_stage,5);
2237: END IF;
2238:
2239: pa_debug.reset_err_stack;
2240:
2241: RAISE;
2242:
2243: END Get_Curr_Period_Profile_Info;
2267:
2268: l_stage number := 0;
2269:
2270: BEGIN
2271: IF P_PA_DEBUG_MODE = 'Y' THEN
2272: pa_debug.init_err_stack('PA_PLAN_MATRIX.GET_AMTTYPE_ID');
2273: END IF;
2274:
2275: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2268: l_stage number := 0;
2269:
2270: BEGIN
2271: IF P_PA_DEBUG_MODE = 'Y' THEN
2272: pa_debug.init_err_stack('PA_PLAN_MATRIX.GET_AMTTYPE_ID');
2273: END IF;
2274:
2275: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2276: l_debug_mode := NVL(l_debug_mode, 'Y');
2271: IF P_PA_DEBUG_MODE = 'Y' THEN
2272: pa_debug.init_err_stack('PA_PLAN_MATRIX.GET_AMTTYPE_ID');
2273: END IF;
2274:
2275: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2276: l_debug_mode := NVL(l_debug_mode, 'Y');
2277:
2278: IF P_PA_DEBUG_MODE = 'Y' THEN
2279: pa_debug.set_process('GET_AMTTYPE_ID: ' || 'PLSQL','LOG',l_debug_mode);
2274:
2275: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2276: l_debug_mode := NVL(l_debug_mode, 'Y');
2277:
2278: IF P_PA_DEBUG_MODE = 'Y' THEN
2279: pa_debug.set_process('GET_AMTTYPE_ID: ' || 'PLSQL','LOG',l_debug_mode);
2280: END IF;
2281:
2282: l_amount_type_id := -99;
2275: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2276: l_debug_mode := NVL(l_debug_mode, 'Y');
2277:
2278: IF P_PA_DEBUG_MODE = 'Y' THEN
2279: pa_debug.set_process('GET_AMTTYPE_ID: ' || 'PLSQL','LOG',l_debug_mode);
2280: END IF;
2281:
2282: l_amount_type_id := -99;
2283:
2297: END IF;
2298: END LOOP;
2299: END IF;
2300: IF l_amount_type_id = -99 THEN
2301: pa_debug.g_err_stage := 'p_amt_typ_code ['||p_amt_typ_code ||']';
2302: IF P_PA_DEBUG_MODE = 'Y' THEN
2303: pa_debug.write_file('GET_AMTTYPE_ID: ' || pa_debug.g_err_stage);
2304: END IF;
2305: END IF;
2298: END LOOP;
2299: END IF;
2300: IF l_amount_type_id = -99 THEN
2301: pa_debug.g_err_stage := 'p_amt_typ_code ['||p_amt_typ_code ||']';
2302: IF P_PA_DEBUG_MODE = 'Y' THEN
2303: pa_debug.write_file('GET_AMTTYPE_ID: ' || pa_debug.g_err_stage);
2304: END IF;
2305: END IF;
2306: pa_debug.reset_err_stack;
2299: END IF;
2300: IF l_amount_type_id = -99 THEN
2301: pa_debug.g_err_stage := 'p_amt_typ_code ['||p_amt_typ_code ||']';
2302: IF P_PA_DEBUG_MODE = 'Y' THEN
2303: pa_debug.write_file('GET_AMTTYPE_ID: ' || pa_debug.g_err_stage);
2304: END IF;
2305: END IF;
2306: pa_debug.reset_err_stack;
2307: RETURN(l_amount_type_id);
2302: IF P_PA_DEBUG_MODE = 'Y' THEN
2303: pa_debug.write_file('GET_AMTTYPE_ID: ' || pa_debug.g_err_stage);
2304: END IF;
2305: END IF;
2306: pa_debug.reset_err_stack;
2307: RETURN(l_amount_type_id);
2308:
2309: EXCEPTION
2310: WHEN OTHERS THEN
2309: EXCEPTION
2310: WHEN OTHERS THEN
2311: FND_MSG_PUB.add_exc_msg(
2312: p_pkg_name => 'PA_FP_ORG_FCST_GEN_PUB.get_amttype_id'
2313: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2314:
2315: IF P_PA_DEBUG_MODE = 'Y' THEN
2316: pa_debug.write_file('GET_AMTTYPE_ID: ' || SQLERRM);
2317: END IF;
2311: FND_MSG_PUB.add_exc_msg(
2312: p_pkg_name => 'PA_FP_ORG_FCST_GEN_PUB.get_amttype_id'
2313: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2314:
2315: IF P_PA_DEBUG_MODE = 'Y' THEN
2316: pa_debug.write_file('GET_AMTTYPE_ID: ' || SQLERRM);
2317: END IF;
2318: pa_debug.reset_err_stack;
2319: RAISE;
2312: p_pkg_name => 'PA_FP_ORG_FCST_GEN_PUB.get_amttype_id'
2313: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2314:
2315: IF P_PA_DEBUG_MODE = 'Y' THEN
2316: pa_debug.write_file('GET_AMTTYPE_ID: ' || SQLERRM);
2317: END IF;
2318: pa_debug.reset_err_stack;
2319: RAISE;
2320: END GET_AMTTYPE_ID;
2314:
2315: IF P_PA_DEBUG_MODE = 'Y' THEN
2316: pa_debug.write_file('GET_AMTTYPE_ID: ' || SQLERRM);
2317: END IF;
2318: pa_debug.reset_err_stack;
2319: RAISE;
2320: END GET_AMTTYPE_ID;
2321:
2322: --This API is called on refresh of period profiles.
2348: l_request_id NUMBER;
2349: BEGIN
2350: l_request_id := FND_GLOBAL.CONC_REQUEST_ID;
2351: -- Setting the Debug Statements
2352: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2353: l_debug_mode := NVL(l_debug_mode, 'N');
2354: IF P_PA_DEBUG_MODE = 'Y' THEN
2355: PA_DEBUG.Set_Curr_Function( p_function => 'Refresh_Period_Profile',
2356: p_debug_mode => l_debug_mode );
2350: l_request_id := FND_GLOBAL.CONC_REQUEST_ID;
2351: -- Setting the Debug Statements
2352: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2353: l_debug_mode := NVL(l_debug_mode, 'N');
2354: IF P_PA_DEBUG_MODE = 'Y' THEN
2355: PA_DEBUG.Set_Curr_Function( p_function => 'Refresh_Period_Profile',
2356: p_debug_mode => l_debug_mode );
2357: END IF;
2358: x_return_status := FND_API.G_RET_STS_SUCCESS;
2351: -- Setting the Debug Statements
2352: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2353: l_debug_mode := NVL(l_debug_mode, 'N');
2354: IF P_PA_DEBUG_MODE = 'Y' THEN
2355: PA_DEBUG.Set_Curr_Function( p_function => 'Refresh_Period_Profile',
2356: p_debug_mode => l_debug_mode );
2357: END IF;
2358: x_return_status := FND_API.G_RET_STS_SUCCESS;
2359:
2356: p_debug_mode => l_debug_mode );
2357: END IF;
2358: x_return_status := FND_API.G_RET_STS_SUCCESS;
2359:
2360: IF P_PA_DEBUG_MODE = 'Y' THEN
2361: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile ' ||
2362: 'for Refreshing the Period Profile';
2363: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2364: PA_DEBUG.g_err_stage := 'Concurrent request id :' ||
2357: END IF;
2358: x_return_status := FND_API.G_RET_STS_SUCCESS;
2359:
2360: IF P_PA_DEBUG_MODE = 'Y' THEN
2361: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile ' ||
2362: 'for Refreshing the Period Profile';
2363: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2364: PA_DEBUG.g_err_stage := 'Concurrent request id :' ||
2365: to_char(nvl(l_request_id,0));
2359:
2360: IF P_PA_DEBUG_MODE = 'Y' THEN
2361: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile ' ||
2362: 'for Refreshing the Period Profile';
2363: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2364: PA_DEBUG.g_err_stage := 'Concurrent request id :' ||
2365: to_char(nvl(l_request_id,0));
2366: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2367: END IF;
2360: IF P_PA_DEBUG_MODE = 'Y' THEN
2361: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile ' ||
2362: 'for Refreshing the Period Profile';
2363: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2364: PA_DEBUG.g_err_stage := 'Concurrent request id :' ||
2365: to_char(nvl(l_request_id,0));
2366: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2367: END IF;
2368:
2362: 'for Refreshing the Period Profile';
2363: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2364: PA_DEBUG.g_err_stage := 'Concurrent request id :' ||
2365: to_char(nvl(l_request_id,0));
2366: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2367: END IF;
2368:
2369: -- Set the savepoint to return if any of the merges fail
2370: -- for control items
2375: --If budget version id is null then no processing will take place as there is no
2376: --record in denorm for that budget version id. If no record then it is the case
2377: --of creating a new profile rather than refreshing an existing profile.
2378: IF p_budget_version_id IS NULL THEN
2379: IF P_PA_DEBUG_MODE = 'Y' THEN
2380: PA_DEBUG.g_err_stage := 'No Budget Version ID is specified ' ||
2381: 'or budget version id is null';
2382: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2383: END IF;
2376: --record in denorm for that budget version id. If no record then it is the case
2377: --of creating a new profile rather than refreshing an existing profile.
2378: IF p_budget_version_id IS NULL THEN
2379: IF P_PA_DEBUG_MODE = 'Y' THEN
2380: PA_DEBUG.g_err_stage := 'No Budget Version ID is specified ' ||
2381: 'or budget version id is null';
2382: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2383: END IF;
2384: /* PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
2378: IF p_budget_version_id IS NULL THEN
2379: IF P_PA_DEBUG_MODE = 'Y' THEN
2380: PA_DEBUG.g_err_stage := 'No Budget Version ID is specified ' ||
2381: 'or budget version id is null';
2382: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2383: END IF;
2384: /* PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
2385: p_msg_name => 'NULL_BDGT_VSN_ID');
2386: invalid message code, so commented */
2385: p_msg_name => 'NULL_BDGT_VSN_ID');
2386: invalid message code, so commented */
2387: x_return_status := FND_API.G_RET_STS_ERROR;
2388: /* x_msg_data := 'NULL_BDGT_VSN_ID'; */
2389: IF P_PA_DEBUG_MODE = 'Y' THEN
2390: PA_DEBUG.Reset_Curr_Function;
2391: END IF;
2392: RETURN;
2393: END IF;
2386: invalid message code, so commented */
2387: x_return_status := FND_API.G_RET_STS_ERROR;
2388: /* x_msg_data := 'NULL_BDGT_VSN_ID'; */
2389: IF P_PA_DEBUG_MODE = 'Y' THEN
2390: PA_DEBUG.Reset_Curr_Function;
2391: END IF;
2392: RETURN;
2393: END IF;
2394: -- Setting local variable values
2426: UPDATE_BUDGET_VERSION(p_budget_version_id => l_budget_version_id,
2427: p_return_status => x_return_status,
2428: p_project_id => p_project_id,
2429: p_request_id => l_request_id );
2430: IF P_PA_DEBUG_MODE = 'Y' THEN
2431: PA_DEBUG.Reset_Curr_Function;
2432: END IF;
2433: RETURN;
2434: END IF;
2427: p_return_status => x_return_status,
2428: p_project_id => p_project_id,
2429: p_request_id => l_request_id );
2430: IF P_PA_DEBUG_MODE = 'Y' THEN
2431: PA_DEBUG.Reset_Curr_Function;
2432: END IF;
2433: RETURN;
2434: END IF;
2435:
2461: UPDATE_BUDGET_VERSION(p_budget_version_id => l_budget_version_id,
2462: p_return_status => x_return_status,
2463: p_project_id => p_project_id,
2464: p_request_id => l_request_id );
2465: IF P_PA_DEBUG_MODE = 'Y' THEN
2466: PA_DEBUG.Reset_Curr_Function;
2467: END IF;
2468: RETURN;
2469: END IF;
2462: p_return_status => x_return_status,
2463: p_project_id => p_project_id,
2464: p_request_id => l_request_id );
2465: IF P_PA_DEBUG_MODE = 'Y' THEN
2466: PA_DEBUG.Reset_Curr_Function;
2467: END IF;
2468: RETURN;
2469: END IF;
2470:
2478: EXCEPTION
2479: WHEN OTHERS THEN
2480: FND_MSG_PUB.add_exc_msg
2481: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.refresh_period_profile'
2482: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2483: IF P_PA_DEBUG_MODE = 'Y' THEN
2484: PA_DEBUG.g_err_stage := 'Unexpected error in refresh_period_profile ';
2485: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2486: END IF;
2479: WHEN OTHERS THEN
2480: FND_MSG_PUB.add_exc_msg
2481: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.refresh_period_profile'
2482: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2483: IF P_PA_DEBUG_MODE = 'Y' THEN
2484: PA_DEBUG.g_err_stage := 'Unexpected error in refresh_period_profile ';
2485: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2486: END IF;
2487: ROLLBACK TO before_refresh_pd_profile;
2480: FND_MSG_PUB.add_exc_msg
2481: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.refresh_period_profile'
2482: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2483: IF P_PA_DEBUG_MODE = 'Y' THEN
2484: PA_DEBUG.g_err_stage := 'Unexpected error in refresh_period_profile ';
2485: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2486: END IF;
2487: ROLLBACK TO before_refresh_pd_profile;
2488: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2481: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.refresh_period_profile'
2482: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2483: IF P_PA_DEBUG_MODE = 'Y' THEN
2484: PA_DEBUG.g_err_stage := 'Unexpected error in refresh_period_profile ';
2485: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2486: END IF;
2487: ROLLBACK TO before_refresh_pd_profile;
2488: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2489: UPDATE_BUDGET_VERSION(p_budget_version_id => l_budget_version_id,
2489: UPDATE_BUDGET_VERSION(p_budget_version_id => l_budget_version_id,
2490: p_return_status => x_return_status,
2491: p_project_id => p_project_id,
2492: p_request_id => l_request_id );
2493: IF P_PA_DEBUG_MODE = 'Y' THEN
2494: PA_DEBUG.Reset_Curr_Function;
2495: END IF;
2496: RAISE;
2497: END Refresh_Period_Profile;
2490: p_return_status => x_return_status,
2491: p_project_id => p_project_id,
2492: p_request_id => l_request_id );
2493: IF P_PA_DEBUG_MODE = 'Y' THEN
2494: PA_DEBUG.Reset_Curr_Function;
2495: END IF;
2496: RAISE;
2497: END Refresh_Period_Profile;
2498:
2530: l_plan_proc_code_tab PA_PLSQL_DATATYPES.Char30TabTyp;
2531: l_req_id_tab PA_PLSQL_DATATYPES.IdTabTyp;
2532: BEGIN
2533: -- Setting the Debug Statements
2534: IF P_PA_DEBUG_MODE = 'Y' THEN
2535: PA_DEBUG.Set_Curr_Function( p_function => 'Wrapper_Refresh_Pd_Profile',
2536: p_debug_mode => p_debug_mode );
2537: END IF;
2538: l_request_id := FND_GLOBAL.CONC_REQUEST_ID;
2531: l_req_id_tab PA_PLSQL_DATATYPES.IdTabTyp;
2532: BEGIN
2533: -- Setting the Debug Statements
2534: IF P_PA_DEBUG_MODE = 'Y' THEN
2535: PA_DEBUG.Set_Curr_Function( p_function => 'Wrapper_Refresh_Pd_Profile',
2536: p_debug_mode => p_debug_mode );
2537: END IF;
2538: l_request_id := FND_GLOBAL.CONC_REQUEST_ID;
2539:
2536: p_debug_mode => p_debug_mode );
2537: END IF;
2538: l_request_id := FND_GLOBAL.CONC_REQUEST_ID;
2539:
2540: IF P_PA_DEBUG_MODE = 'Y' THEN
2541: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile WRAPPER ' ||
2542: 'for Conc Request Id :'||to_char(nvl(l_Request_id,0));
2543: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2544: PA_DEBUG.g_err_stage := 'Parameters : ';
2537: END IF;
2538: l_request_id := FND_GLOBAL.CONC_REQUEST_ID;
2539:
2540: IF P_PA_DEBUG_MODE = 'Y' THEN
2541: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile WRAPPER ' ||
2542: 'for Conc Request Id :'||to_char(nvl(l_Request_id,0));
2543: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2544: PA_DEBUG.g_err_stage := 'Parameters : ';
2545: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2539:
2540: IF P_PA_DEBUG_MODE = 'Y' THEN
2541: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile WRAPPER ' ||
2542: 'for Conc Request Id :'||to_char(nvl(l_Request_id,0));
2543: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2544: PA_DEBUG.g_err_stage := 'Parameters : ';
2545: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2546: PA_DEBUG.g_err_stage := 'Budget version id1 : '||
2547: to_char(nvl(p_budget_Version_id1,0));
2540: IF P_PA_DEBUG_MODE = 'Y' THEN
2541: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile WRAPPER ' ||
2542: 'for Conc Request Id :'||to_char(nvl(l_Request_id,0));
2543: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2544: PA_DEBUG.g_err_stage := 'Parameters : ';
2545: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2546: PA_DEBUG.g_err_stage := 'Budget version id1 : '||
2547: to_char(nvl(p_budget_Version_id1,0));
2548: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2541: PA_DEBUG.g_err_stage := 'Entering Refresh Period Profile WRAPPER ' ||
2542: 'for Conc Request Id :'||to_char(nvl(l_Request_id,0));
2543: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2544: PA_DEBUG.g_err_stage := 'Parameters : ';
2545: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2546: PA_DEBUG.g_err_stage := 'Budget version id1 : '||
2547: to_char(nvl(p_budget_Version_id1,0));
2548: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2549: PA_DEBUG.g_err_stage := 'Budget version id2 : '||
2542: 'for Conc Request Id :'||to_char(nvl(l_Request_id,0));
2543: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2544: PA_DEBUG.g_err_stage := 'Parameters : ';
2545: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2546: PA_DEBUG.g_err_stage := 'Budget version id1 : '||
2547: to_char(nvl(p_budget_Version_id1,0));
2548: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2549: PA_DEBUG.g_err_stage := 'Budget version id2 : '||
2550: to_char(nvl(p_budget_Version_id2,0));
2544: PA_DEBUG.g_err_stage := 'Parameters : ';
2545: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2546: PA_DEBUG.g_err_stage := 'Budget version id1 : '||
2547: to_char(nvl(p_budget_Version_id1,0));
2548: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2549: PA_DEBUG.g_err_stage := 'Budget version id2 : '||
2550: to_char(nvl(p_budget_Version_id2,0));
2551: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2552: PA_DEBUG.g_err_stage := 'Project Id : '||
2545: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2546: PA_DEBUG.g_err_stage := 'Budget version id1 : '||
2547: to_char(nvl(p_budget_Version_id1,0));
2548: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2549: PA_DEBUG.g_err_stage := 'Budget version id2 : '||
2550: to_char(nvl(p_budget_Version_id2,0));
2551: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2552: PA_DEBUG.g_err_stage := 'Project Id : '||
2553: to_char(nvl(p_project_id,0));
2547: to_char(nvl(p_budget_Version_id1,0));
2548: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2549: PA_DEBUG.g_err_stage := 'Budget version id2 : '||
2550: to_char(nvl(p_budget_Version_id2,0));
2551: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2552: PA_DEBUG.g_err_stage := 'Project Id : '||
2553: to_char(nvl(p_project_id,0));
2554: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2555: PA_DEBUG.g_err_stage := 'Refresh option code : '||
2548: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2549: PA_DEBUG.g_err_stage := 'Budget version id2 : '||
2550: to_char(nvl(p_budget_Version_id2,0));
2551: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2552: PA_DEBUG.g_err_stage := 'Project Id : '||
2553: to_char(nvl(p_project_id,0));
2554: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2555: PA_DEBUG.g_err_stage := 'Refresh option code : '||
2556: nvl(p_refresh_option_code,'NULL');
2550: to_char(nvl(p_budget_Version_id2,0));
2551: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2552: PA_DEBUG.g_err_stage := 'Project Id : '||
2553: to_char(nvl(p_project_id,0));
2554: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2555: PA_DEBUG.g_err_stage := 'Refresh option code : '||
2556: nvl(p_refresh_option_code,'NULL');
2557: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2558: PA_DEBUG.g_err_stage := 'Pa Profile Id : '||
2551: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2552: PA_DEBUG.g_err_stage := 'Project Id : '||
2553: to_char(nvl(p_project_id,0));
2554: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2555: PA_DEBUG.g_err_stage := 'Refresh option code : '||
2556: nvl(p_refresh_option_code,'NULL');
2557: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2558: PA_DEBUG.g_err_stage := 'Pa Profile Id : '||
2559: to_char(nvl(p_pa_period_profile_id,0));
2553: to_char(nvl(p_project_id,0));
2554: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2555: PA_DEBUG.g_err_stage := 'Refresh option code : '||
2556: nvl(p_refresh_option_code,'NULL');
2557: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2558: PA_DEBUG.g_err_stage := 'Pa Profile Id : '||
2559: to_char(nvl(p_pa_period_profile_id,0));
2560: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2561: PA_DEBUG.g_err_stage := 'Gl Profile Id : '||
2554: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2555: PA_DEBUG.g_err_stage := 'Refresh option code : '||
2556: nvl(p_refresh_option_code,'NULL');
2557: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2558: PA_DEBUG.g_err_stage := 'Pa Profile Id : '||
2559: to_char(nvl(p_pa_period_profile_id,0));
2560: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2561: PA_DEBUG.g_err_stage := 'Gl Profile Id : '||
2562: to_char(nvl(p_gl_period_profile_id,0));
2556: nvl(p_refresh_option_code,'NULL');
2557: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2558: PA_DEBUG.g_err_stage := 'Pa Profile Id : '||
2559: to_char(nvl(p_pa_period_profile_id,0));
2560: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2561: PA_DEBUG.g_err_stage := 'Gl Profile Id : '||
2562: to_char(nvl(p_gl_period_profile_id,0));
2563: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2564: END IF;
2557: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2558: PA_DEBUG.g_err_stage := 'Pa Profile Id : '||
2559: to_char(nvl(p_pa_period_profile_id,0));
2560: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2561: PA_DEBUG.g_err_stage := 'Gl Profile Id : '||
2562: to_char(nvl(p_gl_period_profile_id,0));
2563: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2564: END IF;
2565: retcode := '0';
2559: to_char(nvl(p_pa_period_profile_id,0));
2560: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2561: PA_DEBUG.g_err_stage := 'Gl Profile Id : '||
2562: to_char(nvl(p_gl_period_profile_id,0));
2563: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2564: END IF;
2565: retcode := '0';
2566:
2567: /* Setting local variable values */
2697: AND bv.project_id = p_project_id
2698: AND po.project_id = bv.project_id;
2699: EXCEPTION
2700: WHEN NO_DATA_FOUND THEN
2701: IF P_PA_DEBUG_MODE = 'Y' THEN
2702: PA_DEBUG.g_err_stage := 'No data found while trying ' ||
2703: 'to retrive data for time phased code FOR ' ||
2704: 'l_refresh_option_code ALL';
2705: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2698: AND po.project_id = bv.project_id;
2699: EXCEPTION
2700: WHEN NO_DATA_FOUND THEN
2701: IF P_PA_DEBUG_MODE = 'Y' THEN
2702: PA_DEBUG.g_err_stage := 'No data found while trying ' ||
2703: 'to retrive data for time phased code FOR ' ||
2704: 'l_refresh_option_code ALL';
2705: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2706: END IF;
2701: IF P_PA_DEBUG_MODE = 'Y' THEN
2702: PA_DEBUG.g_err_stage := 'No data found while trying ' ||
2703: 'to retrive data for time phased code FOR ' ||
2704: 'l_refresh_option_code ALL';
2705: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2706: END IF;
2707: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
2708: p_msg_name => 'PA_FP_TM_PHSD_CODE_NOT_FOUND');
2709: retcode := '2';
2707: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
2708: p_msg_name => 'PA_FP_TM_PHSD_CODE_NOT_FOUND');
2709: retcode := '2';
2710: errbuff := 'PA_FP_TM_PHSD_CODE_NOT_FOUND';
2711: IF P_PA_DEBUG_MODE = 'Y' THEN
2712: PA_DEBUG.Reset_Curr_Function;
2713: END IF;
2714: END;
2715: IF (l_time_phased_code = 'P' and
2708: p_msg_name => 'PA_FP_TM_PHSD_CODE_NOT_FOUND');
2709: retcode := '2';
2710: errbuff := 'PA_FP_TM_PHSD_CODE_NOT_FOUND';
2711: IF P_PA_DEBUG_MODE = 'Y' THEN
2712: PA_DEBUG.Reset_Curr_Function;
2713: END IF;
2714: END;
2715: IF (l_time_phased_code = 'P' and
2716: l_req_id_tab(l_cnt)= l_request_id and
2716: l_req_id_tab(l_cnt)= l_request_id and
2717: l_plan_proc_code_tab(l_cnt) = 'PPP' ) THEN
2718: --Knows that time phased code is PA
2719: --So, check for PA period profile passed to the API
2720: IF P_PA_DEBUG_MODE = 'Y' THEN
2721: PA_DEBUG.g_err_stage := 'calling PP refresh for ' ||
2722: 'PA period : ';
2723: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2724: PA_DEBUG.g_err_stage := 'budget version id ' ||
2717: l_plan_proc_code_tab(l_cnt) = 'PPP' ) THEN
2718: --Knows that time phased code is PA
2719: --So, check for PA period profile passed to the API
2720: IF P_PA_DEBUG_MODE = 'Y' THEN
2721: PA_DEBUG.g_err_stage := 'calling PP refresh for ' ||
2722: 'PA period : ';
2723: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2724: PA_DEBUG.g_err_stage := 'budget version id ' ||
2725: to_char(l_budget_version_id) ||
2719: --So, check for PA period profile passed to the API
2720: IF P_PA_DEBUG_MODE = 'Y' THEN
2721: PA_DEBUG.g_err_stage := 'calling PP refresh for ' ||
2722: 'PA period : ';
2723: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2724: PA_DEBUG.g_err_stage := 'budget version id ' ||
2725: to_char(l_budget_version_id) ||
2726: ' period profile id :'||to_char(l_pa_period_profile_id);
2727: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2720: IF P_PA_DEBUG_MODE = 'Y' THEN
2721: PA_DEBUG.g_err_stage := 'calling PP refresh for ' ||
2722: 'PA period : ';
2723: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2724: PA_DEBUG.g_err_stage := 'budget version id ' ||
2725: to_char(l_budget_version_id) ||
2726: ' period profile id :'||to_char(l_pa_period_profile_id);
2727: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2728: END IF;
2723: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2724: PA_DEBUG.g_err_stage := 'budget version id ' ||
2725: to_char(l_budget_version_id) ||
2726: ' period profile id :'||to_char(l_pa_period_profile_id);
2727: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2728: END IF;
2729: IF l_pa_period_profile_id IS NOT NULL THEN
2730: --Call the refresh period profile with PA profile ID
2731: REFRESH_PERIOD_PROFILE
2749: --Knows that time phased code is GL
2750: --So, check for GL period profile passed to the API
2751: IF l_gl_period_profile_id IS NOT NULL THEN
2752: --Call the refresh period profile with GL profile ID
2753: IF P_PA_DEBUG_MODE = 'Y' THEN
2754: PA_DEBUG.g_err_stage := 'calling PP refresh for ' ||
2755: 'GL period : ';
2756: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2757: PA_DEBUG.g_err_stage := 'budget version id ' ||
2750: --So, check for GL period profile passed to the API
2751: IF l_gl_period_profile_id IS NOT NULL THEN
2752: --Call the refresh period profile with GL profile ID
2753: IF P_PA_DEBUG_MODE = 'Y' THEN
2754: PA_DEBUG.g_err_stage := 'calling PP refresh for ' ||
2755: 'GL period : ';
2756: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2757: PA_DEBUG.g_err_stage := 'budget version id ' ||
2758: to_char(l_budget_version_id) ||
2752: --Call the refresh period profile with GL profile ID
2753: IF P_PA_DEBUG_MODE = 'Y' THEN
2754: PA_DEBUG.g_err_stage := 'calling PP refresh for ' ||
2755: 'GL period : ';
2756: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2757: PA_DEBUG.g_err_stage := 'budget version id ' ||
2758: to_char(l_budget_version_id) ||
2759: ' period profile id :'||to_char(l_gl_period_profile_id);
2760: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2753: IF P_PA_DEBUG_MODE = 'Y' THEN
2754: PA_DEBUG.g_err_stage := 'calling PP refresh for ' ||
2755: 'GL period : ';
2756: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2757: PA_DEBUG.g_err_stage := 'budget version id ' ||
2758: to_char(l_budget_version_id) ||
2759: ' period profile id :'||to_char(l_gl_period_profile_id);
2760: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2761: END IF;
2756: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2757: PA_DEBUG.g_err_stage := 'budget version id ' ||
2758: to_char(l_budget_version_id) ||
2759: ' period profile id :'||to_char(l_gl_period_profile_id);
2760: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2761: END IF;
2762: REFRESH_PERIOD_PROFILE
2763: (
2764: p_budget_version_id => l_budget_version_id,
2779: EXCEPTION
2780: WHEN OTHERS THEN
2781: FND_MSG_PUB.add_exc_msg
2782: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.wrapper_refresh_pd_profile'
2783: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2784: IF P_PA_DEBUG_MODE = 'Y' THEN
2785: PA_DEBUG.g_err_stage := 'Unexpected error in wrapper_refresh_pd_profile ';
2786: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2787: END IF;
2780: WHEN OTHERS THEN
2781: FND_MSG_PUB.add_exc_msg
2782: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.wrapper_refresh_pd_profile'
2783: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2784: IF P_PA_DEBUG_MODE = 'Y' THEN
2785: PA_DEBUG.g_err_stage := 'Unexpected error in wrapper_refresh_pd_profile ';
2786: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2787: END IF;
2788: retcode := '2';
2781: FND_MSG_PUB.add_exc_msg
2782: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.wrapper_refresh_pd_profile'
2783: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2784: IF P_PA_DEBUG_MODE = 'Y' THEN
2785: PA_DEBUG.g_err_stage := 'Unexpected error in wrapper_refresh_pd_profile ';
2786: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2787: END IF;
2788: retcode := '2';
2789: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2782: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.wrapper_refresh_pd_profile'
2783: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
2784: IF P_PA_DEBUG_MODE = 'Y' THEN
2785: PA_DEBUG.g_err_stage := 'Unexpected error in wrapper_refresh_pd_profile ';
2786: PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
2787: END IF;
2788: retcode := '2';
2789: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2790: UPDATE_BUDGET_VERSION(p_budget_version_id => l_budget_version_id,
2790: UPDATE_BUDGET_VERSION(p_budget_version_id => l_budget_version_id,
2791: p_return_status => l_return_status,
2792: p_project_id => p_project_id,
2793: p_request_id => l_request_id );
2794: IF P_PA_DEBUG_MODE = 'Y' THEN
2795: PA_DEBUG.Reset_Curr_Function;
2796: END IF;
2797: RAISE;
2798: END Wrapper_Refresh_Pd_Profile;
2791: p_return_status => l_return_status,
2792: p_project_id => p_project_id,
2793: p_request_id => l_request_id );
2794: IF P_PA_DEBUG_MODE = 'Y' THEN
2795: PA_DEBUG.Reset_Curr_Function;
2796: END IF;
2797: RAISE;
2798: END Wrapper_Refresh_Pd_Profile;
2799:
3174: EXCEPTION
3175: WHEN OTHERS THEN
3176: FND_MSG_PUB.add_exc_msg
3177: ( p_pkg_name => 'PA_PRJ_PERIOD_PROFILE_UTILS.get_current_period_info'
3178: ,p_procedure_name => PA_DEBUG.G_Err_Stack);
3179: RAISE;
3180: END get_current_period_info;
3181:
3182: