DBA Data[Home] [Help]

PACKAGE BODY: APPS.EAM_PROCESS_PERMIT_PUB

Source


1 PACKAGE BODY EAM_PROCESS_PERMIT_PUB AS
2 /* $Header: EAMPWPTB.pls 120.2 2011/03/22 00:32:41 mashah noship $ */
3 /***************************************************************************
4 --
5 --  Copyright (c) 2010 Oracle Corporation, Redwood Shores, CA, USA
6 --  All rights reserved.
7 --
8 --  FILENAME:  EAMPWPTB.pls
9 --
10 --  DESCRIPTION:  Body of package EAM_PROCESS_PERMIT_PUB
11 --
12 --  NOTES
13 --
14 --  HISTORY
15 --
16 --  25-JAN-2009   Madhuri Shah     Initial Creation
17 ***************************************************************************/
18 
19 
20 G_PKG_NAME CONSTANT VARCHAR2(30)  := 'EAM_PROCESS_PERMIT_PUB';
21 G_FILE_NAME CONSTANT VARCHAR2(12) := 'EAMPWPTB.pls';
22 
23 
24 PROCEDURE  PROCESS_WORK_PERMIT
25         (  p_bo_identifier              IN     VARCHAR2 := 'EAM'
26          , p_api_version_number         IN     NUMBER := 1.0
27          , p_init_msg_list              IN     BOOLEAN := FALSE
28          , p_commit                     IN     VARCHAR2
29          , p_work_permit_header_rec     IN     EAM_PROCESS_PERMIT_PUB.eam_wp_header_rec_type
30          , p_permit_wo_association_tbl  IN     EAM_PROCESS_PERMIT_PUB.eam_wp_association_tbl_type
31          , p_debug                      IN     VARCHAR2
32          , p_output_dir                 IN     VARCHAR2
33          , p_debug_filename             IN     VARCHAR2
34          , p_debug_file_mode            IN     VARCHAR2
35          , x_permit_id                  OUT    NOCOPY NUMBER
36          , x_return_status              OUT    NOCOPY VARCHAR2
37          , x_msg_count                  OUT    NOCOPY NUMBER
38         ) IS
39 
40          l_api_version                CONSTANT NUMBER       := 1.0;
41          lx_work_permit_header_rec     EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type;  --  Safety Phase II changes
42          l_work_permit_header_rec      EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type;  --  Safety Phase II changes
43          l_permit_wo_association_tbl   EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type;  --  Safety Phase II changes
44 		 l_permit_clearance_asso_tbl   EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type;  --  Safety Phase II changes
45 
46         l_debug                 VARCHAR2(1) := p_debug;
47         l_output_dir            VARCHAR2(512) := p_output_dir;
48         l_debug_filename        VARCHAR2(512) := p_debug_filename;
49         l_debug_file_mode       VARCHAR2(512) := p_debug_file_mode;
50         l_out_mesg_token_tbl    EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
51         l_Mesg_Token_Tbl        EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
52 
53 
54         l_return_status         VARCHAR2(1);
55         l_msg_count             NUMBER;
56         l_msg_data              VARCHAR2(240);
57 
58 BEGIN
59 
60        IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
61           RAISE FND_API.G_EXC_ERROR;
62        END IF;
63 
64       IF p_init_msg_list
65         THEN
66             EAM_ERROR_MESSAGE_PVT.Initialize;
67       END IF;
68 
69       SAVEPOINT EAM_PR_PROCESS_WORK_PERMIT;
70 
71       EAM_PROCESS_WO_PVT.Set_Debug(l_debug);
72 
73             IF l_debug = 'Y'
74             THEN
75                 l_out_mesg_token_tbl        := l_mesg_token_tbl;
76                 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
77                 (  p_debug_filename     => p_debug_filename
78                 ,  p_output_dir         => p_output_dir
79                 ,  p_debug_file_mode    => l_debug_file_mode
80                 ,  x_return_status      => l_return_status
81                 ,  p_mesg_token_tbl     => l_mesg_token_tbl
82                 ,  x_mesg_token_tbl     => l_out_mesg_token_tbl
83                  );
84                 l_mesg_token_tbl        := l_out_mesg_token_tbl;
85 
86                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
87                 THEN
88                     EAM_PROCESS_WO_PVT.Set_Debug('N');
89                 END IF;
90             END IF;
91      --  Safety Phase II: Making API compatible to work with new datatype defined in EAM_PROCESS_SAFETY_PUB
92         l_work_permit_header_rec.HEADER_ID:=         	    p_work_permit_header_rec.HEADER_ID;
93         l_work_permit_header_rec.BATCH_ID:=		            p_work_permit_header_rec.BATCH_ID;
94         l_work_permit_header_rec.ROW_ID:=	                p_work_permit_header_rec.ROW_ID;
95         l_work_permit_header_rec.TRANSACTION_TYPE:=          p_work_permit_header_rec.TRANSACTION_TYPE;
96         l_work_permit_header_rec.PERMIT_ID:= 	            p_work_permit_header_rec.PERMIT_ID;
97         l_work_permit_header_rec.PERMIT_NAME:=	            p_work_permit_header_rec.PERMIT_NAME;
98         l_work_permit_header_rec.PERMIT_TYPE:=               p_work_permit_header_rec.PERMIT_TYPE;
99         l_work_permit_header_rec.DESCRIPTION:=		        p_work_permit_header_rec.DESCRIPTION;
100         l_work_permit_header_rec.ORGANIZATION_ID:=           p_work_permit_header_rec.ORGANIZATION_ID;
101         l_work_permit_header_rec.STATUS_TYPE:=        	    p_work_permit_header_rec.STATUS_TYPE;
102         l_work_permit_header_rec.VALID_FROM:=                p_work_permit_header_rec.VALID_FROM;
103         l_work_permit_header_rec.VALID_TO:=                  p_work_permit_header_rec.VALID_TO;
104         l_work_permit_header_rec.PENDING_FLAG:=	            p_work_permit_header_rec.PENDING_FLAG;
105         l_work_permit_header_rec.COMPLETION_DATE:=           p_work_permit_header_rec.COMPLETION_DATE;
106         l_work_permit_header_rec.USER_DEFINED_STATUS_ID:=	p_work_permit_header_rec.USER_DEFINED_STATUS_ID;
107         l_work_permit_header_rec.ATTRIBUTE_CATEGORY:=        p_work_permit_header_rec.ATTRIBUTE_CATEGORY;
108         l_work_permit_header_rec.ATTRIBUTE1:=                p_work_permit_header_rec.ATTRIBUTE1;
109         l_work_permit_header_rec.ATTRIBUTE2:=                p_work_permit_header_rec.ATTRIBUTE2;
110         l_work_permit_header_rec.ATTRIBUTE3:=                p_work_permit_header_rec.ATTRIBUTE3;
111         l_work_permit_header_rec.ATTRIBUTE4:=                p_work_permit_header_rec.ATTRIBUTE4;
112         l_work_permit_header_rec.ATTRIBUTE5:=                p_work_permit_header_rec.ATTRIBUTE5;
113         l_work_permit_header_rec.ATTRIBUTE6:=                p_work_permit_header_rec.ATTRIBUTE6;
114         l_work_permit_header_rec.ATTRIBUTE7:=                p_work_permit_header_rec.ATTRIBUTE7;
115         l_work_permit_header_rec.ATTRIBUTE8:=                p_work_permit_header_rec.ATTRIBUTE8;
116         l_work_permit_header_rec.ATTRIBUTE9:=                p_work_permit_header_rec.ATTRIBUTE9;
117         l_work_permit_header_rec.ATTRIBUTE10:=               p_work_permit_header_rec.ATTRIBUTE10;
118         l_work_permit_header_rec.ATTRIBUTE11:=               p_work_permit_header_rec.ATTRIBUTE11;
119         l_work_permit_header_rec.ATTRIBUTE12:=               p_work_permit_header_rec.ATTRIBUTE12;
120         l_work_permit_header_rec.ATTRIBUTE13:=               p_work_permit_header_rec.ATTRIBUTE13;
121         l_work_permit_header_rec.ATTRIBUTE14:=               p_work_permit_header_rec.ATTRIBUTE14;
122         l_work_permit_header_rec.ATTRIBUTE15:=               p_work_permit_header_rec.ATTRIBUTE15;
123         l_work_permit_header_rec.ATTRIBUTE16:=	            p_work_permit_header_rec.ATTRIBUTE16;
124         l_work_permit_header_rec.ATTRIBUTE17:=	            p_work_permit_header_rec.ATTRIBUTE17;
125         l_work_permit_header_rec.ATTRIBUTE18:=	            p_work_permit_header_rec.ATTRIBUTE18;
126         l_work_permit_header_rec.ATTRIBUTE19:=	            p_work_permit_header_rec.ATTRIBUTE19;
127         l_work_permit_header_rec.ATTRIBUTE20:=	            p_work_permit_header_rec.ATTRIBUTE20;
128         l_work_permit_header_rec.ATTRIBUTE21:=	            p_work_permit_header_rec.ATTRIBUTE21;
129         l_work_permit_header_rec.ATTRIBUTE22:=	            p_work_permit_header_rec.ATTRIBUTE22;
130         l_work_permit_header_rec.ATTRIBUTE23:=	            p_work_permit_header_rec.ATTRIBUTE23;
131         l_work_permit_header_rec.ATTRIBUTE24:=	            p_work_permit_header_rec.ATTRIBUTE24;
132         l_work_permit_header_rec.ATTRIBUTE25:=	            p_work_permit_header_rec.ATTRIBUTE25;
133         l_work_permit_header_rec.ATTRIBUTE26:=	            p_work_permit_header_rec.ATTRIBUTE26;
134         l_work_permit_header_rec.ATTRIBUTE27:=	            p_work_permit_header_rec.ATTRIBUTE27;
135         l_work_permit_header_rec.ATTRIBUTE28:=	            p_work_permit_header_rec.ATTRIBUTE28;
136         l_work_permit_header_rec.ATTRIBUTE29:=	            p_work_permit_header_rec.ATTRIBUTE29;
137         l_work_permit_header_rec.ATTRIBUTE30:=	            p_work_permit_header_rec.ATTRIBUTE30;
138         l_work_permit_header_rec.APPROVED_BY:=     	        p_work_permit_header_rec.APPROVED_BY;
139         l_work_permit_header_rec.CREATED_BY:=                p_work_permit_header_rec.CREATED_BY;
140         l_work_permit_header_rec.CREATION_DATE:=             p_work_permit_header_rec.CREATION_DATE;
141         l_work_permit_header_rec.USER_ID:=                   p_work_permit_header_rec.USER_ID;
142         l_work_permit_header_rec.RESPONSIBILITY_ID:=         p_work_permit_header_rec.RESPONSIBILITY_ID;
143 
144 
145     IF(p_permit_wo_association_tbl IS NOT NULL AND p_permit_wo_association_tbl.COUNT>0) THEN
146 
147       FOR i IN  p_permit_wo_association_tbl.FIRST ..  p_permit_wo_association_tbl.LAST LOOP
148         l_permit_wo_association_tbl(i).HEADER_ID:=         	p_permit_wo_association_tbl(i).HEADER_ID;
149         l_permit_wo_association_tbl(i).BATCH_ID:=				p_permit_wo_association_tbl(i).BATCH_ID;
150         l_permit_wo_association_tbl(i).ROW_ID:=				p_permit_wo_association_tbl(i).ROW_ID;
151         l_permit_wo_association_tbl(i).TRANSACTION_TYPE:=     p_permit_wo_association_tbl(i).TRANSACTION_TYPE;
152         l_permit_wo_association_tbl(i).SAFETY_ASSOCIATION_ID:=p_permit_wo_association_tbl(i).SAFETY_ASSOCIATION_ID;
153         l_permit_wo_association_tbl(i).SOURCE_ID:=      		p_permit_wo_association_tbl(i).SOURCE_ID;
154         l_permit_wo_association_tbl(i).TARGET_REF_ID:= 		p_permit_wo_association_tbl(i).TARGET_REF_ID;
155         l_permit_wo_association_tbl(i).ASSOCIATION_TYPE:=     p_permit_wo_association_tbl(i).ASSOCIATION_TYPE;
156         l_permit_wo_association_tbl(i).ORGANIZATION_ID  :=     l_work_permit_header_rec.ORGANIZATION_ID; --Organization is not available in the p_permit_wo_association_tbl
157         l_permit_wo_association_tbl(i).ATTRIBUTE_CATEGORY:=   p_permit_wo_association_tbl(i).ATTRIBUTE_CATEGORY;
158         l_permit_wo_association_tbl(i).ATTRIBUTE1:=           p_permit_wo_association_tbl(i).ATTRIBUTE1;
159         l_permit_wo_association_tbl(i).ATTRIBUTE2:=           p_permit_wo_association_tbl(i).ATTRIBUTE2;
160         l_permit_wo_association_tbl(i).ATTRIBUTE3:=           p_permit_wo_association_tbl(i).ATTRIBUTE3;
161         l_permit_wo_association_tbl(i).ATTRIBUTE4:=           p_permit_wo_association_tbl(i).ATTRIBUTE4;
162         l_permit_wo_association_tbl(i).ATTRIBUTE5:=           p_permit_wo_association_tbl(i).ATTRIBUTE5;
163         l_permit_wo_association_tbl(i).ATTRIBUTE6:=           p_permit_wo_association_tbl(i).ATTRIBUTE6;
164         l_permit_wo_association_tbl(i).ATTRIBUTE7:=           p_permit_wo_association_tbl(i).ATTRIBUTE7;
165         l_permit_wo_association_tbl(i).ATTRIBUTE8:=           p_permit_wo_association_tbl(i).ATTRIBUTE8;
166         l_permit_wo_association_tbl(i).ATTRIBUTE9:=           p_permit_wo_association_tbl(i).ATTRIBUTE9;
167         l_permit_wo_association_tbl(i).ATTRIBUTE10:=          p_permit_wo_association_tbl(i).ATTRIBUTE10;
168         l_permit_wo_association_tbl(i).ATTRIBUTE11:=          p_permit_wo_association_tbl(i).ATTRIBUTE11;
169         l_permit_wo_association_tbl(i).ATTRIBUTE12:=          p_permit_wo_association_tbl(i).ATTRIBUTE12;
170         l_permit_wo_association_tbl(i).ATTRIBUTE13:=          p_permit_wo_association_tbl(i).ATTRIBUTE13;
171         l_permit_wo_association_tbl(i).ATTRIBUTE14:=          p_permit_wo_association_tbl(i).ATTRIBUTE14;
172         l_permit_wo_association_tbl(i).ATTRIBUTE15:=          p_permit_wo_association_tbl(i).ATTRIBUTE15;
173         l_permit_wo_association_tbl(i).ATTRIBUTE16:=	        p_permit_wo_association_tbl(i).ATTRIBUTE16;
174         l_permit_wo_association_tbl(i).ATTRIBUTE17:=	        p_permit_wo_association_tbl(i).ATTRIBUTE17;
175         l_permit_wo_association_tbl(i).ATTRIBUTE18:=	        p_permit_wo_association_tbl(i).ATTRIBUTE18;
176         l_permit_wo_association_tbl(i).ATTRIBUTE19:=	        p_permit_wo_association_tbl(i).ATTRIBUTE19;
177         l_permit_wo_association_tbl(i).ATTRIBUTE20:=	        p_permit_wo_association_tbl(i).ATTRIBUTE20;
178         l_permit_wo_association_tbl(i).ATTRIBUTE21:=	        p_permit_wo_association_tbl(i).ATTRIBUTE21;
179         l_permit_wo_association_tbl(i).ATTRIBUTE22:=	        p_permit_wo_association_tbl(i).ATTRIBUTE22;
180         l_permit_wo_association_tbl(i).ATTRIBUTE23:=	        p_permit_wo_association_tbl(i).ATTRIBUTE23;
181         l_permit_wo_association_tbl(i).ATTRIBUTE24:=	        p_permit_wo_association_tbl(i).ATTRIBUTE24;
182         l_permit_wo_association_tbl(i).ATTRIBUTE25:=	        p_permit_wo_association_tbl(i).ATTRIBUTE25;
183         l_permit_wo_association_tbl(i).ATTRIBUTE26:=	        p_permit_wo_association_tbl(i).ATTRIBUTE26;
184         l_permit_wo_association_tbl(i).ATTRIBUTE27:=	        p_permit_wo_association_tbl(i).ATTRIBUTE27;
185         l_permit_wo_association_tbl(i).ATTRIBUTE28:=	        p_permit_wo_association_tbl(i).ATTRIBUTE28;
186         l_permit_wo_association_tbl(i).ATTRIBUTE29:=	        p_permit_wo_association_tbl(i).ATTRIBUTE29;
187         l_permit_wo_association_tbl(i).ATTRIBUTE30:=	        p_permit_wo_association_tbl(i).ATTRIBUTE30;
188         l_permit_wo_association_tbl(i).CREATED_BY:=           p_permit_wo_association_tbl(i).CREATED_BY;
189         l_permit_wo_association_tbl(i).CREATION_DATE:=        p_permit_wo_association_tbl(i).CREATION_DATE;
190       END LOOP;
191 
192     END IF;
193     IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling EAM_PROCESS_PERMIT_PVT.PROCESS_WORK_PERMIT from  EAM_PROCESS_PERMIT_PUB'); end if;
194 
195      EAM_PROCESS_PERMIT_PVT.PROCESS_WORK_PERMIT(
196            p_bo_identifier             => p_bo_identifier
197          , p_api_version_number      	 => l_api_version
198          , p_init_msg_list           	 => TRUE
199          , p_commit                  	 => p_commit
200          , p_work_permit_header_rec  	 => l_work_permit_header_rec
201          , p_permit_wo_association_tbl => l_permit_wo_association_tbl
202          , p_permit_clearance_asso_tbl => l_permit_clearance_asso_tbl
203          , x_work_permit_header_rec  	 => lx_work_permit_header_rec
204          , x_return_status           	 => l_return_status
205          , x_msg_count               	 => l_msg_count
206          , p_debug                     => l_debug
207          , p_output_dir             	 => l_output_dir
208          , p_debug_filename          	 => l_debug_filename
209          , p_debug_file_mode        	 => l_debug_file_mode
210      );
211 
212      x_permit_id :=lx_work_permit_header_rec.permit_id;
213      x_return_status :=l_return_status;
214 
215      IF l_return_status <> FND_API.G_RET_STS_SUCCESS
216         THEN
217          x_return_status := FND_API.G_RET_STS_ERROR;
218          x_msg_count :=l_msg_count;
219      END IF;
220 
221 EXCEPTION
222    WHEN OTHERS THEN
223    --    x_msg_count := EAM_ERROR_MESSAGE_PVT.Get_Message_Count;
224        x_return_status := FND_API.G_RET_STS_ERROR;
225        x_msg_count :=l_msg_count;
226     IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
227         THEN
228             EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
229             EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
230     END IF;
231 
232 END PROCESS_WORK_PERMIT;
233 
234 PROCEDURE COPY_WORK_PERMIT(
235           p_bo_identifier             IN  VARCHAR2 := 'EAM'
236          , p_api_version_number        IN  NUMBER   := 1.0
237          , p_init_msg_list             IN  BOOLEAN  := FALSE
238          , p_commit                    IN  VARCHAR2
239          , p_debug                     IN  VARCHAR2
240          , p_output_dir                IN  VARCHAR2
241          , p_debug_filename            IN  VARCHAR2
242          , p_debug_file_mode           IN  VARCHAR2
243          , p_org_id                    IN  NUMBER
244          , px_permit_id                IN  OUT NOCOPY   NUMBER
245          , x_return_status             OUT NOCOPY VARCHAR2
246          , x_msg_count                 OUT NOCOPY NUMBER
247 )IS
248 
249         l_api_version                CONSTANT NUMBER       := 1.0;
250 
251         l_debug                 VARCHAR2(1) := p_debug;
252         l_output_dir            VARCHAR2(512) := p_output_dir;
253         l_debug_filename        VARCHAR2(512) := p_debug_filename;
254         l_debug_file_mode       VARCHAR2(512) := p_debug_file_mode;
255         l_out_mesg_token_tbl    EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
256         l_Mesg_Token_Tbl        EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
257 
258 
259         l_return_status         VARCHAR2(1);
260         l_msg_count             NUMBER;
261 
262 BEGIN
263 
264   IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
265           RAISE FND_API.G_EXC_ERROR;
266        END IF;
267 
268       IF p_init_msg_list
269         THEN
270             EAM_ERROR_MESSAGE_PVT.Initialize;
271       END IF;
272 
273       SAVEPOINT EAM_PR_PROCESS_WORK_PERMIT;
274 
275       EAM_PROCESS_WO_PVT.Set_Debug(l_debug);
276 
277             IF l_debug = 'Y'
278             THEN
279                 l_out_mesg_token_tbl        := l_mesg_token_tbl;
280                 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
281                 (  p_debug_filename     => p_debug_filename
282                 ,  p_output_dir         => p_output_dir
283                 ,  p_debug_file_mode    => l_debug_file_mode
284                 ,  x_return_status      => l_return_status
285                 ,  p_mesg_token_tbl     => l_mesg_token_tbl
286                 ,  x_mesg_token_tbl     => l_out_mesg_token_tbl
287                  );
288                 l_mesg_token_tbl        := l_out_mesg_token_tbl;
289 
290                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
291                 THEN
292                     EAM_PROCESS_WO_PVT.Set_Debug('N');
293                 END IF;
294             END IF;
295 
296     IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling EAM_PROCESS_PERMIT_PVT.COPY_WORK_PERMIT from  EAM_PROCESS_PERMIT_PUB'); end if;
297 
298      EAM_PROCESS_PERMIT_PVT.COPY_WORK_PERMIT(
299            p_bo_identifier             => p_bo_identifier
300          , p_api_version_number      	 => l_api_version
301          , p_init_msg_list           	 => TRUE
302          , p_commit                  	 => p_commit
303          , p_debug                     => l_debug
304          , p_output_dir             	 => l_output_dir
305          , p_debug_filename          	 => l_debug_filename
306          , p_debug_file_mode        	 => l_debug_file_mode
307          , p_org_id  	                 => p_org_id
308          , px_permit_id  	             => px_permit_id
309          , x_return_status           	 => l_return_status
310          , x_msg_count               	 => l_msg_count
311 
312      );
313 
314 
315      x_return_status :=l_return_status;
316 
317      IF l_return_status <> FND_API.G_RET_STS_SUCCESS
318         THEN
319          x_return_status := FND_API.G_RET_STS_ERROR;
320          x_msg_count :=l_msg_count;
321      END IF;
322 
323 EXCEPTION
324    WHEN OTHERS THEN
325    --    x_msg_count := EAM_ERROR_MESSAGE_PVT.Get_Message_Count;
326        x_return_status := FND_API.G_RET_STS_ERROR;
327        x_msg_count :=l_msg_count;
328     IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
329         THEN
330             EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
331             EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
332     END IF;
333 
334 
335 END COPY_WORK_PERMIT;
336 
337 
338 
339 END EAM_PROCESS_PERMIT_PUB;