[Home] [Help]
PACKAGE BODY: APPS.OKL_CS_CREATE_QUOTE_PUB
Source
1 PACKAGE BODY OKL_CS_CREATE_QUOTE_PUB AS
2 /* $Header: OKLPCTQB.pls 120.3 2007/12/17 04:58:55 asawanka ship $ */
3 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
4 G_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
5 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
6 G_MODULE_NAME CONSTANT VARCHAR2(500) := 'okl.am.plsql.okl_cs_create_quote_pub.';
7
8 PROCEDURE create_terminate_quote(
9 p_api_version IN NUMBER,
10 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
11 x_return_status OUT NOCOPY VARCHAR2,
12 x_msg_count OUT NOCOPY NUMBER,
13 x_msg_data OUT NOCOPY VARCHAR2,
14 p_quot_tbl IN quot_tbl_type,
15 p_assn_tbl IN OKL_AM_CREATE_QUOTE_PUB.assn_tbl_type,
16 p_qpyv_tbl IN qpyv_tbl_type DEFAULT G_EMPTY_QPYV_TBL,
17 x_quot_tbl OUT NOCOPY quot_tbl_type,
18 x_tqlv_tbl OUT NOCOPY OKL_AM_CREATE_QUOTE_PUB.tqlv_tbl_type,
19 x_assn_tbl OUT NOCOPY OKL_AM_CREATE_QUOTE_PUB.assn_tbl_type)AS
20
21 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
22 l_msg_count NUMBER;
23 l_msg_data VARCHAR2(2000);
24
25 l_request_id NUMBER;
26 -- asawanka added for debug feature start
27 l_module_name VARCHAR2(500) := G_MODULE_NAME || 'create_terminate_quote';
28 is_debug_exception_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_EXCEPTION);
29 is_debug_procedure_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_PROCEDURE);
30 is_debug_statement_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_STATEMENT);
31
32 -- asawanka added for debug feature end
33
34 BEGIN
35
36 --SAVEPOINT create_terminate_quote;
37 ------------ Call to Private Process API--------------
38 IF (is_debug_procedure_on) THEN
39 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_PROCEDURE,l_module_name ,'Begin(+)');
40 END IF;
41
42 IF (is_debug_statement_on) THEN
43 FOR i IN p_quot_tbl.FIRST..p_quot_tbl.LAST LOOP
44 IF p_quot_tbl.exists(i) THEN
45 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'Calling okl_cs_create_quote_pvt.create_terminate_quote with parameters: ');
46 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).id : '||p_quot_tbl(i).id );
47 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).qrs_code : '||p_quot_tbl(i).qrs_code );
48 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).qst_code : '||p_quot_tbl(i).qst_code );
49 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).consolidated_qte_id : '||p_quot_tbl(i).consolidated_qte_id );
50 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).khr_id : '||p_quot_tbl(i).khr_id );
51 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).art_id : '||p_quot_tbl(i).art_id );
52 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).qtp_code : '||p_quot_tbl(i).qtp_code );
53 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).trn_code : '||p_quot_tbl(i).trn_code );
54 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).pdt_id : '||p_quot_tbl(i).pdt_id );
55 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).date_effective_from : '||p_quot_tbl(i).date_effective_from );
56 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).quote_number : '||p_quot_tbl(i).quote_number );
57 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).early_termination_yn : '||p_quot_tbl(i).early_termination_yn );
58 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).partial_yn : '||p_quot_tbl(i).partial_yn );
59 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).preproceeds_yn : '||p_quot_tbl(i).preproceeds_yn );
60 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).summary_format_yn : '||p_quot_tbl(i).summary_format_yn );
61 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).consolidated_yn : '||p_quot_tbl(i).consolidated_yn );
62 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).date_requested : '||p_quot_tbl(i).date_requested );
63 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).date_proposal : '||p_quot_tbl(i).date_proposal );
64 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).date_effective_to : '||p_quot_tbl(i).date_effective_to );
65 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).date_accepted : '||p_quot_tbl(i).date_accepted );
66 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).payment_received_yn : '||p_quot_tbl(i).payment_received_yn );
67 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).requested_by : '||p_quot_tbl(i).requested_by );
68 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).approved_yn : '||p_quot_tbl(i).approved_yn );
69 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).accepted_yn : '||p_quot_tbl(i).accepted_yn );
70 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).org_id : '||p_quot_tbl(i).org_id );
71 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).purchase_amount : '||p_quot_tbl(i).purchase_amount );
72 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).purchase_formula : '||p_quot_tbl(i).purchase_formula );
73 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).asset_value : '||p_quot_tbl(i).asset_value );
74 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).residual_value : '||p_quot_tbl(i).residual_value );
75 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).unbilled_receivables : '||p_quot_tbl(i).unbilled_receivables );
76 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).gain_loss : '||p_quot_tbl(i).gain_loss );
77 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).PERDIEM_AMOUNT : '||p_quot_tbl(i).PERDIEM_AMOUNT );
78 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).currency_code : '||p_quot_tbl(i).currency_code );
79 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).currency_conversion_code : '||p_quot_tbl(i).currency_conversion_code );
80 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).legal_entity_id : '||p_quot_tbl(i).legal_entity_id );
81 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_quot_tbl(i).repo_quote_indicator_yn : '||p_quot_tbl(i).repo_quote_indicator_yn );
82 END IF;
83 END LOOP;
84 IF (p_assn_tbl.COUNT > 0) THEN
85 FOR ll IN p_assn_tbl.FIRST..p_assn_tbl.LAST LOOP
86 IF p_assn_tbl.exists(ll) THEN
87 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_assn_tbl(l).'||'p_asset_id :'|| p_assn_tbl(ll).p_asset_id );
88 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_assn_tbl(l).'||'p_asset_number :'|| p_assn_tbl(ll).p_asset_number );
89 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_assn_tbl(l).'||'p_asset_qty :'|| p_assn_tbl(ll).p_asset_qty );
90 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_assn_tbl(l).'||'p_quote_qty :'|| p_assn_tbl(ll).p_quote_qty );
91 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,'p_assn_tbl(l).'||'p_split_asset_number :'|| p_assn_tbl(ll).p_split_asset_number);
92 END IF;
93 End loop;
94 END IF;
95 IF (p_qpyv_tbl.COUNT > 0) THEN
96 FOR l1 IN p_qpyv_tbl.FIRST..p_qpyv_tbl.LAST LOOP
97 IF p_qpyv_tbl.exists(l1) THEN
98 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).id = ' || p_qpyv_tbl(l1).id );
99 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).qte_id = ' || p_qpyv_tbl(l1).qte_id );
100 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).cpl_id = ' || p_qpyv_tbl(l1).cpl_id );
101 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).object_version_number = ' || p_qpyv_tbl(l1).object_version_number );
102 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).date_sent = ' || p_qpyv_tbl(l1).date_sent );
103 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).created_by = ' || p_qpyv_tbl(l1).created_by );
104 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).creation_date = ' || p_qpyv_tbl(l1).creation_date );
105 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).last_updated_by = ' || p_qpyv_tbl(l1).last_updated_by );
106 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).last_update_date = ' || p_qpyv_tbl(l1).last_update_date );
107 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).last_update_login = ' || p_qpyv_tbl(l1).last_update_login );
108 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).qpt_code = ' || p_qpyv_tbl(l1).qpt_code );
109 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).delay_days = ' || p_qpyv_tbl(l1).delay_days );
110 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).allocation_percentage = ' || p_qpyv_tbl(l1).allocation_percentage );
111 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).email_address = ' || p_qpyv_tbl(l1).email_address );
112 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).party_jtot_object1_code = ' || p_qpyv_tbl(l1).party_jtot_object1_code );
113 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).party_object1_id1 = ' || p_qpyv_tbl(l1).party_object1_id1 );
114 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).party_object1_id2 = ' || p_qpyv_tbl(l1).party_object1_id2 );
115 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).contact_jtot_object1_code = ' || p_qpyv_tbl(l1).contact_jtot_object1_code );
116 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).contact_object1_id1 = ' || p_qpyv_tbl(l1).contact_object1_id1 );
117 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,L_MODULE_NAME,' p_qpyv_tbl(l).contact_object1_id2 = ' || p_qpyv_tbl(l1).contact_object1_id2 );
118
119 END IF;
120 End loop;
121
122 END IF;
123 END IF;
124
125 OKL_CS_CREATE_QUOTE_PVT.create_terminate_quote (p_api_version => p_api_version,
126 p_init_msg_list => p_init_msg_list,
127 x_return_status => l_return_status,
128 x_msg_count => l_msg_count,
129 x_msg_data => l_msg_data,
130 p_quot_tbl => p_quot_tbl,
131 p_assn_tbl => p_assn_tbl,
132 p_qpyv_tbl => p_qpyv_tbl,
133 x_quot_tbl => x_quot_tbl,
134 x_tqlv_tbl => x_tqlv_tbl,
135 x_assn_tbl => x_assn_tbl);
136
137 IF (is_debug_statement_on) THEN
138 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'called okl_cs_create_quote_pvt.create_terminate_quote , return status: ' || l_return_status);
139 END IF;
140 IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
141 IF (is_debug_exception_on) THEN
142 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'G_EXCEPTION_ERROR');
143 END IF;
144 RAISE OKL_API.G_EXCEPTION_ERROR;
145 ELSIF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
146 IF (is_debug_exception_on) THEN
147 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'G_EXCEPTION_UNEXPECTED_ERROR');
148 END IF;
149 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
150 END IF;
151
152 ------------ End Call to Private Process API--------------
153 x_return_status := l_return_status;
154 IF (is_debug_procedure_on) THEN
155 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_PROCEDURE,l_module_name ,'End (-)');
156 END IF;
157 EXCEPTION
158
159 WHEN OKL_API.G_EXCEPTION_ERROR THEN
160 --ROLLBACK TO create_terminate_quote;
161 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
162 FND_MSG_PUB.count_and_get(p_count => x_msg_count,
163 p_data => x_msg_data);
164
165 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
166 --ROLLBACK TO create_terminate_quote;
167 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
168 FND_MSG_PUB.count_and_get(p_count => x_msg_count,
169 p_data => x_msg_data);
170
171 WHEN OTHERS THEN
172 --ROLLBACK TO create_terminate_quote;
173 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
174 FND_MSG_PUB.ADD_EXC_MSG('OKL_CS_CREATE_QUOTE_PUB','create_terminate_quote');
175 FND_MSG_PUB.count_and_get(p_count => x_msg_count,
176 p_data => x_msg_data);
177
178 END create_terminate_quote;
179
180 END OKL_CS_CREATE_QUOTE_PUB;