[Home] [Help]
PACKAGE BODY: APPS.EAM_PERMIT_VALIDATE_PVT
Source
1 PACKAGE BODY EAM_PERMIT_VALIDATE_PVT AS
2 /* $Header: EAMVWPVB.pls 120.3 2011/05/25 14:07:31 vboddapa noship $ */
3
4 g_dummy NUMBER;
5 /********************************************************************
6 * Procedure : Check_Existence
7 * Purpose : Procedure will query the old work permit record and return it in old record variables.
8 *********************************************************************/
9 PROCEDURE CHECK_EXISTENCE(
10 p_work_permit_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type ,
11 x_work_permit_header_rec OUT NOCOPY EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type ,
12 x_mesg_token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type ,
13 x_return_Status OUT NOCOPY VARCHAR2 )
14 IS
15 l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
16 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
17 l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
18 l_return_status VARCHAR2(1);
19 l_work_permit_header_rec EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type;
20
21 BEGIN
22 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Quering Permit'); END IF;
23 EAM_PERMIT_UTILITY_PVT.QUERY_ROW (
24 p_work_permit_id => p_work_permit_header_rec.PERMIT_ID ,
25 p_organization_id => p_work_permit_header_rec.organization_id ,
26 x_work_permit_header_rec => l_work_permit_header_rec ,
27 x_Return_status => l_return_status );
28
29 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Query Row Returned with : ' || l_return_status);
30 END IF;
31 IF l_return_status = EAM_PROCESS_WO_PVT.G_RECORD_FOUND AND p_work_permit_header_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE THEN
32 -- l_token_tbl(1).token_name := 'EAM_WO_PERMIT';
33 -- l_token_tbl(1).token_value := p_work_permit_header_rec.direct_item_sequence_id;
34 -- l_out_mesg_token_tbl := l_mesg_token_tbl;
35 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
36 x_Mesg_token_tbl => l_out_Mesg_Token_Tbl ,
37 p_Mesg_Token_Tbl => l_Mesg_Token_Tbl ,
38 p_message_name => 'EAM_PERMIT_ALREADY_EXISTS' ,
39 p_token_tbl => l_token_tbl );
40 l_mesg_token_tbl := l_out_mesg_token_tbl;
41 l_return_status := FND_API.G_RET_STS_ERROR;
42
43 ELSIF l_return_status = EAM_PROCESS_WO_PVT.G_RECORD_NOT_FOUND AND p_work_permit_header_rec.transaction_type IN (EAM_PROCESS_WO_PVT.G_OPR_UPDATE, EAM_PROCESS_WO_PVT.G_OPR_DELETE) THEN
44 l_token_tbl(1).token_name := 'PERMIT_NAME';
45 l_token_tbl(1).token_value := p_work_permit_header_rec.PERMIT_NAME;
46
47 l_out_mesg_token_tbl := l_mesg_token_tbl;
48 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
49 x_Mesg_token_tbl => l_out_Mesg_Token_Tbl ,
50 p_Mesg_Token_Tbl => l_Mesg_Token_Tbl ,
51 p_message_name => 'EAM_PERMIT_DOESNOT_EXISTS' ,
52 p_token_tbl => l_token_tbl );
53 l_mesg_token_tbl := l_out_mesg_token_tbl;
54 l_return_status := FND_API.G_RET_STS_ERROR;
55
56 ELSIF l_Return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
57 l_out_mesg_token_tbl := l_mesg_token_tbl;
58 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
59 x_Mesg_token_tbl => l_out_Mesg_Token_Tbl ,
60 p_Mesg_Token_Tbl => l_Mesg_Token_Tbl ,
61 p_message_name => NULL ,
62 p_message_text => 'Unexpected error' );
63 l_mesg_token_tbl := l_out_mesg_token_tbl;
64 l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
65 ELSE
66 l_return_status := FND_API.G_RET_STS_SUCCESS;
67 x_work_permit_header_rec :=l_work_permit_header_rec;
68 END IF;
69 x_return_status := l_return_status;
70 x_mesg_token_tbl := l_mesg_token_tbl;
71
72 END CHECK_EXISTENCE;
73
74
75 /********************************************************************
76 * Procedure: Check_Attributes
77 * Purpose: Check_Attributes procedure will validate every Revised item attribute in its entirely.
78 *********************************************************************/
79 PROCEDURE CHECK_ATTRIBUTES(
80 p_work_permit_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type ,
81 p_old_work_permit_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type ,
82 x_mesg_token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type ,
83 x_return_Status OUT NOCOPY VARCHAR2 )
84 IS
85 l_err_text VARCHAR2(2000) := NULL;
86 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
87 l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
88 l_Token_Tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
89 l_permit_id number;
90
91 BEGIN
92 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Within Permit Check Attributes . . . '); END IF;
93
94 /*IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating organization_id . . . '); END IF;
95
96 DECLARE
97 l_disable_date DATE;
98 BEGIN
99 SELECT 1
100 INTO g_dummy
101 FROM mtl_parameters mp
102 WHERE mp.organization_id = p_work_permit_header_rec.organization_id;
103 SELECT NVL(hou.date_to,sysdate+1)
104 INTO l_disable_date
105 FROM hr_organization_units hou
106 WHERE organization_id = p_work_permit_header_rec.organization_id;
107 IF(l_disable_date < sysdate) THEN
108 raise fnd_api.g_exc_unexpected_error;
109 END IF;
110 x_return_status := FND_API.G_RET_STS_SUCCESS;
111 EXCEPTION
112 WHEN fnd_api.g_exc_unexpected_error THEN
113 -- l_token_tbl(1).token_name := 'Organization Id';
114 -- l_token_tbl(1).token_value := p_eam_wo_rec.organization_id;
115 l_out_mesg_token_tbl := l_mesg_token_tbl;
116 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
117 p_message_name => 'EAM_PERMIT_ORGANIZATION_ID' ,
118 p_token_tbl => l_token_tbl ,
119 p_mesg_token_tbl => l_mesg_token_tbl ,
120 x_mesg_token_tbl => l_out_mesg_token_tbl );
121 l_mesg_token_tbl := l_out_mesg_token_tbl;
122 x_return_status := FND_API.G_RET_STS_ERROR;
123 x_mesg_token_tbl := l_mesg_token_tbl ;
124 RETURN;
125 WHEN no_data_found THEN
126 -- l_token_tbl(1).token_name := 'Organization Id';
127 -- l_token_tbl(1).token_value := p_eam_wo_rec.organization_id;
128 l_out_mesg_token_tbl := l_mesg_token_tbl;
129 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
130 p_message_name => 'EAM_PERMIT_ORGANIZATION_ID' ,
131 p_token_tbl => l_token_tbl ,
132 p_mesg_token_tbl => l_mesg_token_tbl ,
133 x_mesg_token_tbl => l_out_mesg_token_tbl );
134 l_mesg_token_tbl := l_out_mesg_token_tbl;
135 x_return_status := FND_API.G_RET_STS_ERROR;
136 x_mesg_token_tbl := l_mesg_token_tbl ;
137 RETURN;
138 END;
139
140 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating organization_id (EAM enabled) . . . ');
141 END IF;
142
143 BEGIN
144 SELECT 1
145 INTO g_dummy
146 FROM wip_eam_parameters wep,
147 mtl_parameters mp
148 WHERE wep.organization_id = mp.organization_id
149 AND mp.eam_enabled_flag = 'Y'
150 AND wep.organization_id = p_work_permit_header_rec.organization_id;
151 x_return_status := FND_API.G_RET_STS_SUCCESS;
152 EXCEPTION
153 WHEN no_data_found THEN
154 -- l_token_tbl(1).token_name := 'Organization Id';
155 -- l_token_tbl(1).token_value := p_work_permit_header_rec.organization_id;
156 l_out_mesg_token_tbl := l_mesg_token_tbl;
157 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
158 p_message_name => 'EAM_PERMIT_ORG_EAM_ENABLED' ,
159 p_token_tbl => l_token_tbl ,
160 p_mesg_token_tbl => l_mesg_token_tbl ,
161 x_mesg_token_tbl => l_out_mesg_token_tbl );
162 l_mesg_token_tbl := l_out_mesg_token_tbl;
163 x_return_status := FND_API.G_RET_STS_ERROR;
164 x_mesg_token_tbl := l_mesg_token_tbl ;
165 RETURN;
166 END;
167
168 /* IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating if Permit ID already exists for create . . . '); END IF;
169
170 DECLARE
171 l_count NUMBER;
172 BEGIN
173 IF (p_work_permit_header_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE) THEN
174 SELECT COUNT(*)
175 INTO l_count
176 FROM EAM_WORK_PERMITS
177 WHERE PERMIT_ID = p_work_permit_header_rec.PERMIT_ID
178 AND organization_id = p_work_permit_header_rec.organization_id;
179 IF(l_count > 0) THEN
180 raise fnd_api.g_exc_unexpected_error;
181 END IF;
182 END IF;
183 x_return_status := FND_API.G_RET_STS_SUCCESS;
184 EXCEPTION
185 WHEN fnd_api.g_exc_unexpected_error THEN
186 -- l_token_tbl(1).token_name := 'Wip Entity Name';
187 -- l_token_tbl(1).token_value := p_eam_wo_rec.wip_entity_name;
188 l_out_mesg_token_tbl := l_mesg_token_tbl;
189 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
190 p_message_name => 'EAM_PERMIT_ID' ,
191 p_token_tbl => l_token_tbl ,
192 p_mesg_token_tbl => l_mesg_token_tbl ,
193 x_mesg_token_tbl => l_out_mesg_token_tbl );
194 l_mesg_token_tbl := l_out_mesg_token_tbl;
195 x_return_status := FND_API.G_RET_STS_ERROR;
196 x_mesg_token_tbl := l_mesg_token_tbl ;
197 RETURN;
198 END; */
199
200 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating if Permit ID exists for update . . . '); END IF;
201 DECLARE
202 l_count NUMBER;
203 BEGIN
204 IF (p_work_permit_header_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_UPDATE) THEN
205 SELECT COUNT(*)
206 INTO l_count
207 FROM EAM_WORK_PERMITS
208 WHERE PERMIT_ID = p_work_permit_header_rec.PERMIT_ID
209 AND organization_id = p_work_permit_header_rec.organization_id;
210
211 IF(l_count <> 1) THEN
212 raise fnd_api.g_exc_unexpected_error;
213 END IF;
214 END IF;
215 x_return_status := FND_API.G_RET_STS_SUCCESS;
216 EXCEPTION
217 WHEN fnd_api.g_exc_unexpected_error THEN
218 -- l_token_tbl(1).token_name := 'Wip Entity Name';
219 -- l_token_tbl(1).token_value := p_eam_wo_rec.wip_entity_name;
220 l_out_mesg_token_tbl := l_mesg_token_tbl;
221 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
222 p_message_name => 'EAM_PERMIT_ID_NOT_EXIST' ,
223 p_token_tbl => l_token_tbl ,
224 p_mesg_token_tbl => l_mesg_token_tbl ,
225 x_mesg_token_tbl => l_out_mesg_token_tbl );
226 l_mesg_token_tbl := l_out_mesg_token_tbl;
227 x_return_status := FND_API.G_RET_STS_ERROR;
228 x_mesg_token_tbl := l_mesg_token_tbl ;
229 RETURN;
230 END;
231
232 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating Permit Name . . . '); END IF;
233 DECLARE
234 l_count NUMBER;
235 BEGIN
236 IF (p_work_permit_header_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE) THEN
237 SELECT COUNT(*)
238 INTO l_count
239 FROM EAM_WORK_PERMITS
240 WHERE PERMIT_NAME = p_work_permit_header_rec.PERMIT_NAME
241 AND organization_id = p_work_permit_header_rec.organization_id;
242 IF(l_count > 0) THEN
243 raise fnd_api.g_exc_unexpected_error;
244 END IF;
245 END IF;
246
247 -- Permit name should be validated incase of copy permit,where transaction type is update.
248
249 IF (p_work_permit_header_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_UPDATE) THEN
250 BEGIN
251 SELECT permit_id
252 INTO l_permit_id
253 FROM EAM_WORK_PERMITS
254 WHERE PERMIT_NAME = p_work_permit_header_rec.PERMIT_NAME
255 AND organization_id = p_work_permit_header_rec.organization_id;
256 EXCEPTION
257 WHEN others THEN
258 l_permit_id := p_work_permit_header_rec.permit_id;
259 END;
260 END IF;
261
262 IF(l_permit_id <> p_work_permit_header_rec.permit_id) THEN
263 raise fnd_api.g_exc_unexpected_error;
264 END IF;
265
266 x_return_status := FND_API.G_RET_STS_SUCCESS;
267 EXCEPTION
268 WHEN fnd_api.g_exc_unexpected_error THEN
269 l_token_tbl(1).token_name := 'PERMIT_NAME';
270 l_token_tbl(1).token_value := p_work_permit_header_rec.PERMIT_NAME;
271 l_out_mesg_token_tbl := l_mesg_token_tbl;
272 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
273 p_message_name => 'EAM_PERMIT_NAME' ,
274 p_token_tbl => l_token_tbl ,
275 p_mesg_token_tbl => l_mesg_token_tbl ,
276 x_mesg_token_tbl => l_out_mesg_token_tbl );
277 l_mesg_token_tbl := l_out_mesg_token_tbl;
278 x_return_status := FND_API.G_RET_STS_ERROR;
279 x_mesg_token_tbl := l_mesg_token_tbl ;
280 RETURN;
281 END;
282
283 -- status_type
284 /* IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating status_type. . . '); END IF;
285 BEGIN
286 IF (p_work_permit_header_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE AND p_work_permit_header_rec.status_type NOT IN (wip_constants.released, wip_constants.draft)) THEN
287 raise fnd_api.g_exc_unexpected_error;
288 elsif (p_work_permit_header_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_UPDATE AND p_work_permit_header_rec.status_type NOT IN (wip_constants.released, wip_constants.cancelled,wip_constants.comp_chrg,wip_constants.comp_nochrg )) THEN
289 raise fnd_api.g_exc_unexpected_error;
290 END IF;
291 x_return_status := FND_API.G_RET_STS_SUCCESS;
292 EXCEPTION
293 WHEN fnd_api.g_exc_unexpected_error THEN
294 -- l_token_tbl(1).token_name := 'Status type';
295 -- l_token_tbl(1).token_value := p_eam_wo_rec.status_type;
296 l_out_mesg_token_tbl := l_mesg_token_tbl;
297 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
298 p_message_name => 'EAM_PERMIT_STATUS_TYPE' ,
299 p_token_tbl => l_token_tbl ,
300 p_mesg_token_tbl => l_mesg_token_tbl ,
301 x_mesg_token_tbl => l_out_mesg_token_tbl );
302 l_mesg_token_tbl := l_out_mesg_token_tbl;
303 x_return_status := FND_API.G_RET_STS_ERROR;
304 x_mesg_token_tbl := l_mesg_token_tbl ;
305 RETURN;
306 END;
307
308 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating status_type for cancelled. . . '); END IF;
309 BEGIN
310 IF (p_work_permit_header_rec.transaction_type= EAM_PROCESS_WO_PVT.G_OPR_UPDATE AND
311 p_work_permit_header_rec.status_type = wip_constants.cancelled OR
312 p_work_permit_header_rec.PERMIT_NAME <> p_old_work_permit_header_rec.PERMIT_NAME OR
313 p_work_permit_header_rec.PERMIT_TYPE <> p_old_work_permit_header_rec.PERMIT_TYPE OR
314 p_work_permit_header_rec.DESCRIPTION <> p_old_work_permit_header_rec.DESCRIPTION OR
315 p_work_permit_header_rec.ORGANIZATION_ID <> p_old_work_permit_header_rec.ORGANIZATION_ID OR
316 p_work_permit_header_rec.VALID_FROM <> p_old_work_permit_header_rec.VALID_FROM OR
317 p_work_permit_header_rec.VALID_TO <> p_old_work_permit_header_rec.VALID_TO OR
318 p_work_permit_header_rec.PENDING_FLAG <> p_old_work_permit_header_rec.PENDING_FLAG OR
319 p_work_permit_header_rec.COMPLETION_DATE <> p_old_work_permit_header_rec.COMPLETION_DATE OR
320 p_work_permit_header_rec.USER_DEFINED_STATUS_ID <> p_old_work_permit_header_rec.USER_DEFINED_STATUS_ID OR
321 p_work_permit_header_rec.ATTRIBUTE_CATEGORY <> p_old_work_permit_header_rec.ATTRIBUTE_CATEGORY OR
322 p_work_permit_header_rec.ATTRIBUTE1 <> p_old_work_permit_header_rec.ATTRIBUTE1 OR
323 p_work_permit_header_rec.ATTRIBUTE2 <> p_old_work_permit_header_rec.ATTRIBUTE2 OR
324 p_work_permit_header_rec.ATTRIBUTE3 <> p_old_work_permit_header_rec.ATTRIBUTE3 OR
325 p_work_permit_header_rec.ATTRIBUTE4 <> p_old_work_permit_header_rec.ATTRIBUTE4 OR
326 p_work_permit_header_rec.ATTRIBUTE5 <> p_old_work_permit_header_rec.ATTRIBUTE5 OR
327 p_work_permit_header_rec.ATTRIBUTE6 <> p_old_work_permit_header_rec.ATTRIBUTE6 OR
328 p_work_permit_header_rec.ATTRIBUTE7 <> p_old_work_permit_header_rec.ATTRIBUTE7 OR
329 p_work_permit_header_rec.ATTRIBUTE8 <> p_old_work_permit_header_rec.ATTRIBUTE8 OR
330 p_work_permit_header_rec.ATTRIBUTE9 <> p_old_work_permit_header_rec.ATTRIBUTE9 OR
331 p_work_permit_header_rec.ATTRIBUTE10<> p_old_work_permit_header_rec.ATTRIBUTE10 OR
332 p_work_permit_header_rec.ATTRIBUTE11 <> p_old_work_permit_header_rec.ATTRIBUTE11 OR
333 p_work_permit_header_rec.ATTRIBUTE12 <> p_old_work_permit_header_rec.ATTRIBUTE12 OR
334 p_work_permit_header_rec.ATTRIBUTE13 <> p_old_work_permit_header_rec.ATTRIBUTE13 OR
335 p_work_permit_header_rec.ATTRIBUTE14 <> p_old_work_permit_header_rec.ATTRIBUTE14 OR
336 p_work_permit_header_rec.ATTRIBUTE15 <> p_old_work_permit_header_rec.ATTRIBUTE15 OR
337 p_work_permit_header_rec.APPROVED_BY <> p_old_work_permit_header_rec.APPROVED_BY ) THEN
338 raise fnd_api.g_exc_unexpected_error;
339 END IF;
340 x_return_status := FND_API.G_RET_STS_SUCCESS;
341 EXCEPTION
342 WHEN fnd_api.g_exc_unexpected_error THEN
343 -- l_token_tbl(1).token_name := 'Status type';
344 -- l_token_tbl(1).token_value := p_eam_wo_rec.status_type;
345 l_out_mesg_token_tbl := l_mesg_token_tbl;
346 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
347 p_message_name => 'EAM_PERMIT_STATUS_TYPE' ,
348 p_token_tbl => l_token_tbl ,
349 p_mesg_token_tbl => l_mesg_token_tbl ,
350 x_mesg_token_tbl => l_out_mesg_token_tbl );
351 l_mesg_token_tbl := l_out_mesg_token_tbl;
352 x_return_status := FND_API.G_RET_STS_ERROR;
353 x_mesg_token_tbl := l_mesg_token_tbl ;
354 RETURN;
355 END;*/
356
357 -- user_id
358 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating user_id . . . '); END IF;
359 BEGIN
360 IF (p_work_permit_header_rec.user_id IS NOT NULL) THEN
361 SELECT 1
362 INTO g_dummy
363 FROM fnd_user
364 WHERE user_id = p_work_permit_header_rec.user_id;
365 x_return_status := FND_API.G_RET_STS_SUCCESS;
366 END IF;
367 EXCEPTION
368 WHEN no_data_found THEN
369 --l_token_tbl(1).token_name := 'USER_ID';
370 --l_token_tbl(1).token_value := p_eam_wo_rec.user_id;
371 l_out_mesg_token_tbl := l_mesg_token_tbl;
372 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
373 p_message_name => 'EAM_PERMIT_USER' ,
374 p_token_tbl => l_token_tbl ,
375 p_mesg_token_tbl => l_mesg_token_tbl ,
376 x_mesg_token_tbl => l_out_mesg_token_tbl );
377 l_mesg_token_tbl := l_out_mesg_token_tbl;
378 x_return_status := FND_API.G_RET_STS_ERROR;
379 x_mesg_token_tbl := l_mesg_token_tbl ;
380 RETURN;
381 END;
382
383 -- responsibility_id
384 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating responsibility_id . . . '); END IF;
385 BEGIN
386 IF (p_work_permit_header_rec.responsibility_id IS NOT NULL) THEN
387 SELECT 1
388 INTO g_dummy
389 FROM fnd_responsibility
390 WHERE responsibility_id = p_work_permit_header_rec.responsibility_id;
391 x_return_status := FND_API.G_RET_STS_SUCCESS;
392 END IF;
393 EXCEPTION
394 WHEN no_data_found THEN
395 -- l_token_tbl(1).token_name := 'RESPONSIBILITY_ID';
396 -- l_token_tbl(1).token_value := p_eam_wo_rec.responsibility_id;
397 l_out_mesg_token_tbl := l_mesg_token_tbl;
398 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
399 p_message_name => 'EAM_PERMIT_RESPONSIBILITY' ,
400 p_token_tbl => l_token_tbl ,
401 p_mesg_token_tbl => l_mesg_token_tbl ,
402 x_mesg_token_tbl => l_out_mesg_token_tbl );
403 l_mesg_token_tbl := l_out_mesg_token_tbl;
404 x_return_status := FND_API.G_RET_STS_ERROR;
405 x_mesg_token_tbl := l_mesg_token_tbl ;
406 RETURN;
407 END;
408
409 END CHECK_ATTRIBUTES;
410
411
412 /********************************************************************
413 * Procedure : Check_Required
414 * Purpose : Check_Required procedure will check the existence of mandatory attributes.
415 *********************************************************************/
416 PROCEDURE CHECK_REQUIRED(
417 p_work_permit_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type ,
418 x_mesg_token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type ,
419 x_return_Status OUT NOCOPY VARCHAR2 )
420 IS
421 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
422 l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
423 l_Token_Tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
424
425 BEGIN
426 IF EAM_PROCESS_WO_PVT.GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking required attributes for Permit . . . '); END IF;
427 x_return_status := FND_API.G_RET_STS_SUCCESS;
428 IF p_work_permit_header_rec.PERMIT_ID IS NULL THEN
429 -- l_token_tbl(1).token_name := 'OPERATION_SEQ_NUM';
430 -- l_token_tbl(1).token_value := p_eam_op_rec.operation_seq_num;
431 l_out_mesg_token_tbl := l_mesg_token_tbl;
432 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
433 p_message_name => 'EAM_PERMIT_ID_REQUIRED' ,
434 p_token_tbl => l_Token_tbl ,
435 p_Mesg_Token_Tbl => l_Mesg_Token_Tbl ,
436 x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl );
437 l_mesg_token_tbl := l_out_mesg_token_tbl;
438 x_return_status := FND_API.G_RET_STS_ERROR;
439 END IF;
440 IF p_work_permit_header_rec.PERMIT_NAME IS NULL THEN
441 -- l_token_tbl(1).token_name := 'OPERATION_SEQ_NUM';
442 -- l_token_tbl(1).token_value := p_eam_op_rec.operation_seq_num;
443 l_out_mesg_token_tbl := l_mesg_token_tbl;
444 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
445 p_message_name => 'EAM_PERMIT_NAME_REQUIRED' ,
446 p_token_tbl => l_Token_tbl ,
447 p_Mesg_Token_Tbl => l_Mesg_Token_Tbl ,
448 x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl );
449 l_mesg_token_tbl := l_out_mesg_token_tbl;
450 x_return_status := FND_API.G_RET_STS_ERROR;
451 END IF;
452 IF p_work_permit_header_rec.ORGANIZATION_ID IS NULL THEN
453 -- l_token_tbl(1).token_name := 'OPERATION_SEQ_NUM';
454 -- l_token_tbl(1).token_value := p_eam_op_rec.operation_seq_num;
455 l_out_mesg_token_tbl := l_mesg_token_tbl;
456 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
457 p_message_name => 'EAM_PERMIT_ORG_REQUIRED' ,
458 p_token_tbl => l_Token_tbl ,
459 p_Mesg_Token_Tbl => l_Mesg_Token_Tbl ,
460 x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl );
461 l_mesg_token_tbl := l_out_mesg_token_tbl;
462 x_return_status := FND_API.G_RET_STS_ERROR;
463 END IF;
464 IF p_work_permit_header_rec.STATUS_TYPE IS NULL THEN
465 -- l_token_tbl(1).token_name := 'OPERATION_SEQ_NUM';
466 -- l_token_tbl(1).token_value := p_eam_op_rec.operation_seq_num;
467 l_out_mesg_token_tbl := l_mesg_token_tbl;
468 EAM_ERROR_MESSAGE_PVT.Add_Error_Token (
469 p_message_name => 'EAM_PERMIT_STATUS_REQUIRED' ,
470 p_token_tbl => l_Token_tbl ,
471 p_Mesg_Token_Tbl => l_Mesg_Token_Tbl ,
472 x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl );
473 l_mesg_token_tbl := l_out_mesg_token_tbl;
474 x_return_status := FND_API.G_RET_STS_ERROR;
475 END IF;
476
477 IF p_work_permit_header_rec.USER_ID IS NULL
478 THEN
479 -- l_token_tbl(1).token_name := 'OPERATION_SEQ_NUM';
480 -- l_token_tbl(1).token_value := p_eam_op_rec.operation_seq_num;
481 l_out_mesg_token_tbl := l_mesg_token_tbl;
482 EAM_ERROR_MESSAGE_PVT.Add_Error_Token
483 ( p_message_name => 'EAM_PERMIT_USERID_REQUIRED'
484 , p_token_tbl => l_Token_tbl
485 , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
486 , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
487 );
488 l_mesg_token_tbl := l_out_mesg_token_tbl;
489 x_return_status := FND_API.G_RET_STS_ERROR;
490 END IF;
491 IF p_work_permit_header_rec.RESPONSIBILITY_ID IS NULL
492 THEN
493 -- l_token_tbl(1).token_name := 'OPERATION_SEQ_NUM';
494 -- l_token_tbl(1).token_value := p_eam_op_rec.operation_seq_num;
495 l_out_mesg_token_tbl := l_mesg_token_tbl;
496 EAM_ERROR_MESSAGE_PVT.Add_Error_Token
497 ( p_message_name => 'EAM_PERMIT_RESPID_REQUIRED'
498 , p_token_tbl => l_Token_tbl
499 , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
500 , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
501 );
502 l_mesg_token_tbl := l_out_mesg_token_tbl;
503 x_return_status := FND_API.G_RET_STS_ERROR;
504 END IF;
505 x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
506 x_return_status := FND_API.G_RET_STS_SUCCESS;
507 END CHECK_REQUIRED;
508 END EAM_PERMIT_VALIDATE_PVT;