DBA Data[Home] [Help]
Skip to content

PACKAGE BODY: APPS.EAM_REQUIREMENTS_PKG

Source


1 PACKAGE BODY EAM_REQUIREMENTS_PKG as
2 /* $Header: EAMMRTHB.pls 120.4 2009/10/01 10:18:22 vchidura ship $ */
3 
4 
5 PROCEDURE Pre_Insert IS
6 BEGIN
7   null;
8 END Pre_Insert;
9 
10 
11 PROCEDURE Insert_Row   (X_row_id		IN OUT NOCOPY	VARCHAR2,
12 			X_inventory_item_id	IN 	NUMBER,
13   			X_organization_id	IN	NUMBER,
14   			X_wip_entity_id		IN	NUMBER,
15   			X_operation_seq_num	IN	NUMBER,
16   			X_repetitive_schedule_id  IN	NUMBER,
17   			X_last_update_date	IN	DATE,
18   			X_last_updated_by	IN	NUMBER,
19   			X_creation_date		IN	DATE,
20   			X_created_by		IN	NUMBER,
21   			X_last_update_login	IN	NUMBER,
22   			X_department_id		IN	NUMBER,
23   			X_wip_supply_type	IN	NUMBER,
24   			X_date_required		IN	DATE,
25   			X_required_quantity	IN	NUMBER,
26   			X_quantity_issued	IN	NUMBER,
27   			X_quantity_per_assembly	IN	NUMBER,
28   			X_comments		IN	VARCHAR2,
29   			X_supply_subinventory	IN	VARCHAR2,
30   			X_supply_locator_id	IN	NUMBER,
31   			X_mrp_net_flag		IN	NUMBER,
32   			X_mps_required_quantity	IN	NUMBER,
33   			X_mps_date_required	IN	DATE,
34   			X_attribute_category	IN	VARCHAR2,
35   			X_attribute1		IN	VARCHAR2,
36   			X_attribute2		IN	VARCHAR2,
37   			X_attribute3		IN	VARCHAR2,
38   			X_attribute4		IN	VARCHAR2,
39   			X_attribute5		IN	VARCHAR2,
40   			X_attribute6		IN	VARCHAR2,
41   			X_attribute7		IN	VARCHAR2,
42   			X_attribute8		IN	VARCHAR2,
43   			X_attribute9		IN	VARCHAR2,
44   			X_attribute10		IN	VARCHAR2,
45   			X_attribute11		IN	VARCHAR2,
46   			X_attribute12		IN	VARCHAR2,
47   			X_attribute13		IN	VARCHAR2,
48   			X_attribute14		IN	VARCHAR2,
49   			X_attribute15		IN	VARCHAR2,
50   			X_auto_request_material IN      VARCHAR2,
51 			X_L_EAM_MAT_REC	OUT NOCOPY 	EAM_PROCESS_WO_PUB.eam_mat_req_rec_type,
52 			X_material_shortage_flag	 OUT NOCOPY 	VARCHAR2,
53 			X_material_shortage_check_date	 OUT NOCOPY 	DATE
54 			) IS
55 
56 			l_return_status    VARCHAR2(30) := '';
57                         l_msg_count        NUMBER       := 0;
58                         l_msg_data         VARCHAR2(2000) := '';
59 			l_status_type       NUMBER;
60 			l_material_issue_by_mo   VARCHAR2(1);
61 			l_output_dir	VARCHAR2(512);
62 			l_error_message    VARCHAR2(1000);
63 
64 			l_eam_mat_req_rec       EAM_PROCESS_WO_PUB.eam_mat_req_rec_type ;
65 			l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
66 
67 			l_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
68 			l_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
69 			l_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
70 			l_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
71 			l_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
72 			l_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
73 			l_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
74 			l_eam_di_tbl   EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
75 			l_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
76 			l_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
77 			l_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
78 			l_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
79 			l_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
80 			l_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
81 			l_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
82 			l_eam_counter_prop_tbl     EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
83 
84 			l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
85 			l_out_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
86 			l_out_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
87 			l_out_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
88 			l_out_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
89 			l_out_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
90 			l_out_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
91 			l_out_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
92 			l_out_eam_di_tbl   EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
93 			l_out_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
94 			l_out_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
95 			l_out_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
96 			l_out_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
97 			l_out_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
98 			l_out_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
99 			l_out_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
100 			l_out_eam_counter_prop_tbl    EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
101 
102   CURSOR C IS
103     SELECT rowid
104     FROM WIP_REQUIREMENT_OPERATIONS
105     WHERE inventory_item_id = X_inventory_item_id
106       AND organization_id = X_organization_id
107       AND wip_entity_id = X_wip_entity_id
108       AND operation_seq_num = X_operation_seq_num;
109 BEGIN
110 
111  /* get output directory path from database */
112      EAM_WORKORDER_UTIL_PKG.log_path(l_output_dir);
113 
114 
115 	  l_eam_mat_req_rec.header_id		         := X_wip_entity_id;
116           l_eam_mat_req_rec.batch_id                     := 1;
117           l_eam_mat_req_rec.wip_entity_id                := X_wip_entity_id;
118           l_eam_mat_req_rec.organization_id              := X_organization_id;
119           l_eam_mat_req_rec.operation_seq_num            := X_operation_seq_num;
120           l_eam_mat_req_rec.inventory_item_id            := X_inventory_item_id;
121           l_eam_mat_req_rec.quantity_per_assembly        := X_quantity_per_assembly;
122           l_eam_mat_req_rec.department_id                := X_department_id;
123           l_eam_mat_req_rec.wip_supply_type              := X_wip_supply_type;
124           l_eam_mat_req_rec.date_required                := X_date_required;
125           l_eam_mat_req_rec.required_quantity            := X_required_quantity;
126           l_eam_mat_req_rec.quantity_issued              := X_quantity_issued;
127           l_eam_mat_req_rec.supply_subinventory          := X_supply_subinventory;
128           l_eam_mat_req_rec.supply_locator_id            := X_supply_locator_id;
129           l_eam_mat_req_rec.mrp_net_flag                 := X_mrp_net_flag;
130           l_eam_mat_req_rec.mps_required_quantity        := X_mps_required_quantity;
131           l_eam_mat_req_rec.mps_date_required            := X_mps_date_required;
132           l_eam_mat_req_rec.component_sequence_id        := null;
133           l_eam_mat_req_rec.comments                     := X_comments;
134           l_eam_mat_req_rec.attribute_category           := X_attribute_category;
135           l_eam_mat_req_rec.attribute1                   := X_attribute1;
136           l_eam_mat_req_rec.attribute2                   := X_attribute2;
137           l_eam_mat_req_rec.attribute3                   := X_attribute3;
138           l_eam_mat_req_rec.attribute4                   := X_attribute4;
139           l_eam_mat_req_rec.attribute5                   := X_attribute5;
140           l_eam_mat_req_rec.attribute6                   := X_attribute6;
141           l_eam_mat_req_rec.attribute7                   := X_attribute7;
142           l_eam_mat_req_rec.attribute8                   := X_attribute8;
143           l_eam_mat_req_rec.attribute9                   := X_attribute9;
144           l_eam_mat_req_rec.attribute10                  := X_attribute10;
145           l_eam_mat_req_rec.attribute11                  := X_attribute11;
146           l_eam_mat_req_rec.attribute12                  := X_attribute12;
147           l_eam_mat_req_rec.attribute13                  := X_attribute13;
148           l_eam_mat_req_rec.attribute14                  := X_attribute14;
149           l_eam_mat_req_rec.attribute15                  := X_attribute15;
150           l_eam_mat_req_rec.auto_request_material        := X_auto_request_material;
151           l_eam_mat_req_rec.suggested_vendor_name        := null;
152           l_eam_mat_req_rec.vendor_id                    := null;
153           l_eam_mat_req_rec.unit_price                   := null;
154           l_eam_mat_req_rec.request_id                   := null;
155           l_eam_mat_req_rec.program_application_id       := null;
156           l_eam_mat_req_rec.program_id                   := null;
157           l_eam_mat_req_rec.program_update_date          := sysdate;
158           l_eam_mat_req_rec.return_status                := null;
159           l_eam_mat_req_rec.transaction_type             := EAM_PROCESS_WO_PVT.G_OPR_CREATE;
160 
161           l_eam_mat_req_tbl(1) := l_eam_mat_req_rec;
162 
163 	  begin
164 	  EAM_PROCESS_WO_PUB.Process_WO
165   		         ( p_bo_identifier           => 'EAM'
166   		         , p_init_msg_list           => TRUE
167   		         , p_api_version_number      => 1.0
168                          , p_commit                  => 'N'
169   		         , p_eam_wo_rec              => l_eam_wo_rec
170   		         , p_eam_op_tbl              => l_eam_op_tbl
171   		         , p_eam_op_network_tbl      => l_eam_op_network_tbl
172   		         , p_eam_res_tbl             => l_eam_res_tbl
173   		         , p_eam_res_inst_tbl        => l_eam_res_inst_tbl
174   		         , p_eam_sub_res_tbl         => l_eam_sub_res_tbl
175   		         , p_eam_res_usage_tbl       => l_eam_res_usage_tbl
176   		         , p_eam_mat_req_tbl         => l_eam_mat_req_tbl
177                          , p_eam_direct_items_tbl    => l_eam_di_tbl
178 			 , p_eam_wo_comp_rec          => l_eam_wo_comp_rec
179 			 , p_eam_wo_quality_tbl       => l_eam_wo_quality_tbl
180 			 , p_eam_meter_reading_tbl    => l_eam_meter_reading_tbl
181 			 , p_eam_counter_prop_tbl    => l_eam_counter_prop_tbl
182 			 , p_eam_wo_comp_rebuild_tbl  => l_eam_wo_comp_rebuild_tbl
183 			 , p_eam_wo_comp_mr_read_tbl  => l_eam_wo_comp_mr_read_tbl
184 			 , p_eam_op_comp_tbl          => l_eam_op_comp_tbl
185 			 , p_eam_request_tbl          => l_eam_request_tbl
186   		         , x_eam_wo_rec              => l_out_eam_wo_rec
187   		         , x_eam_op_tbl              => l_out_eam_op_tbl
188   		         , x_eam_op_network_tbl      => l_out_eam_op_network_tbl
189   		         , x_eam_res_tbl             => l_out_eam_res_tbl
190   		         , x_eam_res_inst_tbl        => l_out_eam_res_inst_tbl
191   		         , x_eam_sub_res_tbl         => l_out_eam_sub_res_tbl
192   		         , x_eam_res_usage_tbl       => l_out_eam_res_usage_tbl
193   		         , x_eam_mat_req_tbl         => l_out_eam_mat_req_tbl
194                          , x_eam_direct_items_tbl    => l_out_eam_di_tbl
195 			 , x_eam_wo_comp_rec          => l_out_eam_wo_comp_rec
196 			 , x_eam_wo_quality_tbl       => l_out_eam_wo_quality_tbl
197 			 , x_eam_meter_reading_tbl    => l_out_eam_meter_reading_tbl
198 			 , x_eam_counter_prop_tbl    => l_out_eam_counter_prop_tbl
199 			 , x_eam_wo_comp_rebuild_tbl  => l_out_eam_wo_comp_rebuild_tbl
200 			 , x_eam_wo_comp_mr_read_tbl  => l_out_eam_wo_comp_mr_read_tbl
201 			 , x_eam_op_comp_tbl          => l_out_eam_op_comp_tbl
202 			 , x_eam_request_tbl          => l_out_eam_request_tbl
203   		         , x_return_status           => l_return_status
204   		         , x_msg_count               => l_msg_count
205   		         , p_debug                   => NVL(fnd_profile.value('EAM_DEBUG'), 'N')
206   		         , p_debug_filename          => 'insertmrthb.log'
207   		         , p_output_dir              => l_output_dir
208                          , p_debug_file_mode         => 'w'
209                        );
210 
211      EXCEPTION
212 	WHEN OTHERS THEN
213             EAM_WORKORDER_UTIL_PKG.show_mesg;
214 	    APP_EXCEPTION.RAISE_EXCEPTION;
215      END;
216 
217 	  IF (l_return_status = 'S') THEN
218 		X_L_EAM_MAT_REC := l_out_eam_mat_req_tbl(1);
219                 x_material_shortage_flag := l_out_eam_wo_rec.material_shortage_flag;
220                 x_material_shortage_check_date := l_out_eam_wo_rec.material_shortage_check_date;
221 	ELSE
222             EAM_WORKORDER_UTIL_PKG.show_mesg;
223 	    APP_EXCEPTION.RAISE_EXCEPTION;
224         END IF;
225 
226 
227   OPEN C;
228   FETCH C INTO X_row_id;
229   IF (C%NOTFOUND) THEN
230     CLOSE C;
231     RAISE NO_DATA_FOUND;
232   END IF;
233   CLOSE C;
234 
235 END Insert_Row;
236 
237 
238 
239 PROCEDURE Update_Row   (X_row_id		IN	VARCHAR2,
240 			X_inventory_item_id	IN 	NUMBER,
241   			X_organization_id	IN	NUMBER,
242   			X_wip_entity_id		IN	NUMBER,
243   			X_operation_seq_num	IN	NUMBER,
244   			X_repetitive_schedule_id IN	NUMBER,
245   			X_last_update_date	IN	DATE,
246   			X_last_updated_by	IN	NUMBER,
247   			X_last_update_login	IN	NUMBER,
248   			X_department_id		IN	NUMBER,
249   			X_wip_supply_type	IN	NUMBER,
250   			X_date_required		IN	DATE,
251   			X_required_quantity	IN	NUMBER,
252   			X_quantity_issued	IN	NUMBER,
253   			X_quantity_per_assembly	IN	NUMBER,
254   			X_comments		IN	VARCHAR2,
255   			X_supply_subinventory	IN	VARCHAR2,
256   			X_supply_locator_id	IN	NUMBER,
257   			X_mrp_net_flag		IN	NUMBER,
258   			X_mps_required_quantity	IN	NUMBER,
259   			X_mps_date_required	IN	DATE,
260   			X_attribute_category	IN	VARCHAR2,
261   			X_attribute1		IN	VARCHAR2,
262   			X_attribute2		IN	VARCHAR2,
263   			X_attribute3		IN	VARCHAR2,
264   			X_attribute4		IN	VARCHAR2,
265   			X_attribute5		IN	VARCHAR2,
266   			X_attribute6		IN	VARCHAR2,
267   			X_attribute7		IN	VARCHAR2,
268   			X_attribute8		IN	VARCHAR2,
269   			X_attribute9		IN	VARCHAR2,
270   			X_attribute10		IN	VARCHAR2,
271   			X_attribute11		IN	VARCHAR2,
272   			X_attribute12		IN	VARCHAR2,
273   			X_attribute13		IN	VARCHAR2,
274   			X_attribute14		IN	VARCHAR2,
275   			X_attribute15		IN	VARCHAR2,
276   			X_auto_request_material IN      VARCHAR2,
277 			X_L_EAM_MAT_REC	 OUT NOCOPY  	EAM_PROCESS_WO_PUB.eam_mat_req_rec_type,
278 			X_material_shortage_flag	 OUT NOCOPY 	VARCHAR2,
279 			X_material_shortage_check_date	 OUT NOCOPY 	DATE
280 			)IS
281 
282 			l_return_status    VARCHAR2(30) := '';
283                         l_msg_count        NUMBER       := 0;
284                         l_msg_data         VARCHAR2(2000) := '';
285                         l_req_qty          NUMBER	:= 0;
286                         l_status_type       NUMBER;
287 			l_material_issue_by_mo    VARCHAR2(1);
288 
289 			l_output_dir	VARCHAR2(512);
290 			l_eam_mat_req_rec       EAM_PROCESS_WO_PUB.eam_mat_req_rec_type ;
294 			l_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
291 			l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
292 
293 			l_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
295 			l_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
296 			l_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
297 			l_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
298 			l_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
299 			l_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
300 			l_eam_di_tbl   EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
301 			l_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
302 			l_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
303 			l_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
304 			l_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
305 			l_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
306 			l_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
307 			l_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
308 			l_eam_counter_prop_tbl     EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
309 
310 			l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
311 			l_out_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
312 			l_out_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
313 			l_out_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
314 			l_out_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
315 			l_out_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
316 			l_out_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
317 			l_out_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
318 			l_out_eam_di_tbl   EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
319 			l_out_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
320 			l_out_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
321 			l_out_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
322 			l_out_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
323 			l_out_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
324 			l_out_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
325 			l_out_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
326 			l_out_eam_counter_prop_tbl    EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
327 
328   /* Added for bug 8969942---start --- */
329  	              l_prev_comments VARCHAR2(4000);
330  	              l_prev_attribute_category VARCHAR2(30);
331  	              l_prev_attribute1 VARCHAR2(150);
332  	              l_prev_attribute2 VARCHAR2(150);
333  	              l_prev_attribute3 VARCHAR2(150);
334  	              l_prev_attribute4 VARCHAR2(150);
335  	              l_prev_attribute5 VARCHAR2(150);
336  	              l_prev_attribute6 VARCHAR2(150);
337  	              l_prev_attribute7 VARCHAR2(150);
338  	              l_prev_attribute8 VARCHAR2(150);
339  	              l_prev_attribute9 VARCHAR2(150);
340  	              l_prev_attribute10 VARCHAR2(150);
341  	              l_prev_attribute11 VARCHAR2(150);
342  	              l_prev_attribute12 VARCHAR2(150);
343  	              l_prev_attribute13 VARCHAR2(150);
344  	              l_prev_attribute14 VARCHAR2(150);
345  	              l_prev_attribute15 VARCHAR2(150);
346  	              /* ------end -----------------------*/
347 
348 BEGIN
349  /* get output directory path from database */
350      EAM_WORKORDER_UTIL_PKG.log_path(l_output_dir);
351 
352       /* Adding Code to get previous operation data fields for 8969942 .. start ... */
353 
354  	           Begin
355  	                select     comments
356  	                          ,attribute_category
357  	                          ,attribute1
358  	                          ,attribute2
359  	                          ,attribute3
360  	                          ,attribute4
361  	                          ,attribute5
362  	                          ,attribute6
363  	                          ,attribute7
364  	                          ,attribute8
365  	                          ,attribute9
366  	                          ,attribute10
367  	                          ,attribute11
368  	                          ,attribute12
369  	                          ,attribute13
370  	                          ,attribute14
371  	                          ,attribute15
372  	                          into l_prev_comments
373  	                          ,l_prev_attribute_category
374  	                          ,l_prev_attribute1
375  	                          ,l_prev_attribute2
376  	                          ,l_prev_attribute3
377  	                          ,l_prev_attribute4
378  	                          ,l_prev_attribute5
379  	                          ,l_prev_attribute6
380  	                          ,l_prev_attribute7
381  	                          ,l_prev_attribute8
382  	                          ,l_prev_attribute9
383  	                          ,l_prev_attribute10
384  	                          ,l_prev_attribute11
385  	                          ,l_prev_attribute12
386  	                          ,l_prev_attribute13
387  	                          ,l_prev_attribute14
388  	                          ,l_prev_attribute15
389  	                          from WIP_REQUIREMENT_OPERATIONS
390  	                          where wip_entity_id =X_wip_Entity_Id
391  	                          and organization_id = X_organization_id
392  	                          and operation_seq_num= X_Operation_Seq_Num
393  	                          and INVENTORY_ITEM_ID = X_inventory_item_id;
394  	                   EXCEPTION
395  	                      WHEN NO_DATA_FOUND THEN
396  	                         null;
397  	                      When Others then
398  	                         null;
399  	                   END;
400 
401  	              /* ... end ... for 8861997*/
405 	  l_eam_mat_req_rec.header_id		         := X_wip_entity_id;
402 
403 
404 
406           l_eam_mat_req_rec.batch_id                     := 1;
407           l_eam_mat_req_rec.wip_entity_id                := X_wip_entity_id;
408           l_eam_mat_req_rec.organization_id              := X_organization_id;
409           l_eam_mat_req_rec.operation_seq_num            := X_operation_seq_num;
410           l_eam_mat_req_rec.inventory_item_id            := X_inventory_item_id;
411           l_eam_mat_req_rec.quantity_per_assembly        := X_quantity_per_assembly;
412           l_eam_mat_req_rec.department_id                := X_department_id;
413           l_eam_mat_req_rec.wip_supply_type              := X_wip_supply_type;
414           l_eam_mat_req_rec.date_required                := X_date_required;
415           l_eam_mat_req_rec.required_quantity            := X_required_quantity;
416           l_eam_mat_req_rec.quantity_issued              := X_quantity_issued;
417           l_eam_mat_req_rec.supply_subinventory          := X_supply_subinventory;
418           l_eam_mat_req_rec.supply_locator_id            := X_supply_locator_id;
419           l_eam_mat_req_rec.mrp_net_flag                 := X_mrp_net_flag;
420           l_eam_mat_req_rec.mps_required_quantity        := X_mps_required_quantity;
421           l_eam_mat_req_rec.mps_date_required            := X_mps_date_required;
422           l_eam_mat_req_rec.component_sequence_id        := null;
423           l_eam_mat_req_rec.auto_request_material        := X_auto_request_material;
424           l_eam_mat_req_rec.suggested_vendor_name        := null;
425           l_eam_mat_req_rec.vendor_id                    := null;
426           l_eam_mat_req_rec.unit_price                   := null;
427           l_eam_mat_req_rec.request_id                   := null;
428           l_eam_mat_req_rec.program_application_id       := null;
429           l_eam_mat_req_rec.program_id                   := null;
430           l_eam_mat_req_rec.program_update_date          := sysdate;
431           l_eam_mat_req_rec.return_status                := null;
432           l_eam_mat_req_rec.transaction_type             := EAM_PROCESS_WO_PVT.G_OPR_UPDATE;
433 
434 	    /*---- code added for bug 8969942 -----start --*/
435 
436 
437  	                        IF  l_prev_comments is not null and  X_comments is null THEN
438  	                                 l_eam_mat_req_rec.comments  := FND_API.G_MISS_CHAR;
439  	                        ELSE
440  	                                 l_eam_mat_req_rec.comments :=  X_comments;
441  	                        END IF;
442 
443  	                        IF l_prev_attribute_category is not null and X_attribute_category is null THEN
444  	                                 l_eam_mat_req_rec.attribute_category  := FND_API.G_MISS_CHAR;
445  	                        ELSE
446  	                                 l_eam_mat_req_rec.attribute_category := X_attribute_category;
447  	                        END IF;
448 
449  	                        IF l_prev_attribute1 is not null and X_attribute1 is null THEN
450  	                                 l_eam_mat_req_rec.attribute1  := FND_API.G_MISS_CHAR;
451  	                        ELSE
452  	                                 l_eam_mat_req_rec.attribute1 := X_attribute1;
453  	                        END IF;
454 
455  	                        IF l_prev_attribute2 is not null and X_attribute2 is null THEN
456  	                                 l_eam_mat_req_rec.attribute2  := FND_API.G_MISS_CHAR;
457  	                        ELSE
458  	                                 l_eam_mat_req_rec.attribute2 := X_attribute2;
459  	                        END IF;
460 
461  	                        IF l_prev_attribute3 is not null and X_attribute3 is null THEN
462  	                                 l_eam_mat_req_rec.attribute3  := FND_API.G_MISS_CHAR;
463  	                        ELSE
464  	                                 l_eam_mat_req_rec.attribute3 := X_attribute3;
465  	                        END IF;
466 
467  	                        IF l_prev_attribute4 is not null and X_attribute4 is null THEN
468  	                                 l_eam_mat_req_rec.attribute4  := FND_API.G_MISS_CHAR;
469  	                        ELSE
470  	                                 l_eam_mat_req_rec.attribute4 := X_attribute4;
471  	                        END IF;
472 
473  	                        IF l_prev_attribute5 is not null and X_attribute5 is null THEN
474  	                                 l_eam_mat_req_rec.attribute5  := FND_API.G_MISS_CHAR;
475  	                        ELSE
476  	                                 l_eam_mat_req_rec.attribute5 := X_attribute5;
477  	                        END IF;
478 
479  	                        IF l_prev_attribute6 is not null and X_attribute6 is null THEN
480  	                                 l_eam_mat_req_rec.attribute6  := FND_API.G_MISS_CHAR;
481  	                        ELSE
482  	                                 l_eam_mat_req_rec.attribute6 := X_attribute6;
483  	                        END IF;
484 
485  	                        IF l_prev_attribute7 is not null and X_attribute7 is null THEN
486  	                                 l_eam_mat_req_rec.attribute7  := FND_API.G_MISS_CHAR;
487  	                        ELSE
488  	                                 l_eam_mat_req_rec.attribute7 := X_attribute7;
489  	                        END IF;
490 
491  	                        IF l_prev_attribute8 is not null and X_attribute8 is null THEN
492  	                                 l_eam_mat_req_rec.attribute8  := FND_API.G_MISS_CHAR;
493  	                        ELSE
494  	                                 l_eam_mat_req_rec.attribute8 := X_attribute8;
495  	                        END IF;
496 
497  	                        IF l_prev_attribute9 is not null and X_attribute9 is null THEN
498  	                                 l_eam_mat_req_rec.attribute9  := FND_API.G_MISS_CHAR;
499  	                        ELSE
500  	                                 l_eam_mat_req_rec.attribute9 := X_attribute9;
501  	                        END IF;
502 
506  	                                 l_eam_mat_req_rec.attribute10 := X_attribute10;
503  	                        IF l_prev_attribute10 is not null and X_attribute10 is null THEN
504  	                                 l_eam_mat_req_rec.attribute10  := FND_API.G_MISS_CHAR;
505  	                        ELSE
507  	                        END IF;
508 
509  	                        IF l_prev_attribute11 is not null and X_attribute11 is null THEN
510  	                                 l_eam_mat_req_rec.attribute11  := FND_API.G_MISS_CHAR;
511  	                        ELSE
512  	                                 l_eam_mat_req_rec.attribute11 := X_attribute11;
513  	                        END IF;
514 
515  	                        IF l_prev_attribute12 is not null and X_attribute12 is null THEN
516  	                                 l_eam_mat_req_rec.attribute12  := FND_API.G_MISS_CHAR;
517  	                        ELSE
518  	                                 l_eam_mat_req_rec.attribute12 := X_attribute12;
519  	                        END IF;
520 
521  	                        IF l_prev_attribute13 is not null and X_attribute13 is null THEN
522  	                                 l_eam_mat_req_rec.attribute13  := FND_API.G_MISS_CHAR;
523  	                        ELSE
524  	                                 l_eam_mat_req_rec.attribute13 := X_attribute13;
525  	                        END IF;
526 
527  	                        IF l_prev_attribute14 is not null and X_attribute14 is null THEN
528  	                                 l_eam_mat_req_rec.attribute14  := FND_API.G_MISS_CHAR;
529  	                        ELSE
530  	                                 l_eam_mat_req_rec.attribute14 := X_attribute14;
531  	                        END IF;
532 
533  	                        IF l_prev_attribute15 is not null and X_attribute15 is null THEN
534  	                                 l_eam_mat_req_rec.attribute15  := FND_API.G_MISS_CHAR;
535  	                        ELSE
536  	                                 l_eam_mat_req_rec.attribute15 := X_attribute15;
537  	                        END IF;
538 
539  	             /* ---- end for 8969942---- */
540 
541           l_eam_mat_req_tbl(1) := l_eam_mat_req_rec;
542 	  EAM_PROCESS_WO_PUB.Process_WO
543   		         ( p_bo_identifier           => 'EAM'
544   		         , p_init_msg_list           => TRUE
545   		         , p_api_version_number      => 1.0
546                          , p_commit                  => 'N'
547   		         , p_eam_wo_rec              => l_eam_wo_rec
548   		         , p_eam_op_tbl              => l_eam_op_tbl
549   		         , p_eam_op_network_tbl      => l_eam_op_network_tbl
550   		         , p_eam_res_tbl             => l_eam_res_tbl
551   		         , p_eam_res_inst_tbl        => l_eam_res_inst_tbl
552   		         , p_eam_sub_res_tbl         => l_eam_sub_res_tbl
553   		         , p_eam_res_usage_tbl       => l_eam_res_usage_tbl
554   		         , p_eam_mat_req_tbl         => l_eam_mat_req_tbl
555                          , p_eam_direct_items_tbl    => l_eam_di_tbl
556 			 , p_eam_wo_comp_rec          => l_eam_wo_comp_rec
557 			 , p_eam_wo_quality_tbl       => l_eam_wo_quality_tbl
558 			 , p_eam_meter_reading_tbl    => l_eam_meter_reading_tbl
559 			 , p_eam_counter_prop_tbl    => l_eam_counter_prop_tbl
560 			 , p_eam_wo_comp_rebuild_tbl  => l_eam_wo_comp_rebuild_tbl
561 			 , p_eam_wo_comp_mr_read_tbl  => l_eam_wo_comp_mr_read_tbl
562 			 , p_eam_op_comp_tbl          => l_eam_op_comp_tbl
563 			 , p_eam_request_tbl          => l_eam_request_tbl
564   		         , x_eam_wo_rec              => l_out_eam_wo_rec
565   		         , x_eam_op_tbl              => l_out_eam_op_tbl
566   		         , x_eam_op_network_tbl      => l_out_eam_op_network_tbl
567   		         , x_eam_res_tbl             => l_out_eam_res_tbl
568   		         , x_eam_res_inst_tbl        => l_out_eam_res_inst_tbl
569   		         , x_eam_sub_res_tbl         => l_out_eam_sub_res_tbl
570   		         , x_eam_res_usage_tbl       => l_out_eam_res_usage_tbl
571   		         , x_eam_mat_req_tbl         => l_out_eam_mat_req_tbl
572                          , x_eam_direct_items_tbl    => l_out_eam_di_tbl
573 			 , x_eam_wo_comp_rec          => l_out_eam_wo_comp_rec
574 			 , x_eam_wo_quality_tbl       => l_out_eam_wo_quality_tbl
575 			 , x_eam_meter_reading_tbl    => l_out_eam_meter_reading_tbl
576 			 , x_eam_counter_prop_tbl    => l_out_eam_counter_prop_tbl
577 			 , x_eam_wo_comp_rebuild_tbl  => l_out_eam_wo_comp_rebuild_tbl
578 			 , x_eam_wo_comp_mr_read_tbl  => l_out_eam_wo_comp_mr_read_tbl
579 			 , x_eam_op_comp_tbl          => l_out_eam_op_comp_tbl
580 			 , x_eam_request_tbl          => l_out_eam_request_tbl
581   		         , x_return_status           => l_return_status
582   		         , x_msg_count               => l_msg_count
583   		         , p_debug                   => NVL(fnd_profile.value('EAM_DEBUG'), 'N')
584   		         , p_debug_filename          => 'updatemrthb.log'
585   		         , p_output_dir              => l_output_dir
586                          , p_debug_file_mode         => 'w'
587                        );
588 	  IF (l_return_status = 'S') THEN
589 	       X_L_EAM_MAT_REC := l_out_eam_mat_req_tbl(1);
590                x_material_shortage_flag := l_out_eam_wo_rec.material_shortage_flag;
591                x_material_shortage_check_date := l_out_eam_wo_rec.material_shortage_check_date;
592 	ELSE
593 		EAM_WORKORDER_UTIL_PKG.show_mesg;
594 		APP_EXCEPTION.RAISE_EXCEPTION;
595         END IF;
596 
597 
598 END Update_Row;
599 
600 
601 PROCEDURE Lock_Row(	X_row_id		IN	VARCHAR2,
602 			X_inventory_item_id	IN 	NUMBER,
603   			X_organization_id	IN	NUMBER,
604   			X_wip_entity_id		IN	NUMBER,
605   			X_operation_seq_num	IN	NUMBER,
606   			X_department_id		IN	NUMBER,
607   			X_wip_supply_type	IN	NUMBER,
608   			X_date_required		IN	DATE,
609   			X_required_quantity	IN	NUMBER,
610   			X_quantity_issued	IN	NUMBER,
611   			X_quantity_per_assembly	IN	NUMBER,
612   			X_comments		IN	VARCHAR2,
616   			X_attribute_category	IN	VARCHAR2,
613   			X_supply_subinventory	IN	VARCHAR2,
614   			X_supply_locator_id	IN	NUMBER,
615   			X_mrp_net_flag		IN	NUMBER,
617   			X_attribute1		IN	VARCHAR2,
618   			X_attribute2		IN	VARCHAR2,
619   			X_attribute3		IN	VARCHAR2,
620   			X_attribute4		IN	VARCHAR2,
621   			X_attribute5		IN	VARCHAR2,
622   			X_attribute6		IN	VARCHAR2,
623   			X_attribute7		IN	VARCHAR2,
624   			X_attribute8		IN	VARCHAR2,
625   			X_attribute9		IN	VARCHAR2,
626   			X_attribute10		IN	VARCHAR2,
627   			X_attribute11		IN	VARCHAR2,
628   			X_attribute12		IN	VARCHAR2,
629   			X_attribute13		IN	VARCHAR2,
630   			X_attribute14		IN	VARCHAR2,
631   			X_attribute15		IN	VARCHAR2,
632   			X_auto_request_material IN      VARCHAR2) IS
633     CURSOR C IS
634       SELECT *
635       FROM   WIP_REQUIREMENT_OPERATIONS
636       WHERE  rowid = X_row_id
637       FOR    UPDATE of Wip_Entity_Id NOWAIT;
638     Recinfo	C%ROWTYPE;
639 BEGIN
640     OPEN C;
641     FETCH C INTO Recinfo;
642     IF (C%NOTFOUND) THEN
643       CLOSE C;
644       FND_MESSAGE.SET_NAME('FND','FORM_RECORD_DELETED');
645       FND_MESSAGE.RAISE_ERROR;
646       APP_EXCEPTION.RAISE_EXCEPTION;
647     END IF;
648     CLOSE C;
649 
650     IF		(Recinfo.inventory_item_id =  X_Inventory_Item_Id)
651     	AND 	(Recinfo.organization_id =  X_Organization_Id)
652         AND 	(Recinfo.wip_entity_id =  X_Wip_Entity_Id)
653         AND 	(Recinfo.operation_seq_num =  X_Operation_Seq_Num)
654    	AND 	(nvl(Recinfo.department_id, -1) =
655 		 nvl(X_Department_Id, -1))
656 	AND 	(nvl(Recinfo.wip_supply_type, -1) =
657 		 nvl(X_Wip_Supply_Type, -1))
658 	AND 	(Recinfo.date_required = X_Date_Required OR
659 		 (Recinfo.date_required is NULL AND
660 		  X_Date_Required is NULL))
661 	AND 	(Recinfo.required_quantity =  X_Required_Quantity)
662 	AND	(Recinfo.quantity_issued =  X_Quantity_Issued OR
663 		 (Recinfo.quantity_issued = 0 AND
664 		  X_Quantity_Issued IS NULL))
665 	AND 	(Recinfo.quantity_per_assembly =  X_Quantity_Per_Assembly)
666 	AND	(nvl(Recinfo.comments, 'xxxx') =
667 		 nvl(X_Comments, 'xxxx'))
668 	AND	(nvl(Recinfo.supply_subinventory, 'xxxx') =
669 		 nvl(X_Supply_Subinventory, 'xxxx'))
670 	AND	(nvl(Recinfo.supply_locator_id, -1) =
671 		 nvl(X_Supply_Locator_Id, -1))
672 	AND	(Recinfo.mrp_net_flag =  X_Mrp_Net_Flag)
673 	AND	(nvl(Recinfo.attribute_category, 'xxxx') =
674 		 nvl(X_Attribute_Category, 'xxxx'))
675 	AND	(nvl(Recinfo.attribute1, 'xxxx') =
676 		 nvl(X_Attribute1, 'xxxx'))
677 	AND	(nvl(Recinfo.attribute2, 'xxxx') =
678 		 nvl(X_Attribute2, 'xxxx'))
679 	AND	(nvl(Recinfo.attribute3, 'xxxx') =
680 		 nvl(X_Attribute3, 'xxxx'))
681 	AND	(nvl(Recinfo.attribute4, 'xxxx') =
682 		 nvl(X_Attribute4, 'xxxx'))
683 	AND	(nvl(Recinfo.attribute5, 'xxxx') =
684 		 nvl(X_Attribute5, 'xxxx'))
685 	AND	(nvl(Recinfo.attribute6, 'xxxx') =
686 		 nvl(X_Attribute6, 'xxxx'))
687 	AND	(nvl(Recinfo.attribute7, 'xxxx') =
688 		 nvl(X_Attribute7, 'xxxx'))
689 	AND	(nvl(Recinfo.attribute8, 'xxxx') =
690 		 nvl(X_Attribute8, 'xxxx'))
691 	AND	(nvl(Recinfo.attribute9, 'xxxx') =
692 		 nvl(X_Attribute9, 'xxxx'))
693 	AND	(nvl(Recinfo.attribute10, 'xxxx') =
694 		 nvl(X_Attribute10, 'xxxx'))
695 	AND	(nvl(Recinfo.attribute11, 'xxxx') =
696 		 nvl(X_Attribute11, 'xxxx'))
697 	AND	(nvl(Recinfo.attribute12, 'xxxx') =
698 		 nvl(X_Attribute12, 'xxxx'))
699 	AND	(nvl(Recinfo.attribute13, 'xxxx') =
700 		 nvl(X_Attribute13, 'xxxx'))
701 	AND	(nvl(Recinfo.attribute14, 'xxxx') =
702 		 nvl(X_Attribute14, 'xxxx'))
703 	AND	(nvl(Recinfo.attribute15, 'xxxx') =
704 		 nvl(X_Attribute15, 'xxxx'))
705         AND	(nvl(Recinfo.auto_request_material, 'T') =
706 		 nvl(X_auto_request_material, 'T'))
707     THEN
708       RETURN;
709     ELSE
710       FND_MESSAGE.SET_NAME('FND','FORM_RECORD_CHANGED');
711       FND_MESSAGE.RAISE_ERROR;
712       APP_EXCEPTION.RAISE_EXCEPTION;
713     END IF;
714 END Lock_Row;
715 
716 
717 PROCEDURE Delete_Row(X_row_id		IN	VARCHAR2,
718 		     X_material_shortage_flag	 OUT NOCOPY 	VARCHAR2,
719 		     X_material_shortage_check_date	 OUT NOCOPY 	DATE) IS
720 
721     l_wip_entity_id        NUMBER := 0;
722     l_org_id               NUMBER := 0;
723     l_return_status    VARCHAR2(30) := '';
724     l_msg_count        NUMBER       := 0;
725     l_msg_data         VARCHAR2(30) := '';
726     l_operation_seq_num  NUMBER;
727     l_inventory_item_id  NUMBER;
728     l_wip_entity_type  NUMBER;
729     l_status_type     NUMBER;
730     l_material_issue_by_mo   VARCHAR2(1);
731     l_output_dir	VARCHAR2(512);
732 
733     l_eam_mat_req_rec       EAM_PROCESS_WO_PUB.eam_mat_req_rec_type ;
734     l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
735     l_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
736     l_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
737     l_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
738     l_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
739     l_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
740     l_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
741     l_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
742     l_eam_di_tbl   EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
743     l_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
744     l_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
745     l_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
746     l_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
747     l_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
748     l_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
752     l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
749     l_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
750     l_eam_counter_prop_tbl     EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
751 
753     l_out_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
754     l_out_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
755     l_out_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
756     l_out_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
757     l_out_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
758     l_out_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
759     l_out_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
760     l_out_eam_di_tbl   EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
761     l_out_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
762     l_out_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
763     l_out_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
764     l_out_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
765     l_out_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
766     l_out_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
767     l_out_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
768     l_out_eam_counter_prop_tbl    EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
769 
770 
771 BEGIN
772  /* get output directory path from database */
773    EAM_WORKORDER_UTIL_PKG.log_path(l_output_dir);
774 
775 
776   SELECT wip_entity_id, organization_id, operation_seq_num, inventory_item_id
777     INTO l_wip_entity_id, l_org_id, l_operation_seq_num, l_inventory_item_id
778     FROM WIP_REQUIREMENT_OPERATIONS
779    WHERE rowid = X_row_id;
780 
781           l_eam_mat_req_rec.header_id		         := l_wip_entity_id;
782           l_eam_mat_req_rec.batch_id                     := 1;
783           l_eam_mat_req_rec.row_id                       := null;
784           l_eam_mat_req_rec.wip_entity_id                := l_wip_entity_id;
785           l_eam_mat_req_rec.organization_id              := l_org_id;
786           l_eam_mat_req_rec.operation_seq_num            := l_operation_seq_num;
787           l_eam_mat_req_rec.inventory_item_id            := l_inventory_item_id;
788           l_eam_mat_req_rec.transaction_type             := EAM_PROCESS_WO_PVT.G_OPR_DELETE;
789 
790 	  l_eam_mat_req_tbl(1) := l_eam_mat_req_rec;
791 	  EAM_PROCESS_WO_PUB.Process_WO
792   		         ( p_bo_identifier           => 'EAM'
793   		         , p_init_msg_list           => TRUE
794   		         , p_api_version_number      => 1.0
795                          , p_commit                  => 'N'
796   		         , p_eam_wo_rec              => l_eam_wo_rec
797   		         , p_eam_op_tbl              => l_eam_op_tbl
798   		         , p_eam_op_network_tbl      => l_eam_op_network_tbl
799   		         , p_eam_res_tbl             => l_eam_res_tbl
800   		         , p_eam_res_inst_tbl        => l_eam_res_inst_tbl
801   		         , p_eam_sub_res_tbl         => l_eam_sub_res_tbl
802   		         , p_eam_res_usage_tbl       => l_eam_res_usage_tbl
803   		         , p_eam_mat_req_tbl         => l_eam_mat_req_tbl
804                          , p_eam_direct_items_tbl    => l_eam_di_tbl
805 			 , p_eam_wo_comp_rec          => l_eam_wo_comp_rec
806 			 , p_eam_wo_quality_tbl       => l_eam_wo_quality_tbl
807 			 , p_eam_meter_reading_tbl    => l_eam_meter_reading_tbl
808 			 , p_eam_counter_prop_tbl    => l_eam_counter_prop_tbl
809 			 , p_eam_wo_comp_rebuild_tbl  => l_eam_wo_comp_rebuild_tbl
810 			 , p_eam_wo_comp_mr_read_tbl  => l_eam_wo_comp_mr_read_tbl
811 			 , p_eam_op_comp_tbl          => l_eam_op_comp_tbl
812 			 , p_eam_request_tbl          => l_eam_request_tbl
813   		         , x_eam_wo_rec              => l_out_eam_wo_rec
814   		         , x_eam_op_tbl              => l_out_eam_op_tbl
815   		         , x_eam_op_network_tbl      => l_out_eam_op_network_tbl
816   		         , x_eam_res_tbl             => l_out_eam_res_tbl
817   		         , x_eam_res_inst_tbl        => l_out_eam_res_inst_tbl
818   		         , x_eam_sub_res_tbl         => l_out_eam_sub_res_tbl
819   		         , x_eam_res_usage_tbl       => l_out_eam_res_usage_tbl
820   		         , x_eam_mat_req_tbl         => l_out_eam_mat_req_tbl
821                          , x_eam_direct_items_tbl    => l_out_eam_di_tbl
822 			 , x_eam_wo_comp_rec          => l_out_eam_wo_comp_rec
823 			 , x_eam_wo_quality_tbl       => l_out_eam_wo_quality_tbl
824 			 , x_eam_meter_reading_tbl    => l_out_eam_meter_reading_tbl
825 			 , x_eam_counter_prop_tbl    => l_out_eam_counter_prop_tbl
826 			 , x_eam_wo_comp_rebuild_tbl  => l_out_eam_wo_comp_rebuild_tbl
827 			 , x_eam_wo_comp_mr_read_tbl  => l_out_eam_wo_comp_mr_read_tbl
828 			 , x_eam_op_comp_tbl          => l_out_eam_op_comp_tbl
829 			 , x_eam_request_tbl          => l_out_eam_request_tbl
830   		         , x_return_status           => l_return_status
831   		         , x_msg_count               => l_msg_count
832   		         , p_debug                   => NVL(fnd_profile.value('EAM_DEBUG'), 'N')
833   		         , p_debug_filename          => 'delmrthb.log'
834   		         , p_output_dir              => l_output_dir
835                          , p_debug_file_mode         => 'w'
836                        );
837 	  IF (l_return_status = 'S') THEN
838 		COMMIT;
839                x_material_shortage_flag := l_out_eam_wo_rec.material_shortage_flag;
840                x_material_shortage_check_date := l_out_eam_wo_rec.material_shortage_check_date;
841 	ELSE
842            EAM_WORKORDER_UTIL_PKG.show_mesg;
843            APP_EXCEPTION.RAISE_EXCEPTION;
844         END IF;
845 EXCEPTION
846 	WHEN OTHERS THEN
847             EAM_WORKORDER_UTIL_PKG.show_mesg;
848            APP_EXCEPTION.RAISE_EXCEPTION;
849 
850 
851 END Delete_Row;
852 
853 
854 
855 --
856 -- baroy - API to delete a requirements row (called from SS View Materials Page)
857 --
861   p_commit                  IN    VARCHAR2,
858 PROCEDURE Delete_Row_SS(
859   p_api_version             IN    NUMBER,
860   p_init_msg_list           IN    VARCHAR2,
862   p_validate_only           IN    VARCHAR2,
863   p_record_version_number   IN    NUMBER,
864   x_return_status           OUT NOCOPY  VARCHAR2,
865   x_msg_count               OUT NOCOPY  NUMBER,
866   x_msg_data                OUT NOCOPY  VARCHAR2,
867   p_inventory_item_id	    IN 	  NUMBER,
868   p_organization_id	    IN	  NUMBER,
869   p_wip_entity_id	    IN	  NUMBER,
870   p_operation_seq_num       IN    NUMBER) IS
871 
872   l_material        VARCHAR2(40);
873   l_msg_count       NUMBER;
874   l_msg_data        VARCHAR2(250);
875   l_return_status   VARCHAR2(250);
876   l_data            VARCHAR2(250);
877   l_msg_index_out   NUMBER;
878   l_quantity_issued NUMBER := 0;
879   l_wip_entity_type  NUMBER;
880   l_status_type      NUMBER;
881   l_material_issue_by_mo  VARCHAR2(1);
882 
883 /* Commenting out for implementing WO API */
884 /*  CURSOR pending_txns_cur IS
885     SELECT 1
886     FROM   MTL_MATERIAL_TRANSACTIONS_TEMP
887     WHERE  operation_seq_num     = p_operation_seq_num
888       AND  inventory_item_id     = p_inventory_item_id
889       AND  transaction_source_id = p_wip_entity_id
890       AND  organization_id       = p_organization_id
891       AND  process_flag         <> 'N'
892       AND  posting_flag         <> 'N';
893   CURSOR mtl_del_cur IS
894     SELECT 1
895     FROM   MTL_MATERIAL_TRANSACTIONS
896     WHERE  operation_seq_num     = p_operation_seq_num
897       AND  inventory_item_id     = p_inventory_item_id
898       AND  transaction_source_id = p_wip_entity_id
899       AND  organization_id       = p_organization_id; */
900 
901   l_output_dir VARCHAR2(512);
902 
903      l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
904      l_eam_mat_req_rec  EAM_PROCESS_WO_PUB.eam_mat_req_rec_type;
905      l_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
906      l_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
907      l_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
908      l_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
909      l_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
910      l_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
911      l_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
912      l_eam_direct_items_tbl	EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
913      l_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
914      l_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
915      l_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
916      l_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
917      l_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
918      l_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
919      l_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
920      l_eam_counter_prop_tbl     EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
921 
922    l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
923    l_out_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
924    l_out_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
925    l_out_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
926    l_out_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
927    l_out_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
928    l_out_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
929    l_out_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
930    l_out_eam_direct_items_tbl	EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
931    l_out_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
932    l_out_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
933    l_out_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
934    l_out_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
935    l_out_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
936    l_out_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
937    l_out_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
938    l_out_eam_counter_prop_tbl    EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
939 
940 
941 BEGIN
942 
943   IF p_commit = FND_API.G_TRUE THEN
944     SAVEPOINT delete_row_ss;
945   END IF;
946 
947   IF FND_API.TO_BOOLEAN(p_init_msg_list) THEN
948     FND_MSG_PUB.initialize;
949   END IF;
950 
951   x_return_status := FND_API.G_RET_STS_SUCCESS;
952 
953 
954 
955 
956     l_eam_mat_req_rec.transaction_type := EAM_PROCESS_WO_PUB.G_OPR_DELETE;
957     l_eam_mat_req_rec.wip_entity_id := p_wip_entity_id;
958     l_eam_mat_req_rec.organization_id := p_organization_id;
959     l_eam_mat_req_rec.operation_seq_num := p_operation_seq_num;
960     l_eam_mat_req_rec.inventory_item_id := p_inventory_item_id;
961 
962     l_eam_mat_req_tbl(1) := l_eam_mat_req_rec;
963 
964    EAM_WORKORDER_UTIL_PKG.log_path(l_output_dir);
965 
966 
967      EAM_PROCESS_WO_PUB.Process_WO
968   		         ( p_bo_identifier           => 'EAM'
969   		         , p_init_msg_list           => TRUE
970   		         , p_api_version_number      => 1.0
971   		         , p_eam_wo_rec              => l_eam_wo_rec
972   		         , p_eam_op_tbl              => l_eam_op_tbl
973   		         , p_eam_op_network_tbl      => l_eam_op_network_tbl
974   		         , p_eam_res_tbl             => l_eam_res_tbl
975   		         , p_eam_res_inst_tbl        => l_eam_res_inst_tbl
976   		         , p_eam_sub_res_tbl         => l_eam_sub_res_tbl
977   		         , p_eam_res_usage_tbl       => l_eam_res_usage_tbl
978   		         , p_eam_mat_req_tbl         => l_eam_mat_req_tbl
979 			 , p_eam_direct_items_tbl    => l_eam_direct_items_tbl
983 			 , p_eam_counter_prop_tbl    => l_eam_counter_prop_tbl
980 			 , p_eam_wo_comp_rec          => l_eam_wo_comp_rec
981 			 , p_eam_wo_quality_tbl       => l_eam_wo_quality_tbl
982 			 , p_eam_meter_reading_tbl    => l_eam_meter_reading_tbl
984 			 , p_eam_wo_comp_rebuild_tbl  => l_eam_wo_comp_rebuild_tbl
985 			 , p_eam_wo_comp_mr_read_tbl  => l_eam_wo_comp_mr_read_tbl
986 			 , p_eam_op_comp_tbl          => l_eam_op_comp_tbl
987 			 , p_eam_request_tbl          => l_eam_request_tbl
988   		         , x_eam_wo_rec              => l_out_eam_wo_rec
989   		         , x_eam_op_tbl              => l_out_eam_op_tbl
990   		         , x_eam_op_network_tbl      => l_out_eam_op_network_tbl
991   		         , x_eam_res_tbl             => l_out_eam_res_tbl
992   		         , x_eam_res_inst_tbl        => l_out_eam_res_inst_tbl
993   		         , x_eam_sub_res_tbl         => l_out_eam_sub_res_tbl
994   		         , x_eam_res_usage_tbl       => l_out_eam_res_usage_tbl
995   		         , x_eam_mat_req_tbl         => l_out_eam_mat_req_tbl
996 			 , x_eam_direct_items_tbl    => l_out_eam_direct_items_tbl
997 			 , x_eam_wo_comp_rec          => l_out_eam_wo_comp_rec
998 			 , x_eam_wo_quality_tbl       => l_out_eam_wo_quality_tbl
999 			 , x_eam_meter_reading_tbl    => l_out_eam_meter_reading_tbl
1000 			 , x_eam_counter_prop_tbl    => l_out_eam_counter_prop_tbl
1001 			 , x_eam_wo_comp_rebuild_tbl  => l_out_eam_wo_comp_rebuild_tbl
1002 			 , x_eam_wo_comp_mr_read_tbl  => l_out_eam_wo_comp_mr_read_tbl
1003 			 , x_eam_op_comp_tbl          => l_out_eam_op_comp_tbl
1004 			 , x_eam_request_tbl          => l_out_eam_request_tbl
1005   		         , x_return_status           => x_return_status
1006   		         , x_msg_count               => x_msg_count
1007   		         , p_debug                   => NVL(fnd_profile.value('EAM_DEBUG'), 'N')
1008   		         , p_debug_filename          => 'delmrss.log'
1009   		         , p_output_dir              => l_output_dir
1010                        );
1011 
1012 
1013 /* Commented out for implementing the WO API */
1014 /*
1015   DELETE FROM WIP_REQUIREMENT_OPERATIONS
1016     WHERE wip_entity_id   = p_wip_entity_id
1017     and organization_id   = p_organization_id
1018     and inventory_item_id = p_inventory_item_id
1019     and operation_seq_num = p_operation_seq_num; */
1020  /* IF (SQL%NOTFOUND) THEN
1021     RAISE NO_DATA_FOUND;
1022 
1023   ELSE */
1024 
1025 /* Commented out for implementing the WO API */
1026   -- if validate not passed then raise error
1027 /*  l_msg_count := FND_MSG_PUB.count_msg;
1028   IF l_msg_count = 1 THEN
1029     eam_execution_jsp.Get_Messages
1030       (p_encoded  => FND_API.G_FALSE,
1031        p_msg_index => 1,
1032        p_msg_count => l_msg_count,
1033        p_msg_data  => nvl(l_msg_data,FND_API.g_MISS_CHAR),
1034        p_data      => l_data,
1035        p_msg_index_out => l_msg_index_out);
1036        x_msg_count := l_msg_count;
1037        x_msg_data  := l_msg_data;
1038   ELSE
1039     x_msg_count  := l_msg_count;
1040   END IF;
1041 
1042   IF l_msg_count > 0 THEN
1043     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1044     RAISE  FND_API.G_EXC_ERROR;
1045   END IF;
1046 */
1047 
1048 
1049   IF FND_API.TO_BOOLEAN(P_COMMIT)
1050     AND x_return_status = 'S'  THEN
1051     COMMIT WORK;
1052   END IF;
1053 
1054   EXCEPTION
1055     WHEN FND_API.G_EXC_UNEXPECTED_ERROR  THEN
1056       IF p_commit = FND_API.G_TRUE THEN
1057         ROLLBACK TO delete_row_ss;
1058       END IF;
1059       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1060     WHEN FND_API.G_EXC_ERROR THEN
1061       IF p_commit = FND_API.G_TRUE THEN
1062         ROLLBACK TO delete_row_ss;
1063       END IF;
1064       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1065     WHEN OTHERS THEN
1066       IF p_commit = FND_API.G_TRUE THEN
1067         ROLLBACK TO delete_row_ss;
1068       END IF;
1069       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1070 
1071 END Delete_Row_SS;
1072 
1073 
1074 
1075 --  API to delete a description based item requirements row (called from SS View Materials Page)
1076 --
1077 PROCEDURE Delete_Desc_Row_SS(
1078   p_api_version             IN    NUMBER,
1079   p_init_msg_list           IN    VARCHAR2,
1080   p_commit                  IN    VARCHAR2,
1081   p_validate_only           IN    VARCHAR2,
1082   p_record_version_number   IN    NUMBER,
1083   x_return_status           OUT NOCOPY  VARCHAR2,
1084   x_msg_count               OUT NOCOPY  NUMBER,
1085   x_msg_data                OUT NOCOPY  VARCHAR2,
1086   p_di_sequence_id	    IN 	  NUMBER,
1087   p_organization_id	    IN	  NUMBER,
1088   p_wip_entity_id	    IN	  NUMBER,
1089   p_operation_seq_num       IN    NUMBER) IS
1090 
1091   l_material        VARCHAR2(40);
1092   l_msg_count       NUMBER;
1093   l_msg_data        VARCHAR2(250);
1094   l_return_status   VARCHAR2(250);
1095   l_data            VARCHAR2(250);
1096   l_msg_index_out   NUMBER;
1097   l_quantity_issued NUMBER := 0;
1098   l_wip_entity_type  NUMBER;
1099   l_status_type      NUMBER;
1100   l_material_issue_by_mo  VARCHAR2(1);
1101 
1102     l_output_dir VARCHAR2(512);
1103 
1104      l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
1105      l_eam_mat_req_rec  EAM_PROCESS_WO_PUB.eam_mat_req_rec_type;
1106      l_eam_direct_item_rec EAM_PROCESS_WO_PUB.eam_direct_items_rec_type;
1107      l_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
1108      l_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
1109      l_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
1110      l_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
1111      l_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
1112      l_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
1113      l_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
1117      l_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
1114      l_eam_direct_items_tbl	EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
1115      l_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
1116      l_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
1118      l_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
1119      l_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
1120      l_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
1121      l_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
1122      l_eam_counter_prop_tbl     EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
1123 
1124    l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
1125    l_out_eam_op_tbl  EAM_PROCESS_WO_PUB.eam_op_tbl_type;
1126    l_out_eam_op_network_tbl  EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
1127    l_out_eam_res_tbl  EAM_PROCESS_WO_PUB.eam_res_tbl_type;
1128    l_out_eam_res_inst_tbl  EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
1129    l_out_eam_sub_res_tbl   EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
1130    l_out_eam_res_usage_tbl  EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
1131    l_out_eam_mat_req_tbl   EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
1132    l_out_eam_direct_items_tbl	EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
1133    l_out_eam_wo_comp_rec         EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
1134    l_out_eam_wo_quality_tbl      EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
1135    l_out_eam_meter_reading_tbl   EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
1136    l_out_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
1137    l_out_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
1138    l_out_eam_op_comp_tbl         EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
1139    l_out_eam_request_tbl         EAM_PROCESS_WO_PUB.eam_request_tbl_type;
1140    l_out_eam_counter_prop_tbl    EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
1141 
1142 BEGIN
1143 
1144   IF p_commit = FND_API.G_TRUE THEN
1145     SAVEPOINT delete_desc_row_ss;
1146   END IF;
1147 
1148   IF FND_API.TO_BOOLEAN(p_init_msg_list) THEN
1149     FND_MSG_PUB.initialize;
1150   END IF;
1151 
1152   x_return_status := FND_API.G_RET_STS_SUCCESS;
1153  EAM_WORKORDER_UTIL_PKG.log_path(l_output_dir);
1154 
1155 
1156     l_eam_direct_item_rec.transaction_type := EAM_PROCESS_WO_PUB.G_OPR_DELETE;
1157     l_eam_direct_item_rec.wip_entity_id := p_wip_entity_id;
1158     l_eam_direct_item_rec.organization_id := p_organization_id;
1159     l_eam_direct_item_rec.operation_seq_num := p_operation_seq_num;
1160     l_eam_direct_item_rec.direct_item_sequence_id := p_di_sequence_id;
1161 
1162     l_eam_direct_items_tbl(1) := l_eam_direct_item_rec;
1163 
1164      EAM_PROCESS_WO_PUB.Process_WO
1165   		         ( p_bo_identifier           => 'EAM'
1166   		         , p_init_msg_list           => TRUE
1167   		         , p_api_version_number      => 1.0
1168   		         , p_eam_wo_rec              => l_eam_wo_rec
1169   		         , p_eam_op_tbl              => l_eam_op_tbl
1170   		         , p_eam_op_network_tbl      => l_eam_op_network_tbl
1171   		         , p_eam_res_tbl             => l_eam_res_tbl
1172   		         , p_eam_res_inst_tbl        => l_eam_res_inst_tbl
1173   		         , p_eam_sub_res_tbl         => l_eam_sub_res_tbl
1174   		         , p_eam_res_usage_tbl       => l_eam_res_usage_tbl
1175   		         , p_eam_mat_req_tbl         => l_eam_mat_req_tbl
1176 			 , p_eam_direct_items_tbl    => l_eam_direct_items_tbl
1177 			 , p_eam_wo_comp_rec          => l_eam_wo_comp_rec
1178 			 , p_eam_wo_quality_tbl       => l_eam_wo_quality_tbl
1179 			 , p_eam_meter_reading_tbl    => l_eam_meter_reading_tbl
1180 			 , p_eam_counter_prop_tbl    => l_eam_counter_prop_tbl
1181 			 , p_eam_wo_comp_rebuild_tbl  => l_eam_wo_comp_rebuild_tbl
1182 			 , p_eam_wo_comp_mr_read_tbl  => l_eam_wo_comp_mr_read_tbl
1183 			 , p_eam_op_comp_tbl          => l_eam_op_comp_tbl
1184 			 , p_eam_request_tbl          => l_eam_request_tbl
1185   		         , x_eam_wo_rec              => l_out_eam_wo_rec
1186   		         , x_eam_op_tbl              => l_out_eam_op_tbl
1187   		         , x_eam_op_network_tbl      => l_out_eam_op_network_tbl
1188   		         , x_eam_res_tbl             => l_out_eam_res_tbl
1189   		         , x_eam_res_inst_tbl        => l_out_eam_res_inst_tbl
1190   		         , x_eam_sub_res_tbl         => l_out_eam_sub_res_tbl
1191   		         , x_eam_res_usage_tbl       => l_out_eam_res_usage_tbl
1192   		         , x_eam_mat_req_tbl         => l_out_eam_mat_req_tbl
1193 			 , x_eam_direct_items_tbl    => l_out_eam_direct_items_tbl
1194 			 , x_eam_wo_comp_rec          => l_out_eam_wo_comp_rec
1195 			 , x_eam_wo_quality_tbl       => l_out_eam_wo_quality_tbl
1196 			 , x_eam_meter_reading_tbl    => l_out_eam_meter_reading_tbl
1197 			 , x_eam_counter_prop_tbl    => l_out_eam_counter_prop_tbl
1198 			 , x_eam_wo_comp_rebuild_tbl  => l_out_eam_wo_comp_rebuild_tbl
1199 			 , x_eam_wo_comp_mr_read_tbl  => l_out_eam_wo_comp_mr_read_tbl
1200 			 , x_eam_op_comp_tbl          => l_out_eam_op_comp_tbl
1201 			 , x_eam_request_tbl          => l_out_eam_request_tbl
1202   		         , x_return_status           => x_return_status
1203   		         , x_msg_count               => x_msg_count
1204   		         , p_debug                   => NVL(fnd_profile.value('EAM_DEBUG'), 'N')
1205   		         , p_debug_filename          => 'deldiss.log'
1206   		         , p_output_dir              => l_output_dir
1207                        );
1208 
1209 
1210 
1211   IF FND_API.TO_BOOLEAN(P_COMMIT)
1212     AND x_return_status = 'S'  THEN
1213     COMMIT WORK;
1214   END IF;
1215 
1216   EXCEPTION
1217     WHEN FND_API.G_EXC_UNEXPECTED_ERROR  THEN
1218       IF p_commit = FND_API.G_TRUE THEN
1219         ROLLBACK TO delete_desc_row_ss;
1220       END IF;
1221       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1222     WHEN FND_API.G_EXC_ERROR THEN
1223       IF p_commit = FND_API.G_TRUE THEN
1224         ROLLBACK TO delete_desc_row_ss;
1228       IF p_commit = FND_API.G_TRUE THEN
1225       END IF;
1226       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1227     WHEN OTHERS THEN
1229         ROLLBACK TO delete_desc_row_ss;
1230       END IF;
1231       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1232 
1233 END Delete_Desc_Row_SS;
1234 
1235 
1236 
1237 
1238 
1239 END EAM_REQUIREMENTS_PKG;