[Home] [Help]
PACKAGE BODY: APPS.AS_SCN_FORECAST_PUB
Source
1 PACKAGE BODY AS_SCN_FORECAST_PUB as
2 /* $Header: asxppemb.pls 115.6 2004/06/17 11:35:24 gbatra ship $ */
3
4 G_PKG_NAME VARCHAR2(30) := 'AS_SCN_FORECAST_PUB';
5
6 -- Start of Comments
7 -- API name: Get_Forecast_Amounts
8 -- Type: Public
9 -- Description:
10 --
11 -- Pre-reqs:
12 --
13 -- IN PARAMETERS:
14 -- p_api_version_number IN NUMBER (Standard)
15 -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE (Standard)
16 -- p_check_access_flag IN VARCHAR2 (Standard - "Y" by default) to verify the access.
17 -- p_resource_id IN NUMBER (resource_id for which forecast needs to be collected
18 -- p_quota_id IN NUMBER (Plan Element ID )
19 -- p_period_name IN VARCHAR2 ( period name as in OSO)
20 -- p_to_currency_code IN VARCHAR2 ( currency code in which you want to see the amounts)
21
22 -- OUT PARAMETERS
23 -- x_return_status: (API standard)
24 -- x_msg_count: (API standard)
25 -- x_msg_data: (API standard)
26 -- x_forecast_amount_tbl - forecast out put for every sales category
27 --
28 -- Version: Current version 2.0
29 --
30 -- Note:
31 -- This API is supposed to be used by Sales Comp for Income planner for individual
32 -- when calling this api, user needs to pass in p_resource_id ,p_quota_id ,
33 -- p_period_name and p_to_currency_code
34 --
35 -- End of Comments
36
37 PROCEDURE Get_Forecast_Amounts (
38 p_api_version_number IN NUMBER,
39 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
40 p_check_access_flag IN VARCHAR2,
41 p_resource_id IN NUMBER,
42 p_quota_id IN NUMBER,
43 p_period_name IN VARCHAR2,
44 p_to_currency_code IN VARCHAR2,
45 x_return_status OUT NOCOPY VARCHAR2,
46 x_msg_count OUT NOCOPY NUMBER,
47 x_msg_data OUT NOCOPY VARCHAR2,
48 x_forecast_amount_tbl OUT NOCOPY FORECAST_TBL_TYPE)
49
50 IS
51 l_api_name CONSTANT VARCHAR2(30) := 'Get_Forecast_Amounts';
52 l_api_version_number CONSTANT NUMBER := 2.0;
53 l_return_status VARCHAR2(1);
54 l_status_code VARCHAR2(30);
55
56 BEGIN
57 -- Standard call to check for call compatibility.
58 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
59 p_api_version_number,
60 l_api_name,
61 G_PKG_NAME) THEN
62 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
63 END IF;
64
65 -- Initialize message list if p_init_msg_list is set to TRUE.
66 IF FND_API.to_Boolean( p_init_msg_list ) THEN
67 FND_MSG_PUB.initialize;
68 END IF;
69 -- Initialize API return status to SUCCESS
70 x_return_status := FND_API.G_RET_STS_SUCCESS;
71 --
72 -- API body
73 --
74 AS_SCN_FORECAST_PVT.Get_Forecast_Amounts (
75 p_api_version_number => 2.0,
76 p_init_msg_list => FND_API.G_FALSE,
77 p_check_access_flag => p_check_access_flag,
78 p_resource_id => p_resource_id,
79 p_quota_id => p_quota_id,
80 p_period_name => p_period_name,
81 p_to_currency_code => p_to_currency_code,
82 x_return_status => l_return_status,
83 x_msg_count => x_msg_count,
84 x_msg_data => x_msg_data,
85 x_forecast_amount_tbl => x_forecast_amount_tbl);
86
87 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
88 x_return_status := FND_API.G_RET_STS_ERROR;
89 RAISE FND_API.G_EXC_ERROR;
90 END IF;
91
92 --
93 -- End of API body
94 --
95 -- Standard call to get message count and if count is 1, get message info.
96 FND_MSG_PUB.Count_And_Get
97 ( p_count => x_msg_count,
98 p_data => x_msg_data);
99
100 EXCEPTION
101 WHEN FND_API.G_EXC_ERROR THEN
102 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
103 P_API_NAME => L_API_NAME
104 ,P_PKG_NAME => G_PKG_NAME
105 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
106 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
107 ,P_ROLLBACK_FLAG =>'N'
108 ,X_MSG_COUNT => X_MSG_COUNT
109 ,X_MSG_DATA => X_MSG_DATA
110 ,X_RETURN_STATUS => X_RETURN_STATUS);
111
112 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
113 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
114 P_API_NAME => L_API_NAME
115 ,P_PKG_NAME => G_PKG_NAME
116 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
117 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
118 ,P_ROLLBACK_FLAG =>'N'
119 ,X_MSG_COUNT => X_MSG_COUNT
120 ,X_MSG_DATA => X_MSG_DATA
121 ,X_RETURN_STATUS => X_RETURN_STATUS);
122
123 WHEN OTHERS THEN
124 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
125 P_API_NAME => L_API_NAME
126 ,P_PKG_NAME => G_PKG_NAME
127 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
128 ,P_SQLCODE => SQLCODE
129 ,P_SQLERRM => SQLERRM
130 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
131 ,P_ROLLBACK_FLAG =>'N'
132 ,X_MSG_COUNT => X_MSG_COUNT
133 ,X_MSG_DATA => X_MSG_DATA
134 ,X_RETURN_STATUS => X_RETURN_STATUS);
135
136 END Get_Forecast_Amounts;
137
138
139 END AS_SCN_FORECAST_PUB;