[Home] [Help]
PACKAGE BODY: APPS.WSH_PICKING_BATCHES_PUB
Source
1 PACKAGE BODY WSH_PICKING_BATCHES_PUB AS
2 /* $Header: WSHPRPBB.pls 120.5 2010/05/14 10:01:58 sunilku ship $ */
3
4 --
5 -- Package Variables
6 --
7 --===================
8 -- CONSTANTS
9 --===================
10 --
11 G_PKG_NAME CONSTANT VARCHAR2(50) := 'WSH_PICKING_BATCHES_PUB';
12 -- add your constants here if any
13 --
14 --
15 --===================
16 -- PROCEDURES
17 --===================
18
19 --===================================================================================================
20 -- Start of comments
21 --
22 -- API Name : Create_Batch
23 -- Type : Public
24 -- Purpose
25 -- Pre-reqs : None.
26 -- Function : The procedure takes in a rule_id / rule_name and brings up the default
27 -- values for a new batch to be created.
28 -- It then uses the information in the in parameter p_batch_rec and replaces the
29 -- values it picked up from the rule with the not null members of p_batch_rec
30 -- It then creates a new batch_id and inserts a new batch in the picking batch table
31 -- It will do some basic validations on the the input parameters
32
33 --
34 -- PARAMETERS : p_api_version_number known api version number
35 -- p_init_msg_list FND_API.G_TRUE to reset list
36 -- p_commit FND_API.G_TRUE to perform a commit
37 -- x_return_status return status
38 -- x_msg_count number of messages in the list
39 -- x_msg_data text of messages
40 -- p_rule_id Pick Release Rule Id --For Defaulting purpose
41 -- p_rule_name Pick Release Rule Name --For Defaulting purpose
42 -- p_batch_rec which contains all the Picking Batch parameters.
43 -- p_batch_prefix Which used to prefix for the Batch Name
44 -- i.e, Batch_Name becomes p_batch_prefix-batch_id
45 -- x_batch_id Returns the batch Id created
46 -- VERSION : current version 1.0
47 -- initial version 1.0
48 -- End of comments
49 --===================================================================================================
50
51 PROCEDURE Create_Batch (
52 -- Standard parameters
53 p_api_version IN NUMBER,
54 p_init_msg_list IN VARCHAR2 DEFAULT NULL,
55 p_commit IN VARCHAR2 DEFAULT NULL,
56 x_return_status OUT NOCOPY VARCHAR2,
57 x_msg_count OUT NOCOPY NUMBER,
58 x_msg_data OUT NOCOPY VARCHAR2,
59
60 -- program specific paramters.
61 p_rule_id IN NUMBER DEFAULT NULL,
62 p_rule_name IN VARCHAR2 DEFAULT NULL,
63 p_batch_rec IN WSH_PICKING_BATCHES_PUB.Batch_Info_Rec ,
64 p_batch_prefix IN VARCHAR2 DEFAULT NULL ,
65 x_batch_id OUT NOCOPY NUMBER
66
67 ) IS
68
69
70
71 l_api_version CONSTANT NUMBER := 1.0;
72 l_api_name CONSTANT VARCHAR2(30):= 'WSH_PICKING_BATCHES_PUB';
73
74 l_return_status VARCHAR2(30) := NULL;
75 l_msg_count NUMBER;
76 l_msg_data VARCHAR2(32767);
77 l_number_of_errors NUMBER := 0;
78 l_number_of_warnings NUMBER := 0;
79
80 l_rule_id NUMBER;
81 l_rule_name VARCHAR2(150);
82 l_batch_rec WSH_PICKING_BATCHES_PUB.Batch_Info_Rec;
83 l_batch_prefix VARCHAR2(30);
84 l_batch_id NUMBER;
85
86 l_debug_on BOOLEAN;
87 --
88 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'CREATE_BATCH';
89 --
90
91 BEGIN
92
93 --
94 -- Debug Statements
95 --
96 --
97 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
98 --
99 IF l_debug_on IS NULL THEN
100 --{
101 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
102 --}
103 END IF;
104 --
105 SAVEPOINT PICKING_BATCH_PUB;
106 IF l_debug_on THEN
107 --{
108 WSH_DEBUG_SV.push(l_module_name);
109 --
110 WSH_DEBUG_SV.logmsg(l_module_name,'CREATE_BATCH BEING CALLED WITH FOLLOWING PARAMETERS');
111 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
112 WSH_DEBUG_SV.log(l_module_name,'P_API_VERSION',P_API_VERSION);
113 WSH_DEBUG_SV.log(l_module_name,'P_INIT_MSG_LIST',P_INIT_MSG_LIST);
114 WSH_DEBUG_SV.log(l_module_name,'P_COMMIT',P_COMMIT);
115 WSH_DEBUG_SV.log(l_module_name,'P_RULE_ID',P_RULE_ID);
116 WSH_DEBUG_SV.log(l_module_name,'P_RULE_NAME',P_RULE_NAME);
117 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_PREFIX',P_BATCH_PREFIX);
118 WSH_DEBUG_SV.log(l_module_name,'P_BACKORDERS_ONLY_FLAG',P_BATCH_REC.BACKORDERS_ONLY_FLAG);
119 WSH_DEBUG_SV.log(l_module_name,'P_DOCUMENT_SET_ID',P_BATCH_REC.DOCUMENT_SET_ID);
120 WSH_DEBUG_SV.log(l_module_name,'P_DOCUMENT_SET_NAME',P_BATCH_REC.DOCUMENT_SET_NAME);
121 WSH_DEBUG_SV.log(l_module_name,'P_EXISTING_RSVS_ONLY_FLAG',P_BATCH_REC.EXISTING_RSVS_ONLY_FLAG);
122 WSH_DEBUG_SV.log(l_module_name,'P_SHIPMENT_PRIORITY_CODE',P_BATCH_REC.SHIPMENT_PRIORITY_CODE);
123 WSH_DEBUG_SV.log(l_module_name,'P_SHIP_METHOD_CODE',P_BATCH_REC.SHIP_METHOD_CODE);
124 WSH_DEBUG_SV.log(l_module_name,'P_SHIP_METHOD_NAME',P_BATCH_REC.SHIP_METHOD_NAME);
125 WSH_DEBUG_SV.log(l_module_name,'P_CUSTOMER_ID',P_BATCH_REC.CUSTOMER_ID);
126 WSH_DEBUG_SV.log(l_module_name,'P_CUSTOMER_NUMBER',P_BATCH_REC.CUSTOMER_NUMBER);
127 WSH_DEBUG_SV.log(l_module_name,'P_ORDER_HEADER_ID',P_BATCH_REC.ORDER_HEADER_ID);
128 WSH_DEBUG_SV.log(l_module_name,'P_ORDER_NUMBER',P_BATCH_REC.ORDER_NUMBER);
129 WSH_DEBUG_SV.log(l_module_name,'P_SHIP_SET_ID',P_BATCH_REC.SHIP_SET_ID);
130 WSH_DEBUG_SV.log(l_module_name,'P_SHIP_SET_NUMBER',P_BATCH_REC.SHIP_SET_NUMBER);
131 WSH_DEBUG_SV.log(l_module_name,'P_INVENTORY_ITEM_ID',P_BATCH_REC.INVENTORY_ITEM_ID);
132 WSH_DEBUG_SV.log(l_module_name,'P_ORDER_TYPE_ID',P_BATCH_REC.ORDER_TYPE_ID);
133 WSH_DEBUG_SV.log(l_module_name,'P_ORDER_TYPE_NAME',P_BATCH_REC.ORDER_TYPE_NAME);
134 WSH_DEBUG_SV.log(l_module_name,'P_FROM_REQUESTED_DATE',P_BATCH_REC.FROM_REQUESTED_DATE);
135 WSH_DEBUG_SV.log(l_module_name,'P_TO_REQUESTED_DATE',P_BATCH_REC.TO_REQUESTED_DATE);
136 WSH_DEBUG_SV.log(l_module_name,'P_FROM_SCHEDULED_SHIP_DATE',P_BATCH_REC.FROM_SCHEDULED_SHIP_DATE);
137 WSH_DEBUG_SV.log(l_module_name,'P_TO_SCHEDULED_SHIP_DATE',P_BATCH_REC.TO_SCHEDULED_SHIP_DATE);
138 WSH_DEBUG_SV.log(l_module_name,'P_SHIP_TO_LOCATION_ID',P_BATCH_REC.SHIP_TO_LOCATION_ID);
139 WSH_DEBUG_SV.log(l_module_name,'P_SHIP_FROM_LOCATION_ID',P_BATCH_REC.SHIP_FROM_LOCATION_ID);
140 WSH_DEBUG_SV.log(l_module_name,'P_TRIP_ID',P_BATCH_REC.TRIP_ID);
141 WSH_DEBUG_SV.log(l_module_name,'P_TRIP_NAME',P_BATCH_REC.TRIP_NAME);
142 WSH_DEBUG_SV.log(l_module_name,'P_DELIVERY_ID',P_BATCH_REC.DELIVERY_ID);
143 WSH_DEBUG_SV.log(l_module_name,'P_DELIVERY_NAME',P_BATCH_REC.DELIVERY_NAME);
144 WSH_DEBUG_SV.log(l_module_name,'P_INCLUDE_PLANNED_LINES',P_BATCH_REC.INCLUDE_PLANNED_LINES);
145 WSH_DEBUG_SV.log(l_module_name,'P_PICK_GROUPING_RULE_ID',P_BATCH_REC.PICK_GROUPING_RULE_ID);
146 WSH_DEBUG_SV.log(l_module_name,'P_PICK_GROUPING_RULE_NAME',P_BATCH_REC.PICK_GROUPING_RULE_NAME);
147 WSH_DEBUG_SV.log(l_module_name,'P_PICK_SEQUENCE_RULE_ID',P_BATCH_REC.PICK_SEQUENCE_RULE_ID);
148 WSH_DEBUG_SV.log(l_module_name,'P_PICK_SEQUENCE_RULE_NAME',P_BATCH_REC.PICK_SEQUENCE_RULE_NAME);
149 WSH_DEBUG_SV.log(l_module_name,'P_AUTOCREATE_DELIVERY_FLAG',P_BATCH_REC.AUTOCREATE_DELIVERY_FLAG);
150 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE_CATEGORY',P_BATCH_REC.ATTRIBUTE_CATEGORY);
151 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE1',P_BATCH_REC.ATTRIBUTE1);
152 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE2',P_BATCH_REC.ATTRIBUTE2);
153 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE3',P_BATCH_REC.ATTRIBUTE3);
154 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE4',P_BATCH_REC.ATTRIBUTE4);
155 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE5',P_BATCH_REC.ATTRIBUTE5);
156 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE6',P_BATCH_REC.ATTRIBUTE6);
157 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE7',P_BATCH_REC.ATTRIBUTE7);
158 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE8',P_BATCH_REC.ATTRIBUTE8);
159 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE9',P_BATCH_REC.ATTRIBUTE9);
160 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE10',P_BATCH_REC.ATTRIBUTE10);
161 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE11',P_BATCH_REC.ATTRIBUTE11);
162 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE12',P_BATCH_REC.ATTRIBUTE12);
163 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE13',P_BATCH_REC.ATTRIBUTE13);
164 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE14',P_BATCH_REC.ATTRIBUTE14);
165 WSH_DEBUG_SV.log(l_module_name,'P_ATTRIBUTE15',P_BATCH_REC.ATTRIBUTE15);
166 WSH_DEBUG_SV.log(l_module_name,'P_AUTODETAIL_PR_FLAG',P_BATCH_REC.AUTODETAIL_PR_FLAG);
167 -- Bug#: 3266659 - Removing carrier params
168 -- WSH_DEBUG_SV.log(l_module_name,'P_CARRIER_ID',P_BATCH_REC.CARRIER_ID);
169 -- WSH_DEBUG_SV.log(l_module_name,'P_CARRIER_NAME',P_BATCH_REC.CARRIER_NAME);
170 WSH_DEBUG_SV.log(l_module_name,'P_STOP_ID',P_BATCH_REC.TRIP_STOP_ID);
171 WSH_DEBUG_SV.log(l_module_name,'P_STOP_LOCATION_ID',P_BATCH_REC.TRIP_STOP_LOCATION_ID);
172 WSH_DEBUG_SV.log(l_module_name,'P_DEFAULT_STAGE_SUBINVENTORY',P_BATCH_REC.DEFAULT_STAGE_SUBINVENTORY);
173 WSH_DEBUG_SV.log(l_module_name,'P_DEFAULT_STAGE_LOCATOR_ID',P_BATCH_REC.DEFAULT_STAGE_LOCATOR_ID);
174 WSH_DEBUG_SV.log(l_module_name,'P_PICK_FROM_SUBINVENTORY',P_BATCH_REC.PICK_FROM_SUBINVENTORY);
175 WSH_DEBUG_SV.log(l_module_name,'P_PICK_FROM_LOCATOR_ID',P_BATCH_REC.PICK_FROM_LOCATOR_ID);
176 WSH_DEBUG_SV.log(l_module_name,'P_AUTO_PICK_CONFIRM_FLAG',P_BATCH_REC.AUTO_PICK_CONFIRM_FLAG);
177 WSH_DEBUG_SV.log(l_module_name,'P_DELIVERY_DETAIL_ID',P_BATCH_REC.DELIVERY_DETAIL_ID);
178 WSH_DEBUG_SV.log(l_module_name,'P_PROJECT_ID',P_BATCH_REC.PROJECT_ID);
179 WSH_DEBUG_SV.log(l_module_name,'P_TASK_ID',P_BATCH_REC.TASK_ID);
180 WSH_DEBUG_SV.log(l_module_name,'P_ORGANIZATION_ID',P_BATCH_REC.ORGANIZATION_ID);
181 WSH_DEBUG_SV.log(l_module_name,'P_ORGANIZATION_CODE',P_BATCH_REC.ORGANIZATION_CODE);
182 WSH_DEBUG_SV.log(l_module_name,'P_CONFIRM_RULE_ID',P_BATCH_REC.SHIP_CONFIRM_RULE_ID);
183 WSH_DEBUG_SV.log(l_module_name,'P_CONFIRM_RULE_NAME',P_BATCH_REC.SHIP_CONFIRM_RULE_NAME);
184 WSH_DEBUG_SV.log(l_module_name,'P_AUTOPACK_FLAG',P_BATCH_REC.AUTOPACK_FLAG);
185 WSH_DEBUG_SV.log(l_module_name,'P_AUTOPACK_LEVEL',P_BATCH_REC.AUTOPACK_LEVEL);
186 WSH_DEBUG_SV.log(l_module_name,'P_TASK_PLANNING_FLAG',P_BATCH_REC.TASK_PLANNING_FLAG);
187 -- Bug#: 3266659 - Removing carrier params
188 -- WSH_DEBUG_SV.log(l_module_name,'P_NON_PICKING_FLAG',P_BATCH_REC.NON_PICKING_FLAG);
189 WSH_DEBUG_SV.log(l_module_name,'P_CATEGORY_SET_ID',P_BATCH_REC.CATEGORY_SET_ID);
190 WSH_DEBUG_SV.log(l_module_name,'P_CATEGORY_ID',P_BATCH_REC.CATEGORY_ID);
191 WSH_DEBUG_SV.log(l_module_name,'P_SHIP_SET_SMC_FLAG',P_BATCH_REC.SHIP_SET_SMC_FLAG);
192 -- Bug# 3266659: Log messages for added attributes
193 WSH_DEBUG_SV.log(l_module_name,'p_region_ID',P_BATCH_REC.region_ID);
194 WSH_DEBUG_SV.log(l_module_name,'P_zone_ID',P_BATCH_REC.zone_ID);
195 WSH_DEBUG_SV.log(l_module_name,'P_ac_Delivery_Criteria',P_BATCH_REC.ac_Delivery_Criteria);
196 WSH_DEBUG_SV.log(l_module_name,'P_rel_subinventory',P_BATCH_REC.rel_subinventory);
197 WSH_DEBUG_SV.log(l_module_name,'P_append_flag',P_BATCH_REC.append_flag);
198 WSH_DEBUG_SV.log(l_module_name,'P_task_priority',P_BATCH_REC.task_priority);
199 WSH_DEBUG_SV.log(l_module_name,'Actual Departure Date',
200 to_char(p_batch_rec.actual_departure_date, 'DD/MM/YYYY HH24:MI:SS'));
201 -- X-dock
202 WSH_DEBUG_SV.log(l_module_name,'P_allocation_method',P_BATCH_REC.allocation_method);
203 WSH_DEBUG_SV.log(l_module_name,'P_crossdock_criteria_id',P_BATCH_REC.crossdock_criteria_id);
204 WSH_DEBUG_SV.log(l_module_name,'P_crossdock_criteria_name',P_BATCH_REC.crossdock_criteria_name);
205 -- end of X-dock
206 WSH_DEBUG_SV.log(l_module_name,'P_dynamic_replenishment_flag',P_BATCH_REC.dynamic_replenishment_flag); -- bug# 6689448 (replenishment project)
207 -- LSP PROJECT
208 WSH_DEBUG_SV.log(l_module_name,'P_client_code',P_BATCH_REC.client_code);
209 WSH_DEBUG_SV.log(l_module_name,'P_client_id',P_BATCH_REC.client_id);
210 -- LSP PROJECT : end
211 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
212 --}
213 END IF;
214
215 IF NOT FND_API.compatible_api_call( l_api_version,
216 p_api_version,
217 l_api_name,
218 G_PKG_NAME) THEN
219 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
220 END IF;
221
222 -- Check p_init_msg_list
223 IF FND_API.to_boolean(p_init_msg_list) THEN
224 --{
225 FND_MSG_PUB.initialize;
226 --}
227 END IF;
228 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
229 l_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
230
231 l_rule_id := p_rule_id;
232 l_rule_name := p_rule_name;
233 l_batch_rec := p_batch_rec;
234 l_batch_prefix := p_batch_prefix;
235
236
237 IF l_debug_on THEN
238 --{
239 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_PICKING_BATCHES_GRP.CREATE_BATCH',WSH_DEBUG_SV.C_PROC_LEVEL);
240 --}
241 END IF;
242
243 /* -- Bug # 7505524 :moved the following code to group API
244 WSH_PICKING_BATCHES_GRP.create_batch
245 --
246 -- X-dock
247 -- 1)Validate CrossDock Criteria Name for WMS org.
248 -- Always use crossdock_criteria_id except when crossdock_criteria_id is null
249 -- and crossdock_criteria_name has been specified
250 -- 2)The values of crossdock criteria will be ignored for non-WMS org
251 --
252 IF WSH_UTIL_VALIDATE.check_wms_org(p_batch_rec.organization_id) = 'Y' THEN
253 IF (l_batch_rec.crossdock_criteria_id IS NULL AND
254 l_batch_rec.crossdock_criteria_name IS NOT NULL) THEN
255 -- derive crossdock criteria id
256 WMS_CROSSDOCK_GRP.chk_planxd_crt_id_name
257 (p_criterion_id => l_batch_rec.crossdock_criteria_id,
258 p_criterion_name => l_batch_rec.crossdock_criteria_name,
259 x_return_status => l_return_status);
260
261 wsh_util_core.api_post_call(
262 p_return_status => l_return_status,
263 x_num_warnings => l_number_of_warnings,
264 x_num_errors => l_number_of_errors,
265 p_msg_data => l_msg_data
266 );
267 END IF;
268 END IF;
269 -- end of X-dock
270 --
271
272 -- ECO 4634966
273 IF l_batch_rec.existing_rsvs_only_flag = 'Y' AND
274 WSH_UTIL_VALIDATE.check_wms_org(l_batch_rec.organization_id) = 'Y' AND
275 l_batch_rec.allocation_method IN (WSH_PICK_LIST.C_CROSSDOCK_ONLY,
276 WSH_PICK_LIST.C_PRIORITIZE_CROSSDOCK,
277 WSH_PICK_LIST.C_PRIORITIZE_INVENTORY) THEN
278 ROLLBACK TO PICKING_BATCH_PUB;
279 FND_MESSAGE.SET_NAME('WSH','WSH_INVALID_COMBINATION');
280 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
281 wsh_util_core.add_message(x_return_status);
282 IF l_debug_on THEN
283 WSH_DEBUG_SV.pop(l_module_name);
284 END IF;
285 --
286 return;
287 END IF;
288 -- End of ECO 4634966
289 Bug # 7505524*/
290
291 WSH_PICKING_BATCHES_GRP.Create_Batch(
292 p_api_version_number => p_api_version,
293 p_init_msg_list => NULL, --- Treated as False in Group API
294 p_commit => NULL, --- Treated as False in Group API
295 x_return_status => l_return_status,
296 x_msg_count => l_msg_count,
297 x_msg_data => l_msg_data,
298 p_rule_id => l_rule_id ,
299 p_rule_name => l_rule_name ,
300 p_batch_rec => l_batch_rec,
301 p_batch_prefix => l_batch_prefix,
302 x_batch_id => l_batch_id);
303
304 IF l_debug_on THEN
305 --{
306 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.API_POST_CALL',WSH_DEBUG_SV.C_PROC_LEVEL);
307 --}
308 END IF;
309 --
310
311 wsh_util_core.api_post_call(
312 p_return_status => l_return_status,
313 x_num_warnings => l_number_of_warnings,
314 x_num_errors => l_number_of_errors,
315 p_msg_data => l_msg_data
316 );
317
318 x_batch_id := l_batch_id;
319
320 IF l_number_of_warnings > 0 THEN
321 --{
322 x_return_status := wsh_util_core.g_ret_sts_warning;
323 --}
324 END IF;
325
326
327 IF FND_API.TO_BOOLEAN(p_commit) THEN
328 --{
329 COMMIT WORK;
330 --}
331 END IF;
332
333 FND_MSG_PUB.Count_And_Get
334 (
335 p_count => x_msg_count,
336 p_data => x_msg_data,
337 p_encoded => FND_API.G_FALSE
338 );
339
340 IF l_debug_on THEN
341 --{
342 WSH_DEBUG_SV.pop(l_module_name);
343 --}
344 END IF;
345 --
346
347
348 EXCEPTION
349 WHEN FND_API.G_EXC_ERROR THEN
350 ROLLBACK TO PICKING_BATCH_PUB;
351 x_return_status := FND_API.G_RET_STS_ERROR ;
352 wsh_util_core.add_message(x_return_status);
353 FND_MSG_PUB.Count_And_Get
354 (
355 p_count => x_msg_count,
356 p_data => x_msg_data,
357 p_encoded => FND_API.G_FALSE
358 );
359
360 IF l_debug_on THEN
361 --{
362 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
363 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
364 --}
365 END IF;
366 --
367
368 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
369 ROLLBACK TO PICKING_BATCH_PUB;
370 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
371 wsh_util_core.add_message(x_return_status, l_module_name);
372 FND_MSG_PUB.Count_And_Get
373 (
374 p_count => x_msg_count,
375 p_data => x_msg_data,
376 p_encoded => FND_API.G_FALSE
377 );
378 --
379
380 IF l_debug_on THEN
381 --{
382 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
383 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
384 --}
385 END IF;
386 WHEN OTHERS THEN
387 ROLLBACK TO PICKING_BATCH_PUB;
388 wsh_util_core.default_handler('WSH_PICKING_BATCHES_PUB.CREATE_BATCH');
389 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
390 FND_MSG_PUB.Count_And_Get
391 (
392 p_count => x_msg_count,
393 p_data => x_msg_data,
394 p_encoded => FND_API.G_FALSE
395 );
396
397 IF l_debug_on THEN
398 --{
399 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
400 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
401 --}
402 END IF;
403 --
404 END Create_Batch;
405 /*
406 --======================================================================================================
407 -- Start of comments
408 --
409 -- API Name : Release_Batch
410 -- Type : Public
411 -- Purpose
412 -- Pre-reqs : None.
413 -- Function : The procedure takes in a Batch_id/ Batch_name and depending on the p_release_mode
414 -- value it process the batch. p_log_level value should be greator than 0 when
415 -- customer want to get the pick release log fine incace of concurrent pick release
416 -- release.
417 -- It will do some basic validations on the the input parameters
418 -- like log_level should be positive , and on the not null values of p_batch_rec.
419 --
420 -- PARAMETERS : p_api_version_number known api version number
421 -- p_init_msg_list FND_API.G_TRUE to reset list
422 -- p_commit FND_API.G_TRUE to perform a commit
423 -- x_return_status return status
424 -- x_msg_count number of messages in the list
425 -- x_msg_data text of messages
426 -- p_batch_id Picking Batch Id which is used to get Batch
427 -- information from the wsh_picking_batches table.
428 -- p_batch_name Picking Batch Name which is used to get Batch
429 -- information from the wsh_picking_batches table.
430 -- p_log_level Controlls the log message generated by cuncurrent
431 -- pick release process.
432 -- p_release_mode Used to do ONLINE or CONCURRENT pick release,
433 -- Default is "CONCURREN"
434 -- p_release_mode Returns the batch Id created
435 -- x_request_id Returns the Request Id for concurrent pick release request
436 -- VERSION : current version 1.0
437 -- initial version 1.0
438 -- End of comments
439 --======================================================================================================
440 */
441
442 PROCEDURE Release_Batch (
443 -- Standard parameters
444 p_api_version IN NUMBER,
445 p_init_msg_list IN VARCHAR2 DEFAULT NULL,
446 p_commit IN VARCHAR2 DEFAULT NULL,
447 x_return_status OUT NOCOPY VARCHAR2,
448 x_msg_count OUT NOCOPY NUMBER,
449 x_msg_data OUT NOCOPY VARCHAR2,
450 -- program specific paramters.
451 p_batch_id IN NUMBER DEFAULT NULL,
452 p_batch_name IN VARCHAR2 DEFAULT NULL,
453 p_log_level IN NUMBER DEFAULT NULL,
454 p_release_mode IN VARCHAR2 DEFAULT 'CONCURRENT',
455 x_request_id OUT NOCOPY NUMBER
456 ) IS
457
458 l_api_version CONSTANT NUMBER := 1.0;
459 l_api_name CONSTANT VARCHAR2(30):= 'WSH_PICKING_BATCHES_PUB';
460
461 l_return_status VARCHAR2(30) := NULL;
462 l_msg_count NUMBER;
463 l_msg_data VARCHAR2(32767);
464 l_number_of_errors NUMBER := 0;
465 l_number_of_warnings NUMBER := 0;
466
467 l_batch_id NUMBER;
468 l_batch_name VARCHAR2(60);
469 l_release_mode VARCHAR2(20);
470 l_log_level NUMBER;
471 l_request_id NUMBER;
472 -- l_num_workers NUMBER; bug # 7505524 :logic is moved to group API
473
474 l_debug_on BOOLEAN;
475 --
476 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'RELEASE_BATCH';
477 --
478
479 BEGIN
480
481 --
482 -- Debug Statements
483 --
484 --
485 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
486 --
487 IF l_debug_on IS NULL THEN
488 --{
489 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
490 --}
491 END IF;
492 --
493 IF l_debug_on THEN
494 --{
495 --
496 WSH_DEBUG_SV.push(l_module_name);
497 --
498 WSH_DEBUG_SV.logmsg(l_module_name,'RELEASE_BATCH BEING CALLED WITH FOLLOWING PARAMETERS');
499 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
500 WSH_DEBUG_SV.log(l_module_name,'P_API_VERSION',P_API_VERSION);
501 WSH_DEBUG_SV.log(l_module_name,'P_INIT_MSG_LIST',P_INIT_MSG_LIST);
502 WSH_DEBUG_SV.log(l_module_name,'P_COMMIT',P_COMMIT);
503 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_ID',P_BATCH_ID);
504 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_NAME',P_BATCH_NAME);
505 WSH_DEBUG_SV.log(l_module_name,'P_RELEASE_MODE',P_RELEASE_MODE);
506 WSH_DEBUG_SV.log(l_module_name,'P_LOG_LEVEL',P_LOG_LEVEL);
507 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
508 --}
509 END IF;
510 IF NOT FND_API.compatible_api_call( l_api_version,
511 p_api_version,
512 l_api_name,
513 G_PKG_NAME) THEN
514 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
515 END IF;
516
517 -- Check p_init_msg_list
518 IF FND_API.to_boolean(p_init_msg_list) THEN
519 --{
520 FND_MSG_PUB.initialize;
521 --}
522 END IF;
523
524 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
525 l_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
526
527 l_batch_id := p_batch_id;
528 l_batch_name := p_batch_name;
529 l_release_mode := p_release_mode;
530 l_log_level := p_log_level;
531
532 /* Bug # 7505524: moved the following code to group API
533 WSH_PICKING_BATCHES_GRP.release_batch
534 IF l_release_mode = 'CONCURRENT' THEN
535 l_num_workers := NVL(FND_PROFILE.Value('WSH_PR_NUM_WORKERS'), 1);
536 ELSE
537 l_num_workers := 1;
538 END IF; */
539
540
541 IF l_debug_on THEN
542 --{
543 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_PICKING_BATCHES_GRP.RELASE_BATCH',WSH_DEBUG_SV.C_PROC_LEVEL);
544 --}
545 END IF;
546 --
547 WSH_PICKING_BATCHES_GRP.Release_Batch(
548 p_api_version_number => p_api_version,
549 p_init_msg_list => NULL, --- Treated as False in Group API
550 p_commit => NULL, --- Treated as False in Group API
551 x_return_status => l_return_status,
552 x_msg_count => l_msg_count,
553 x_msg_data => l_msg_data,
554 p_batch_id => l_batch_id,
555 p_batch_name => l_batch_name,
556 p_release_mode => l_release_mode,
557 p_log_level => l_log_level,
558 -- p_num_workers => l_num_workers, Bug # 7505524
559 x_request_id => l_request_id);
560
561 IF l_debug_on THEN
562 --{
563 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.API_POST_CALL',WSH_DEBUG_SV.C_PROC_LEVEL);
564 --}
565 END IF;
566 --
567
568 wsh_util_core.api_post_call(
569 p_return_status => l_return_status,
570 x_num_warnings => l_number_of_warnings,
571 x_num_errors => l_number_of_errors,
572 p_msg_data => l_msg_data
573 );
574
575 x_request_id := l_request_id;
576
577 IF l_number_of_warnings > 0 THEN
578 --{
579 x_return_status := wsh_util_core.g_ret_sts_warning;
580 --}
581 END IF;
582
583
584 IF FND_API.TO_BOOLEAN(p_commit) THEN
585 --{
586 COMMIT WORK;
587 --}
588 END IF;
589
590 FND_MSG_PUB.Count_And_Get
591 (
592 p_count => x_msg_count,
593 p_data => x_msg_data,
594 p_encoded => FND_API.G_FALSE
595 );
596
597 IF l_debug_on THEN
598 --{
599 WSH_DEBUG_SV.pop(l_module_name);
600 --}
601 END IF;
602 --
603 EXCEPTION
604 WHEN FND_API.G_EXC_ERROR THEN
605 x_return_status := FND_API.G_RET_STS_ERROR ;
606 wsh_util_core.add_message(x_return_status);
607 FND_MSG_PUB.Count_And_Get
608 (
609 p_count => x_msg_count,
610 p_data => x_msg_data,
611 p_encoded => FND_API.G_FALSE
612 );
613
614 IF l_debug_on THEN
615 --{
616 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
617 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
618 --}
619 END IF;
620 --
621
622 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
623 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
624 wsh_util_core.add_message(x_return_status, l_module_name);
625 FND_MSG_PUB.Count_And_Get
626 (
627 p_count => x_msg_count,
628 p_data => x_msg_data,
629 p_encoded => FND_API.G_FALSE
630 );
631 --
632
633 IF l_debug_on THEN
634 --{
635 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
636 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
637 --}
638 END IF;
639 WHEN OTHERS THEN
640 wsh_util_core.default_handler('WSH_PICKING_BATCHES_PUB.RELEASE_BATCH');
641 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
642 FND_MSG_PUB.Count_And_Get
643 (
644 p_count => x_msg_count,
645 p_data => x_msg_data,
646 p_encoded => FND_API.G_FALSE
647 );
648
649 IF l_debug_on THEN
650 --{
651 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
652 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
653 --}
654 END IF;
655 --
656 END Release_Batch;
657
658
659
660
661
662
663 -- Start of comments
664 --
665 -- API Name : Get_Batch_Record
666 -- Type : Public
667 -- Purpose
668 -- Pre-reqs : None.
669 -- Function : The procedure takes in a Batch_id or Batch_name and retrieves
670 -- the batch record from wsh_picking_batches.
671 -- Note: Non-database attributes will be NULL.
672 --
673 -- PARAMETERS : p_api_version_number known api version number
674 -- p_init_msg_list FND_API.G_TRUE to reset list
675 -- p_commit FND_API.G_TRUE to perform a commit
676 -- x_return_status return status
677 -- x_msg_count number of messages in the list
678 -- x_msg_data text of messages
679 -- p_batch_id Picking Batch Id which is used to get Batch
680 -- information from the wsh_picking_batches table.
681 -- p_batch_name Picking Batch Name which is used to get Batch
682 -- information from the wsh_picking_batches table.
683 -- x_batch_rec Batch record from wsh_picking_batches
684 -- VERSION : current version 1.0
685 -- initial version 1.0
686 -- End of comments
687
688 PROCEDURE Get_Batch_Record(
689 -- Standard parameters
690 p_api_version IN NUMBER,
691 p_init_msg_list IN VARCHAR2 DEFAULT NULL,
692 p_commit IN VARCHAR2 DEFAULT NULL,
693 x_return_status OUT NOCOPY VARCHAR2,
694 x_msg_count OUT NOCOPY NUMBER,
695 x_msg_data OUT NOCOPY VARCHAR2,
696 -- program specific paramters.
697 p_batch_id IN NUMBER DEFAULT NULL,
698 p_batch_name IN VARCHAR2 DEFAULT NULL,
699 x_batch_rec OUT NOCOPY WSH_PICKING_BATCHES_PUB.Batch_Info_Rec
700 ) IS
701 l_api_version CONSTANT NUMBER := 1.0;
702 l_api_name CONSTANT VARCHAR2(30):= 'WSH_PICKING_BATCHES_PUB';
703
704 l_return_status VARCHAR2(30) := NULL;
705 l_msg_count NUMBER;
706 l_msg_data VARCHAR2(32767);
707 l_number_of_errors NUMBER := 0;
708 l_number_of_warnings NUMBER := 0;
709
710 l_batch_id NUMBER;
711 l_batch_name VARCHAR2(60);
712
713 l_debug_on BOOLEAN;
714 --
715 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'GET_BATCH_RECORD';
716 --
717 CURSOR c_batch_info(x_batch_id NUMBER) IS
718 SELECT
719 Backorders_Only_Flag,
720 Document_Set_Id,
721 NULL, -- not in table: document_set_name
722 Existing_Rsvs_Only_Flag,
723 Shipment_Priority_Code,
724 Ship_Method_Code,
725 NULL, -- not in table: ship_method_name
726 Customer_Id,
727 NULL, -- not in table: customer_number
728 Order_Header_Id,
729 NULL, -- not in table: order_number
730 NULL, -- not in table: ship_set_id
731 Ship_Set_Number,
732 Inventory_Item_Id,
733 Order_Type_Id,
734 NULL, -- not in table: order_type_name
735 From_Requested_Date,
736 To_Requested_Date,
737 From_Scheduled_Ship_Date,
738 To_Scheduled_Ship_Date,
739 Ship_To_Location_Id,
740 NULL, -- not in table: ship_to_location_code
741 Ship_From_Location_Id,
742 NULL, -- not in table: ship_from_location_code
743 Trip_Id,
744 NULL, -- not in table: trip_name
745 Delivery_Id,
746 NULL, -- not in table: delivery_name
747 Include_Planned_Lines,
748 Pick_Grouping_Rule_Id,
749 NULL, -- not in table: pick_grouping_rule_name
750 Pick_Sequence_Rule_Id,
751 NULL, -- not in table: pick_sequence_rule_name
752 Autocreate_Delivery_Flag,
753 Attribute_Category,
754 Attribute1,
755 Attribute2,
756 Attribute3,
757 Attribute4,
758 Attribute5,
759 Attribute6,
760 Attribute7,
761 Attribute8,
762 Attribute9,
763 Attribute10,
764 Attribute11,
765 Attribute12,
766 Attribute13,
767 Attribute14,
768 Attribute15,
769 Autodetail_Pr_Flag,
770 Trip_Stop_Id,
771 NULL, -- not in table: trip_stop_location_id
772 Default_Stage_Subinventory,
773 Default_Stage_Locator_Id,
774 Pick_From_Subinventory,
775 Pick_From_locator_Id,
776 Auto_Pick_Confirm_Flag,
777 Delivery_Detail_Id,
778 Project_Id,
779 Task_Id,
780 Organization_Id,
781 NULL, -- not in table: organization_code
782 Ship_Confirm_Rule_Id,
783 NULL, -- not in table: ship_confirm_rule_name
784 Autopack_Flag,
785 Autopack_Level,
786 Task_Planning_Flag,
787 Category_Set_ID,
788 Category_ID,
789 Ship_Set_Smc_Flag,
790 region_ID,
791 zone_ID,
792 ac_Delivery_Criteria,
793 rel_subinventory,
794 append_flag,
795 task_priority,
796 actual_departure_date,
797 allocation_method, -- X-dock
798 crossdock_criteria_id, -- X-dock
799 NULL, -- not in the table:crossdock_criteria_name
800 dynamic_replenishment_flag, --bug# 6689448 (replenishment project)
801 -- LSP PROJECT :
802 client_id,
803 NULL
804 -- LSP PROJECT :
805 FROM wsh_picking_batches
806 WHERE batch_id = x_batch_id;
807
808 BEGIN
809
810 --
811 -- Debug Statements
812 --
813 --
814 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
815 --
816 IF l_debug_on IS NULL THEN
817 --{
818 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
819 --}
820 END IF;
821 --
822 IF l_debug_on THEN
823 --{
824 --
825 WSH_DEBUG_SV.push(l_module_name);
826 --
827 WSH_DEBUG_SV.logmsg(l_module_name,'GET_BATCH_RECORD BEING CALLED WITH FOLLOWING PARAMETERS');
828 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
829 WSH_DEBUG_SV.log(l_module_name,'P_API_VERSION',P_API_VERSION);
830 WSH_DEBUG_SV.log(l_module_name,'P_INIT_MSG_LIST',P_INIT_MSG_LIST);
831 WSH_DEBUG_SV.log(l_module_name,'P_COMMIT',P_COMMIT);
832 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_ID',P_BATCH_ID);
833 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_NAME',P_BATCH_NAME);
834 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
835 --}
836 END IF;
837 IF NOT FND_API.compatible_api_call( l_api_version,
838 p_api_version,
839 l_api_name,
840 G_PKG_NAME) THEN
841 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
842 END IF;
843
844 -- Check p_init_msg_list
845 IF FND_API.to_boolean(p_init_msg_list) THEN
846 --{
847 FND_MSG_PUB.initialize;
848 --}
849 END IF;
850
851 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
852 l_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
853
854 l_batch_id := p_batch_id;
855 l_batch_name := p_batch_name;
856
857 -- Validating Batch Name and Batch Id
858 IF ( ( l_batch_Id IS NOT NULL AND l_batch_Id <> FND_API.G_MISS_NUM ) OR ( l_batch_Name IS NOT NULL AND l_batch_name <> FND_API.G_MISS_CHAR ) ) THEN
859 --{
860 IF ( l_batch_Id = FND_API.G_MISS_NUM ) THEN
861 --{
862 l_batch_Id := NULL;
863 --}
864 END IF;
865 IF ( l_batch_name = FND_API.G_MISS_CHAR ) THEN
866 --{
867 l_batch_name := NULL;
868 --}
869 END IF;
870 IF ( ( l_batch_Id IS NOT NULL) OR ( l_batch_name IS NOT NULL ) ) THEN
871 --{
872 WSH_UTIL_VALIDATE.Validate_Picking_Batch_Name(
873 p_picking_batch_Id => l_batch_Id,
874 p_picking_batch_name => l_batch_Name,
875 x_return_status => l_return_status);
876
877 IF l_debug_on THEN
878 --{
879 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.API_POST_CALL',WSH_DEBUG_SV.C_PROC_LEVEL);
880 --}
881 END IF;
882 --
883 wsh_util_core.api_post_call(
884 p_return_status => l_return_status,
885 x_num_warnings => l_number_of_warnings,
886 x_num_errors => l_number_of_errors,
887 p_msg_data => l_msg_data
888 );
889 --}
890 END IF;
891 ELSE
892 --
893 --
894 FND_MESSAGE.SET_NAME('WSH','WSH_REQUIRED_FIELD_NULL');
895 FND_MESSAGE.SET_TOKEN('FIELD_NAME ',' BATCH_ID OR BATCH_NAME ');
896 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
897 wsh_util_core.add_message(x_return_status);
898 IF l_debug_on THEN
899 WSH_DEBUG_SV.pop(l_module_name);
900 END IF;
901 --
902 return;
903 --}
904 END IF;
905
906 -- End of Batch Name Validations
907
908 IF l_debug_on THEN
909 WSH_DEBUG_SV.log(l_module_name, 'open cursor c_batch_info for l_batch_id', l_batch_id);
910 END IF;
911
912 OPEN c_batch_info(l_batch_id);
913 -- at this time, it should be valid, so the record would be found.
914 FETCH c_batch_info INTO x_batch_rec;
915 CLOSE c_batch_info;
916
917 IF l_debug_on THEN
918 WSH_DEBUG_SV.logmsg(l_module_name,'RECORD ATTRIBUTES LOOKED UP');
919 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
920 WSH_DEBUG_SV.log(l_module_name,'BACKORDERS_ONLY_FLAG',X_BATCH_REC.BACKORDERS_ONLY_FLAG);
921 WSH_DEBUG_SV.log(l_module_name,'DOCUMENT_SET_ID',X_BATCH_REC.DOCUMENT_SET_ID);
922 WSH_DEBUG_SV.log(l_module_name,'DOCUMENT_SET_NAME',X_BATCH_REC.DOCUMENT_SET_NAME);
923 WSH_DEBUG_SV.log(l_module_name,'EXISTING_RSVS_ONLY_FLAG',X_BATCH_REC.EXISTING_RSVS_ONLY_FLAG);
924 WSH_DEBUG_SV.log(l_module_name,'SHIPMENT_PRIORITY_CODE',X_BATCH_REC.SHIPMENT_PRIORITY_CODE);
925 WSH_DEBUG_SV.log(l_module_name,'SHIP_METHOD_CODE',X_BATCH_REC.SHIP_METHOD_CODE);
926 WSH_DEBUG_SV.log(l_module_name,'SHIP_METHOD_NAME',X_BATCH_REC.SHIP_METHOD_NAME);
927 WSH_DEBUG_SV.log(l_module_name,'CUSTOMER_ID',X_BATCH_REC.CUSTOMER_ID);
928 WSH_DEBUG_SV.log(l_module_name,'CUSTOMER_NUMBER',X_BATCH_REC.CUSTOMER_NUMBER);
929 WSH_DEBUG_SV.log(l_module_name,'ORDER_HEADER_ID',X_BATCH_REC.ORDER_HEADER_ID);
930 WSH_DEBUG_SV.log(l_module_name,'ORDER_NUMBER',X_BATCH_REC.ORDER_NUMBER);
931 WSH_DEBUG_SV.log(l_module_name,'SHIP_SET_ID',X_BATCH_REC.SHIP_SET_ID);
932 WSH_DEBUG_SV.log(l_module_name,'SHIP_SET_NUMBER',X_BATCH_REC.SHIP_SET_NUMBER);
933 WSH_DEBUG_SV.log(l_module_name,'INVENTORY_ITEM_ID',X_BATCH_REC.INVENTORY_ITEM_ID);
934 WSH_DEBUG_SV.log(l_module_name,'ORDER_TYPE_ID',X_BATCH_REC.ORDER_TYPE_ID);
935 WSH_DEBUG_SV.log(l_module_name,'ORDER_TYPE_NAME',X_BATCH_REC.ORDER_TYPE_NAME);
936 WSH_DEBUG_SV.log(l_module_name,'FROM_REQUESTED_DATE',X_BATCH_REC.FROM_REQUESTED_DATE);
937 WSH_DEBUG_SV.log(l_module_name,'TO_REQUESTED_DATE',X_BATCH_REC.TO_REQUESTED_DATE);
938 WSH_DEBUG_SV.log(l_module_name,'FROM_SCHEDULED_SHIP_DATE',X_BATCH_REC.FROM_SCHEDULED_SHIP_DATE);
939 WSH_DEBUG_SV.log(l_module_name,'TO_SCHEDULED_SHIP_DATE',X_BATCH_REC.TO_SCHEDULED_SHIP_DATE);
940 WSH_DEBUG_SV.log(l_module_name,'SHIP_TO_LOCATION_ID',X_BATCH_REC.SHIP_TO_LOCATION_ID);
941 WSH_DEBUG_SV.log(l_module_name,'SHIP_FROM_LOCATION_ID',X_BATCH_REC.SHIP_FROM_LOCATION_ID);
942 WSH_DEBUG_SV.log(l_module_name,'TRIP_ID',X_BATCH_REC.TRIP_ID);
943 WSH_DEBUG_SV.log(l_module_name,'TRIP_NAME',X_BATCH_REC.TRIP_NAME);
944 WSH_DEBUG_SV.log(l_module_name,'DELIVERY_ID',X_BATCH_REC.DELIVERY_ID);
945 WSH_DEBUG_SV.log(l_module_name,'DELIVERY_NAME',X_BATCH_REC.DELIVERY_NAME);
946 WSH_DEBUG_SV.log(l_module_name,'INCLUDE_PLANNED_LINES',X_BATCH_REC.INCLUDE_PLANNED_LINES);
947 WSH_DEBUG_SV.log(l_module_name,'PICK_GROUPING_RULE_ID',X_BATCH_REC.PICK_GROUPING_RULE_ID);
948 WSH_DEBUG_SV.log(l_module_name,'PICK_GROUPING_RULE_NAME',X_BATCH_REC.PICK_GROUPING_RULE_NAME);
949 WSH_DEBUG_SV.log(l_module_name,'PICK_SEQUENCE_RULE_ID',X_BATCH_REC.PICK_SEQUENCE_RULE_ID);
950 WSH_DEBUG_SV.log(l_module_name,'PICK_SEQUENCE_RULE_NAME',X_BATCH_REC.PICK_SEQUENCE_RULE_NAME);
951 WSH_DEBUG_SV.log(l_module_name,'AUTOCREATE_DELIVERY_FLAG',X_BATCH_REC.AUTOCREATE_DELIVERY_FLAG);
952 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE_CATEGORY',X_BATCH_REC.ATTRIBUTE_CATEGORY);
953 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE1',X_BATCH_REC.ATTRIBUTE1);
954 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE2',X_BATCH_REC.ATTRIBUTE2);
955 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE3',X_BATCH_REC.ATTRIBUTE3);
956 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE4',X_BATCH_REC.ATTRIBUTE4);
957 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE5',X_BATCH_REC.ATTRIBUTE5);
958 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE6',X_BATCH_REC.ATTRIBUTE6);
959 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE7',X_BATCH_REC.ATTRIBUTE7);
960 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE8',X_BATCH_REC.ATTRIBUTE8);
961 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE9',X_BATCH_REC.ATTRIBUTE9);
962 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE10',X_BATCH_REC.ATTRIBUTE10);
963 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE11',X_BATCH_REC.ATTRIBUTE11);
964 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE12',X_BATCH_REC.ATTRIBUTE12);
965 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE13',X_BATCH_REC.ATTRIBUTE13);
966 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE14',X_BATCH_REC.ATTRIBUTE14);
967 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE15',X_BATCH_REC.ATTRIBUTE15);
968 WSH_DEBUG_SV.log(l_module_name,'AUTODETAIL_PR_FLAG',X_BATCH_REC.AUTODETAIL_PR_FLAG);
969 WSH_DEBUG_SV.log(l_module_name,'STOP_ID',X_BATCH_REC.TRIP_STOP_ID);
970 WSH_DEBUG_SV.log(l_module_name,'STOP_LOCATION_ID',X_BATCH_REC.TRIP_STOP_LOCATION_ID);
971 WSH_DEBUG_SV.log(l_module_name,'DEFAULT_STAGE_SUBINVENTORY',X_BATCH_REC.DEFAULT_STAGE_SUBINVENTORY);
972 WSH_DEBUG_SV.log(l_module_name,'DEFAULT_STAGE_LOCATOR_ID',X_BATCH_REC.DEFAULT_STAGE_LOCATOR_ID);
973 WSH_DEBUG_SV.log(l_module_name,'PICK_FROM_SUBINVENTORY',X_BATCH_REC.PICK_FROM_SUBINVENTORY);
974 WSH_DEBUG_SV.log(l_module_name,'PICK_FROM_LOCATOR_ID',X_BATCH_REC.PICK_FROM_LOCATOR_ID);
975 WSH_DEBUG_SV.log(l_module_name,'AUTO_PICK_CONFIRM_FLAG',X_BATCH_REC.AUTO_PICK_CONFIRM_FLAG);
976 WSH_DEBUG_SV.log(l_module_name,'DELIVERY_DETAIL_ID',X_BATCH_REC.DELIVERY_DETAIL_ID);
977 WSH_DEBUG_SV.log(l_module_name,'PROJECT_ID',X_BATCH_REC.PROJECT_ID);
978 WSH_DEBUG_SV.log(l_module_name,'TASK_ID',X_BATCH_REC.TASK_ID);
979 WSH_DEBUG_SV.log(l_module_name,'ORGANIZATION_ID',X_BATCH_REC.ORGANIZATION_ID);
980 WSH_DEBUG_SV.log(l_module_name,'ORGANIZATION_CODE',X_BATCH_REC.ORGANIZATION_CODE);
981 WSH_DEBUG_SV.log(l_module_name,'CONFIRM_RULE_ID',X_BATCH_REC.SHIP_CONFIRM_RULE_ID);
982 WSH_DEBUG_SV.log(l_module_name,'CONFIRM_RULE_NAME',X_BATCH_REC.SHIP_CONFIRM_RULE_NAME);
983 WSH_DEBUG_SV.log(l_module_name,'AUTOPACK_FLAG',X_BATCH_REC.AUTOPACK_FLAG);
984 WSH_DEBUG_SV.log(l_module_name,'AUTOPACK_LEVEL',X_BATCH_REC.AUTOPACK_LEVEL);
985 WSH_DEBUG_SV.log(l_module_name,'TASK_PLANNING_FLAG',X_BATCH_REC.TASK_PLANNING_FLAG);
986 WSH_DEBUG_SV.log(l_module_name,'CATEGORY_SET_ID',X_BATCH_REC.CATEGORY_SET_ID);
987 WSH_DEBUG_SV.log(l_module_name,'CATEGORY_ID',X_BATCH_REC.CATEGORY_ID);
988 WSH_DEBUG_SV.log(l_module_name,'SHIP_SET_SMC_FLAG',X_BATCH_REC.SHIP_SET_SMC_FLAG);
989 WSH_DEBUG_SV.log(l_module_name,'p_region_ID',X_BATCH_REC.region_ID);
990 WSH_DEBUG_SV.log(l_module_name,'zone_ID',X_BATCH_REC.zone_ID);
991 WSH_DEBUG_SV.log(l_module_name,'ac_Delivery_Criteria',X_BATCH_REC.ac_Delivery_Criteria);
992 WSH_DEBUG_SV.log(l_module_name,'rel_subinventory',X_BATCH_REC.rel_subinventory);
993 WSH_DEBUG_SV.log(l_module_name,'append_flag',X_BATCH_REC.append_flag);
994 WSH_DEBUG_SV.log(l_module_name,'task_priority',X_BATCH_REC.task_priority);
995 WSH_DEBUG_SV.log(l_module_name,'Actual Departure Date',x_batch_rec.actual_departure_date);
996 WSH_DEBUG_SV.log(l_module_name,'allocation_method',X_BATCH_REC.allocation_method); -- X-dock
997 WSH_DEBUG_SV.log(l_module_name,'crossdock_criteria_id',X_BATCH_REC.crossdock_criteria_id); -- X-dock
998 WSH_DEBUG_SV.log(l_module_name,'dynamic_replenishment_flag ',X_BATCH_REC.dynamic_replenishment_flag); --bug# 6689448 (replenishment project)
999 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
1000 --}
1001 END IF;
1002
1003
1004
1005 IF FND_API.TO_BOOLEAN(p_commit) THEN
1006 COMMIT WORK;
1007 END IF;
1008
1009 FND_MSG_PUB.Count_And_Get
1010 (
1011 p_count => x_msg_count,
1012 p_data => x_msg_data,
1013 p_encoded => FND_API.G_FALSE
1014 );
1015
1016 IF l_debug_on THEN
1017 WSH_DEBUG_SV.pop(l_module_name);
1018 END IF;
1019 --
1020 EXCEPTION
1021 WHEN FND_API.G_EXC_ERROR THEN
1022 IF c_batch_info%ISOPEN THEN
1023 CLOSE c_batch_info;
1024 END IF;
1025 x_return_status := FND_API.G_RET_STS_ERROR ;
1026 wsh_util_core.add_message(x_return_status);
1027 FND_MSG_PUB.Count_And_Get
1028 (
1029 p_count => x_msg_count,
1030 p_data => x_msg_data,
1031 p_encoded => FND_API.G_FALSE
1032 );
1033
1034 IF l_debug_on THEN
1035 --{
1036 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1037 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
1038 --}
1039 END IF;
1040 --
1041
1042 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1043 IF c_batch_info%ISOPEN THEN
1044 CLOSE c_batch_info;
1045 END IF;
1046 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1047 wsh_util_core.add_message(x_return_status, l_module_name);
1048 FND_MSG_PUB.Count_And_Get
1049 (
1050 p_count => x_msg_count,
1051 p_data => x_msg_data,
1052 p_encoded => FND_API.G_FALSE
1053 );
1054 --
1055
1056 IF l_debug_on THEN
1057 --{
1058 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1059 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
1060 --}
1061 END IF;
1062
1063 WHEN OTHERS THEN
1064 IF c_batch_info%ISOPEN THEN
1065 CLOSE c_batch_info;
1066 END IF;
1067 wsh_util_core.default_handler('WSH_PICKING_BATCHES_PUB.GET_BATCH_RECORD');
1068 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
1069 FND_MSG_PUB.Count_And_Get
1070 (
1071 p_count => x_msg_count,
1072 p_data => x_msg_data,
1073 p_encoded => FND_API.G_FALSE
1074 );
1075
1076 IF l_debug_on THEN
1077 --{
1078 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
1079 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
1080 --}
1081 END IF;
1082 --
1083 END Get_Batch_Record;
1084
1085 END WSH_PICKING_BATCHES_PUB;