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