[Home] [Help]
PACKAGE BODY: APPS.GMO_LABEL_MGMT_GRP
Source
1 PACKAGE BODY GMO_LABEL_MGMT_GRP AS
2 /* $Header: GMOGLBPB.pls 120.11 2011/05/06 10:27:25 rborpatl ship $ */
3
4
5 -- Start of comments
6 -- API name : PRINT_LABEL
7 -- Type : Group.
8 -- Function : To Initiate Label Print.
9 -- Pre-reqs : None.
10 -- Parameters :
11 -- IN : p_api_version IN NUMBER Required
12 -- p_init_msg_list IN VARCHAR2 Required
13 -- P_ENTITY_NAME IN VARCHAR2 Required
14 -- P_ENTITY_KEY IN VARCHAR2 Required
15 -- P_WMS_BUSINESS_FLOW_CODE IN NUMBER Required
16 -- P_LABEL_TYPE IN VARCHAR2 Required
17 -- P_TRANSACTION_ID IN VARCHAR2 Required
18 -- P_TRANSACTION_TYPE IN NUMBER Required
19 -- P_APPLICATION_SHORT_NAME IN VARCHAR2 Required
20 -- P_REQUESTER IN NUMBER Required
21 -- P_CONTEXT IN TABLE OF RECORD of type CONTEXT_TABLE
22 -- .
23 -- OUT : x_return_status OUT VARCHAR2(1)
24 -- x_msg_count OUT NUMBER
25 -- x_msg_data OUT VARCHAR2(2000)
26 -- . x_Label_ID OUT NUMBER
27 -- Version : Current version 1.0
28 -- Initial version 1.0
29 --
30 -- End of comments
31
32 PROCEDURE PRINT_LABEL (
33 p_api_version IN NUMBER,
34 p_init_msg_list IN VARCHAR2,
35 x_return_status OUT NOCOPY VARCHAR2,
36 x_msg_count OUT NOCOPY NUMBER,
37 x_msg_data OUT NOCOPY VARCHAR2,
38 P_ENTITY_NAME IN VARCHAR2,
39 P_ENTITY_KEY IN VARCHAR2,
40 P_WMS_BUSINESS_FLOW_CODE IN NUMBER,
41 P_LABEL_TYPE IN VARCHAR2,
42 P_TRANSACTION_ID IN VARCHAR2,
43 P_TRANSACTION_TYPE IN NUMBER,
44 P_APPLICATION_SHORT_NAME IN VARCHAR2,
45 P_REQUESTER IN NUMBER,
46 P_CONTEXT IN GMO_LABEL_MGMT_GRP.CONTEXT_TABLE,
47 x_Label_id OUT NOCOPY NUMBER) IS PRAGMA AUTONOMOUS_TRANSACTION;
48
49 CURSOR C_LABEL_HISTORY_S IS
50 SELECT GMO_LABEL_HISTORY_S.nextval from dual;
51
52 CURSOR C_LABEL_HISTORY_DTL_S IS
53 SELECT GMO_LABEL_HISTORY_DTL_S.nextval from dual;
54
55 l_index number;
56 l_label_id number;
57 l_labeldtl_id number;
58 l_labeltype varchar2(32):='###';
59 l_labelstring varchar2(100);
60 L_CREATION_DATE DATE;
61 L_CREATED_BY NUMBER;
62 L_LAST_UPDATE_DATE DATE;
63 L_LAST_UPDATED_BY NUMBER;
64 L_LAST_UPDATE_LOGIN NUMBER;
65 l_api_version constant number:= 1.0;
66 l_api_name constant VARCHAR2(30) :='PRINT_LABEL';
67 l_exit boolean:=true;
68
69 BEGIN
70 IF NOT fnd_api.Compatible_API_Call ( l_api_version, p_api_version, l_api_name, GMO_LABEL_MGMT_GRP.G_PKG_NAME)
71 THEN
72 RAISE fnd_api.G_EXC_UNEXPECTED_ERROR;
73 END IF;
74 IF FND_API.to_Boolean(p_init_msg_list) THEN
75 FND_MSG_PUB.initialize;
76 END IF;
77
78 x_return_status := FND_API.G_RET_STS_SUCCESS;
79
80 /* Insert master row into GMO_LABEL_HISTORY */
81 OPEN C_LABEL_HISTORY_S;
82 fetch C_LABEL_HISTORY_S into l_label_id;
83 CLOSE C_LABEL_HISTORY_S;
84
85
86 /* Get WHo columns */
87 GMO_UTILITIEs.GET_WHO_COLUMNS( X_CREATION_DATE =>L_CREATION_DATE,
88 X_CREATED_BY => L_CREATED_BY,
89 X_LAST_UPDATE_DATE =>L_LAST_UPDATE_DATE,
90 X_LAST_UPDATED_BY =>L_LAST_UPDATED_BY,
91 X_LAST_UPDATE_LOGIN =>L_LAST_UPDATE_LOGIN);
92
93 INSERT INTO GMO_LABEL_HISTORY
94 ( LABEL_ID,
95 ENTITY_NAME,
96 ENTITY_KEY,
97 WMS_BUSINESSFLOW_CODE,
98 WMS_BUSINESSFLOW_TRANS_ID,
99 TRANSACTION_TYPE,
100 REQUESTER,
101 REQUESTED_DATE,
102 ERECORD_ID,
103 STATUS,
104 CREATED_BY,
105 CREATION_DATE,
106 LAST_UPDATED_BY,
107 LAST_UPDATE_DATE,
108 LAST_UPDATE_LOGIN)
109 VALUES
110 ( L_LABEL_ID,
111 P_ENTITY_NAME,
112 P_ENTITY_KEY,
113 P_WMS_BUSINESS_FLOW_CODE,
114 P_TRANSACTION_ID,
115 P_TRANSACTION_TYPE,
116 P_REQUESTER,
117 SYSDATE,
118 NULL,
119 'NEW',
120 L_CREATED_BY,
121 L_CREATION_DATE,
122 L_LAST_UPDATED_BY,
123 L_LAST_UPDATE_DATE,
124 L_LAST_UPDATE_LOGIN
125 );
126
127 /* Resolve label type */
128 /* Process the label type with comma delimiters */
129 l_labelstring:=P_LABEL_TYPE;
130 while l_exit
131 LOOP
132 if instr(L_LABELSTRING,',') = 0 then
133 L_LABELTYPE:=L_LABELSTRING;
134 L_EXIT:= false;
135 else
136 L_LABELTYPE:=substr(L_LABELSTRING,0,instr(L_LABELSTRING,',')-1) ;
137 end if;
138 /* Insert DTL row into GMO_LABEL_HISTORY_TL */
139 OPEN C_LABEL_HISTORY_DTL_S;
140 fetch C_LABEL_HISTORY_DTL_S into l_labeldtl_id;
141 CLOSE C_LABEL_HISTORY_DTL_S;
142
143 INSERT INTO GMO_LABEL_HISTORY_DTL
144 ( LABEL_DTL_ID,
145 LABEL_ID,
146 LABEL_TYPE,
147 WMS_LABEL_ID,
148 WMS_PRINT_STATUS,
149 CREATED_BY,
150 CREATION_DATE,
151 LAST_UPDATED_BY,
152 LAST_UPDATE_DATE,
153 LAST_UPDATE_LOGIN)
154 VALUES
155 ( L_LABELDTL_ID,
156 L_LABEL_ID,
157 L_LABELTYPE,
158 NULL,
159 NULL,
160 L_CREATED_BY,
161 L_CREATION_DATE,
162 L_LAST_UPDATED_BY,
163 L_LAST_UPDATE_DATE,
164 L_LAST_UPDATE_LOGIN
165 );
166 L_LABELSTRING:=substr(L_LABELSTRING,instr(L_LABELSTRING,',')+1);
167 END LOOP;
168
169
170 /* Insert the Context for display */
171 for L_INDEX in 1 .. P_CONTEXT.count
172 loop
173
174 INSERT INTO GMO_LABEL_CONTEXT_T
175 ( LABEL_ID,
176 CONTEXT_MESSAGE_TOKEN,
177 CONTEXT_VALUE,
178 APPLICATION_SHORT_NAME,
179 DISPLAY_SEQUENCE,
180 CREATED_BY,
181 CREATION_DATE,
182 LAST_UPDATED_BY,
183 LAST_UPDATE_DATE,
184 LAST_UPDATE_LOGIN)
185 VALUES
186 ( L_LABEL_ID,
187 P_CONTEXT(L_INDEX).name,
188 P_CONTEXT(L_INDEX).value,
189 P_APPLICATION_SHORT_NAME,
190 P_CONTEXT(L_INDEX).display_sequence,
191 L_CREATED_BY,
192 L_CREATION_DATE,
193 L_LAST_UPDATED_BY,
194 L_LAST_UPDATE_DATE,
195 L_LAST_UPDATE_LOGIN
196 );
197 end loop;
198
199 x_Label_id:=L_LABEL_ID;
200
201 commit;
202 EXCEPTION
203 WHEN FND_API.G_EXC_ERROR THEN
204 x_return_status := FND_API.G_RET_STS_ERROR ;
205 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
206 ROLLBACK;
207 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
208 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
209 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
210 ROLLBACK;
211 WHEN OTHERS THEN
212 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
213 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
214 FND_MSG_PUB.Add_Exc_Msg ( g_pkg_name, l_api_name );
215 END IF;
216 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
217 ROLLBACK;
218 END PRINT_LABEL;
219
220 -- Start of comments
221 -- API name : COMPLETE_LABEL_PRINT
222 -- Type : Group.
223 -- Function : To Complete label printing.
224 -- Pre-reqs : PRINT_LABEL should have been called earlier to this API.
225 -- Parameters :
226 -- IN : p_api_version IN NUMBER Required
227 -- p_init_msg_list IN VARCHAR2 Required
228 -- P_ENTITY_NAME IN VARCHAR2 Required
229 -- P_ENTITY_KEY IN VARCHAR2 Required
230 -- P_LABEL_ID IN NUMBER Required
231 -- P_ERECORD_ID IN NUMBER
232 -- P_ERECORD_STATUS IN VARCHAR2
233
234 -- OUT : x_return_status OUT VARCHAR2(1)
235 -- x_msg_count OUT NUMBER
236 -- x_msg_data OUT VARCHAR2(2000)
237 -- . x_Print_status OUT VARCHAR2
238 -- Version : Current version 1.0
239 -- Initial version 1.0
240 --
241 -- End of comments
242
243 PROCEDURE COMPLETE_LABEL_PRINT(
244 p_api_version IN NUMBER,
245 p_init_msg_list IN VARCHAR2,
246 x_return_status OUT NOCOPY VARCHAR2,
247 x_msg_count OUT NOCOPY NUMBER,
248 x_msg_data OUT NOCOPY VARCHAR2,
249 P_LABEL_ID IN NUMBER,
250 P_ERECORD_ID IN NUMBER,
251 P_ERECORD_STATUS IN VARCHAR2,
252 x_print_status OUT NOCOPY VARCHAR2) IS
253
254 l_label_id number;
255 l_wms_businessflow_code GMO_LABEL_HISTORY.wms_businessflow_code%TYPE;
256 l_WMS_BUSINESSFLOW_TRANS_ID GMO_LABEL_HISTORY.WMS_BUSINESSFLOW_TRANS_ID%TYPE;
257 L_TRANSACTION_TYPE GMO_LABEL_HISTORY.TRANSACTION_TYPE%TYPE;
258 L_LABEL_TYPE GMO_LABEL_HISTORY_DTL.LABEL_TYPE%TYPE;
259 L_LABEL_STATUS GMO_LABEL_HISTORY_DTL.WMS_PRINT_STATUS%TYPE;
260 L_WMS_LABEL_ID GMO_LABEL_HISTORY_DTL.WMS_LABEL_ID%TYPE;
261 L_CREATION_DATE DATE;
262 L_CREATED_BY NUMBER;
263 L_LAST_UPDATE_DATE DATE;
264 L_LAST_UPDATED_BY NUMBER;
265 L_LAST_UPDATE_LOGIN NUMBER;
266 l_api_version constant number := 1;
267 l_api_name VARCHAR2(50) :='COMPLETE_LABEL_PRINT';
268 L_txn_id_rec inv_label.transaction_id_rec_type;
269 l_input_param inv_label.input_parameter_rec_type;
270
271 CURSOR C_LABEL_HDR is
272 SELECT WMS_BUSINESSFLOW_CODE,
273 WMS_BUSINESSFLOW_TRANS_ID,
274 TRANSACTION_TYPE
275 from GMO_LABEL_HISTORY
276 where LABEL_ID=p_LABEL_ID;
277
278
279 CURSOR C_LABEL_DTL IS
280 select LABEL_TYPE from GMO_LABEL_HISTORY_DTL
281 where label_id=P_LABEL_ID;
282 BEGIN
283 IF NOT fnd_api.Compatible_API_Call (p_api_version, p_api_version, l_api_name, G_PKG_NAME )
284 THEN
285 RAISE fnd_api.G_EXC_UNEXPECTED_ERROR;
286 END IF;
287
288 IF FND_API.to_Boolean( p_init_msg_list ) THEN
289 FND_MSG_PUB.initialize;
290 END IF;
291 x_return_status := FND_API.G_RET_STS_SUCCESS;
292 GMO_UTILITIEs.GET_WHO_COLUMNS(X_CREATION_DATE =>L_CREATION_DATE,
293 X_CREATED_BY => L_CREATED_BY,
294 X_LAST_UPDATE_DATE =>L_LAST_UPDATE_DATE,
295 X_LAST_UPDATED_BY =>L_LAST_UPDATED_BY,
296 X_LAST_UPDATE_LOGIN =>L_LAST_UPDATE_LOGIN);
297
298
299 If (P_ERECORD_ID is NULL and P_ERECORD_STATUS is NULL) or (P_ERECORD_STATUS in ('SUCCESS','NOACTION')) then
300 OPEN C_LABEL_HDR;
301 FETCH C_LABEL_HDR into L_WMS_BUSINESSFLOW_CODE,
302 L_WMS_BUSINESSFLOW_TRANS_ID,
303 L_TRANSACTION_TYPE ;
304 CLOSE C_LABEL_HDR;
305 /* Convert incomming paramter to inv_label record structure */
306 L_txn_id_rec(1):=L_WMS_BUSINESSFLOW_TRANS_ID;
307 OPEN C_LABEL_DTL;
308 LOOP
309 FETCH C_LABEL_DTL into L_LABEL_TYPE;
310 EXIT when C_LABEL_DTL%NOTFOUND;
311
312 /*Call INV_LABEL_API for each Business Flow */
313 INV_LABEL.PRINT_LABEL
314 (
315 X_RETURN_STATUS =>X_RETURN_STATUS,
316 X_MSG_COUNT =>X_MSG_COUNT,
317 X_MSG_DATA =>X_MSG_DATA,
318 X_LABEL_STATUS =>L_LABEL_STATUS,
319 X_LABEL_REQUEST_ID =>L_WMS_LABEL_ID,
320 P_API_VERSION =>1.0,
321 P_PRINT_MODE =>1,
322 p_input_param_rec => l_input_param,
323 P_BUSINESS_FLOW_CODE => L_WMS_BUSINESSFLOW_CODE,
324 P_TRANSACTION_ID => L_txn_id_rec,
325 P_LABEL_TYPE_ID => L_LABEL_TYPE,
326 P_TRANSACTION_IDENTIFIER => L_TRANSACTION_TYPE,
327 P_NO_OF_COPIES=>1,
328 P_FORMAT_ID=>NULL);
329
330
331 Update GMO_LABEL_HISTORY_DTL
332 set WMS_PRINT_STATUS=decode(X_RETURN_STATUS,'S','SUCCESS','FAILURE'),
333 WMS_LABEL_ID=L_WMS_LABEL_ID
334 where
335 label_id=P_LABEL_ID and
336 Label_type=L_LABEL_TYPE;
337
338
339 END LOOP;
340 CLOSE C_LABEL_DTL;
341 UPDATE GMO_LABEL_HISTORY set
342 ERECORD_ID=P_ERECORD_ID,
343 STATUS='COMPLETE',
344 LAST_UPDATE_DATE=L_LAST_UPDATE_DATE,
345 LAST_UPDATED_BY = L_LAST_UPDATED_BY,
346 LAST_UPDATE_LOGIN=L_LAST_UPDATE_LOGIN
347 where
348 label_id=P_LABEL_ID;
349 x_print_status:='SUCCESS';
350
351 ELSE
352 BEGIN
353 If (P_ERECORD_ID is NULL and P_ERECORD_STATUS is NULL) then
354 L_LABEL_STATUS := 'CANCEL';
355 else
356 L_LABEL_STATUS := P_ERECORD_STATUS;
357 end if;
358
359 UPDATE GMO_LABEL_HISTORY set
360 ERECORD_ID=P_ERECORD_ID,
361 STATUS=L_LABEL_STATUS,
362 LAST_UPDATE_DATE=L_LAST_UPDATE_DATE,
363 LAST_UPDATED_BY = L_LAST_UPDATED_BY,
364 LAST_UPDATE_LOGIN=L_LAST_UPDATE_LOGIN
365 where
366 label_id=P_LABEL_ID;
367
368 Update GMO_LABEL_HISTORY_DTL
369 set WMS_PRINT_STATUS=L_LABEL_STATUS,
370 WMS_LABEL_ID=NULL
371 where
372 label_id=P_LABEL_ID;
373
374 END;
375 x_print_status:= L_LABEL_STATUS;
376 END IF;
377 EXCEPTION
378 WHEN FND_API.G_EXC_ERROR THEN
379 x_return_status := FND_API.G_RET_STS_ERROR ;
380 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
381 x_print_status:='ERROR';
382 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
383 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
387 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
384 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
385 x_print_status:='ERROR';
386 WHEN OTHERS THEN
388 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
389 FND_MSG_PUB.Add_Exc_Msg ( g_pkg_name, l_api_name );
390 END IF;
391 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
392 x_print_status:='ERROR';
393 END;
394
395 -- Start of comments
396 -- API name : CANCEL_LABEL_PRINT
397 -- Type : Group.
398 -- Function : To Cancel label printing.
399 -- Pre-reqs : PRINT_LABEL should have been called earlier to this API.
400 -- Parameters :
401 -- IN : p_api_version IN NUMBER Required
402 -- p_init_msg_list IN VARCHAR2 Required
403 -- P_ENTITY_NAME IN VARCHAR2 Required
404 -- P_ENTITY_KEY IN VARCHAR2 Required
405 -- P_LABEL_ID IN NUMBER Required
406
407 -- OUT : x_return_status OUT VARCHAR2(1)
408 -- x_msg_count OUT NUMBER
409 -- x_msg_data OUT VARCHAR2(2000)
410 -- Version : Current version 1.0
411 -- Initial version 1.0
412 --
413 -- End of comments
414
415 PROCEDURE CANCEL_LABEL_PRINT(
416 p_api_version IN NUMBER,
417 p_init_msg_list IN VARCHAR2,
418 x_return_status OUT NOCOPY VARCHAR2,
419 x_msg_count OUT NOCOPY NUMBER,
420 x_msg_data OUT NOCOPY VARCHAR2,
421 P_LABEL_ID IN NUMBER
422 ) IS
423
424 l_label_id number;
425 L_CREATION_DATE DATE;
426 L_CREATED_BY NUMBER;
427 L_LAST_UPDATE_DATE DATE;
428 L_LAST_UPDATED_BY NUMBER;
429 L_LAST_UPDATE_LOGIN NUMBER;
430 l_api_version constant number:= 1.0;
431 l_api_name VARCHAR2(50) :='CANCEL_LABEL';
432
433 BEGIN
434 IF NOT fnd_api.Compatible_API_Call ( p_api_version, p_api_version, l_api_name, G_PKG_NAME )
435 THEN RAISE fnd_api.G_EXC_UNEXPECTED_ERROR;
436 END IF;
437
438 IF FND_API.to_Boolean( p_init_msg_list ) THEN
439 FND_MSG_PUB.initialize;
440 END IF;
441 x_return_status := FND_API.G_RET_STS_SUCCESS;
442 GMO_UTILITIEs.GET_WHO_COLUMNS(X_CREATION_DATE =>L_CREATION_DATE,
443 X_CREATED_BY => L_CREATED_BY,
444 X_LAST_UPDATE_DATE =>L_LAST_UPDATE_DATE,
445 X_LAST_UPDATED_BY =>L_LAST_UPDATED_BY,
446 X_LAST_UPDATE_LOGIN =>L_LAST_UPDATE_LOGIN);
447
448 UPDATE GMO_LABEL_HISTORY set
449 STATUS='CANCEL',
450 LAST_UPDATE_DATE=L_LAST_UPDATE_DATE,
451 LAST_UPDATED_BY = L_LAST_UPDATED_BY,
452 LAST_UPDATE_LOGIN=L_LAST_UPDATE_LOGIN
453 where
454 label_id=P_LABEL_ID;
455
456 Update GMO_LABEL_HISTORY_DTL
457 set WMS_PRINT_STATUS='CANCEL',
458 WMS_LABEL_ID=NULL
459 where
460 label_id=P_LABEL_ID;
461 EXCEPTION
462 WHEN FND_API.G_EXC_ERROR THEN
463 x_return_status := FND_API.G_RET_STS_ERROR ;
464 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
465 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
466 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
467 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
468 WHEN OTHERS THEN
469 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
470 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
471 FND_MSG_PUB.Add_Exc_Msg ( g_pkg_name, l_api_name );
472 END IF;
473 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
474
475 END;
476
477 -- Start of comments
478 -- API name : AUTO_PRINT_ENABLED
479 -- Type : Group.
480 -- Function : Determines if auto matic label printing is enabled or not.
481 -- Pre-reqs : None.
482 -- Parameters :
483 -- IN : None
484
485 -- OUT : Boolean true or false
486 -- Version : None
487 --
488 -- End of comments
489
490 FUNCTION AUTO_PRINT_ENABLED return boolean Is
491 L_VALUE VARCHAR2(32);
492 BEGIN
493
494 FND_PROFILE.GET(NAME=>'GMO_LABEL_PRINT_MODE',VAL=>L_VALUE);
495 if l_value ='AUTOMATIC' then
496 return TRUE;
497 else
498 return false;
499 end if;
500 END;
501
502 -- Start of comments
503 -- API name : GET_PRINT_COUNT
504 -- Type : Group.
505 -- Function : Returns the no of labels printed for the given input parameters.
506 -- Pre-reqs : None.
507 -- Parameters :
508 -- IN : p_api_version IN NUMBER Required
509 -- p_init_msg_list IN VARCHAR2 Required
510 -- P_WMS_BUSINESS_FLOW_CODE IN NUMBER Required
511 -- P_LABEL_TYPE IN VARCHAR2 Required
512 -- P_TRANSACTION_ID IN VARCHAR2 Required
513 -- P_TRANSACTION_TYPE IN NUMBER Required
514 -- .
515 -- OUT : x_return_status OUT VARCHAR2(1)
516 -- x_msg_count OUT NUMBER
517 -- x_msg_data OUT VARCHAR2(2000)
518 -- . x_print_count OUT NUMBER
519 -- Version : Current version 1.0
520 -- Initial version 1.0
521 --
522 -- End of comments
523
524 PROCEDURE GET_PRINT_COUNT(
525 p_api_version IN NUMBER,
526 p_init_msg_list IN VARCHAR2,
527 x_return_status OUT NOCOPY VARCHAR2,
528 x_msg_count OUT NOCOPY NUMBER,
529 x_msg_data OUT NOCOPY VARCHAR2,
530 P_WMS_BUSINESS_FLOW_CODE IN NUMBER,
531 P_LABEL_TYPE IN NUMBER,
532 P_TRANSACTION_ID IN VARCHAR2,
533 P_TRANSACTION_TYPE IN VARCHAR2,
534 x_print_count OUT NOCOPY NUMBER) IS
535
536 l_api_version constant number:= 1.0;
537 l_api_name VARCHAR2(50) :='GET_PRINT_COUNT';
538
539 BEGIN
540 IF NOT fnd_api.Compatible_API_Call ( l_api_version, p_api_version, l_api_name, G_PKG_NAME )
541 THEN RAISE fnd_api.G_EXC_UNEXPECTED_ERROR;
542 END IF;
543
544 IF FND_API.to_Boolean( p_init_msg_list ) THEN
545 FND_MSG_PUB.initialize;
546 END IF;
547 Select Count(*) into x_print_count
548 --Bug 4912228: Start
549 From GMO_LABEL_HISTORY A, GMO_LABEL_HISTORY_DTL B
550 --Bug 4912228: End
551 Where A.LABEL_ID=B.LABEL_ID
552 --Bug 5146629: start
553 and B.WMS_PRINT_STATUS = 'SUCCESS'
554 and B.WMS_LABEL_ID is not null
555 and A.WMS_BUSINESSFLOW_CODE=P_WMS_BUSINESS_FLOW_CODE
556 and (A.TRANSACTION_TYPE=P_TRANSACTION_TYPE or A.TRANSACTION_TYPE is null)
557 --Bug 5146629: end
558 and A.WMS_BUSINESSFLOW_TRANS_ID=P_TRANSACTION_ID
559 and B.LABEL_TYPE=P_LABEL_TYPE;
560 EXCEPTION
561 WHEN FND_API.G_EXC_ERROR THEN
562 x_return_status := FND_API.G_RET_STS_ERROR ;
563 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
564 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
565 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
566 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
567 WHEN OTHERS THEN
568 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
569 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
570 FND_MSG_PUB.Add_Exc_Msg ( g_pkg_name, l_api_name );
571 END IF;
572 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count, p_data => x_msg_data );
573
574 END;
575
576 end GMO_LABEL_MGMT_GRP;