[Home] [Help]
PACKAGE BODY: APPS.WSH_PICKING_BATCHES_PUB
Source
1 PACKAGE BODY WSH_PICKING_BATCHES_PUB AS
2 /* $Header: WSHPRPBB.pls 120.3 2007/12/21 14:25:29 mvudugul 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 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
208 --}
209 END IF;
210
211 IF NOT FND_API.compatible_api_call( l_api_version,
212 p_api_version,
213 l_api_name,
214 G_PKG_NAME) THEN
215 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
216 END IF;
217
218 -- Check p_init_msg_list
219 IF FND_API.to_boolean(p_init_msg_list) THEN
220 --{
221 FND_MSG_PUB.initialize;
222 --}
223 END IF;
224 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
225 l_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
226
227 l_rule_id := p_rule_id;
228 l_rule_name := p_rule_name;
229 l_batch_rec := p_batch_rec;
230 l_batch_prefix := p_batch_prefix;
231
232
233 IF l_debug_on THEN
234 --{
235 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_PICKING_BATCHES_GRP.CREATE_BATCH',WSH_DEBUG_SV.C_PROC_LEVEL);
236 --}
237 END IF;
238
239 --
240 -- X-dock
241 -- 1)Validate CrossDock Criteria Name for WMS org.
242 -- Always use crossdock_criteria_id except when crossdock_criteria_id is null
243 -- and crossdock_criteria_name has been specified
244 -- 2)The values of crossdock criteria will be ignored for non-WMS org
245 --
246 IF WSH_UTIL_VALIDATE.check_wms_org(p_batch_rec.organization_id) = 'Y' THEN
247 IF (l_batch_rec.crossdock_criteria_id IS NULL AND
248 l_batch_rec.crossdock_criteria_name IS NOT NULL) THEN
249 -- derive crossdock criteria id
250 WMS_CROSSDOCK_GRP.chk_planxd_crt_id_name
251 (p_criterion_id => l_batch_rec.crossdock_criteria_id,
252 p_criterion_name => l_batch_rec.crossdock_criteria_name,
253 x_return_status => l_return_status);
254
255 wsh_util_core.api_post_call(
256 p_return_status => l_return_status,
257 x_num_warnings => l_number_of_warnings,
258 x_num_errors => l_number_of_errors,
259 p_msg_data => l_msg_data
260 );
261 END IF;
262 END IF;
263 -- end of X-dock
264 --
265
266 -- ECO 4634966
267 IF l_batch_rec.existing_rsvs_only_flag = 'Y' AND
268 WSH_UTIL_VALIDATE.check_wms_org(l_batch_rec.organization_id) = 'Y' AND
269 l_batch_rec.allocation_method IN (WSH_PICK_LIST.C_CROSSDOCK_ONLY,
270 WSH_PICK_LIST.C_PRIORITIZE_CROSSDOCK,
271 WSH_PICK_LIST.C_PRIORITIZE_INVENTORY) THEN
272 ROLLBACK TO PICKING_BATCH_PUB;
273 FND_MESSAGE.SET_NAME('WSH','WSH_INVALID_COMBINATION');
274 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
275 wsh_util_core.add_message(x_return_status);
276 IF l_debug_on THEN
277 WSH_DEBUG_SV.pop(l_module_name);
278 END IF;
279 --
280 return;
281 END IF;
282 -- End of ECO 4634966
283
284 WSH_PICKING_BATCHES_GRP.Create_Batch(
285 p_api_version_number => p_api_version,
286 p_init_msg_list => NULL, --- Treated as False in Group API
287 p_commit => NULL, --- Treated as False in Group API
288 x_return_status => l_return_status,
289 x_msg_count => l_msg_count,
290 x_msg_data => l_msg_data,
291 p_rule_id => l_rule_id ,
292 p_rule_name => l_rule_name ,
293 p_batch_rec => l_batch_rec,
294 p_batch_prefix => l_batch_prefix,
295 x_batch_id => l_batch_id);
296
297 IF l_debug_on THEN
298 --{
299 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.API_POST_CALL',WSH_DEBUG_SV.C_PROC_LEVEL);
300 --}
301 END IF;
302 --
303
304 wsh_util_core.api_post_call(
305 p_return_status => l_return_status,
306 x_num_warnings => l_number_of_warnings,
307 x_num_errors => l_number_of_errors,
308 p_msg_data => l_msg_data
309 );
310
311 x_batch_id := l_batch_id;
312
313 IF l_number_of_warnings > 0 THEN
314 --{
315 x_return_status := wsh_util_core.g_ret_sts_warning;
316 --}
317 END IF;
318
319
320 IF FND_API.TO_BOOLEAN(p_commit) THEN
321 --{
322 COMMIT WORK;
323 --}
324 END IF;
325
326 FND_MSG_PUB.Count_And_Get
327 (
328 p_count => x_msg_count,
329 p_data => x_msg_data,
330 p_encoded => FND_API.G_FALSE
331 );
332
333 IF l_debug_on THEN
334 --{
335 WSH_DEBUG_SV.pop(l_module_name);
336 --}
337 END IF;
338 --
339
340
341 EXCEPTION
342 WHEN FND_API.G_EXC_ERROR THEN
343 ROLLBACK TO PICKING_BATCH_PUB;
344 x_return_status := FND_API.G_RET_STS_ERROR ;
345 wsh_util_core.add_message(x_return_status);
346 FND_MSG_PUB.Count_And_Get
347 (
348 p_count => x_msg_count,
349 p_data => x_msg_data,
350 p_encoded => FND_API.G_FALSE
351 );
352
353 IF l_debug_on THEN
354 --{
355 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
356 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
357 --}
358 END IF;
359 --
360
361 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
362 ROLLBACK TO PICKING_BATCH_PUB;
363 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
364 wsh_util_core.add_message(x_return_status, l_module_name);
365 FND_MSG_PUB.Count_And_Get
366 (
367 p_count => x_msg_count,
368 p_data => x_msg_data,
369 p_encoded => FND_API.G_FALSE
370 );
371 --
372
373 IF l_debug_on THEN
374 --{
375 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
376 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
377 --}
378 END IF;
379 WHEN OTHERS THEN
380 ROLLBACK TO PICKING_BATCH_PUB;
381 wsh_util_core.default_handler('WSH_PICKING_BATCHES_PUB.CREATE_BATCH');
382 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
383 FND_MSG_PUB.Count_And_Get
384 (
385 p_count => x_msg_count,
386 p_data => x_msg_data,
387 p_encoded => FND_API.G_FALSE
388 );
389
390 IF l_debug_on THEN
391 --{
392 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
393 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
394 --}
395 END IF;
396 --
397 END Create_Batch;
398 /*
399 --======================================================================================================
400 -- Start of comments
401 --
402 -- API Name : Release_Batch
403 -- Type : Public
404 -- Purpose
405 -- Pre-reqs : None.
406 -- Function : The procedure takes in a Batch_id/ Batch_name and depending on the p_release_mode
407 -- value it process the batch. p_log_level value should be greator than 0 when
408 -- customer want to get the pick release log fine incace of concurrent pick release
409 -- release.
410 -- It will do some basic validations on the the input parameters
411 -- like log_level should be positive , and on the not null values of p_batch_rec.
412 --
413 -- PARAMETERS : p_api_version_number known api version number
414 -- p_init_msg_list FND_API.G_TRUE to reset list
415 -- p_commit FND_API.G_TRUE to perform a commit
416 -- x_return_status return status
417 -- x_msg_count number of messages in the list
418 -- x_msg_data text of messages
419 -- p_batch_id Picking Batch Id which is used to get Batch
420 -- information from the wsh_picking_batches table.
421 -- p_batch_name Picking Batch Name which is used to get Batch
422 -- information from the wsh_picking_batches table.
423 -- p_log_level Controlls the log message generated by cuncurrent
424 -- pick release process.
425 -- p_release_mode Used to do ONLINE or CONCURRENT pick release,
426 -- Default is "CONCURREN"
427 -- p_release_mode Returns the batch Id created
428 -- x_request_id Returns the Request Id for concurrent pick release request
429 -- VERSION : current version 1.0
430 -- initial version 1.0
431 -- End of comments
432 --======================================================================================================
433 */
434
435 PROCEDURE Release_Batch (
436 -- Standard parameters
437 p_api_version IN NUMBER,
438 p_init_msg_list IN VARCHAR2 DEFAULT NULL,
439 p_commit IN VARCHAR2 DEFAULT NULL,
440 x_return_status OUT NOCOPY VARCHAR2,
441 x_msg_count OUT NOCOPY NUMBER,
442 x_msg_data OUT NOCOPY VARCHAR2,
443 -- program specific paramters.
444 p_batch_id IN NUMBER DEFAULT NULL,
445 p_batch_name IN VARCHAR2 DEFAULT NULL,
446 p_log_level IN NUMBER DEFAULT NULL,
447 p_release_mode IN VARCHAR2 DEFAULT 'CONCURRENT',
448 x_request_id OUT NOCOPY NUMBER
449 ) IS
450
451 l_api_version CONSTANT NUMBER := 1.0;
452 l_api_name CONSTANT VARCHAR2(30):= 'WSH_PICKING_BATCHES_PUB';
453
454 l_return_status VARCHAR2(30) := NULL;
455 l_msg_count NUMBER;
456 l_msg_data VARCHAR2(32767);
457 l_number_of_errors NUMBER := 0;
458 l_number_of_warnings NUMBER := 0;
459
460 l_batch_id NUMBER;
461 l_batch_name VARCHAR2(60);
462 l_release_mode VARCHAR2(20);
463 l_log_level NUMBER;
464 l_request_id NUMBER;
465 l_num_workers NUMBER;
466
467 l_debug_on BOOLEAN;
468 --
469 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'RELEASE_BATCH';
470 --
471
472 BEGIN
473
474 --
475 -- Debug Statements
476 --
477 --
478 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
479 --
480 IF l_debug_on IS NULL THEN
481 --{
482 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
483 --}
484 END IF;
485 --
486 IF l_debug_on THEN
487 --{
488 --
489 WSH_DEBUG_SV.push(l_module_name);
490 --
491 WSH_DEBUG_SV.logmsg(l_module_name,'RELEASE_BATCH BEING CALLED WITH FOLLOWING PARAMETERS');
492 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
493 WSH_DEBUG_SV.log(l_module_name,'P_API_VERSION',P_API_VERSION);
494 WSH_DEBUG_SV.log(l_module_name,'P_INIT_MSG_LIST',P_INIT_MSG_LIST);
495 WSH_DEBUG_SV.log(l_module_name,'P_COMMIT',P_COMMIT);
496 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_ID',P_BATCH_ID);
497 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_NAME',P_BATCH_NAME);
498 WSH_DEBUG_SV.log(l_module_name,'P_RELEASE_MODE',P_RELEASE_MODE);
499 WSH_DEBUG_SV.log(l_module_name,'P_LOG_LEVEL',P_LOG_LEVEL);
500 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
501 --}
502 END IF;
503 IF NOT FND_API.compatible_api_call( l_api_version,
504 p_api_version,
505 l_api_name,
506 G_PKG_NAME) THEN
507 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
508 END IF;
509
510 -- Check p_init_msg_list
511 IF FND_API.to_boolean(p_init_msg_list) THEN
512 --{
513 FND_MSG_PUB.initialize;
514 --}
515 END IF;
516
517 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
518 l_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
519
520 l_batch_id := p_batch_id;
521 l_batch_name := p_batch_name;
522 l_release_mode := p_release_mode;
523 l_log_level := p_log_level;
524
525 IF l_release_mode = 'CONCURRENT' THEN
526 l_num_workers := NVL(FND_PROFILE.Value('WSH_PR_NUM_WORKERS'), 1);
527 ELSE
528 l_num_workers := 1;
529 END IF;
530
531
532 IF l_debug_on THEN
533 --{
534 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_PICKING_BATCHES_GRP.RELASE_BATCH',WSH_DEBUG_SV.C_PROC_LEVEL);
535 --}
536 END IF;
537 --
538 WSH_PICKING_BATCHES_GRP.Release_Batch(
539 p_api_version_number => p_api_version,
540 p_init_msg_list => NULL, --- Treated as False in Group API
541 p_commit => NULL, --- Treated as False in Group API
542 x_return_status => l_return_status,
543 x_msg_count => l_msg_count,
544 x_msg_data => l_msg_data,
545 p_batch_id => l_batch_id,
546 p_batch_name => l_batch_name,
547 p_release_mode => l_release_mode,
548 p_log_level => l_log_level,
549 p_num_workers => l_num_workers,
550 x_request_id => l_request_id);
551
552 IF l_debug_on THEN
553 --{
554 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.API_POST_CALL',WSH_DEBUG_SV.C_PROC_LEVEL);
555 --}
556 END IF;
557 --
558
559 wsh_util_core.api_post_call(
560 p_return_status => l_return_status,
561 x_num_warnings => l_number_of_warnings,
562 x_num_errors => l_number_of_errors,
563 p_msg_data => l_msg_data
564 );
565
566 x_request_id := l_request_id;
567
568 IF l_number_of_warnings > 0 THEN
569 --{
570 x_return_status := wsh_util_core.g_ret_sts_warning;
571 --}
572 END IF;
573
574
575 IF FND_API.TO_BOOLEAN(p_commit) THEN
576 --{
577 COMMIT WORK;
578 --}
579 END IF;
580
581 FND_MSG_PUB.Count_And_Get
582 (
583 p_count => x_msg_count,
584 p_data => x_msg_data,
585 p_encoded => FND_API.G_FALSE
586 );
587
588 IF l_debug_on THEN
589 --{
590 WSH_DEBUG_SV.pop(l_module_name);
591 --}
592 END IF;
593 --
594 EXCEPTION
595 WHEN FND_API.G_EXC_ERROR THEN
596 x_return_status := FND_API.G_RET_STS_ERROR ;
597 wsh_util_core.add_message(x_return_status);
598 FND_MSG_PUB.Count_And_Get
599 (
600 p_count => x_msg_count,
601 p_data => x_msg_data,
602 p_encoded => FND_API.G_FALSE
603 );
604
605 IF l_debug_on THEN
606 --{
607 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
608 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
609 --}
610 END IF;
611 --
612
613 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
614 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
615 wsh_util_core.add_message(x_return_status, l_module_name);
616 FND_MSG_PUB.Count_And_Get
617 (
618 p_count => x_msg_count,
619 p_data => x_msg_data,
620 p_encoded => FND_API.G_FALSE
621 );
622 --
623
624 IF l_debug_on THEN
625 --{
626 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
627 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
628 --}
629 END IF;
630 WHEN OTHERS THEN
631 wsh_util_core.default_handler('WSH_PICKING_BATCHES_PUB.RELEASE_BATCH');
632 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
633 FND_MSG_PUB.Count_And_Get
634 (
635 p_count => x_msg_count,
636 p_data => x_msg_data,
637 p_encoded => FND_API.G_FALSE
638 );
639
640 IF l_debug_on THEN
641 --{
642 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
643 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
644 --}
645 END IF;
646 --
647 END Release_Batch;
648
649
650
651
652
653
654 -- Start of comments
655 --
656 -- API Name : Get_Batch_Record
657 -- Type : Public
658 -- Purpose
659 -- Pre-reqs : None.
660 -- Function : The procedure takes in a Batch_id or Batch_name and retrieves
661 -- the batch record from wsh_picking_batches.
662 -- Note: Non-database attributes will be NULL.
663 --
664 -- PARAMETERS : p_api_version_number known api version number
665 -- p_init_msg_list FND_API.G_TRUE to reset list
666 -- p_commit FND_API.G_TRUE to perform a commit
667 -- x_return_status return status
668 -- x_msg_count number of messages in the list
669 -- x_msg_data text of messages
670 -- p_batch_id Picking Batch Id which is used to get Batch
671 -- information from the wsh_picking_batches table.
672 -- p_batch_name Picking Batch Name which is used to get Batch
673 -- information from the wsh_picking_batches table.
674 -- x_batch_rec Batch record from wsh_picking_batches
675 -- VERSION : current version 1.0
676 -- initial version 1.0
677 -- End of comments
678
679 PROCEDURE Get_Batch_Record(
680 -- Standard parameters
681 p_api_version IN NUMBER,
682 p_init_msg_list IN VARCHAR2 DEFAULT NULL,
683 p_commit IN VARCHAR2 DEFAULT NULL,
684 x_return_status OUT NOCOPY VARCHAR2,
685 x_msg_count OUT NOCOPY NUMBER,
686 x_msg_data OUT NOCOPY VARCHAR2,
687 -- program specific paramters.
688 p_batch_id IN NUMBER DEFAULT NULL,
689 p_batch_name IN VARCHAR2 DEFAULT NULL,
690 x_batch_rec OUT NOCOPY WSH_PICKING_BATCHES_PUB.Batch_Info_Rec
691 ) IS
692 l_api_version CONSTANT NUMBER := 1.0;
693 l_api_name CONSTANT VARCHAR2(30):= 'WSH_PICKING_BATCHES_PUB';
694
695 l_return_status VARCHAR2(30) := NULL;
696 l_msg_count NUMBER;
697 l_msg_data VARCHAR2(32767);
698 l_number_of_errors NUMBER := 0;
699 l_number_of_warnings NUMBER := 0;
700
701 l_batch_id NUMBER;
702 l_batch_name VARCHAR2(60);
703
704 l_debug_on BOOLEAN;
705 --
706 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'GET_BATCH_RECORD';
707 --
708 CURSOR c_batch_info(x_batch_id NUMBER) IS
709 SELECT
710 Backorders_Only_Flag,
711 Document_Set_Id,
712 NULL, -- not in table: document_set_name
713 Existing_Rsvs_Only_Flag,
714 Shipment_Priority_Code,
715 Ship_Method_Code,
716 NULL, -- not in table: ship_method_name
717 Customer_Id,
718 NULL, -- not in table: customer_number
719 Order_Header_Id,
720 NULL, -- not in table: order_number
721 NULL, -- not in table: ship_set_id
722 Ship_Set_Number,
723 Inventory_Item_Id,
724 Order_Type_Id,
725 NULL, -- not in table: order_type_name
726 From_Requested_Date,
727 To_Requested_Date,
728 From_Scheduled_Ship_Date,
729 To_Scheduled_Ship_Date,
730 Ship_To_Location_Id,
731 NULL, -- not in table: ship_to_location_code
732 Ship_From_Location_Id,
733 NULL, -- not in table: ship_from_location_code
734 Trip_Id,
735 NULL, -- not in table: trip_name
736 Delivery_Id,
737 NULL, -- not in table: delivery_name
738 Include_Planned_Lines,
739 Pick_Grouping_Rule_Id,
740 NULL, -- not in table: pick_grouping_rule_name
741 Pick_Sequence_Rule_Id,
742 NULL, -- not in table: pick_sequence_rule_name
743 Autocreate_Delivery_Flag,
744 Attribute_Category,
745 Attribute1,
746 Attribute2,
747 Attribute3,
748 Attribute4,
749 Attribute5,
750 Attribute6,
751 Attribute7,
752 Attribute8,
753 Attribute9,
754 Attribute10,
755 Attribute11,
756 Attribute12,
757 Attribute13,
758 Attribute14,
759 Attribute15,
760 Autodetail_Pr_Flag,
761 Trip_Stop_Id,
762 NULL, -- not in table: trip_stop_location_id
763 Default_Stage_Subinventory,
764 Default_Stage_Locator_Id,
765 Pick_From_Subinventory,
766 Pick_From_locator_Id,
767 Auto_Pick_Confirm_Flag,
768 Delivery_Detail_Id,
769 Project_Id,
770 Task_Id,
771 Organization_Id,
772 NULL, -- not in table: organization_code
773 Ship_Confirm_Rule_Id,
774 NULL, -- not in table: ship_confirm_rule_name
775 Autopack_Flag,
776 Autopack_Level,
777 Task_Planning_Flag,
778 Category_Set_ID,
779 Category_ID,
780 Ship_Set_Smc_Flag,
781 region_ID,
782 zone_ID,
783 ac_Delivery_Criteria,
784 rel_subinventory,
785 append_flag,
786 task_priority,
787 actual_departure_date,
788 allocation_method, -- X-dock
789 crossdock_criteria_id, -- X-dock
790 NULL, -- not in the table:crossdock_criteria_name
791 dynamic_replenishment_flag --bug# 6689448 (replenishment project)
792 FROM wsh_picking_batches
793 WHERE batch_id = x_batch_id;
794
795 BEGIN
796
797 --
798 -- Debug Statements
799 --
800 --
801 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
802 --
803 IF l_debug_on IS NULL THEN
804 --{
805 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
806 --}
807 END IF;
808 --
809 IF l_debug_on THEN
810 --{
811 --
812 WSH_DEBUG_SV.push(l_module_name);
813 --
814 WSH_DEBUG_SV.logmsg(l_module_name,'GET_BATCH_RECORD BEING CALLED WITH FOLLOWING PARAMETERS');
815 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
816 WSH_DEBUG_SV.log(l_module_name,'P_API_VERSION',P_API_VERSION);
817 WSH_DEBUG_SV.log(l_module_name,'P_INIT_MSG_LIST',P_INIT_MSG_LIST);
818 WSH_DEBUG_SV.log(l_module_name,'P_COMMIT',P_COMMIT);
819 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_ID',P_BATCH_ID);
820 WSH_DEBUG_SV.log(l_module_name,'P_BATCH_NAME',P_BATCH_NAME);
821 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
822 --}
823 END IF;
824 IF NOT FND_API.compatible_api_call( l_api_version,
825 p_api_version,
826 l_api_name,
827 G_PKG_NAME) THEN
828 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
829 END IF;
830
831 -- Check p_init_msg_list
832 IF FND_API.to_boolean(p_init_msg_list) THEN
833 --{
834 FND_MSG_PUB.initialize;
835 --}
836 END IF;
837
838 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
839 l_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
840
841 l_batch_id := p_batch_id;
842 l_batch_name := p_batch_name;
843
844 -- Validating Batch Name and Batch Id
845 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
846 --{
847 IF ( l_batch_Id = FND_API.G_MISS_NUM ) THEN
848 --{
849 l_batch_Id := NULL;
850 --}
851 END IF;
852 IF ( l_batch_name = FND_API.G_MISS_CHAR ) THEN
853 --{
854 l_batch_name := NULL;
855 --}
856 END IF;
857 IF ( ( l_batch_Id IS NOT NULL) OR ( l_batch_name IS NOT NULL ) ) THEN
858 --{
859 WSH_UTIL_VALIDATE.Validate_Picking_Batch_Name(
860 p_picking_batch_Id => l_batch_Id,
861 p_picking_batch_name => l_batch_Name,
862 x_return_status => l_return_status);
863
864 IF l_debug_on THEN
865 --{
866 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.API_POST_CALL',WSH_DEBUG_SV.C_PROC_LEVEL);
867 --}
868 END IF;
869 --
870 wsh_util_core.api_post_call(
871 p_return_status => l_return_status,
872 x_num_warnings => l_number_of_warnings,
873 x_num_errors => l_number_of_errors,
874 p_msg_data => l_msg_data
875 );
876 --}
877 END IF;
878 ELSE
879 --
880 --
881 FND_MESSAGE.SET_NAME('WSH','WSH_REQUIRED_FIELD_NULL');
882 FND_MESSAGE.SET_TOKEN('FIELD_NAME ',' BATCH_ID OR BATCH_NAME ');
883 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
884 wsh_util_core.add_message(x_return_status);
885 IF l_debug_on THEN
886 WSH_DEBUG_SV.pop(l_module_name);
887 END IF;
888 --
889 return;
890 --}
891 END IF;
892
893 -- End of Batch Name Validations
894
895 IF l_debug_on THEN
896 WSH_DEBUG_SV.log(l_module_name, 'open cursor c_batch_info for l_batch_id', l_batch_id);
897 END IF;
898
899 OPEN c_batch_info(l_batch_id);
900 -- at this time, it should be valid, so the record would be found.
901 FETCH c_batch_info INTO x_batch_rec;
902 CLOSE c_batch_info;
903
904 IF l_debug_on THEN
905 WSH_DEBUG_SV.logmsg(l_module_name,'RECORD ATTRIBUTES LOOKED UP');
906 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
907 WSH_DEBUG_SV.log(l_module_name,'BACKORDERS_ONLY_FLAG',X_BATCH_REC.BACKORDERS_ONLY_FLAG);
908 WSH_DEBUG_SV.log(l_module_name,'DOCUMENT_SET_ID',X_BATCH_REC.DOCUMENT_SET_ID);
909 WSH_DEBUG_SV.log(l_module_name,'DOCUMENT_SET_NAME',X_BATCH_REC.DOCUMENT_SET_NAME);
910 WSH_DEBUG_SV.log(l_module_name,'EXISTING_RSVS_ONLY_FLAG',X_BATCH_REC.EXISTING_RSVS_ONLY_FLAG);
911 WSH_DEBUG_SV.log(l_module_name,'SHIPMENT_PRIORITY_CODE',X_BATCH_REC.SHIPMENT_PRIORITY_CODE);
912 WSH_DEBUG_SV.log(l_module_name,'SHIP_METHOD_CODE',X_BATCH_REC.SHIP_METHOD_CODE);
913 WSH_DEBUG_SV.log(l_module_name,'SHIP_METHOD_NAME',X_BATCH_REC.SHIP_METHOD_NAME);
914 WSH_DEBUG_SV.log(l_module_name,'CUSTOMER_ID',X_BATCH_REC.CUSTOMER_ID);
915 WSH_DEBUG_SV.log(l_module_name,'CUSTOMER_NUMBER',X_BATCH_REC.CUSTOMER_NUMBER);
916 WSH_DEBUG_SV.log(l_module_name,'ORDER_HEADER_ID',X_BATCH_REC.ORDER_HEADER_ID);
917 WSH_DEBUG_SV.log(l_module_name,'ORDER_NUMBER',X_BATCH_REC.ORDER_NUMBER);
918 WSH_DEBUG_SV.log(l_module_name,'SHIP_SET_ID',X_BATCH_REC.SHIP_SET_ID);
919 WSH_DEBUG_SV.log(l_module_name,'SHIP_SET_NUMBER',X_BATCH_REC.SHIP_SET_NUMBER);
920 WSH_DEBUG_SV.log(l_module_name,'INVENTORY_ITEM_ID',X_BATCH_REC.INVENTORY_ITEM_ID);
921 WSH_DEBUG_SV.log(l_module_name,'ORDER_TYPE_ID',X_BATCH_REC.ORDER_TYPE_ID);
922 WSH_DEBUG_SV.log(l_module_name,'ORDER_TYPE_NAME',X_BATCH_REC.ORDER_TYPE_NAME);
923 WSH_DEBUG_SV.log(l_module_name,'FROM_REQUESTED_DATE',X_BATCH_REC.FROM_REQUESTED_DATE);
924 WSH_DEBUG_SV.log(l_module_name,'TO_REQUESTED_DATE',X_BATCH_REC.TO_REQUESTED_DATE);
925 WSH_DEBUG_SV.log(l_module_name,'FROM_SCHEDULED_SHIP_DATE',X_BATCH_REC.FROM_SCHEDULED_SHIP_DATE);
926 WSH_DEBUG_SV.log(l_module_name,'TO_SCHEDULED_SHIP_DATE',X_BATCH_REC.TO_SCHEDULED_SHIP_DATE);
927 WSH_DEBUG_SV.log(l_module_name,'SHIP_TO_LOCATION_ID',X_BATCH_REC.SHIP_TO_LOCATION_ID);
928 WSH_DEBUG_SV.log(l_module_name,'SHIP_FROM_LOCATION_ID',X_BATCH_REC.SHIP_FROM_LOCATION_ID);
929 WSH_DEBUG_SV.log(l_module_name,'TRIP_ID',X_BATCH_REC.TRIP_ID);
930 WSH_DEBUG_SV.log(l_module_name,'TRIP_NAME',X_BATCH_REC.TRIP_NAME);
931 WSH_DEBUG_SV.log(l_module_name,'DELIVERY_ID',X_BATCH_REC.DELIVERY_ID);
932 WSH_DEBUG_SV.log(l_module_name,'DELIVERY_NAME',X_BATCH_REC.DELIVERY_NAME);
933 WSH_DEBUG_SV.log(l_module_name,'INCLUDE_PLANNED_LINES',X_BATCH_REC.INCLUDE_PLANNED_LINES);
934 WSH_DEBUG_SV.log(l_module_name,'PICK_GROUPING_RULE_ID',X_BATCH_REC.PICK_GROUPING_RULE_ID);
935 WSH_DEBUG_SV.log(l_module_name,'PICK_GROUPING_RULE_NAME',X_BATCH_REC.PICK_GROUPING_RULE_NAME);
936 WSH_DEBUG_SV.log(l_module_name,'PICK_SEQUENCE_RULE_ID',X_BATCH_REC.PICK_SEQUENCE_RULE_ID);
937 WSH_DEBUG_SV.log(l_module_name,'PICK_SEQUENCE_RULE_NAME',X_BATCH_REC.PICK_SEQUENCE_RULE_NAME);
938 WSH_DEBUG_SV.log(l_module_name,'AUTOCREATE_DELIVERY_FLAG',X_BATCH_REC.AUTOCREATE_DELIVERY_FLAG);
939 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE_CATEGORY',X_BATCH_REC.ATTRIBUTE_CATEGORY);
940 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE1',X_BATCH_REC.ATTRIBUTE1);
941 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE2',X_BATCH_REC.ATTRIBUTE2);
942 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE3',X_BATCH_REC.ATTRIBUTE3);
943 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE4',X_BATCH_REC.ATTRIBUTE4);
944 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE5',X_BATCH_REC.ATTRIBUTE5);
945 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE6',X_BATCH_REC.ATTRIBUTE6);
946 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE7',X_BATCH_REC.ATTRIBUTE7);
947 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE8',X_BATCH_REC.ATTRIBUTE8);
948 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE9',X_BATCH_REC.ATTRIBUTE9);
949 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE10',X_BATCH_REC.ATTRIBUTE10);
950 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE11',X_BATCH_REC.ATTRIBUTE11);
951 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE12',X_BATCH_REC.ATTRIBUTE12);
952 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE13',X_BATCH_REC.ATTRIBUTE13);
953 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE14',X_BATCH_REC.ATTRIBUTE14);
954 WSH_DEBUG_SV.log(l_module_name,'ATTRIBUTE15',X_BATCH_REC.ATTRIBUTE15);
955 WSH_DEBUG_SV.log(l_module_name,'AUTODETAIL_PR_FLAG',X_BATCH_REC.AUTODETAIL_PR_FLAG);
956 WSH_DEBUG_SV.log(l_module_name,'STOP_ID',X_BATCH_REC.TRIP_STOP_ID);
957 WSH_DEBUG_SV.log(l_module_name,'STOP_LOCATION_ID',X_BATCH_REC.TRIP_STOP_LOCATION_ID);
958 WSH_DEBUG_SV.log(l_module_name,'DEFAULT_STAGE_SUBINVENTORY',X_BATCH_REC.DEFAULT_STAGE_SUBINVENTORY);
959 WSH_DEBUG_SV.log(l_module_name,'DEFAULT_STAGE_LOCATOR_ID',X_BATCH_REC.DEFAULT_STAGE_LOCATOR_ID);
960 WSH_DEBUG_SV.log(l_module_name,'PICK_FROM_SUBINVENTORY',X_BATCH_REC.PICK_FROM_SUBINVENTORY);
961 WSH_DEBUG_SV.log(l_module_name,'PICK_FROM_LOCATOR_ID',X_BATCH_REC.PICK_FROM_LOCATOR_ID);
962 WSH_DEBUG_SV.log(l_module_name,'AUTO_PICK_CONFIRM_FLAG',X_BATCH_REC.AUTO_PICK_CONFIRM_FLAG);
963 WSH_DEBUG_SV.log(l_module_name,'DELIVERY_DETAIL_ID',X_BATCH_REC.DELIVERY_DETAIL_ID);
964 WSH_DEBUG_SV.log(l_module_name,'PROJECT_ID',X_BATCH_REC.PROJECT_ID);
965 WSH_DEBUG_SV.log(l_module_name,'TASK_ID',X_BATCH_REC.TASK_ID);
966 WSH_DEBUG_SV.log(l_module_name,'ORGANIZATION_ID',X_BATCH_REC.ORGANIZATION_ID);
967 WSH_DEBUG_SV.log(l_module_name,'ORGANIZATION_CODE',X_BATCH_REC.ORGANIZATION_CODE);
968 WSH_DEBUG_SV.log(l_module_name,'CONFIRM_RULE_ID',X_BATCH_REC.SHIP_CONFIRM_RULE_ID);
969 WSH_DEBUG_SV.log(l_module_name,'CONFIRM_RULE_NAME',X_BATCH_REC.SHIP_CONFIRM_RULE_NAME);
970 WSH_DEBUG_SV.log(l_module_name,'AUTOPACK_FLAG',X_BATCH_REC.AUTOPACK_FLAG);
971 WSH_DEBUG_SV.log(l_module_name,'AUTOPACK_LEVEL',X_BATCH_REC.AUTOPACK_LEVEL);
972 WSH_DEBUG_SV.log(l_module_name,'TASK_PLANNING_FLAG',X_BATCH_REC.TASK_PLANNING_FLAG);
973 WSH_DEBUG_SV.log(l_module_name,'CATEGORY_SET_ID',X_BATCH_REC.CATEGORY_SET_ID);
974 WSH_DEBUG_SV.log(l_module_name,'CATEGORY_ID',X_BATCH_REC.CATEGORY_ID);
975 WSH_DEBUG_SV.log(l_module_name,'SHIP_SET_SMC_FLAG',X_BATCH_REC.SHIP_SET_SMC_FLAG);
976 WSH_DEBUG_SV.log(l_module_name,'p_region_ID',X_BATCH_REC.region_ID);
977 WSH_DEBUG_SV.log(l_module_name,'zone_ID',X_BATCH_REC.zone_ID);
978 WSH_DEBUG_SV.log(l_module_name,'ac_Delivery_Criteria',X_BATCH_REC.ac_Delivery_Criteria);
979 WSH_DEBUG_SV.log(l_module_name,'rel_subinventory',X_BATCH_REC.rel_subinventory);
980 WSH_DEBUG_SV.log(l_module_name,'append_flag',X_BATCH_REC.append_flag);
981 WSH_DEBUG_SV.log(l_module_name,'task_priority',X_BATCH_REC.task_priority);
982 WSH_DEBUG_SV.log(l_module_name,'Actual Departure Date',x_batch_rec.actual_departure_date);
983 WSH_DEBUG_SV.log(l_module_name,'allocation_method',X_BATCH_REC.allocation_method); -- X-dock
984 WSH_DEBUG_SV.log(l_module_name,'crossdock_criteria_id',X_BATCH_REC.crossdock_criteria_id); -- X-dock
985 WSH_DEBUG_SV.log(l_module_name,'dynamic_replenishment_flag ',X_BATCH_REC.dynamic_replenishment_flag); --bug# 6689448 (replenishment project)
986 WSH_DEBUG_SV.logmsg(l_module_name,'************************************************************************');
987 --}
988 END IF;
989
990
991
992 IF FND_API.TO_BOOLEAN(p_commit) THEN
993 COMMIT WORK;
994 END IF;
995
996 FND_MSG_PUB.Count_And_Get
997 (
998 p_count => x_msg_count,
999 p_data => x_msg_data,
1000 p_encoded => FND_API.G_FALSE
1001 );
1002
1003 IF l_debug_on THEN
1004 WSH_DEBUG_SV.pop(l_module_name);
1005 END IF;
1006 --
1007 EXCEPTION
1008 WHEN FND_API.G_EXC_ERROR THEN
1009 IF c_batch_info%ISOPEN THEN
1010 CLOSE c_batch_info;
1011 END IF;
1012 x_return_status := FND_API.G_RET_STS_ERROR ;
1013 wsh_util_core.add_message(x_return_status);
1014 FND_MSG_PUB.Count_And_Get
1015 (
1016 p_count => x_msg_count,
1017 p_data => x_msg_data,
1018 p_encoded => FND_API.G_FALSE
1019 );
1020
1021 IF l_debug_on THEN
1022 --{
1023 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1024 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
1025 --}
1026 END IF;
1027 --
1028
1029 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1030 IF c_batch_info%ISOPEN THEN
1031 CLOSE c_batch_info;
1032 END IF;
1033 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1034 wsh_util_core.add_message(x_return_status, l_module_name);
1035 FND_MSG_PUB.Count_And_Get
1036 (
1037 p_count => x_msg_count,
1038 p_data => x_msg_data,
1039 p_encoded => FND_API.G_FALSE
1040 );
1041 --
1042
1043 IF l_debug_on THEN
1044 --{
1045 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1046 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
1047 --}
1048 END IF;
1049
1050 WHEN OTHERS THEN
1051 IF c_batch_info%ISOPEN THEN
1052 CLOSE c_batch_info;
1053 END IF;
1054 wsh_util_core.default_handler('WSH_PICKING_BATCHES_PUB.GET_BATCH_RECORD');
1055 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
1056 FND_MSG_PUB.Count_And_Get
1057 (
1058 p_count => x_msg_count,
1059 p_data => x_msg_data,
1060 p_encoded => FND_API.G_FALSE
1061 );
1062
1063 IF l_debug_on THEN
1064 --{
1065 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
1066 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
1067 --}
1068 END IF;
1069 --
1070 END Get_Batch_Record;
1071
1072 END WSH_PICKING_BATCHES_PUB;