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