DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_PAY_INVOICES_DISB_PUB

Source


1 PACKAGE BODY okl_pay_invoices_disb_pub AS
2 /* $Header: OKLPPIDB.pls 120.2 2005/06/03 23:18:48 pjgomes noship $ */
3 
4 PROCEDURE auto_disbursement(p_api_version		IN  NUMBER
5 	,p_init_msg_list	IN  VARCHAR2	DEFAULT OKC_API.G_FALSE
6 	,x_return_status	OUT NOCOPY VARCHAR2
7 	,x_msg_count		OUT NOCOPY NUMBER
8 	,x_msg_data		    OUT NOCOPY VARCHAR2
9 	,p_from_date	    IN  DATE
10 	,p_to_date		    IN  DATE
11   ,p_contract_number IN VARCHAR2)
12 
13 IS
14 l_api_version NUMBER ;
15 l_init_msg_list VARCHAR2(1) ;
16 l_return_status VARCHAR2(1);
17 l_msg_count NUMBER ;
18 l_msg_data VARCHAR2(2000);
19 --l_from_date	            DATE;
20 --l_to_date	            DATE;
21 
22 BEGIN
23 
24 SAVEPOINT auto_disbursement;
25 
26 
27 
28 
29 --dbms_output.put_line('call to pvt ');
30 	okl_pay_invoices_disb_pvt.auto_disbursement(
31     p_api_version		=> p_api_version
32 	,p_init_msg_list	=> p_init_msg_list
33 	,x_return_status	=> x_return_status
34 	,x_msg_count		=> x_msg_count
35 	,x_msg_data		    => x_msg_data
36 	,p_from_date	    => p_from_date
37 	,p_to_date		    => p_to_date
38   ,p_contract_number => p_contract_number);
39 
40 IF ( l_return_status = Fnd_Api.G_RET_STS_ERROR )  THEN
41 	RAISE Fnd_Api.G_EXC_ERROR;
42 ELSIF (l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR ) THEN
43 	RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
44 END IF;
45 
46 
47 
48 
49 
50 EXCEPTION
51 
52     WHEN Fnd_Api.G_EXC_ERROR THEN
53       ROLLBACK TO auto_disbursement;
54       x_return_status := Fnd_Api.G_RET_STS_ERROR;
55       x_msg_count := l_msg_count ;
56       x_msg_data := l_msg_data ;
57       Fnd_Msg_Pub.count_and_get(
58              p_count   => x_msg_count
59             ,p_data    => x_msg_data);
60     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
61       ROLLBACK TO auto_disbursement;
62       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
63       x_msg_count := l_msg_count ;
64       x_msg_data := l_msg_data ;
65       Fnd_Msg_Pub.count_and_get(
66              p_count   => x_msg_count
67             ,p_data    => x_msg_data);
68     WHEN OTHERS THEN
69       ROLLBACK TO auto_disbursement;
70       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
71       x_msg_count := l_msg_count ;
72       x_msg_data := l_msg_data ;
73       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_PAY_INVOICES_DISB_PUB','AUTO_DISBURSEMENT');
74       Fnd_Msg_Pub.count_and_get(
75              p_count   => x_msg_count
76             ,p_data    => x_msg_data);
77 END AUTO_DISBURSEMENT;
78 
79 PROCEDURE auto_disbursement
80     (errbuf	 OUT NOCOPY  VARCHAR2
81     ,retcode OUT NOCOPY  NUMBER
82     ,p_from_date IN  VARCHAR2
83     ,p_to_date	 IN  VARCHAR2
84     ,p_contract_number IN VARCHAR2) is
85 
86     l_api_vesrions   NUMBER := 1;
87     lx_msg_count     NUMBER;
88     l_count         NUMBER :=0;
89     l_count1          NUMBER :=0;
90     l_count2          NUMBER :=0;
91     lx_msg_data       VARCHAR2(450);
92     i                 NUMBER;
93     l_msg_index_out   NUMBER;
94     lx_return_status  VARCHAR(1);
95     l_from_date         DATE;
96     l_to_date           DATE;
97 
98    BEGIN
99 
100     IF p_from_date IS NOT NULL THEN
101     l_from_date :=  FND_DATE.CANONICAL_TO_DATE(p_from_date);
102     END IF;
103 
104     IF p_to_date IS NOT NULL THEN
105     l_to_date :=  FND_DATE.CANONICAL_TO_DATE(p_to_date);
106     END IF;
107 
108     SELECT count(*) INTO l_count1 FROM OKL_TRX_AP_INVOICES_B;
109 
110     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'OKL Pay Invoices Creation By Auto-Disbursement from Consolidated Invoices');
111     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '***********************************************');
112     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Program Run Date:'||sysdate);
113     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'From Consolidated Invoice Date:'||l_from_date);
114     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'To Consolidated Invoice Date:'||l_to_date);
115     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Contract Number:'||p_contract_number);
116     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Success or Error Detailed Messages If Any For Each Consolidated Invoice');
117     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '***********************************************');
118 --dbms_output.put_line('From Consolidated Invoice Date:'||l_from_date);
119 --dbms_output.put_line('To Consolidated Invoice Date:'||l_to_date);
120            auto_disbursement( 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                             p_from_date        => l_from_date,
126                             p_to_date          => l_to_date,
127                             p_contract_number  => p_contract_number
128                             );
129 
130     SELECT count(*) INTO l_count2 FROM OKL_TRX_AP_INVOICES_B;
131 
132     l_count  := l_count2 -  l_count1;
133 
134     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Number of Invoice Lines Created in OKL_TRX_AP_INVOICES_B :'||TO_CHAR(l_count));
135     --FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Number of Invoice Lines in OKL_TRX_AP_INVOICES_B :'||TO_CHAR(l_count2));
136 
137 
138         IF lx_msg_count >= 1 THEN
139         FOR i in 1..lx_msg_count LOOP
140             fnd_msg_pub.get (p_msg_index => i,
141                        p_encoded => 'F',
142                        p_data => lx_msg_data,
143                        p_msg_index_out => l_msg_index_out);
144 
145     FND_FILE.PUT_LINE (FND_FILE.OUTPUT,to_char(i) || ': ' || lx_msg_data);
146       END LOOP;
147       END IF;
148       EXCEPTION
149       WHEN OTHERS THEN
150 
151      FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
152      --dbms_output.put_line('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
153 
154    END;
155 
156 END;