DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_PAY_INVOICES_CONS_PUB

Source


1 PACKAGE BODY okl_pay_invoices_cons_pub AS
2 /* $Header: OKLPPICB.pls 120.5 2007/05/07 23:03:54 ssiruvol ship $ */
3 PROCEDURE consolidation(p_api_version		IN  NUMBER
4 	,p_init_msg_list	IN  VARCHAR2	DEFAULT OKC_API.G_FALSE
5 	,x_return_status	OUT NOCOPY VARCHAR2
6 	,x_msg_count		OUT NOCOPY NUMBER
7 	,x_msg_data		    OUT NOCOPY VARCHAR2
8 --start:|  24-APR-2007  cklee Disbursement changes for R12B                          |
9     ,p_contract_number     IN VARCHAR2
10  	,p_vendor           IN VARCHAR2
11 	,p_vendor_site      IN VARCHAR2
12     ,p_vpa_number              IN VARCHAR2
13     ,p_stream_type_purpose IN VARCHAR2
14 --end:|  24-APR-2007  cklee Disbursement changes for R12B                          |
15     ,p_from_date        IN  DATE
16     ,p_to_date          IN  DATE)
17 
18 IS
19 
20 BEGIN
21 
22 SAVEPOINT consolidation;
23 
24 
25 
26 
27 
28 	okl_pay_invoices_cons_pvt.consolidation(
29     p_api_version		=> p_api_version
30 	,p_init_msg_list	=> p_init_msg_list
31 	,x_return_status	=> x_return_status
32 	,x_msg_count		=> x_msg_count
33 	,x_msg_data		    => x_msg_data
34 --start:|  24-APR-2007  cklee Disbursement changes for R12B                          |
35     ,p_contract_number  => p_contract_number
36  	,p_vendor        => p_vendor
37 	,p_vendor_site   => p_vendor_site
38     ,p_vpa_number           => p_vpa_number
39     ,p_stream_type_purpose => p_stream_type_purpose
40 --end:|  24-APR-2007  cklee Disbursement changes for R12B                          |
41     ,p_from_date        => p_from_date
42     ,p_to_date          => p_to_date);
43 
44 IF ( x_return_status = Fnd_Api.G_RET_STS_ERROR )  THEN
45 	RAISE Fnd_Api.G_EXC_ERROR;
46 ELSIF (x_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR ) THEN
47 	RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
48 END IF;
49 
50 
51 
52 
53 
54 EXCEPTION
55 
56     WHEN Fnd_Api.G_EXC_ERROR THEN
57       ROLLBACK TO consolidation;
58       x_return_status := Fnd_Api.G_RET_STS_ERROR;
59       x_msg_count := x_msg_count ;
60       x_msg_data := x_msg_data ;
61       Fnd_Msg_Pub.count_and_get(
62              p_count   => x_msg_count
63             ,p_data    => x_msg_data);
64     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
65       ROLLBACK TO consolidation;
66       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
67       x_msg_count := x_msg_count ;
68       x_msg_data := x_msg_data ;
69       Fnd_Msg_Pub.count_and_get(
70              p_count   => x_msg_count
71             ,p_data    => x_msg_data);
72     WHEN OTHERS THEN
73       ROLLBACK TO consolidation;
74       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
75       x_msg_count := x_msg_count ;
76       x_msg_data := x_msg_data ;
77       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_PAY_INVOICES_CONS_PUB','AUTO_DISBURSEMENT');
78       Fnd_Msg_Pub.count_and_get(
79              p_count   => x_msg_count
80             ,p_data    => x_msg_data);
81 END consolidation;
82 
83   PROCEDURE consolidation_inv
84   ( errbuf      OUT NOCOPY VARCHAR2
85   , retcode     OUT NOCOPY NUMBER
86 --start:|  24-APR-2007  cklee Disbursement changes for R12B                          |
87     ,p_contract_number     IN VARCHAR2
88  	,p_vendor           IN VARCHAR2
89 	,p_vendor_site      IN VARCHAR2
90     ,p_vpa_number              IN VARCHAR2
91     ,p_stream_type_purpose IN VARCHAR2
92 --end:|  24-APR-2007  cklee Disbursement changes for R12B                          |
93   ,p_from_date  IN  VARCHAR2
94   ,p_to_date    IN  VARCHAR2) IS
95 
96   l_api_vesrions   NUMBER := 1;
97   lx_msg_count     NUMBER;
98   l_count1          NUMBER :=0;
99   l_count2          NUMBER:=0;
100   l_count           NUMBER:=0;
101   lx_msg_data       VARCHAR2(450);
102   i                 NUMBER;
103   l_msg_index_out   NUMBER;
104   lx_return_status  VARCHAR(1);
105   l_from_date         DATE;
106   l_to_date           DATE;
107 
108     BEGIN
109 
110     IF p_from_date IS NOT NULL THEN
111     l_from_date :=  FND_DATE.CANONICAL_TO_DATE(p_from_date);
112     END IF;
113 
114     IF p_to_date IS NOT NULL THEN
115     l_to_date :=  FND_DATE.CANONICAL_TO_DATE(p_to_date);
116     END IF;
117 
118     SELECT count(*) INTO l_count1 FROM OKL_EXT_PAY_INVS_B;
119 
120            consolidation( p_api_version        => l_api_vesrions,
121                             p_init_msg_list    => OKC_API.G_FALSE,
122                         	x_return_status    => lx_return_status,
123                         	x_msg_count        => lx_msg_count,
124                         	x_msg_data         => errbuf,
125 --start:|  24-APR-2007  cklee Disbursement changes for R12B                          |
126                             p_contract_number  => p_contract_number,
127                         	p_vendor        => p_vendor,
128                         	p_vendor_site   => p_vendor_site,
129                             p_vpa_number           => p_vpa_number,
130                             p_stream_type_purpose => p_stream_type_purpose,
131 --end:|  24-APR-2007  cklee Disbursement changes for R12B                          |
132                             p_from_date        => l_from_date,
133                             p_to_date          => l_to_date);
134 
135      SELECT count(*) INTO l_count2 FROM OKL_EXT_PAY_INVS_B;
136      l_count  := l_count2 -  l_count1;
137 
138     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'OKL Prepare Payables Invoices');
139     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '***********************************************');
140     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Program Run Date:'||SYSDATE);
141     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Number of Invoices Prepared in OKL_EXT_PAY_INVS_B :'||l_count);
142     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '***********************************************');
143     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Summary Success/Detailed Error Messages');
144 
145     IF lx_msg_count >= 1 THEN
146 
147         FOR i IN 1..lx_msg_count LOOP
148             fnd_msg_pub.get (p_msg_index => i,
149                        p_encoded => 'F',
150                        p_data => lx_msg_data,
151                        p_msg_index_out => l_msg_index_out);
152 
153     FND_FILE.PUT_LINE (FND_FILE.OUTPUT,to_char(i) || ': ' || lx_msg_data);
154       END LOOP;
155 
156       END IF;
157 
158       END;
159 
160 
161   END;