[Home] [Help]
PACKAGE BODY: APPS.PSB_WS_POSITION_RFS_PVT
Source
1 PACKAGE BODY PSB_WS_POSITION_RFS_PVT AS
2 /* $Header: PSBWPRSB.pls 120.2 2005/07/13 11:37:08 shtripat ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PSB_WS_POSITION_RFS_PVT';
5
6 /*=======================================================================+
7 | PROCEDURE Redistribute Follow Salary |
8 +=======================================================================*/
9
10 PROCEDURE Redistribute_Follow_Salary
11 (
12 p_api_version IN NUMBER,
13 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
14 p_commit IN VARCHAR2 := FND_API.G_FALSE,
15 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
16 p_return_status OUT NOCOPY VARCHAR2,
17 p_msg_count OUT NOCOPY NUMBER,
18 p_msg_data OUT NOCOPY VARCHAR2,
19 --
20 p_worksheet_id IN NUMBER,
21 p_position_line_id IN NUMBER,
22 p_service_package_id IN NUMBER,
23 p_stage_set_id IN NUMBER
24 ) IS
25
26 l_api_name VARCHAR2(30) := 'Redistribute_Follow_Salary';
27 l_return_status VARCHAR2(1) := '';
28
29 Begin
30
31 PSB_WS_POS_PVT.Redistribute_Follow_Salary
32 (
33 p_api_version => 1.0,
34 p_init_msg_list => FND_API.G_FALSE,
35 p_commit => FND_API.G_FALSE,
36 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
37 p_return_status => l_return_status,
38 p_msg_count => p_msg_count,
39 p_msg_data => p_msg_data,
40 --
41 p_worksheet_id => p_worksheet_id,
42 p_position_line_id => p_position_line_id,
43 p_service_package_id => p_service_package_id,
44 p_stage_set_id => p_stage_set_id
45 );
46 --
47 p_return_status := l_return_status;
48
49 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
50 RAISE FND_API.G_EXC_ERROR ;
51 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
52 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
53 END IF;
54
55 EXCEPTION
56 --
57 WHEN FND_API.G_EXC_ERROR THEN
58 --
59 p_return_status := FND_API.G_RET_STS_ERROR;
60 FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
61 p_data => p_msg_data );
62 --
63 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
64 --
65 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
66 FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
67 p_data => p_msg_data );
68 --
69 WHEN OTHERS THEN
70 --
71 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
72 --
73 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
74 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
75 l_api_name);
76 END if;
77
78 END Redistribute_Follow_Salary;
79 /*-------------------------------------------------------------------------*/
80
81
82 /*===========================================================================+
83 | PROCEDURE Delete_Pos_Service_Package |
84 +===========================================================================*/
85 --
86 -- The API deletes a service package related information for a position. This
87 -- API is called from 'Modify Position Worksheet' Form Module.
88 --
89 PROCEDURE Delete_Pos_Service_Package
90 (
91 p_api_version IN NUMBER ,
92 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
93 p_commit IN VARCHAR2 := FND_API.G_FALSE ,
94 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
95 p_return_status OUT NOCOPY VARCHAR2 ,
96 p_msg_count OUT NOCOPY NUMBER ,
97 p_msg_data OUT NOCOPY VARCHAR2 ,
98 --
99 p_worksheet_id IN NUMBER ,
100 p_service_package_id IN NUMBER
101 )
102 IS
103 --
104 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Pos_Service_Package';
105 l_api_version CONSTANT NUMBER := 1.0 ;
106 --
107 l_return_status VARCHAR2(1) ;
108 l_msg_count NUMBER ;
109 l_msg_data VARCHAR2(2000) ;
110 --
111 BEGIN
112 --
113 SAVEPOINT Delete_Pos_Service_Package_Pvt ;
114 --
115 IF NOT FND_API.Compatible_API_Call ( l_api_version,
116 p_api_version,
117 l_api_name,
118 G_PKG_NAME )
119 THEN
120 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
121 END IF;
122 --
123 IF FND_API.To_Boolean ( p_init_msg_list ) THEN
124 FND_MSG_PUB.initialize ;
125 END IF;
126 --
127 p_return_status := FND_API.G_RET_STS_SUCCESS ;
128 --
129
130
131 --
132 -- Delete service package related position information.
133 --
134
135 DELETE psb_ws_fte_lines
136 WHERE service_package_id = p_service_package_id ;
137
138 DELETE psb_ws_element_lines
139 WHERE service_package_id = p_service_package_id ;
140
141 --
142 -- Delete service package related account information.
143 --
144
145 DELETE psb_ws_lines
146 WHERE account_line_id IN
147 (
148 SELECT account_line_id
149 FROM psb_ws_account_lines
150 WHERE service_package_id = p_service_package_id
151 ) ;
152
153 DELETE psb_ws_account_lines
154 WHERE service_package_id = p_service_package_id ;
155
156 --
157 IF FND_API.To_Boolean ( p_commit ) THEN
158 COMMIT WORK;
159 END IF;
160 --
161 FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
162 p_data => p_msg_data );
163 --
164 EXCEPTION
165 --
166 WHEN FND_API.G_EXC_ERROR THEN
167 --
168 ROLLBACK TO Delete_Pos_Service_Package_Pvt ;
169 p_return_status := FND_API.G_RET_STS_ERROR;
170 FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
171 p_data => p_msg_data );
172 --
173 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
174 --
175 ROLLBACK TO Delete_Pos_Service_Package_Pvt ;
176 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
177 FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
178 p_data => p_msg_data );
179 --
180 WHEN OTHERS THEN
181 --
182 ROLLBACK TO Delete_Pos_Service_Package_Pvt ;
183 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
184 --
185 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
186 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
187 l_api_name );
188 END if;
189 --
190 FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
191 p_data => p_msg_data );
192 --
193 END Delete_Pos_Service_Package ;
194 /*---------------------------------------------------------------------------*/
195
196
197 END PSB_WS_POSITION_RFS_PVT;