1 PACKAGE wms_device_confirmation_pub AUTHID CURRENT_USER AS
2 /* $Header: WMSDEVCS.pls 120.4.12010000.1 2008/07/28 18:33:14 appldev ship $ */
3 /*#
4 * This procedure handles the response call for device confirmation
5 * functionality in WMS
6 * @rep:scope public
7 * @rep:product WMS
8 * @rep:lifecycle active
9 * @rep:displayname Device Confirmation for WMS
10 * @rep:category BUSINESS_ENTITY WMS_DEVICE_CONFIRMATION_PUB
11 */
12
13 --Assumption :
14 --1-This API will be called for single delivery_lines in a batch
15 --2-Device-integration should be enabled at the time of pick-release and details
16 --should be present in the device-history table before a transaction can be
17 --transacted/confirmed by this API
18
19 -- This is the API which need to be called for device confimation
20 -- It takes all records from wms_device_requests (WDR) temporary table for device_confimation
21 -- business_event_id = 54, 56 and device_status = 'S',process them and
22 -- finally transfer them to wms_device_requests_hist (WDRH)table.
23 -- If any records fails, it ransfers it to WDRH with STATUS_CODE = 'E' and
24 -- appropriate error message and proceed to the next one
25 -- If all suggested items are being picked, there is no need to pass
26 -- the information about child records having lot information but if there
27 -- IS quantity discrepancy and the user picks less than suggested, then all
28 -- information about lot need TO be passed in child record.
29
30 --What is supported:
31 --1- Operations supported are 'load' TASK (ID= 56) OR load_and_drop (ID=54)
32 --2- Plain item and Lot items are supported. Serial-controlled items not supported
33 --3- Picking loose is supported into Xfer_lpn
34 --4- Exact match of LPN containing normal items or Lot controlled item
35 --5- If LPN other than allocated, it should be picked from the same locator.
36 --6- No Lot Substitution is allowed at the time of pick-confirm
37 --7- If one original allocation (MMTT) is being satisfied by material residing in
38 --multiple LPNs, then the original allocation (MMTT) needs to be split and
39 --quantity proportionately split across the new allocation lines corresponding to
40 --the quantity present in the LPN before invoking this API. If the split lines are
41 --not present at the time the API is called, then the remaining quantity will be
42 --backordered.
43
44
45
46 --fields that can be changed (other than suggested one):
47 -- transaction_quantity, Xfer_sub, Xfer_loc, Xfer_lpn_id,REASON_ID (in case of discrepancy only)
48 -- reason_id is used to fire appropriate work flow
49
50 --MANDATORY FIELDS to be populated in WDR before calling this api:-
51 -- RELATION_ID, TASK_ID, ORG_ID, BUSINESS_EVENT_ID,
52 -- TASK_SUMMARY, DEVICE_STATUS,XFER_LPN_ID,
53 --Input Parameters:
54 -- None
55 --Output Parameters:
56 -- x_return_status : Status of the API
57 -- x_msg_count : message count
58 -- x_msg_data : Status message
59 -- x_successful_row_cnt : # of successful rows after processing
60
61 /*#
62 *
63 * This is the procedure should be called for device confirmation.
64 * It takes all records from wms_device_requests (WDR) temporary table for
65 * device_confimation
66 * business_event_id = 54, 56 and device_status = 'S', processes them and
67 * finally transfers them to the wms_device_requests_hist (WDRH)table.
68 * If any records fail, it transfers them to WDRH with STATUS_CODE = 'E' and
69 * populates the appropriate error message and proceeds to the next record
70 * for processing. If all suggested items are being picked, there is no need
71 * to pass the information about child records having lot information but if
72 * there is quantity discrepancy and the user picks less than suggested, then
73 * all information about lot need TO be passed in child record.
74 *
75 * This procedure should be called for single delivery_lines in a batch.
76 *
77 * What is supported:
78 * -1- Operations supported are 'load' TASK (ID= 56) OR load_and_drop (ID=54
79 * -2- Plain item and Lot items are supported. Serial-controlled items not supported
80 * -3- Picking loose is supported into Xfer_lpn
81 * -4- Exact match of LPN containing normal items or Lot controlled item
82 * -5- If LPN other than allocated, it should be picked from the same locator.
83 * -6- No Lot Substitution is allowed at the time of pick-confirm
84 * -7- If one original allocation (MMTT) is being satisfied by material residing in
85 * multiple LPNs, then the original allocation (MMTT) needs to be split and
86 * quantity proportionately split across the new allocation lines corresponding to
87 * the quantity present in the LPN before invoking this API. If the split lines are
88 * not present at the time the API is called, then the remaining quantity
89 * will be backordered.
90 *
91 * Fields that can be changed (other than suggested one):
92 * transaction_quantity, Xfer_sub, Xfer_loc, Xfer_lpn_id,REASON_ID (in case of discrepancies only)
93 * reason_id is used to fire appropriate work flow
94 *
95 * MANDATORY FIELDS to be populated in WDR before calling this api:-
96 * RELATION_ID, TASK_ID, ORG_ID, BUSINESS_EVENT_ID,
97 * TASK_SUMMARY, DEVICE_STATUS,XFER_LPN_ID,
98 *
99 * @ param x_return_status Status of request. ( S = Success, E = Error)
100 * @ paraminfo {@rep:required}
101 * @ param x_msg_count message count
102 * @ paraminfo {@rep:required}
103 * @ param x_msg_data Status message
104 * @ paraminfo {@rep:required}
105 * @ param p_request_id Request id for resubmitted records
106 * @ paraminfo {@rep:required}
107 * @ param x_successful_row_cnt number of successful rows after processing
108 * @ paraminfo {@rep:required}
109 * @rep:scope public
110 * @rep:lifecycle active
111 * @rep:displayname Processes requests from devices defined in WMS
112 * @rep:businessevent device_confirmation
113 */
114 PROCEDURE device_confirmation(
115 x_return_status OUT NOCOPY VARCHAR2
116 ,x_msg_count OUT NOCOPY NUMBER
117 ,x_msg_data OUT NOCOPY VARCHAR2
118 ,p_request_id IN NUMBER DEFAULT NULL
119 ,x_successful_row_cnt OUT nocopy number
120 );
121
122
123 END WMS_DEVICE_CONFIRMATION_PUB;