DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSB_WS_POSITION_FTE_O_PVT

Source


1 PACKAGE BODY PSB_WS_POSITION_FTE_O_PVT AS
2 /* $Header: PSBWFTOB.pls 120.2 2005/07/13 11:34:33 shtripat ship $ */
3 
4   G_PKG_NAME CONSTANT VARCHAR2(30):= 'PSB_WS_POSITION_FTE_O_PVT';
5 
6 
7 /*==========================================================================+
8  |                       PROCEDURE Update_Row                               |
9  +==========================================================================*/
10 
11 PROCEDURE Update_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   --
18   p_return_status              OUT  NOCOPY      VARCHAR2,
19   p_msg_count                  OUT  NOCOPY      NUMBER,
20   p_msg_data                   OUT  NOCOPY      VARCHAR2,
21   --
22   p_check_stages                IN      VARCHAR2,
23   p_worksheet_id                IN      NUMBER,
24   p_fte_line_id                 IN      NUMBER,
25   p_service_package_id          IN      NUMBER,
26   p_current_stage_seq           IN      NUMBER,
27   p_period_1                    IN      NUMBER,
28   p_period_2                    IN      NUMBER,
29   p_period_3                    IN      NUMBER,
30   p_period_4                    IN      NUMBER,
31   p_period_5                    IN      NUMBER,
32   p_period_6                    IN      NUMBER,
33   p_period_7                    IN      NUMBER,
34   p_period_8                    IN      NUMBER,
35   p_period_9                    IN      NUMBER,
36   p_period_10                   IN      NUMBER,
37   p_period_11                   IN      NUMBER,
38   p_period_12                   IN      NUMBER
39 )
40 IS
41   --
42   l_api_name            CONSTANT VARCHAR2(30)   := 'Update_Row';
43   l_api_version         CONSTANT NUMBER         :=  1.0;
44   --
45   l_return_status       VARCHAR2(1);
46   --
47   l_init_index          BINARY_INTEGER;
48   l_period_fte          PSB_WS_ACCT1.g_prdamt_tbl_type;
49 
50 BEGIN
51   --
52   SAVEPOINT Update_Row_Pvt ;
53   --
54   IF NOT FND_API.Compatible_API_Call ( l_api_version,
55 				       p_api_version,
56 				       l_api_name,
57 				       G_PKG_NAME )
58   THEN
59     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
60   END IF;
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   for l_init_index in 1..PSB_WS_ACCT1.g_max_num_amounts loop
70     l_period_fte(l_init_index) := null;
71   end loop;
72 
73 
74   l_period_fte(1) := p_period_1;
75   l_period_fte(2) := p_period_2;
76   l_period_fte(3) := p_period_3;
77   l_period_fte(4) := p_period_4;
78   l_period_fte(5) := p_period_5;
79   l_period_fte(6) := p_period_6;
80   l_period_fte(7) := p_period_7;
81   l_period_fte(8) := p_period_8;
82   l_period_fte(9) := p_period_9;
83   l_period_fte(10) := p_period_10;
84   l_period_fte(11) := p_period_11;
85   l_period_fte(12) := p_period_12;
86 
87   --
88        PSB_WS_POS_PVT.Create_FTE_Lines
89 	(
90 	p_api_version                 => 1.0,
91 	p_init_msg_list               => FND_API.G_FALSE,
92 	p_commit                      => FND_API.G_FALSE,
93 	p_validation_level            => FND_API.G_VALID_LEVEL_FULL,
94 	--
95 	p_return_status               => l_return_status,
96 	p_msg_count                   => p_msg_count,
97 	p_msg_data                    => p_msg_data,
98 	--
99 	p_check_stages                => p_check_stages,
100 	p_worksheet_id                => p_worksheet_id,
101 	p_fte_line_id                 => p_fte_line_id,
102 	p_service_package_id          => p_service_package_id,
103 	p_current_stage_seq           => p_current_stage_seq,
104 	p_period_fte                  => l_period_fte
105 	);
106 
107 	 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
108 	   RAISE FND_API.G_EXC_ERROR ;
109 	 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
110 	   RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
111 	 END IF;
112 
113 
114   --
115   IF FND_API.To_Boolean ( p_commit ) THEN
116     COMMIT WORK;
117   END iF;
118   --
119   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
120 			      p_data  => p_msg_data );
121   --
122 EXCEPTION
123   --
124   WHEN FND_API.G_EXC_ERROR THEN
125     --
126     ROLLBACK TO Update_Row_Pvt ;
127     p_return_status := FND_API.G_RET_STS_ERROR;
128     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
129 				p_data  => p_msg_data );
130   --
131   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
132     --
133     ROLLBACK TO Update_Row_Pvt ;
134     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
135     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
136 				p_data  => p_msg_data );
137   --
138   WHEN OTHERS THEN
139     --
140     ROLLBACK TO Update_Row_Pvt ;
141     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
142     --
143     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
144       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
145 				l_api_name);
146     END if;
147     --
148     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
149 				p_data  => p_msg_data );
150   --
151 END Update_Row;
152 /* ----------------------------------------------------------------------- */
153 END PSB_WS_POSITION_FTE_O_PVT;