DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSB_BUDGET_REVISION_POS_PVT

Source


1 PACKAGE BODY PSB_BUDGET_REVISION_POS_PVT AS
2 /* $Header: PSBBPOSB.pls 120.2 2005/07/13 11:22:25 shtripat ship $ */
3 
4   G_PKG_NAME CONSTANT VARCHAR2(30):= 'PSB_BUDGET_REVISION_POS_PVT';
5 
6 
7 /*=======================================================================+
8  |                       PROCEDURE Insert_Row                            |
9  +=======================================================================*/
10 
11 PROCEDURE Insert_Row
12 (
13   p_api_version                 IN      NUMBER,
14   p_init_msg_list               IN      VARCHAR2 := FND_API.G_FALSE,
15   p_commit                      IN      VARCHAR2 := FND_API.G_FALSE,
16   p_validation_level            IN      NUMBER   := FND_API.G_VALID_LEVEL_FULL,
17   p_return_status              OUT  NOCOPY      VARCHAR2,
18   p_msg_count                  OUT  NOCOPY      NUMBER,
19   p_msg_data                   OUT  NOCOPY      VARCHAR2,
20   --
21   p_budget_revision_id              IN      NUMBER   := FND_API.G_MISS_NUM,
22   p_budget_revision_pos_line_id     IN OUT  NOCOPY  NUMBER,
23   p_position_id                     IN      NUMBER,
24   p_budget_group_id                 IN      NUMBER,
25   p_effective_start_date            IN      DATE,
26   p_effective_end_date              IN      DATE,
27   p_revision_type                   IN      VARCHAR2,
28   p_revision_value_type             IN      VARCHAR2,
29   p_revision_value                  IN      NUMBER,
30   p_note_id                         IN      NUMBER,
31   p_freeze_flag                     IN      VARCHAR2,
32   p_view_line_flag                  IN      VARCHAR2,
33   p_last_update_date                IN      DATE,
34   p_last_updated_by                 IN      NUMBER,
35   p_last_update_login               IN      NUMBER,
36   p_created_by                      IN      NUMBER,
37   p_creation_date                   IN      DATE
38 )
39 IS
40   --
41   l_api_name            CONSTANT VARCHAR2(30)   := 'Insert_Row';
42   l_api_version         CONSTANT NUMBER         :=  1.0;
43   --
44   l_return_status VARCHAR2(1);
45   --
46   --
47 
48 
49 BEGIN
50   --
51   SAVEPOINT Insert_Row_Pvt ;
52   --
53   IF NOT FND_API.Compatible_API_Call ( l_api_version,
54 				       p_api_version,
55 				       l_api_name,
56 				       G_PKG_NAME )
57   THEN
58     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
59   END IF;
60 
61   --
62 
63   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
64     FND_MSG_PUB.initialize ;
65   END IF;
66   --
67   p_return_status := FND_API.G_RET_STS_SUCCESS ;
68 
69   PSB_BUDGET_REVISIONS_PVT.Create_Revision_Positions
70   (
71   p_api_version             => 1.0,
72   p_init_msg_list           => FND_API.G_FALSE,
73   p_commit                  => FND_API.G_FALSE,
74   p_validation_level        => FND_API.G_VALID_LEVEL_FULL,
75   p_return_status           => p_return_status,
76   p_msg_count               => p_msg_count,
77   p_msg_data                => p_msg_data,
78   --
79   p_budget_revision_id              =>p_budget_revision_id ,
80   p_budget_revision_pos_line_id     =>p_budget_revision_pos_line_id,
81   p_position_id                     =>p_position_id ,
82   p_budget_group_id                 =>p_budget_group_id,
83   p_effective_start_date            =>p_effective_start_date,
84   p_effective_end_date              =>p_effective_end_date,
85   p_revision_type                   =>p_revision_type,
86   p_revision_value_type             =>p_revision_value_type,
87   p_revision_value                  =>p_revision_value,
88   p_note_id                         =>p_note_id,
89   p_freeze_flag                     =>p_freeze_flag,
90   p_view_line_flag                  =>p_view_line_flag
91 );
92 
93 
94 
95 
96       --
97   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
98      fnd_message.set_name('PSB', 'BR_CREATE_ACCT_FAILED_EXC');
99      RAISE FND_API.G_EXC_ERROR ;
100   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
101      fnd_message.set_name('PSB', 'BR_CREATE_ACCT_FAILED_UNEXC');
102      RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
103   END IF;
104 
105   --
106   IF FND_API.To_Boolean ( p_commit ) THEN
107     COMMIT WORK;
108   END iF;
109   --
110   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
111 			      p_data  => p_msg_data );
112   --
113 EXCEPTION
114   --
115   WHEN FND_API.G_EXC_ERROR THEN
116     --
117     ROLLBACK TO Insert_Row_Pvt ;
118     p_return_status := FND_API.G_RET_STS_ERROR;
119     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
120 				p_data  => p_msg_data );
121   --
122   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
123     --
124     ROLLBACK TO Insert_Row_Pvt ;
125     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
126     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
127 				p_data  => p_msg_data );
128   --
129   WHEN OTHERS THEN
130     --
131     ROLLBACK TO Insert_Row_Pvt ;
132     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
133     --
134     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
135       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
136 				l_api_name);
137     END if;
138     --
139     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
140 				p_data  => p_msg_data );
141      --
142 END Insert_Row;
143 /*-------------------------------------------------------------------------*/
144 
145 PROCEDURE Update_Row
146 (
147   p_api_version                 IN      NUMBER,
148   p_init_msg_list               IN      VARCHAR2 := FND_API.G_FALSE,
149   p_commit                      IN      VARCHAR2 := FND_API.G_FALSE,
150   p_validation_level            IN      NUMBER   := FND_API.G_VALID_LEVEL_FULL,
151   p_return_status              OUT  NOCOPY      VARCHAR2,
152   p_msg_count                  OUT  NOCOPY      NUMBER,
153   p_msg_data                   OUT  NOCOPY      VARCHAR2,
154   --
155   p_budget_revision_id              IN      NUMBER   := FND_API.G_MISS_NUM,
156   p_budget_revision_pos_line_id     IN OUT  NOCOPY  NUMBER,
157   p_position_id                     IN      NUMBER,
158   p_budget_group_id                 IN      NUMBER,
159   p_effective_start_date            IN      DATE,
160   p_effective_end_date              IN      DATE,
161   p_revision_type                   IN      VARCHAR2,
162   p_revision_value_type             IN      VARCHAR2,
163   p_revision_value                  IN      NUMBER,
164   p_note_id                         IN      NUMBER,
165   p_freeze_flag                     IN      VARCHAR2,
166   p_view_line_flag                  IN      VARCHAR2,
167   p_last_update_date                IN      DATE,
168   p_last_updated_by                 IN      NUMBER,
169   p_last_update_login               IN      NUMBER,
170   p_created_by                      IN      NUMBER,
171   p_creation_date                   IN      DATE
172 )
173 IS
174   --
175   l_api_name            CONSTANT VARCHAR2(30)   := 'Update_Row';
176   l_api_version         CONSTANT NUMBER         :=  1.0;
177   --
178   l_return_status       VARCHAR2(1);
179 
180 BEGIN
181   --
182   SAVEPOINT Update_Row_Pvt ;
183   --
184   IF NOT FND_API.Compatible_API_Call ( l_api_version,
185 				       p_api_version,
186 				       l_api_name,
187 				       G_PKG_NAME )
188   THEN
189     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
190   END IF;
191   --
192 
193   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
194     FND_MSG_PUB.initialize ;
195   END IF;
196   --
197   p_return_status := FND_API.G_RET_STS_SUCCESS ;
198   --
199 
200   PSB_BUDGET_REVISIONS_PVT.Create_Revision_Positions
201   (
202   p_api_version             => 1.0,
203   p_init_msg_list           => FND_API.G_FALSE,
204   p_commit                  => FND_API.G_FALSE,
205   p_validation_level        => FND_API.G_VALID_LEVEL_FULL,
206   p_return_status           => p_return_status,
207   p_msg_count               => p_msg_count,
208   p_msg_data                => p_msg_data,
209   --
210   p_budget_revision_id              =>p_budget_revision_id ,
211   p_budget_revision_pos_line_id     =>p_budget_revision_pos_line_id,
212   p_position_id                     =>p_position_id ,
213   p_budget_group_id                 =>p_budget_group_id,
214   p_effective_start_date            =>p_effective_start_date,
215   p_effective_end_date              =>p_effective_end_date,
216   p_revision_type                   =>p_revision_type,
217   p_revision_value_type             =>p_revision_value_type,
218   p_revision_value                  =>p_revision_value,
219   p_note_id                         =>p_note_id,
220   p_freeze_flag                     =>p_freeze_flag,
221   p_view_line_flag                  =>p_view_line_flag
222 );
223 
224   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
225      RAISE FND_API.G_EXC_ERROR ;
226   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
227      RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
228   END IF;
229 
230   --
231   IF FND_API.To_Boolean ( p_commit ) THEN
232     COMMIT WORK;
233   END iF;
234   --
235   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
236 			      p_data  => p_msg_data );
237   --
238 EXCEPTION
239   --
240   WHEN FND_API.G_EXC_ERROR THEN
241     --
242     ROLLBACK TO Update_Row_Pvt ;
243     p_return_status := FND_API.G_RET_STS_ERROR;
244     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
245 				p_data  => p_msg_data );
246   --
247   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
248     --
249     ROLLBACK TO Update_Row_Pvt ;
250     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
251     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
252 				p_data  => p_msg_data );
253   --
254   WHEN OTHERS THEN
255     --
256     ROLLBACK TO Update_Row_Pvt ;
257     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
258     --
259     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
260       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
261 				l_api_name);
262     END if;
263     --
264     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
265 				p_data  => p_msg_data );
266   --
267 END Update_Row;
268 /* ----------------------------------------------------------------------- */
269 
270 END PSB_BUDGET_REVISION_POS_PVT;