[Home] [Help]
PACKAGE BODY: APPS.OKL_INTERNAL_TO_EXTERNAL_PUB
Source
1 PACKAGE BODY Okl_Internal_To_External_Pub AS
2 /* $Header: OKLPIEXB.pls 120.7 2006/05/19 21:20:31 fmiao noship $ */
3
4 PROCEDURE internal_to_external (
5 p_api_version IN NUMBER,
6 p_init_msg_list IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
7 x_return_status OUT NOCOPY VARCHAR2,
8 x_msg_count OUT NOCOPY NUMBER,
9 x_msg_data OUT NOCOPY VARCHAR2,
10 p_contract_number IN VARCHAR2,
11 p_assigned_process IN VARCHAR2)
12 IS
13
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
20 BEGIN
21
22 SAVEPOINT cons_bill_pub;
23
24 Okl_Internal_To_External.INTERNAL_TO_EXTERNAL(
25 p_api_version => p_api_version,
26 p_init_msg_list => p_init_msg_list,
27 x_return_status => x_return_status,
28 x_msg_count => x_msg_count,
29 x_msg_data => x_msg_data,
30 p_commit => FND_API.G_TRUE,
31 --fmiao 5209209
32 p_contract_number => p_contract_number,
33 p_assigned_process =>p_assigned_process
34 --fmiao 5209209 end
35 );
36
37 IF ( l_return_status = Fnd_Api.G_RET_STS_ERROR ) THEN
38 RAISE Fnd_Api.G_EXC_ERROR;
39 ELSIF (l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR ) THEN
40 RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
41 END IF;
42
43 EXCEPTION
44
45 WHEN Fnd_Api.G_EXC_ERROR THEN
46 ROLLBACK TO cnsld_ar_hdrs_insert;
47 x_return_status := Fnd_Api.G_RET_STS_ERROR;
48 x_msg_count := l_msg_count ;
49 x_msg_data := l_msg_data ;
50 Fnd_Msg_Pub.count_and_get(
51 p_count => x_msg_count
52 ,p_data => x_msg_data);
53 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
54 ROLLBACK TO cnsld_ar_hdrs_insert;
55 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
56 x_msg_count := l_msg_count ;
57 x_msg_data := l_msg_data ;
58 Fnd_Msg_Pub.count_and_get(
59 p_count => x_msg_count
60 ,p_data => x_msg_data);
61 WHEN OTHERS THEN
62 ROLLBACK TO cnsld_ar_hdrs_insert;
63 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
64 x_msg_count := l_msg_count ;
65 x_msg_data := l_msg_data ;
66 Fnd_Msg_Pub.ADD_EXC_MSG('OKL_INTERNAL_TO_EXTERNAL_PUB','internal_to_external');
67 Fnd_Msg_Pub.count_and_get(
68 p_count => x_msg_count
69 ,p_data => x_msg_data);
70 END internal_to_external;
71
72 PROCEDURE internal_to_external
73 ( errbuf OUT NOCOPY VARCHAR2
74 , retcode OUT NOCOPY NUMBER
75 --fmiao 5209209
76 , p_contract_number IN VARCHAR2
77 , p_assigned_process IN VARCHAR2
78 --fmiao 5209209 end
79 ) IS
80
81 l_api_vesrions NUMBER := 1;
82 lx_msg_count NUMBER;
83 l_count1 NUMBER;
84 l_count2 NUMBER;
85 l_count NUMBER;
86 lx_msg_data VARCHAR2(450);
87 i NUMBER;
88 l_msg_index_out NUMBER;
89 lx_return_status VARCHAR(1);
90
91 l_request_id NUMBER;
92
93 CURSOR req_id_csr IS
94 SELECT
95 DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID)
96 FROM dual;
97
98
99 CURSOR xsi_cnt_succ_csr( p_req_id NUMBER, p_sts VARCHAR2 ) IS
100 SELECT count(*)
101 FROM okl_ext_sell_invs_v
102 WHERE trx_status_code = p_sts AND
103 request_id = p_req_id ;
104
105 CURSOR xsi_cnt_err_csr( p_req_id NUMBER, p_sts VARCHAR2 ) IS
106 SELECT count(*)
107 FROM okl_ext_sell_invs_v
108 WHERE trx_status_code = p_sts AND
109 request_id = p_req_id ;
110
111 l_succ_cnt NUMBER;
112 l_err_cnt NUMBER;
113
114 -- ------------------------------------------------
115 -- Bind variables to address issues in bug 3761940
116 -- ------------------------------------------------
117 submitted_sts okl_ext_sell_invs_v.trx_status_code%TYPE;
118 error_sts okl_ext_sell_invs_v.trx_status_code%TYPE;
119
120 BEGIN
121
122 internal_to_external(p_api_version => l_api_vesrions,
123 p_init_msg_list => OKC_API.G_FALSE,
124 x_return_status => lx_return_status,
125 x_msg_count => lx_msg_count,
126 x_msg_data => errbuf,
127 --fmiao 5209209
128 p_contract_number => p_contract_number,
129 p_assigned_process => p_assigned_process
130 --fmiao 5209209 end
131 );
132 IF lx_return_status= 'W' THEN
133 retcode := 1;
134 END IF;
135
136 EXCEPTION
137 WHEN OTHERS THEN
138 IF p_assigned_process IS NOT NULL THEN
139 DELETE OKL_PARALLEL_PROCESSES
140 WHERE assigned_process = p_assigned_process;
141 COMMIT;
142 END IF;
143 END internal_to_external;
144
145
146 END Okl_Internal_To_External_Pub;