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