DBA Data[Home] [Help]

PACKAGE BODY: APPS.EAM_ISOLATION_VALIDATE_PVT

Source


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