[Home] [Help]
PACKAGE BODY: APPS.PA_FORECAST_GLOBAL
Source
1 PACKAGE BODY PA_FORECAST_GLOBAL AS
2 /* $Header: PARFGGBB.pls 120.1 2005/08/19 16:51:30 mwasowic noship $ */
3
4 P_PA_DEBUG_MODE varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
5
6 PROCEDURE Initialize_Global(
7 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
8 x_msg_data OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
9 x_ret_status IN OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
10 IS
11 l_temp_str VARCHAR2(100);
12 l_msg_count NUMBER := 0;
13 BEGIN
14 PA_DEBUG.Set_Curr_Function( p_function => 'Initialize Global');
15 IF P_PA_DEBUG_MODE = 'Y' THEN
16 PA_DEBUG.g_err_stage := '50 : Entering PA_FORECAST_GLOBAL.Initialize_Global';
17 PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
18 END IF;
19
20 /* Initialize the error stack */
21 FND_MSG_PUB.initialize;
22 /*
23 * Populate the Global record for the WHO columns.
24 */
25
26 G_who_columns.G_last_updated_by := FND_GLOBAL.USER_ID;
27 G_who_columns.G_created_by := FND_GLOBAL.USER_ID;
28 G_who_columns.G_creation_date := SYSDATE;
29 G_who_columns.G_last_update_date := G_who_columns.G_creation_date;
30 G_who_columns.G_last_update_login := FND_GLOBAL.LOGIN_ID;
31 G_who_columns.G_program_application_id := FND_GLOBAL.PROG_APPL_ID;
32 G_who_columns.G_request_id := FND_GLOBAL.CONC_REQUEST_ID;
33 G_who_columns.G_program_id := FND_GLOBAL.CONC_PROGRAM_ID;
34
35 IF P_PA_DEBUG_MODE = 'Y' THEN
36 PA_DEBUG.g_err_stage := '100 : Before Accessing FND_PROFILE values';
37 PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
38 END IF;
39 x_msg_count := 0;
40 x_ret_status := FND_API.G_RET_STS_SUCCESS;
41 IF PA_FORECAST_GLOBAL.G_fcst_global_flag = 'Y' THEN
42 PA_DEBUG.Reset_Curr_Function;
43 RETURN;
44 END IF;
45
46 PA_FORECAST_GLOBAL.G_fcst_proceed_flag := 'Y';
47
48
49 IF (FND_PROFILE.VALUE('PA_FORECAST_RESOURCE_LIST')) IS NOT NULL THEN
50 G_implementation_details.G_fcst_res_list := FND_PROFILE.VALUE('PA_FORECAST_RESOURCE_LIST');
51 ELSE
52 x_ret_status := FND_API.G_RET_STS_ERROR;
53 PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
54 p_msg_name => 'PA_FCST_NO_RES_LIST');
55 PA_FORECAST_GLOBAL.G_fcst_proceed_flag := 'N';
56 x_msg_count := x_msg_count + 1;
57 END IF;
58
59 IF (FND_PROFILE.VALUE('PA_FORECASTING_PERIOD_TYPE')) IS NOT NULL THEN
60 G_implementation_details.G_fcst_period_type := FND_PROFILE.VALUE('PA_FORECASTING_PERIOD_TYPE');
61 ELSE
62 x_ret_status := FND_API.G_RET_STS_ERROR;
63 PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
64 p_msg_name => 'PA_FCST_NO_PD_TYPE');
65 PA_FORECAST_GLOBAL.G_fcst_proceed_flag := 'N';
66 x_msg_count := x_msg_count + 1;
67 END IF;
68
69 IF G_implementation_details.G_fcst_period_type = 'PA' THEN
70 l_temp_str := 'PA_FORECAST_DEF_BEM_PA';
71 ELSIF G_implementation_details.G_fcst_period_type = 'GL' THEN
72 l_temp_str := 'PA_FORECAST_DEF_BEM_GL';
73 END IF;
74
75 IF FND_PROFILE.VALUE(l_temp_str) IS NOT NULL THEN
76 G_implementation_details.G_fcst_def_bem := FND_PROFILE.VALUE(l_temp_str);
77 ELSE
78 x_ret_status := FND_API.G_RET_STS_ERROR;
79 PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
80 p_msg_name => 'PA_FCST_NO_BEM');
81 PA_FORECAST_GLOBAL.G_fcst_proceed_flag := 'N';
82 x_msg_count := x_msg_count + 1;
83 END IF;
84
85 IF P_PA_DEBUG_MODE = 'Y' THEN
86 PA_DEBUG.g_err_stage := '150 : After Accessing FND_PROFILE values';
87 PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
88 END IF;
89
90
91 BEGIN
92 SELECT JOB_COST_RATE_SCHEDULE_ID INTO G_implementation_details.G_fcst_cost_rate_sch_id
93 FROM PA_FORECASTING_OPTIONS
94 WHERE JOB_COST_RATE_SCHEDULE_ID IS NOT NULL;
95 EXCEPTION
96 WHEN NO_DATA_FOUND THEN
97 x_ret_status := FND_API.G_RET_STS_ERROR;
98 PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
99 p_msg_name => 'PA_FCST_NO_JOB_SCH_ID');
100 PA_FORECAST_GLOBAL.G_fcst_proceed_flag := 'N';
101 x_msg_count := x_msg_count + 1;
102 PA_DEBUG.Reset_Curr_Function;
103 RETURN;
104 END;
105
106 IF P_PA_DEBUG_MODE = 'Y' THEN
107 PA_DEBUG.g_err_stage := '250 : After Selecting from PA_FORECASTING_OPTIONS';
108 PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
109 END IF;
110
111 IF x_msg_count = 0 THEN
112 PA_FORECAST_GLOBAL.G_fcst_global_flag := 'Y';
113 END IF;
114
115 IF P_PA_DEBUG_MODE = 'Y' THEN
116 PA_DEBUG.g_err_stage := '300 : Exiting PA_FORECAST_GLOBAL';
117 PA_DEBUG.Log_Message(p_message => PA_DEBUG.g_err_stage);
118 END IF;
119 PA_DEBUG.Reset_Curr_Function;
120 EXCEPTION
121 WHEN OTHERS THEN
122 x_ret_status := FND_API.G_RET_STS_UNEXP_ERROR;
123 RAISE;
124 END Initialize_Global;
125
126 END PA_FORECAST_GLOBAL;