[Home] [Help]
PACKAGE BODY: APPS.IGW_PROP_PERSON_BIOSKETCH_PVT
Source
1 PACKAGE BODY IGW_PROP_PERSON_BIOSKETCH_PVT as
2 /* $Header: igwvppbb.pls 115.3 2002/11/15 00:41:23 ashkumar ship $*/
3
4
5 Procedure update_prop_person_biosketch (
6 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
7 p_commit IN VARCHAR2 := FND_API.G_FALSE,
8 p_validate_only IN VARCHAR2 := FND_API.G_FALSE,
9 x_rowid IN VARCHAR2,
10 P_PROPOSAL_ID IN NUMBER,
11 P_PERSON_BIOSKETCH_ID IN NUMBER,
12 P_SHOW_FLAG IN VARCHAR2,
13 P_LINE_SEQUENCE IN NUMBER,
14 p_record_version_number IN NUMBER,
15 x_return_status OUT NOCOPY VARCHAR2,
16 x_msg_count OUT NOCOPY NUMBER,
17 x_msg_data OUT NOCOPY VARCHAR2) is
18
19
20 l_return_status VARCHAR2(1);
21 l_error_msg_code VARCHAR2(250);
22 l_msg_count NUMBER;
23 l_data VARCHAR2(250);
24 l_msg_data VARCHAR2(250);
25 l_msg_index_out NUMBER;
26
27 BEGIN
28 -- create savepoint if p_commit is true
29 IF p_commit = FND_API.G_TRUE THEN
30 SAVEPOINT update_prop_person_biosketch;
31 END IF;
32
33 -- initialize message list if p_init_msg_list is true
34 if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
35 fnd_msg_pub.initialize;
36 end if;
37
38 -- initialize return_status to success
39 x_return_status := fnd_api.g_ret_sts_success;
40
41 /*
42 -- first validate user rights
43
44 VALIDATE_LOGGED_USER_RIGHTS
45 (p_proposal_id => p_proposal_id
46 ,x_return_status => x_return_status);
47
48 check_errors;
49 */
50
51 -- and also check locking.
52 CHECK_LOCK
53 (x_rowid => x_rowid
54 ,p_record_version_number => p_record_version_number
55 ,x_return_status => x_return_status);
56
57 check_errors;
58
59 ------------------------------------- value_id conversion ---------------------------------
60
61 -------------------------------------------- validations -----------------------------------------------------
62
63 if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
64 igw_prop_person_biosketch_tbh.update_row (
65 x_rowid => x_rowid
66 ,P_PROPOSAL_ID => P_PROPOSAL_ID
67 ,P_PERSON_BIOSKETCH_ID => P_PERSON_BIOSKETCH_ID
68 ,P_SHOW_FLAG => P_SHOW_FLAG
69 ,P_LINE_SEQUENCE => P_LINE_SEQUENCE
70 ,p_mode => 'R'
71 ,p_record_version_number => p_record_version_number
72 ,x_return_status => x_return_status);
73
74 end if;
75
76 check_errors;
77
78 -- standard check of p_commit
79 if fnd_api.to_boolean(p_commit) then
80 commit work;
81 end if;
82
83
84 -- standard call to get message count and if count is 1, get message info
85 fnd_msg_pub.count_and_get(p_count => x_msg_count,
86 p_data => x_msg_data);
87
88
89 EXCEPTION
90 WHEN FND_API.G_EXC_ERROR THEN
91 IF p_commit = FND_API.G_TRUE THEN
92 ROLLBACK TO update_prop_person_biosketch;
93 END IF;
94
95 x_return_status := FND_API.G_RET_STS_ERROR;
96
97 fnd_msg_pub.count_and_get(p_count => x_msg_count,
98 p_data => x_msg_data);
99
100
101 WHEN OTHERS THEN
102 IF p_commit = FND_API.G_TRUE THEN
103 ROLLBACK TO update_prop_person_biosketch;
104 END IF;
105
106 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
107
108 fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_PROP_PERSON_BIOSKETCH_PVT',
109 p_procedure_name => 'UPDATE_PROP_PERSON_BIOSKETCH',
110 p_error_text => SUBSTRB(SQLERRM,1,240));
111
112 fnd_msg_pub.count_and_get(p_count => x_msg_count,
113 p_data => x_msg_data);
114
115
116 END update_prop_person_biosketch;
117
118 ------------------------------------------------------------------------------------------
119 PROCEDURE CHECK_LOCK
120 (x_rowid IN VARCHAR2
121 ,p_record_version_number IN NUMBER
122 ,x_return_status OUT NOCOPY VARCHAR2) is
123
124 l_proposal_id number;
125 BEGIN
126 select proposal_id
127 into l_proposal_id
128 from igw_prop_person_biosketch
129 where rowid = x_rowid
130 and record_version_number = p_record_version_number;
131
132 EXCEPTION
133 WHEN NO_DATA_FOUND THEN
134 x_return_status := FND_API.G_RET_STS_ERROR;
135 FND_MESSAGE.SET_NAME('IGW','IGW_SS_RECORD_CHANGED');
136 FND_MSG_PUB.Add;
137 raise fnd_api.g_exc_error;
138
139 WHEN OTHERS THEN
140 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
141 fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_PROP_PERSON_BIOSKETCH_PVT',
142 p_procedure_name => 'CHECK_LOCK',
143 p_error_text => SUBSTRB(SQLERRM,1,240));
144 raise fnd_api.g_exc_unexpected_error;
145
146 END CHECK_LOCK;
147
148 -------------------------------------------------------------------------------------------------------
149 PROCEDURE CHECK_ERRORS is
150 l_msg_count NUMBER;
151 BEGIN
152 l_msg_count := fnd_msg_pub.count_msg;
153 IF (l_msg_count > 0) THEN
154 RAISE FND_API.G_EXC_ERROR;
155 END IF;
156
157 END CHECK_ERRORS;
158
159 --------------------------------------------------------------------------------------------------------
160 /*
161 PROCEDURE VALIDATE_LOGGED_USER_RIGHTS
162 (p_proposal_id IN NUMBER
163 ,x_return_status OUT NOCOPY VARCHAR2) is
164
165 x VARCHAR2(1);
166 y VARCHAR2(1);
167
168 BEGIN
169 x_return_status:= FND_API.G_RET_STS_SUCCESS;
170
171 IF (IGW_SECURITY.ALLOW_MODIFY ('NARRATIVE', P_PROPOSAL_ID, FND_GLOBAL.USER_ID) = 'N') THEN
172 x_return_status:= FND_API.G_RET_STS_ERROR;
173 fnd_message.set_name('IGW', 'IGW_NO_RIGHTS');
174 fnd_msg_pub.add;
175 END IF;
176
177 EXCEPTION
178
179 WHEN OTHERS THEN
180 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
181 fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_PROP_NARRATIVES_PVT',
182 p_procedure_name => 'VALIDATE_LOGGED_USER_RIGHTS',
183 p_error_text => SUBSTRB(SQLERRM,1,240));
184 raise fnd_api.g_exc_unexpected_error;
185 END VALIDATE_LOGGED_USER_RIGHTS;
186 */
187
188 END IGW_PROP_PERSON_BIOSKETCH_PVT;