[Home] [Help]
PACKAGE BODY: APPS.WMS_TXNREASONS_PUB
Source
1 PACKAGE BODY wms_txnreasons_pub as
2 /* $Header: WMSTXR3B.pls 120.1 2005/06/10 10:18:39 appldev $ */
3 g_pkg_name CONSTANT VARCHAR(30) := 'wms_txnreasons_pub';
4
5 -- to turn off debugger, comment out the line 'dbms_output.put_line(msg);'
6 PROCEDURE mdebug(msg in varchar2)
7 IS
8 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
9 BEGIN
10 --dbms_output.put_line(msg);
11 null;
12 END;
13
14 Procedure Start_Workflow(
15 P_REASON_ID IN NUMBER,
16 P_REASON_NAME IN VARCHAR2 DEFAULT NULL,
17 P_SOURCE_ORGANIZATION_ID IN NUMBER DEFAULT NULL,
18 P_DESTINATION_ORGANIZATION_ID IN NUMBER DEFAULT NULL,
19 P_LPN_ID IN NUMBER DEFAULT NULL,
20 P_INVENTORY_ITEM_ID IN NUMBER DEFAULT NULL,
21 P_REVISION IN VARCHAR2 DEFAULT NULL,
22 p_update_status_method IN VARCHAR2 DEFAULT NULL,
23 P_LOT_NUMBER IN VARCHAR2 DEFAULT NULL,
24 p_to_lot_number IN VARCHAR2 DEFAULT NULL,
25 P_LOT_STATUS IN VARCHAR2 DEFAULT NULL,
26 P_SUBLOT_NUMBER IN VARCHAR2 DEFAULT NULL,
27 P_SUBLOT_STATUS IN VARCHAR2 DEFAULT NULL,
28 P_SOURCE_SUBINVENTORY IN VARCHAR2 DEFAULT NULL,
29 P_SOURCE_SUBINVENTORY_STATUS IN VARCHAR2 DEFAULT NULL,
30 P_DESTINATION_SUBINVENTORY IN VARCHAR2 DEFAULT NULL,
31 P_DESTINATION_SUBINVENTORY_ST IN VARCHAR2 DEFAULT NULL,
32 P_SOURCE_LOCATOR IN NUMBER DEFAULT NULL,
33 P_SOURCE_LOCATOR_STATUS IN VARCHAR2 DEFAULT NULL,
34 P_DESTINATION_LOCATOR IN NUMBER DEFAULT NULL,
35 P_DESTINATION_LOCATOR_STATUS IN VARCHAR2 DEFAULT NULL,
36 P_SOURCE_IMMEDIATE_LPN_ID IN NUMBER DEFAULT NULL,
37 P_SOURCE_IMMEDIATE_LPN_STATUS IN VARCHAR2 DEFAULT NULL,
38 P_SOURCE_TOPLEVEL_LPN_ID IN NUMBER DEFAULT NULL,
39 P_SOURCE_TOPLEVEL_LPN_STATUS IN VARCHAR2 DEFAULT NULL,
40 P_DEST_IMMEDIATE_LPN_ID IN NUMBER DEFAULT NULL,
41 P_DEST_IMMEDIATE_LPN_STATUS IN VARCHAR2 DEFAULT NULL,
42 P_DEST_TOPLEVEL_LPN_ID IN NUMBER DEFAULT NULL,
43 P_DEST_TOPLEVEL_LPN_STATUS IN VARCHAR2 DEFAULT NULL,
44 P_SERIAL_NUMBER IN VARCHAR2 DEFAULT NULL,
45 p_to_serial_number IN VARCHAR2 DEFAULT NULL,
46 P_SERIAL_NUMBER_STATUS IN VARCHAR2 DEFAULT NULL,
47 P_PRIMARY_UOM IN VARCHAR2 DEFAULT NULL,
48 P_TRANSACTION_UOM IN VARCHAR2 DEFAULT NULL,
49 P_PRIMARY_QUANTITY IN NUMBER DEFAULT NULL,
50 P_TRANSACTION_QUANTITY IN NUMBER DEFAULT NULL,
51 P_TRANSACTION_ACTION_ID IN NUMBER DEFAULT NULL,
52 P_TRANSACTION_SOURCE_TYPE_ID IN NUMBER DEFAULT NULL,
53 P_TRANSACTION_SOURCE IN VARCHAR2 DEFAULT NULL,
54 P_PARENT_TRANSACTION_SOURCE IN VARCHAR2 DEFAULT NULL,
55 P_PARENT_TRANS_ACTION_ID IN NUMBER DEFAULT NULL,
56 P_PARENT_TRANS_SOURCE_TYPE_ID IN NUMBER DEFAULT NULL,
57 P_RESERVATION_ID IN NUMBER DEFAULT NULL,
58 P_EQUIPMENT_ID IN NUMBER DEFAULT NULL,
59 P_ROLE_ID IN NUMBER DEFAULT NULL,
60 P_EMPLOYEE_ID IN NUMBER DEFAULT NULL,
61 P_TASK_TYPE_ID IN NUMBER DEFAULT NULL,
62 P_TASK_ID IN NUMBER DEFAULT NULL,
63 P_CALLING_PROGRAM_NAME IN VARCHAR2 DEFAULT NULL,
64 P_EMAIL_ID IN VARCHAR2 DEFAULT NULL,
65 P_PROGRAM_NAME IN VARCHAR2 DEFAULT NULL,
66 P_RUN_MODE IN VARCHAR2 DEFAULT NULL,
67 P_INIT_MSG_LST IN VARCHAR2 DEFAULT fnd_api.g_false,
68 P_PROGRAM_CONTROL_ARG1 IN VARCHAR2 DEFAULT NULL,
69 P_PROGRAM_CONTROL_ARG2 IN VARCHAR2 DEFAULT NULL,
70 P_PROGRAM_CONTROL_ARG3 IN VARCHAR2 DEFAULT NULL,
71 P_PROGRAM_CONTROL_ARG4 IN VARCHAR2 DEFAULT NULL,
72 P_PROGRAM_CONTROL_ARG5 IN VARCHAR2 DEFAULT NULL,
73 P_PROGRAM_CONTROL_ARG6 IN VARCHAR2 DEFAULT NULL,
74 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
75 X_MSG_DATA OUT NOCOPY VARCHAR2,
76 X_MSG_COUNT OUT NOCOPY NUMBER,
77 X_REVISION OUT NOCOPY VARCHAR2,
78 X_LOT_NUMBER OUT NOCOPY VARCHAR2,
79 X_LOT_STATUS OUT NOCOPY VARCHAR2,
80 X_SUBLOT_NUMBER OUT NOCOPY VARCHAR2,
81 X_SUBLOT_STATUS OUT NOCOPY VARCHAR2,
82 X_LPN_ID OUT NOCOPY NUMBER,
83 X_LPN_STATUS OUT NOCOPY VARCHAR2,
84 X_UOM_CODE OUT NOCOPY VARCHAR2,
85 X_QUANTITY OUT NOCOPY NUMBER,
86 X_INVENTORY_ITEM_ID OUT NOCOPY NUMBER,
87 X_ORGANIZATION_ID OUT NOCOPY NUMBER,
88 X_SUBINVENTORY OUT NOCOPY VARCHAR2,
89 X_SUBINVENTORY_STATUS OUT NOCOPY VARCHAR2,
90 X_LOCATOR OUT NOCOPY NUMBER,
91 X_LOCATOR_STATUS OUT NOCOPY VARCHAR2,
92 X_PRIMARY_QUANTITY OUT NOCOPY NUMBER,
93 X_TRANSACTION_QUANTITY OUT NOCOPY NUMBER,
94 X_NEXT_FORM OUT NOCOPY VARCHAR2,
95 X_NEXT_MOBILE_FORM OUT NOCOPY VARCHAR2,
96 X_NEXT_PLSQL_PROGRAM OUT NOCOPY VARCHAR2,
97 X_RESERVATION_ID OUT NOCOPY NUMBER,
98 X_IS_RESERVATION_SUCCESSFUL OUT NOCOPY VARCHAR2,
99 X_IS_CYCLE_COUNT_SUCCESSFUL OUT NOCOPY VARCHAR2
100 ) IS
101
102 l_reason_name varchar2(250);
103 l_workflow_name varchar2(250);
104 l_workflow_process varchar2(250);
105 l_sequence_number number ;
106 l_item_key varchar2(500);
107
108 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
109 BEGIN
110 IF (l_debug = 1) THEN
111 mdebug('In Start_Workflow');
112 END IF;
113 -- make sure that reason name is not null
114 if (p_reason_id is null ) then
115 fnd_message.set_name('INV','INV_FIELD_INVALID');
116 fnd_msg_pub.ADD;
117 RAISE fnd_api.g_exc_error;
118 end if;
119
120 IF (l_debug = 1) THEN
121 mdebug('Before Select WORKFLOW_NAME, WORKFLOW_PROCESS ');
122 END IF;
123 -- get workflow_name and workflow_process from mtl_transaction_reasons.
124 -- This is needed to create the workflow process
125 SELECT WORKFLOW_NAME, WORKFLOW_PROCESS
126 INTO l_workflow_name, l_workflow_process
127 FROM MTL_TRANSACTION_REASONS
128 WHERE P_REASON_ID = REASON_ID ;
129
130 IF (l_debug = 1) THEN
131 mdebug('Workflow name is: '|| l_workflow_name);
132 mdebug('Workflow process: '|| l_workflow_process);
133 END IF;
134
135 -- generate item key using sequence number and concat with txnworkflow 'twflow'.
136 -- This is needed to create the workflow process
137 SELECT WMS_DISPATCHED_TASKS_S.nextval
138 INTO l_sequence_number
139 FROM DUAL ;
140 l_item_key := 'twflow' || l_sequence_number ;
141
142 IF (l_debug = 1) THEN
143 mdebug('Item key is: '|| l_item_key);
144 END IF;
145
146 -- initialize workflow
147 wf_engine.CreateProcess(itemtype => l_workflow_name,
148 itemkey => l_item_key,
149 process => l_workflow_process);
150
151 -- set the attribute values of workflow with the given input parameters
152 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
153 itemkey => l_item_key,
154 aname => 'PW_REASON_ID',
155 avalue => P_REASON_ID);
156
157 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
158 itemkey => l_item_key,
159 aname => 'PW_REASON_NAME',
160 avalue => P_REASON_NAME);
161
162 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
163 itemkey => l_item_key,
164 aname => 'PW_SOURCE_ORGANIZATION_ID',
165 avalue => P_SOURCE_ORGANIZATION_ID);
166
167 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
168 itemkey => l_item_key,
169 aname => 'PW_DESTINATION_ORGANIZATION_ID',
170 avalue => P_DESTINATION_ORGANIZATION_ID);
171
172 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
173 itemkey => l_item_key,
174 aname => 'PW_LPN_ID',
175 avalue => P_LPN_ID);
176
177 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
178 itemkey => l_item_key,
179 aname => 'PW_INVENTORY_ITEM_ID',
180 avalue => P_INVENTORY_ITEM_ID);
181
182 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
183 itemkey => l_item_key,
184 aname => 'PW_REVISION',
185 avalue => P_REVISION);
186
187 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
188 itemkey => l_item_key,
189 aname => 'PW_UPDATE_STATUS_METHOD',
190 avalue => P_UPDATE_STATUS_METHOD);
191
192
193 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
194 itemkey => l_item_key,
195 aname => 'PW_LOT_NUMBER',
196 avalue => P_LOT_NUMBER);
197
198 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
199 itemkey => l_item_key,
200 aname => 'PW_TO_LOT_NUMBER',
201 avalue => P_TO_LOT_NUMBER);
202
203
204 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
205 itemkey => l_item_key,
206 aname => 'PW_LOT_STATUS',
207 avalue => P_LOT_STATUS);
208
209 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
210 itemkey => l_item_key,
211 aname => 'PW_SUBLOT_NUMBER',
212 avalue => P_SUBLOT_NUMBER);
213
214 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
215 itemkey => l_item_key,
216 aname => 'PW_SUBLOT_STATUS',
217 avalue => P_SUBLOT_STATUS);
218
219 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
220 itemkey => l_item_key,
221 aname => 'PW_SOURCE_SUBINVENTORY',
222 avalue => P_SOURCE_SUBINVENTORY);
223
224 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
225 itemkey => l_item_key,
226 aname => 'PW_SOURCE_SUBINVENTORY_STATUS',
227 avalue => P_SOURCE_SUBINVENTORY_STATUS);
228
229 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
230 itemkey => l_item_key,
231 aname => 'PW_DESTINATION_SUBINVENTORY',
232 avalue => P_DESTINATION_SUBINVENTORY);
233
234 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
235 itemkey => l_item_key,
236 aname => 'PW_DESTINATION_SUBINVENTORY_ST',
237 avalue => P_DESTINATION_SUBINVENTORY_ST);
238
239 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
240 itemkey => l_item_key,
241 aname => 'PW_SOURCE_LOCATOR',
242 avalue => P_SOURCE_LOCATOR);
243
244 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
245 itemkey => l_item_key,
246 aname => 'PW_SOURCE_LOCATOR_STATUS',
247 avalue => P_SOURCE_LOCATOR);
248
249 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
250 itemkey => l_item_key,
251 aname => 'PW_DESTINATION_LOCATOR',
252 avalue => P_DESTINATION_LOCATOR);
253
254 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
255 itemkey => l_item_key,
256 aname => 'PW_DESTINATION_LOCATOR_STATUS',
257 avalue => P_DESTINATION_LOCATOR_STATUS);
258
259 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
260 itemkey => l_item_key,
261 aname => 'PW_SOURCE_IMMEDIATE_LPN_ID',
262 avalue => P_SOURCE_IMMEDIATE_LPN_ID);
263
264 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
265 itemkey => l_item_key,
266 aname => 'PW_SOURCE_IMMEDIATE_LPN_STATUS',
267 avalue => P_SOURCE_IMMEDIATE_LPN_STATUS);
268
269 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
270 itemkey => l_item_key,
271 aname => 'PW_SOURCE_TOPLEVEL_LPN_ID',
272 avalue => P_SOURCE_TOPLEVEL_LPN_ID);
273
274 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
275 itemkey => l_item_key,
276 aname => 'PW_SOURCE_TOPLEVEL_LPN_STATUS',
277 avalue => P_SOURCE_TOPLEVEL_LPN_STATUS);
278
279 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
280 itemkey => l_item_key,
281 aname => 'PW_DEST_IMMEDIATE_LPN_ID',
282 avalue => P_DEST_IMMEDIATE_LPN_ID);
283
284 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
285 itemkey => l_item_key,
286 aname => 'PW_DEST_IMMEDIATE_LPN_STATUS',
287 avalue => P_DEST_IMMEDIATE_LPN_STATUS);
288
289 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
290 itemkey => l_item_key,
291 aname => 'PW_DEST_TOPLEVEL_LPN_ID',
292 avalue => P_DEST_TOPLEVEL_LPN_ID);
293
294 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
295 itemkey => l_item_key,
296 aname => 'PW_DEST_TOPLEVEL_LPN_STATUS',
297 avalue => P_DEST_TOPLEVEL_LPN_STATUS);
298
299 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
300 itemkey => l_item_key,
301 aname => 'PW_SERIAL_NUMBER',
302 avalue => P_SERIAL_NUMBER);
303
304 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
305 itemkey => l_item_key,
306 aname => 'PW_TO_SERIAL_NUMBER',
307 avalue => P_TO_SERIAL_NUMBER);
308
309
310 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
311 itemkey => l_item_key,
312 aname => 'PW_SERIAL_NUMBER_STATUS',
313 avalue => P_SERIAL_NUMBER_STATUS);
314
315 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
316 itemkey => l_item_key,
317 aname => 'PW_PRIMARY_UOM',
318 avalue => P_PRIMARY_UOM);
319
320 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
321 itemkey => l_item_key,
322 aname => 'PW_TRANSACTION_UOM',
323 avalue => P_TRANSACTION_UOM);
324
325 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
326 itemkey => l_item_key,
327 aname => 'PW_PRIMARY_QUANTITY',
328 avalue => P_PRIMARY_QUANTITY);
329
330 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
331 itemkey => l_item_key,
332 aname => 'PW_TRANSACTION_QUANTITY',
333 avalue => P_TRANSACTION_QUANTITY);
334
335 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
336 itemkey => l_item_key,
337 aname => 'PW_TRANSACTION_ACTION_ID',
338 avalue => P_TRANSACTION_ACTION_ID);
339
340 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
341 itemkey => l_item_key,
342 aname => 'PW_TRANSACTION_SOURCE_TYPE_ID',
343 avalue => P_TRANSACTION_SOURCE_TYPE_ID);
344
345 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
346 itemkey => l_item_key,
347 aname => 'PW_TRANSACTION_SOURCE',
348 avalue => P_TRANSACTION_SOURCE);
349
350 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
351 itemkey => l_item_key,
352 aname => 'PW_PARENT_TRANSACTION_SOURCE',
353 avalue => P_PARENT_TRANSACTION_SOURCE);
354
355 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
356 itemkey => l_item_key,
357 aname => 'PW_PARENT_TRANS_ACTION_ID',
358 avalue => P_PARENT_TRANS_ACTION_ID);
359
360 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
361 itemkey => l_item_key,
362 aname => 'PW_PARENT_TRANS_SOURCE_TYPE_ID',
363 avalue => P_PARENT_TRANS_SOURCE_TYPE_ID);
364
365 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
366 itemkey => l_item_key,
367 aname => 'PW_RESERVATION_ID',
368 avalue => P_RESERVATION_ID);
369
370 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
371 itemkey => l_item_key,
372 aname => 'PW_EQUIPMENT_ID',
373 avalue => P_EQUIPMENT_ID);
374
375 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
376 itemkey => l_item_key,
377 aname => 'PW_ROLE_ID',
378 avalue => P_ROLE_ID);
379
380 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
381 itemkey => l_item_key,
382 aname => 'PW_EMPLOYEE_ID',
383 avalue => P_EMPLOYEE_ID);
384
385 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
386 itemkey => l_item_key,
387 aname => 'PW_TASK_TYPE_ID',
388 avalue => P_TASK_TYPE_ID);
389
390 wf_engine.SetItemAttrNumber(itemtype => l_workflow_name,
391 itemkey => l_item_key,
392 aname => 'PW_TASK_ID',
393 avalue => P_TASK_ID);
394
395 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
396 itemkey => l_item_key,
397 aname => 'PW_CALLING_PROGRAM_NAME',
401 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
398 avalue => P_CALLING_PROGRAM_NAME);
399
400
402 itemkey => l_item_key,
403 aname => 'PW_EMAIL_ID',
404 avalue => P_EMAIL_ID);
405
406 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
407 itemkey => l_item_key,
408 aname => 'PW_PROGRAM_NAME',
409 avalue => P_PROGRAM_NAME);
410
411 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
412 itemkey => l_item_key,
413 aname => 'PW_RUN_MODE',
414 avalue => P_RUN_MODE);
415
416 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
417 itemkey => l_item_key,
418 aname => 'PW_INIT_MSG_LST',
419 avalue => P_INIT_MSG_LST);
420
421 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
422 itemkey => l_item_key,
423 aname => 'PW_PROGRAM_CONTROL_ARG1',
424 avalue => P_PROGRAM_CONTROL_ARG1);
425
426 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
427 itemkey => l_item_key,
428 aname => 'PW_PROGRAM_CONTROL_ARG2',
429 avalue => P_PROGRAM_CONTROL_ARG2);
430
431 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
432 itemkey => l_item_key,
433 aname => 'PW_PROGRAM_CONTROL_ARG3',
434 avalue => P_PROGRAM_CONTROL_ARG3);
435
436 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
437 itemkey => l_item_key,
438 aname => 'PW_PROGRAM_CONTROL_ARG4',
439 avalue => P_PROGRAM_CONTROL_ARG4);
440
441 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
442 itemkey => l_item_key,
443 aname => 'PW_PROGRAM_CONTROL_ARG5',
444 avalue => P_PROGRAM_CONTROL_ARG5);
445
446 wf_engine.SetItemAttrText(itemtype => l_workflow_name,
447 itemkey => l_item_key,
448 aname => 'PW_PROGRAM_CONTROL_ARG6',
449 avalue => P_PROGRAM_CONTROL_ARG6);
450
451
452 -- start workflow
453 IF (l_debug = 1) THEN
454 mdebug('Before Start Process of: ' || l_workflow_name);
455 END IF;
456 wf_engine.StartProcess (itemtype => l_workflow_name,
457 itemkey => l_item_key);
458
459 -- on completion of the workflow, the output parameters are populated with the
460 -- workflow attribute values
461 X_RETURN_STATUS := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
462 itemkey => l_item_key,
463 aname => 'XW_RETURN_STATUS');
464
465 X_MSG_DATA := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
466 itemkey => l_item_key,
467 aname => 'XW_MSG_DATA');
468
469 X_MSG_COUNT := wf_engine.GetItemAttrNumber(itemtype => l_workflow_name,
470 itemkey => l_item_key,
471 aname => 'XW_MSG_COUNT');
472
473 X_REVISION := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
474 itemkey => l_item_key,
475 aname => 'XW_REVISION');
476
477 X_LOT_NUMBER := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
478 itemkey => l_item_key,
479 aname => 'XW_LOT_NUMBER');
480
481 X_LOT_STATUS := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
482 itemkey => l_item_key,
483 aname => 'XW_LOT_STATUS');
484
485 X_SUBLOT_NUMBER := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
486 itemkey => l_item_key,
487 aname => 'XW_SUBLOT_NUMBER');
488
489 X_SUBLOT_STATUS := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
490 itemkey => l_item_key,
491 aname => 'XW_SUBLOT_STATUS');
492
493 X_LPN_ID := wf_engine.GetItemAttrNumber(itemtype => l_workflow_name,
494 itemkey => l_item_key,
495 aname => 'XW_LPN_ID');
496
497 X_LPN_STATUS := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
498 itemkey => l_item_key,
499 aname => 'XW_LPN_STATUS');
500
501 X_UOM_CODE := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
502 itemkey => l_item_key,
503 aname => 'XW_UOM_CODE');
504
505 X_QUANTITY := wf_engine.GetItemAttrNumber(itemtype => l_workflow_name,
506 itemkey => l_item_key,
507 aname => 'XW_QUANTITY');
508
509 X_INVENTORY_ITEM_ID:=wf_engine.GetItemAttrNumber(itemtype=> l_workflow_name,
510 itemkey => l_item_key,
511 aname => 'XW_INVENTORY_ITEM_ID');
512
513 X_ORGANIZATION_ID:= wf_engine.GetItemAttrNumber(itemtype=> l_workflow_name,
514 itemkey => l_item_key,
515 aname => 'XW_ORGANIZATION_ID');
516
517 X_SUBINVENTORY := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
518 itemkey => l_item_key,
519 aname => 'XW_SUBINVENTORY');
520
521 X_SUBINVENTORY_STATUS:=wf_engine.GetItemAttrText(itemtype=> l_workflow_name,
522 itemkey => l_item_key,
523 aname => 'XW_SUBINVENTORY_STATUS');
524
525 X_LOCATOR := wf_engine.GetItemAttrNumber(itemtype => l_workflow_name,
526 itemkey => l_item_key,
527 aname => 'XW_LOCATOR');
528
529 X_LOCATOR_STATUS:= wf_engine.GetItemAttrText(itemtype => l_workflow_name,
530 itemkey => l_item_key,
531 aname => 'XW_LOCATOR_STATUS');
532
533 X_PRIMARY_QUANTITY:=wf_engine.GetItemAttrNumber(itemtype=> l_workflow_name,
534 itemkey => l_item_key,
535 aname => 'XW_PRIMARY_QUANTITY');
536
537 X_TRANSACTION_QUANTITY:=wf_engine.GetItemAttrNumber(itemtype=> l_workflow_name,
538 itemkey => l_item_key,
539 aname => 'XW_TRANSACTION_QUANTITY');
540
541 X_NEXT_FORM := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
542 itemkey => l_item_key,
543 aname => 'XW_NEXT_FORM');
544
545 X_NEXT_MOBILE_FORM := wf_engine.GetItemAttrText(itemtype=> l_workflow_name,
546 itemkey => l_item_key,
547 aname => 'XW_NEXT_MOBILE_FORM');
548
549 X_NEXT_PLSQL_PROGRAM := wf_engine.GetItemAttrText(itemtype => l_workflow_name,
550 itemkey => l_item_key,
551 aname => 'XW_NEXT_PLSQL_PROGRAM');
552
553 X_RESERVATION_ID := wf_engine.GetItemAttrText(itemtype=> l_workflow_name,
554 itemkey => l_item_key,
555 aname => 'XW_RESERVATION_ID');
556
557 X_IS_RESERVATION_SUCCESSFUL:= wf_engine.GetItemAttrText(itemtype=>l_workflow_name,
558 itemkey =>l_item_key,
559 aname =>'XW_IS_RESERVATION_SUCCESSFUL');
560
561 X_IS_CYCLE_COUNT_SUCCESSFUL:= wf_engine.GetItemAttrText(itemtype=>l_workflow_name,
562 itemkey =>l_item_key,
563 aname =>'XW_IS_CYCLE_COUNT_SUCCESSFUL');
564
565 EXCEPTION
566
567 WHEN fnd_api.g_exc_error THEN
568 x_return_status := fnd_api.g_ret_sts_error;
569 fnd_msg_pub.count_and_get
570 ( p_count => x_msg_count,
571 p_data => x_msg_data
572 );
573
574 WHEN fnd_api.g_exc_unexpected_error THEN
575 x_return_status := fnd_api.g_ret_sts_unexp_error ;
576 fnd_msg_pub.count_and_get
577 ( p_count => x_msg_count,
578 p_data => x_msg_data
579 );
580
581 WHEN NO_DATA_FOUND THEN
582 x_return_status := fnd_api.g_ret_sts_error;
583 fnd_message.set_name('INV','INV_INT_REACODE');
584 fnd_msg_pub.ADD;
585
586 WHEN OTHERS THEN
587 x_return_status := fnd_api.g_ret_sts_unexp_error;
588 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error)
589 THEN
590 fnd_msg_pub.add_exc_msg
591 ( g_pkg_name
592 , 'Start_Workflow'
593 );
594 END IF;
595 fnd_msg_pub.count_and_get
596 ( p_count => x_msg_count,
597 p_data => x_msg_data
598 );
599
600 END Start_workflow ;
601
602 END wms_txnreasons_pub ;