DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMO_LABEL_MGMT_GRP

Source


1 PACKAGE BODY GMO_LABEL_MGMT_GRP AS
2 /* $Header: GMOGLBPB.pls 120.7.12010000.2 2008/11/12 21:15:41 srpuri 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
382     WHEN FND_API.G_EXC_UNEXPECTED_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';
383 	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
387 	x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
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;