DBA Data[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;