DBA Data[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;