[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;