DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_CHARGE_DETAILS_PUB

Source


1 PACKAGE BODY  CS_Charge_Details_PUB  AS
2 /* $Header: csxpestb.pls 120.7 2008/04/03 06:32:41 bkanimoz ship $ */
3 
4 
5 -- Global Variables
6 G_PKG_NAME     CONSTANT  VARCHAR2(30)  := 'CS_Charge_Details_PUB' ;
7 
8 
9 --local Procedures and Functions
10 
11 FUNCTION  Check_For_Miss ( p_param  IN  NUMBER ) RETURN NUMBER ;
12 FUNCTION  Check_For_Miss ( p_param  IN  VARCHAR2 ) RETURN VARCHAR2 ;
13 FUNCTION  Check_For_Miss ( p_param  IN  DATE ) RETURN DATE ;
14 
15 PROCEDURE TO_NULL(p_charges_rec_in  IN         Charges_Rec_Type,
16                   p_charges_rec_out OUT NOCOPY Charges_Rec_Type);
17 
18 
19 /**************************************************
20 Public Procedure Body Create_Charge_Details
21 **************************************************/
22 
23 PROCEDURE Create_Charge_Details(
24         p_api_version              IN         NUMBER,
25         p_init_msg_list            IN         VARCHAR2 := FND_API.G_FALSE,
26         p_commit                   IN         VARCHAR2 := FND_API.G_FALSE,
27         p_validation_level         IN         NUMBER   := FND_API.G_VALID_LEVEL_FULL,
28         x_return_status            OUT NOCOPY VARCHAR2,
29         x_msg_count                OUT NOCOPY NUMBER,
30         x_object_version_number    OUT NOCOPY NUMBER,
31         x_msg_data                 OUT NOCOPY VARCHAR2,
32         x_estimate_detail_id       OUT NOCOPY NUMBER,
33         x_line_number              OUT NOCOPY NUMBER,
34         p_resp_appl_id             IN         NUMBER   := FND_GLOBAL.RESP_APPL_ID,
35         p_resp_id                  IN         NUMBER   := FND_GLOBAL.RESP_ID,
36         p_user_id                  IN         NUMBER   := FND_GLOBAL.USER_ID,
37         p_login_id                 IN         NUMBER   := NULL,
38         p_transaction_control      IN         VARCHAR2 := FND_API.G_TRUE,
39         p_Charges_Rec              IN         Charges_Rec_Type := G_MISS_CHRG_REC
40   ) IS
41 
42   x_cost_id           NUMBER;
43 
44 BEGIN
45 
46    Create_Charge_Details(
47         p_api_version              => p_api_version,
48         p_init_msg_list            => p_init_msg_list,
49         p_commit                   => p_commit,
50         p_validation_level         => p_validation_level,
51         x_return_status            => x_return_status,
52         x_msg_count                => x_msg_count,
53         x_object_version_number    => x_object_version_number,
54         x_msg_data                 => x_msg_data,
55         x_estimate_detail_id       => x_estimate_detail_id,
56         x_line_number              => x_line_number,
57         p_resp_appl_id             => p_resp_appl_id,
58         p_resp_id                  => p_resp_id,
59         p_user_id                  => p_user_id,
60         p_login_id                 => p_login_id,
61         p_transaction_control      => p_transaction_control,
62         p_Charges_Rec              => p_Charges_Rec,
63 	p_create_cost_detail       => 'N',
64 	x_cost_id		   => x_cost_id
65 	);
66 
67 END;
68 
69 
70 PROCEDURE Create_Charge_Details(
71         p_api_version              IN         NUMBER,
72         p_init_msg_list            IN         VARCHAR2 := FND_API.G_FALSE,
73         p_commit                   IN         VARCHAR2 := FND_API.G_FALSE,
74         p_validation_level         IN         NUMBER   := FND_API.G_VALID_LEVEL_FULL,
75         x_return_status            OUT NOCOPY VARCHAR2,
76         x_msg_count                OUT NOCOPY NUMBER,
77         x_object_version_number    OUT NOCOPY NUMBER,
78         x_msg_data                 OUT NOCOPY VARCHAR2,
79         x_estimate_detail_id       OUT NOCOPY NUMBER,
80         x_line_number              OUT NOCOPY NUMBER,
81         p_resp_appl_id             IN         NUMBER   := FND_GLOBAL.RESP_APPL_ID,
82         p_resp_id                  IN         NUMBER   := FND_GLOBAL.RESP_ID,
83         p_user_id                  IN         NUMBER   := FND_GLOBAL.USER_ID,
84         p_login_id                 IN         NUMBER   := NULL,
85         p_transaction_control      IN         VARCHAR2 := FND_API.G_TRUE,
86         p_Charges_Rec              IN         Charges_Rec_Type := G_MISS_CHRG_REC,
87 	p_create_cost_detail       IN         VARCHAR2 ,--Costing
88 	x_cost_id		   OUT NOCOPY NUMBER    --Costing
89   ) IS
90 
91   l_api_name       CONSTANT  VARCHAR2(30)    := 'Create_Charge_Details' ;
92   l_api_name_full  CONSTANT  VARCHAR2(61)    := G_PKG_NAME || '.' || l_api_name ;
93   l_log_module     CONSTANT VARCHAR2(255)    := 'csxpestb.plsql.' || l_api_name_full || '.';
94   l_api_version    CONSTANT  NUMBER          := 1.0 ;
95   l_resp_appl_id             NUMBER          := p_resp_appl_id;
96   l_resp_id                  NUMBER          := p_resp_id;
97   l_user_id                  NUMBER          := p_user_id;
98   l_login_id                 NUMBER          := p_login_id;
99   l_return_status            VARCHAR2(1) ;
100   l_Charges_Rec              Charges_Rec_Type ;
101 
102   l_cost_rec                 cs_cost_details_pub.cost_rec_type;--Costing
103 
104 
105 BEGIN
106 
107   --  Standard Start of API Savepoint
108   IF FND_API.To_Boolean( p_transaction_control ) THEN
109     SAVEPOINT   Create_Charge_Details_PUB ;
110   END IF ;
111 
112   -- Standard Call to check API compatibility
113   IF NOT FND_API.Compatible_API_Call(   l_api_version,
114                                         p_api_version,
115                                         l_api_name,
116                                         G_PKG_NAME)  THEN
117 
118     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
119   END IF ;
120 
121   -- Initialize the message list  if p_msg_list is set to TRUE
122   IF FND_API.To_Boolean(p_init_msg_list)   THEN
123     FND_MSG_PUB.initialize ;
124   END IF ;
125 
126   -- Initialize the API Return Success to True
127   x_return_status := FND_API.G_RET_STS_SUCCESS ;
128 
129 ----------------------- FND Logging -----------------------------------
130   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
131   THEN
132     FND_LOG.String
133     ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
134     , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
135     );
136     FND_LOG.String
137     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
138     , 'p_api_version:' || p_api_version
139     );
140     FND_LOG.String
141     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
142     , 'p_init_msg_list:' || p_init_msg_list
143     );
144     FND_LOG.String
145     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
146     , 'p_commit:' || p_commit
147     );
148     FND_LOG.String
149     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
150     , 'p_validation_level:' || p_validation_level
151     );
152     FND_LOG.String
153     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
154     , 'p_resp_appl_id:' || p_resp_appl_id
155     );
156     FND_LOG.String
157     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
158     , 'p_resp_id:' || p_resp_id
159     );
160     FND_LOG.String
161     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
162     , 'p_user_id:' || p_user_id
163     );
164     FND_LOG.String
165     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
166     , 'p_login_id:' || p_login_id
167     );
168     FND_LOG.String
169     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
170     , 'p_transaction_control:' || p_transaction_control
171     );
172 
173    FND_LOG.String
174     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
175     , 'p_create_cost_detail:' || p_create_cost_detail
176     );
177  -- --------------------------------------------------------------------------
178  -- This procedure Logs the charges record paramters.
179  -- --------------------------------------------------------------------------
180     Log_Charges_Rec_Parameters
181     ( p_Charges_Rec             =>  p_Charges_Rec
182     );
183 
184   END IF;
185 
186   --Convert the IN Parameters from FND_API.G_MISS_XXXX to NULL
187   TO_NULL (p_Charges_Rec, l_Charges_Rec) ;
188 
189   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
190   THEN
191 
192       FND_LOG.String
193        ( FND_LOG.level_procedure ,
194          L_LOG_MODULE || '',
195         'Before calling Create Charge Details PVT API:'||'l_return_status :'||l_return_status
196        );
197   END IF ;
198 
199 
200 BEGIN
201 
202   --Call the private API Create_Charge_Details
203   CS_Charge_Details_PVT.Create_Charge_Details
204           (
205                 p_api_version           =>  1.0 ,
206                 p_init_msg_list         =>  FND_API.G_FALSE ,
207                 p_commit                =>  p_commit ,
208                 p_validation_level      =>  p_validation_level,
209                 x_return_status         =>  l_return_status,
210                 x_msg_count             =>  x_msg_count,
211                 x_object_version_number =>  x_object_version_number,
212                 x_estimate_detail_id    =>  x_estimate_detail_id,
213                 x_line_number           =>  x_line_number,
214                 x_msg_data              =>  x_msg_data,
215                 p_resp_appl_id          =>  l_resp_appl_id,
216                 p_resp_id               =>  l_resp_id,
217                 p_user_id               =>  l_user_id,
218                 p_login_id              =>  l_login_id,
219                 p_transaction_control   =>  p_transaction_control,
220                 p_est_detail_rec        =>  l_charges_rec
221            ) ;
222 
223 
224 	  IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
225 	      RAISE FND_API.G_EXC_ERROR;
226 	  ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
227 	      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
228 	  END IF;
229 
230 	  --End of API Body
231 	  --standard Check of p_commit
232 	  IF FND_API.To_Boolean( p_commit ) THEN
233 	    COMMIT WORK ;
234 	  END IF ;
235 
236   --Standard call to get  message count and if count is 1 , get message info
237   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
238                             p_data  => x_msg_data,
239                             p_encoded => FND_API.G_FALSE) ;
240   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
241   THEN
242 
243     FND_LOG.String
244        ( FND_LOG.level_procedure ,
245          L_LOG_MODULE || '',
246         'After calling Create Charge Details PVT API:'||'l_return_status :'||l_return_status
247        );
248   END IF ;
249 
250 
251   --Begin Exception Handling
252 
253 EXCEPTION
254 
255   WHEN FND_API.G_EXC_ERROR THEN
256     IF FND_API.To_Boolean( p_transaction_control ) THEN
257       ROLLBACK TO Create_Charge_Details_PUB;
258     END IF ;
259 
260   x_return_status :=  FND_API.G_RET_STS_ERROR ;
261 
262   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
263                             p_data  => x_msg_data,
264                             p_encoded => FND_API.G_FALSE) ;
265 
266   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
267     IF FND_API.To_Boolean( p_transaction_control ) THEN
268       ROLLBACK TO Create_Charge_Details_PUB;
269     END IF ;
270 
271   x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
272 
273   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
274                             p_data  => x_msg_data,
275                             p_encoded => FND_API.G_FALSE) ;
276   WHEN OTHERS THEN
277     IF FND_API.To_Boolean( p_transaction_control ) THEN
278       ROLLBACK TO Create_Charge_Details_PUB ;
279     END IF ;
280 
281   x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
282 
283   IF FND_MSG_PUB.Check_Msg_Level
284     (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
285      FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
286   END IF ;
287 
288   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
289                             p_data  => x_msg_data,
290                             p_encoded => FND_API.G_FALSE) ;
291 
292 
293 END;
294 
295   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
296   THEN
297     FND_LOG.String
298        ( FND_LOG.level_procedure ,
299          L_LOG_MODULE || '',
300         'Before  calling Create Cost Details PVT API:'||'l_return_status :'||l_return_status||'x_estimate_detail_id : '||x_estimate_detail_id
301        );
302    END IF ;
303 --Added by bkanimoz on 15-dec-2007 for Service Costing
304 --start
305 
306 --Create Cost record only if charge line has been successfully created.
307 
308 BEGIN
309 
310 IF l_return_status = FND_API.G_RET_STS_SUCCESS
311 and p_create_cost_detail ='Y'
312 and x_estimate_detail_id IS NOT NULL
313 THEN
314 
315 	  IF FND_API.To_Boolean( p_transaction_control ) THEN
316 --iF there are any errors in the costing api then rollback will happen to this point
317 	    SAVEPOINT   Create_Charge_Cost_Details_PUB ;
318 
319 	  END IF ;
320 
321        	  l_cost_rec.estimate_detail_id  := x_estimate_detail_id;
322 	  l_cost_rec.transaction_date    := sysdate;
323 
324 --call the costing PVT api with NO Validation ,since the data has already been validated by the charge api
325 
326 
327 	CS_COST_DETAILS_PVT.CREATE_COST_DETAILS
328 		  (
329 			p_api_version           =>  1.0 ,
330 			p_init_msg_list         =>  p_init_msg_list,
331 			p_commit                =>  p_commit ,
332 			p_validation_level      =>  FND_API.G_VALID_LEVEL_NONE,
333 			x_return_status         =>  l_return_status,
334 			x_msg_count             =>  x_msg_count,
335 			x_object_version_number =>  x_object_version_number,
336 			x_msg_data              =>  x_msg_data,
337 			x_cost_id               =>  x_cost_id,
338 			p_resp_appl_id          =>  l_resp_appl_id,
339 			p_resp_id               =>  l_resp_id,
340 			p_user_id               =>  l_user_id,
341 			p_login_id              =>  l_login_id,
342 			p_transaction_control   =>  p_transaction_control,
343 			p_Cost_Rec              =>  l_cost_rec
344 	     );
345 
346 
347 			 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
348 			      RAISE FND_API.G_EXC_ERROR;
349 			  ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
350 			      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
351 			  END IF;
352 
353 			  --End of API Body
354 			  --standard Check of p_commit
355 			  IF FND_API.To_Boolean( p_commit ) THEN
356 			    COMMIT WORK ;
357 			  END IF ;
358 
359 			  --Standard call to get  message count and if count is 1 , get message info
360 			  FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
361 						    p_data  => x_msg_data,
362 						    p_encoded => FND_API.G_FALSE) ;
363 
364       IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
365       THEN
366 
367 	 FND_LOG.String
368 	    ( FND_LOG.level_procedure ,
369 	      L_LOG_MODULE || '',
370 	     'After  calling Create Cost Details PVT API:'||'l_return_status :'||l_return_status
371 	    );
372       END IF ;
373 END IF;
374 
375 
376   --Begin Exception Handling for the cost section
377 
378 
379 EXCEPTION
380 
381   WHEN FND_API.G_EXC_ERROR THEN
382     IF FND_API.To_Boolean( p_transaction_control ) THEN
383       ROLLBACK TO Create_Charge_cost_Details_PUB;
384     END IF ;
385 
386   x_return_status :=  FND_API.G_RET_STS_ERROR ;
387 
388   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
389                             p_data  => x_msg_data,
390                             p_encoded => FND_API.G_FALSE) ;
391 
392   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
393     IF FND_API.To_Boolean( p_transaction_control ) THEN
394       ROLLBACK TO Create_Charge_cost_Details_PUB;
395     END IF ;
396 
397   x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
398 
399   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
400                             p_data  => x_msg_data,
404       ROLLBACK TO Create_Charge_cost_Details_PUB;
401                             p_encoded => FND_API.G_FALSE) ;
402   WHEN OTHERS THEN
403     IF FND_API.To_Boolean( p_transaction_control ) THEN
405     END IF ;
406 
407   x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
408 
409   IF FND_MSG_PUB.Check_Msg_Level
410     (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
411      FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
412   END IF ;
413 
414   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
415                             p_data  => x_msg_data,
416                             p_encoded => FND_API.G_FALSE) ;
417 
418 END  ;
419 
420 
421 END  Create_Charge_Details;   -- End of Procedure Create Charge Details
422 
423 --This is added for backward compatibility
424 
425 PROCEDURE Update_Charge_Details(
426         p_api_version              IN         NUMBER,
427         p_init_msg_list            IN         VARCHAR2         := FND_API.G_FALSE,
428         p_commit                   IN         VARCHAR2         := FND_API.G_FALSE,
429         p_validation_level         IN         NUMBER           := FND_API.G_VALID_LEVEL_FULL,
430         x_return_status            OUT NOCOPY VARCHAR2,
431         x_msg_count                OUT NOCOPY NUMBER,
432         x_object_version_number    OUT NOCOPY NUMBER,
433         x_msg_data                 OUT NOCOPY VARCHAR2,
434         p_resp_appl_id             IN         NUMBER           := FND_GLOBAL.RESP_APPL_ID,
435         p_resp_id                  IN         NUMBER           := FND_GLOBAL.RESP_ID,
436         p_user_id                  IN         NUMBER           := FND_GLOBAL.USER_ID,
437         p_login_id                 IN         NUMBER           := NULL,
438         p_transaction_control      IN         VARCHAR2         := FND_API.G_TRUE,
439         p_Charges_Rec              IN         Charges_Rec_Type := G_MISS_CHRG_REC
440 
441        ) AS
442 BEGIN
443 
444 Update_Charge_Details
445 (
446        p_api_version              => p_api_version,
447        p_init_msg_list            => p_init_msg_list,
448        p_commit                   => p_commit,
449        p_validation_level         => p_validation_level,
450        x_return_status            => x_return_status,
451        x_msg_count                => x_msg_count,
452        x_object_version_number    => x_object_version_number,
453        x_msg_data                 => x_msg_data,
454        p_resp_appl_id             => p_resp_appl_id,
455        p_resp_id                  => p_resp_id,
456        p_user_id                  => p_user_id,
457        p_login_id                 => p_login_id,
458        p_transaction_control      => p_transaction_control,
459        p_Charges_Rec              => p_Charges_Rec,
460        p_update_cost_detail       => 'N'
461 );
462 
463 END;
464 
465 
466 
467 
468 /**************************************************
469 Public Procedure Body Update_Charge_Details
470 **************************************************/
471 
472  PROCEDURE Update_Charge_Details(
473         p_api_version              IN         NUMBER,
474         p_init_msg_list            IN         VARCHAR2         := FND_API.G_FALSE,
475         p_commit                   IN         VARCHAR2         := FND_API.G_FALSE,
476         p_validation_level         IN         NUMBER           := FND_API.G_VALID_LEVEL_FULL,
477         x_return_status            OUT NOCOPY VARCHAR2,
478         x_msg_count                OUT NOCOPY NUMBER,
479         x_object_version_number    OUT NOCOPY NUMBER,
480         x_msg_data                 OUT NOCOPY VARCHAR2,
481       --x_estimate_detail_id       OUT NOCOPY NUMBER,
482       --x_line_number              OUT NOCOPY NUMBER,
483         p_resp_appl_id             IN         NUMBER           := FND_GLOBAL.RESP_APPL_ID,
484         p_resp_id                  IN         NUMBER           := FND_GLOBAL.RESP_ID,
485         p_user_id                  IN         NUMBER           := FND_GLOBAL.USER_ID,
486       --p_login_id                 IN         NUMBER           := FND_API.G_MISS_NUM,
487         p_login_id                 IN         NUMBER           := NULL,
488         p_transaction_control      IN         VARCHAR2         := FND_API.G_TRUE,
489         p_Charges_Rec              IN         Charges_Rec_Type := G_MISS_CHRG_REC,
490 	p_update_cost_detail       IN         VARCHAR2		--service costing
491 
492        ) AS
493 
494   l_api_name       CONSTANT  VARCHAR2(30) := 'Update_Charge_Details' ;
495   l_api_name_full  CONSTANT  VARCHAR2(61) := G_PKG_NAME || '.' || l_api_name ;
496   l_log_module     CONSTANT VARCHAR2(255) := 'csxpestb.plsql.' || l_api_name_full || '.';
497   l_api_version    CONSTANT  NUMBER       := 1.0 ;
498   l_resp_appl_id             NUMBER       := p_resp_appl_id;
499   l_resp_id                  NUMBER       := p_resp_id ;
500   l_user_id                  NUMBER       := p_user_id ;
501   l_login_id                 NUMBER       := p_login_id ;
502   l_charges_rec              Charges_Rec_Type;
503    l_cost_rec                 cs_cost_details_pub.cost_rec_type;--bkc
504      -- l_cost_id			NUMBER;
505   l_return_status            VARCHAR2(1) ;
506 
507 BEGIN
508 
509   --  Standard Start of API Savepoint
510   IF FND_API.To_Boolean( p_transaction_control ) THEN
511     SAVEPOINT   Update_Charge_Details_PUB ;
512   END IF ;
513 
514   --Standard Call to check API compatibility
518                                      G_PKG_NAME    )THEN
515   IF NOT FND_API.Compatible_API_Call(l_api_version,
516                                      p_api_version,
517                                      l_api_name,
519     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
520   END IF ;
521 
522   --   Initialize the message list  if p_msg_list is set to TRUE
523   IF FND_API.To_Boolean(p_init_msg_list)   THEN
524     FND_MSG_PUB.initialize ;
525   END IF ;
526 
527 
528   --Initialize the API Return Success to True
529   x_return_status := FND_API.G_RET_STS_SUCCESS ;
530 
531 ----------------------- FND Logging -----------------------------------
532   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
533   THEN
534     FND_LOG.String
535     ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
536     , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
537     );
538     FND_LOG.String
539     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
540     , 'p_api_version:' || p_api_version
541     );
542     FND_LOG.String
543     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
544     , 'p_init_msg_list:' || p_init_msg_list
545     );
546     FND_LOG.String
547     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
548     , 'p_commit:' || p_commit
549     );
550     FND_LOG.String
551     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
552     , 'p_validation_level:' || p_validation_level
553     );
554     FND_LOG.String
555     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
556     , 'p_resp_appl_id:' || p_resp_appl_id
557     );
558     FND_LOG.String
559     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
560     , 'p_resp_id:' || p_resp_id
561     );
562     FND_LOG.String
563     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
564     , 'p_user_id:' || p_user_id
565     );
566     FND_LOG.String
567     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
568     , 'p_login_id:' || p_login_id
569     );
570     FND_LOG.String
571     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
572     , 'p_transaction_control:' || p_transaction_control
573     );
574 
575      FND_LOG.String
576     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
577     , 'p_update_cost_detail: ' || p_update_cost_detail
578     );
579  -- --------------------------------------------------------------------------
580  -- This procedure Logs the charges record paramters.
581  -- --------------------------------------------------------------------------
582     Log_Charges_Rec_Parameters
583     ( p_Charges_Rec             =>  p_Charges_Rec
584     );
585 
586   END IF;
587 
588   --Resolve Bug # 3078244
589 
590   --Convert the IN Parameters from FND_API.G_MISS_XXXX to NULL
591   --TO_NULL (p_Charges_Rec, l_Charges_Rec) ;
592 
593 
594  BEGIN
595   -- Call the PVT API for the update
596   CS_Charge_Details_PVT.Update_Charge_Details
597              (
598                 p_api_version             =>  1.0 ,
599                 p_init_msg_list           =>  FND_API.G_FALSE ,
600                 p_commit                  =>  p_commit ,
601                 p_validation_level        =>  p_validation_level,
602                 x_return_status           =>  l_return_status               ,
603                 x_msg_count               =>  x_msg_count ,
604                 x_object_version_number   =>  x_object_version_number,
605                 x_msg_data                =>  x_msg_data ,
606                 p_resp_appl_id            =>  l_resp_appl_id ,
607                 p_resp_id                 =>  l_resp_id ,
608                 p_user_id                 =>  l_user_id ,
609                 p_login_id                =>  l_login_id ,
610                 p_transaction_control     =>  p_transaction_control ,
611                 p_EST_DETAIL_rec          =>  p_Charges_Rec
612                 ) ;
613 
614 	  IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
615 	    RAISE FND_API.G_EXC_ERROR;
616 	  ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
617 	    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
618 	  END IF;
619 
620 	  --End of API Body
621 	  --Standard Check of p_commit
622 	  IF FND_API.To_Boolean( p_commit ) THEN
623 	    COMMIT WORK ;
624 	  END IF ;
625 
626 	  --Standard call to get  message count and if count is 1 , get message info
627 	  FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
628 				    p_data => x_msg_data) ;
629 
630   --Begin Exception Handling
631 
632 EXCEPTION
633 
634   WHEN FND_API.G_EXC_ERROR THEN
635     IF FND_API.To_Boolean( p_transaction_control ) THEN
636       ROLLBACK TO Update_Charge_Details_PUB;
637     END IF ;
638 
639   x_return_status :=  FND_API.G_RET_STS_ERROR ;
640 
641   FND_MSG_PUB.Count_And_Get(p_count   => x_msg_count,
642                             p_data    => x_msg_data,
643                             p_encoded => FND_API.G_FALSE) ;
644 
645 
646   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
647     IF FND_API.To_Boolean( p_transaction_control ) THEN
648       ROLLBACK TO Update_Charge_Details_PUB;
649     END IF ;
650 
651   x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
652 
653   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
657     IF FND_API.To_Boolean( p_transaction_control ) THEN
654                             p_data  => x_msg_data,
655                             p_encoded => FND_API.G_FALSE) ;
656   WHEN OTHERS THEN
658       ROLLBACK TO Update_Charge_Details_PUB;
659     END IF ;
660 
661   x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
662 
663   IF FND_MSG_PUB.Check_Msg_Level
664     (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
665     FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
666   END IF ;
667 
668   FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
669                             p_data  => x_msg_data,
670                             p_encoded => FND_API.G_FALSE) ;
671 END ;
672 
673 --added by bkanimoz on 15-dec-2007 for service costing
674 --start
675 
676   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
677   THEN
678     FND_LOG.String
679        ( FND_LOG.level_procedure ,
680          L_LOG_MODULE || '',
681          'Before call To cost Update Pvt API ' ||'l_return_status :'||l_return_status||'p_Charges_Rec.estimate_Detail_id :'||p_Charges_Rec.estimate_Detail_id
682        );
683   END IF ;
684 
685 
686 BEGIN
687 --Update Cost record only if charge line has been successfully updated
688 
689 IF l_return_status =FND_API.G_RET_STS_SUCCESS
690 and p_update_cost_detail ='Y'
691 and p_Charges_Rec.estimate_Detail_id  IS NOT NULL then
692 
693 	 --  Standard Start of API Savepoint
694 	  IF FND_API.To_Boolean( p_transaction_control ) THEN
695 	    SAVEPOINT   Update_Charge_Cost_Details_PUB ;
696 	  END IF ;
697 
698 
699 
700 	 l_cost_rec.estimate_detail_id  :=p_Charges_Rec.estimate_Detail_id;
701 	-- l_cost_rec.source_code:='SR';
702 
703 	l_cost_rec.estimate_detail_id := p_Charges_Rec.estimate_Detail_id;
704 	l_cost_rec.transaction_date   := sysdate;
705 
706 --call the costing PVT api with NO Validation ,since the data has already been validated by the charge api
707 
708 CS_COST_DETAILS_PVT.UPDATE_COST_DETAILS
709              (
710                 p_api_version           =>  1.0 ,
711                 p_init_msg_list         =>  p_init_msg_list ,
712                 p_commit                =>  p_commit ,
713                 p_validation_level      =>  FND_API.G_VALID_LEVEL_NONE,
714                 x_return_status         =>  l_return_status,
715                 x_msg_count             =>  x_msg_count,
716                 x_object_version_number =>  x_object_version_number,
717                 x_msg_data              =>  x_msg_data,
718                 p_resp_appl_id          =>  l_resp_appl_id,
719                 p_resp_id               =>  l_resp_id,
720                 p_user_id               =>  l_user_id,
721                 p_login_id              =>  l_login_id,
722                 p_transaction_control   =>  p_transaction_control,
723                 p_Cost_Rec              =>  l_cost_rec
724          );
725 
726 
727 			 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
728 			      RAISE FND_API.G_EXC_ERROR;
729 			  ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
730 			      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
731 			  END IF;
732 
733 			  --End of API Body
734 			  --standard Check of p_commit
735 			  IF FND_API.To_Boolean( p_commit ) THEN
736 			    COMMIT WORK ;
737 			  END IF ;
738 
739 			  --Standard call to get  message count and if count is 1 , get message info
740 			  FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
741 						    p_data  => x_msg_data,
742 						    p_encoded => FND_API.G_FALSE) ;
743   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
744   THEN
745     FND_LOG.String
746        ( FND_LOG.level_procedure ,
747          L_LOG_MODULE || '',
748          'After call To cost Update Pvt API ' ||'l_return_status :'||l_return_status
749        );
750   END IF ;
751 
752 
753 END IF;
754 
755  EXCEPTION
756 
757 	  WHEN FND_API.G_EXC_ERROR THEN
758 	    IF FND_API.To_Boolean( p_transaction_control ) THEN
759 	      ROLLBACK TO  Update_Charge_Cost_Details_PUB;
760 	    END IF ;
761 
762 	  x_return_status :=  FND_API.G_RET_STS_ERROR ;
763 
764 	  FND_MSG_PUB.Count_And_Get(p_count   => x_msg_count,
765 				    p_data    => x_msg_data,
766 				    p_encoded => FND_API.G_FALSE) ;
767 
768 
769 	  WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
770 	    IF FND_API.To_Boolean( p_transaction_control ) THEN
771 	      ROLLBACK TO  Update_Charge_Cost_Details_PUB;
772 	    END IF ;
773 
774 	  x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
775 
776 	  FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
777 				    p_data  => x_msg_data,
778 				    p_encoded => FND_API.G_FALSE) ;
779 	  WHEN OTHERS THEN
780 	    IF FND_API.To_Boolean( p_transaction_control ) THEN
781 	      ROLLBACK TO  Update_Charge_Cost_Details_PUB;
782 	    END IF ;
783 
784 	  x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
785 
786 	  IF FND_MSG_PUB.Check_Msg_Level
787 	    (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
788 	    FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
789 	  END IF ;
790 
791 	  FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
792 				    p_data  => x_msg_data,
793 				    p_encoded => FND_API.G_FALSE) ;
794 
795 
796 
797 
798 END;
799 --end;
800 
801 
805 --This is added for backward compatibility
802 END  Update_Charge_Details;   -- End of Procedure Update Charge Details
803 
804 
806 
807 Procedure  Delete_Charge_Details
808 (
809              p_api_version          IN         NUMBER,
810              p_init_msg_list        IN         VARCHAR2 := FND_API.G_FALSE,
811              p_commit               IN         VARCHAR2 := FND_API.G_FALSE,
812              p_validation_level     IN         NUMBER   := FND_API.G_VALID_LEVEL_FULL,
813              x_return_status        OUT NOCOPY VARCHAR2,
814              x_msg_count            OUT NOCOPY NUMBER,
815              x_msg_data             OUT NOCOPY VARCHAR2,
816              p_transaction_control  IN         VARCHAR2 := FND_API.G_TRUE,
817              p_estimate_detail_id   IN         NUMBER   := NULL
818 )
819 AS
820 
821 BEGIN
822 
823  Delete_Charge_Details
824  (
825 
826        p_api_version              => p_api_version,
827        p_init_msg_list            => p_init_msg_list,
828        p_commit                   => p_commit,
829        p_validation_level         => p_validation_level,
830        x_return_status            => x_return_status,
831        x_msg_count                => x_msg_count,
832        x_msg_data                 => x_msg_data,
833        p_transaction_control      => p_transaction_control,
834        p_estimate_detail_id 	  => p_estimate_detail_id,
835        p_delete_cost_detail       => 'N'
836 
837 );
838 
839 END;
840 
841 /**************************************************
842 Public Procedure Body Delete_Charge_Details
843 **************************************************/
844 
845 Procedure  Delete_Charge_Details
846 (
847              p_api_version          IN         NUMBER,
848              p_init_msg_list        IN         VARCHAR2 := FND_API.G_FALSE,
849              p_commit               IN         VARCHAR2 := FND_API.G_FALSE,
850              p_validation_level     IN         NUMBER   := FND_API.G_VALID_LEVEL_FULL,
851              x_return_status        OUT NOCOPY VARCHAR2,
852              x_msg_count            OUT NOCOPY NUMBER,
853              x_msg_data             OUT NOCOPY VARCHAR2,
854              p_transaction_control  IN         VARCHAR2 := FND_API.G_TRUE,
855              p_estimate_detail_id   IN         NUMBER   := NULL,
856 	     p_delete_cost_detail       IN         VARCHAR2--new parameter for service costing
857 )  AS
858 
859 l_api_name       CONSTANT  VARCHAR2(30)     := 'Delete_Charge_Details' ;
860 l_api_name_full  CONSTANT  VARCHAR2(61)     := G_PKG_NAME || '.' || l_api_name ;
861 l_log_module     CONSTANT VARCHAR2(255)     := 'csxpestb.plsql.' || l_api_name_full || '.';
862 l_api_version    CONSTANT  NUMBER           := 1.0 ;
863 
864 l_resp_appl_id          NUMBER  ;
865 l_resp_id               NUMBER  ;
866 l_user_id               NUMBER  ;
867 l_login_id              NUMBER  ;
868 l_return_status         VARCHAR2(1) ;
869 
870 l_estimate_detail_id    NUMBER := p_estimate_detail_id ;
871 l_cost_id		NUMBER;
872 
873 BEGIN
874 
875   -- Standard Start of API Savepoint
876   IF FND_API.To_Boolean( p_transaction_control ) THEN
877     SAVEPOINT   Delete_Charge_Details_PUB ;
878   END IF ;
879 
880   -- Standard Call to check API compatibility
881   IF NOT FND_API.Compatible_API_Call(l_api_version,
882                                      p_api_version,
883                                      l_api_name,
884                                      G_PKG_NAME ) THEN
885     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
886   END IF ;
887 
888   -- Initialize the message list  if p_msg_list is set to TRUE
889   IF FND_API.To_Boolean(p_init_msg_list)   THEN
890     FND_MSG_PUB.initialize ;
891   END IF ;
892 
893 
894   -- Initialize the API Return Success to True
895   x_return_status := FND_API.G_RET_STS_SUCCESS ;
896 
897 ----------------------- FND Logging -----------------------------------
898   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
899   THEN
900     FND_LOG.String
901     ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
902     , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
903     );
904     FND_LOG.String
905     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
906     , 'p_api_version:' || p_api_version
907     );
908     FND_LOG.String
909     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
913     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
910     , 'p_init_msg_list:' || p_init_msg_list
911     );
912     FND_LOG.String
914     , 'p_commit:' || p_commit
915     );
916     FND_LOG.String
917     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
918     , 'p_validation_level:' || p_validation_level
919     );
920     FND_LOG.String
921     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
922     , 'p_transaction_control:' || p_transaction_control
923     );
924     FND_LOG.String
925     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
926     , 'p_estimate_detail_id:' || p_estimate_detail_id
927     );
928     FND_LOG.String
929     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
930     , 'p_delete_cost_detail:' || p_delete_cost_detail
931     );
932   END IF;
933 
934   --need to call pvt API
935   BEGIN
936     IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
937     THEN
938         FND_LOG.String
939           ( FND_LOG.level_procedure , L_LOG_MODULE || ''
940             , 'Before callin Charges Delete Pvt API'
941           );
942     END IF ;
943 
944   CS_CHARGE_DETAILS_PVT.DELETE_CHARGE_DETAILS
945           (
946              p_api_version          => 1.0 ,
947              p_init_msg_list        => FND_API.G_FALSE,
948              p_commit               => p_commit,
949              p_validation_level     => p_validation_level,
950              x_return_status        => l_return_status,
951              x_msg_count            => x_msg_count,
952              x_msg_data             => x_msg_data,
953              p_transaction_control  => p_transaction_control,
954              p_estimate_detail_id   => p_estimate_detail_id
955 	  ) ;
956 
957 	  IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
958 	    RAISE FND_API.G_EXC_ERROR;
959 	  ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
960 	    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
961 	  END IF;
962 
963 	  --   End of API Body
964 	  --   Standard Check of p_commit
965 	  IF FND_API.To_Boolean( p_commit ) THEN
966 	    COMMIT WORK ;
967 	  END IF ;
968 
969   --Standard call to get  message count and if count is 1 , get message info
970   FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
971                             p_data => x_msg_data) ;
972 
973   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
974   THEN
975      FND_LOG.String
976        ( FND_LOG.level_procedure , L_LOG_MODULE || ''
977          , 'After callin Charges Delete Pvt API: '||l_return_status||x_msg_data
978        );
979   END IF ;
980 EXCEPTION
981 
982       WHEN FND_API.G_EXC_ERROR THEN
983         IF FND_API.To_Boolean( p_transaction_control ) THEN
984           ROLLBACK TO Delete_Charge_Details_PUB;
985         END IF ;
986 
987       x_return_status :=  FND_API.G_RET_STS_ERROR ;
988 
989       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
990                                 p_data  => x_msg_data,
991                                 p_encoded => FND_API.G_FALSE) ;
992 
993       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
994         IF FND_API.To_Boolean( p_transaction_control ) THEN
995           ROLLBACK TO Delete_Charge_Details_PUB;
996         END IF ;
997 
998       x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
999 
1000       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1001                                 p_data  => x_msg_data,
1002                                 p_encoded => FND_API.G_FALSE) ;
1003 
1004       WHEN OTHERS THEN
1005         IF FND_API.To_Boolean( p_transaction_control ) THEN
1006           ROLLBACK TO Delete_Charge_Details_PUB;
1007         END IF ;
1008 
1009       x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
1010 
1011       IF FND_MSG_PUB.Check_Msg_Level
1012         (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1013          FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
1014       END IF ;
1015 
1016       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1017                                 p_data  => x_msg_data,
1018                                 p_encoded => FND_API.G_FALSE) ;
1019 END;
1020 --added by bkanimoz on 15-dec-2007 for service costing
1021 --start
1022 
1023 
1024 
1025 BEGIN
1026 --If charge line has been deleted successfully then call the costing api to delete the cost record
1027 
1028 
1029 
1030 IF l_return_status = FND_API.G_RET_STS_SUCCESS then
1031 	  -- Standard Start of API Savepoint
1032 	  IF FND_API.To_Boolean( p_transaction_control ) THEN
1033 	    SAVEPOINT   Delete_Charge_Cost_Details_PUB ;
1034 	  END IF ;
1035 
1036 		  begin
1037 			select cost_id
1038 			into l_cost_id
1039 			from cs_cost_details csd
1040 			where csd.estimate_Detail_id =  p_estimate_detail_id;
1041 		exception
1042 		when no_data_found then
1043 		    l_cost_id:=null;
1044 		 when others then
1045 		    l_cost_id:=null;
1046 		end;
1047   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
1048   THEN
1049       FND_LOG.String
1050         ( FND_LOG.level_procedure ,
1051           L_LOG_MODULE || '',
1052           'l_cost_id' ||l_cost_id
1053         );
1054 
1055       FND_LOG.String
1056         ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1057          , 'Before callin Cost Delete Pvt API:l_cost_id :  '||l_cost_id
1058         );
1059   END IF ;
1060 if l_cost_id is not null then
1061 	CS_COST_DETAILS_PVT.DELETE_COST_DETAILS
1062 	(
1066 		 p_validation_level    => FND_API.G_VALID_LEVEL_NONE,
1063 		 p_api_version         => 1.0 ,
1064 		 p_init_msg_list       => p_init_msg_list,
1065 		 p_commit              => p_commit,
1067 		 x_return_status       => l_return_status,
1068 		 x_msg_count           => x_msg_count,
1069 		 x_msg_data            => x_msg_data,
1070 		 p_transaction_control => p_transaction_control,
1071 		 p_cost_id	       => l_cost_id
1072 	 );
1073 
1074           IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1075 	    RAISE FND_API.G_EXC_ERROR;
1076 	  ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1077 	    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1078 	  END IF;
1079 
1080 
1081 end if;
1082 
1083 
1084   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
1085   THEN
1086      FND_LOG.String
1087        ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1088        , 'After callin Cost Delete Pvt API:l_cost_id :  '||l_return_status
1089        );
1090   END IF ;
1091 
1092 END IF;
1093   --Begin Exception Handling
1094 
1095 EXCEPTION
1096 
1097       WHEN FND_API.G_EXC_ERROR THEN
1098         IF FND_API.To_Boolean( p_transaction_control ) THEN
1099           ROLLBACK TO Delete_Charge_Cost_Details_PUB ;
1100         END IF ;
1101 
1102       x_return_status :=  FND_API.G_RET_STS_ERROR ;
1103 
1104       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1105                                 p_data  => x_msg_data,
1106                                 p_encoded => FND_API.G_FALSE) ;
1107 
1108       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1109         IF FND_API.To_Boolean( p_transaction_control ) THEN
1110           ROLLBACK TO Delete_Charge_Cost_Details_PUB ;
1111         END IF ;
1112 
1113       x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
1114 
1115       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1116                                 p_data  => x_msg_data,
1117                                 p_encoded => FND_API.G_FALSE) ;
1118 
1119       WHEN OTHERS THEN
1120         IF FND_API.To_Boolean( p_transaction_control ) THEN
1121           ROLLBACK TO Delete_Charge_Cost_Details_PUB ;
1122         END IF ;
1123 
1124       x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
1125 
1126       IF FND_MSG_PUB.Check_Msg_Level
1127         (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1128          FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
1129       END IF ;
1130 
1131       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1132                                 p_data  => x_msg_data,
1133                                 p_encoded => FND_API.G_FALSE) ;
1134 END;
1135 
1136 END  Delete_Charge_Details;   -- End of Procedure Delete Charge Details
1137 
1138 
1139 /**************************************************
1140 Public Procedure Body Copy_Estimate
1141 **************************************************/
1142 
1143 Procedure  Copy_Estimate(
1144         p_api_version         IN         NUMBER,
1145         p_init_msg_list       IN         VARCHAR2 := FND_API.G_FALSE,
1146         p_commit              IN         VARCHAR2 := FND_API.G_FALSE,
1147         p_transaction_control IN         VARCHAR2 := FND_API.G_TRUE,
1148         p_estimate_detail_id  IN         NUMBER   := NULL,
1149         x_estimate_detail_id  OUT NOCOPY NUMBER,
1150         x_return_status       OUT NOCOPY VARCHAR2,
1151         x_msg_count           OUT NOCOPY NUMBER,
1152         x_msg_data            OUT NOCOPY VARCHAR2)  AS
1153 
1154 l_api_name       CONSTANT  VARCHAR2(30)     := 'Copy_Estimate' ;
1155 l_api_name_full  CONSTANT  VARCHAR2(61)     :=  G_PKG_NAME || '.' || l_api_name ;
1156 l_log_module     CONSTANT VARCHAR2(255)     := 'csxpestb.plsql.' || l_api_name_full || '.';
1157 l_api_version    CONSTANT  NUMBER           :=  1.0 ;
1158 
1159 l_return_status         VARCHAR2(1) ;
1160 
1161 BEGIN
1162 
1163   --DBMS_OUTPUT.PUT_LINE('in Public API');
1164 
1165   -- Standard Start of API Savepoint
1166   IF FND_API.To_Boolean( p_transaction_control ) THEN
1167     SAVEPOINT   Copy_Estimates_PUB ;
1168   END IF ;
1169 
1170   -- Standard Call to check API compatibility
1171   IF NOT FND_API.Compatible_API_Call(l_api_version,
1172                                      p_api_version,
1173                                      l_api_name,
1174                                      G_PKG_NAME ) THEN
1175     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1176   END IF ;
1177 
1178   -- Initialize the message list  if p_msg_list is set to TRUE
1179   IF FND_API.To_Boolean(p_init_msg_list)   THEN
1180     FND_MSG_PUB.initialize ;
1181   END IF ;
1182 
1183 
1184   -- Initialize the API Return Success to True
1185   x_return_status := FND_API.G_RET_STS_SUCCESS ;
1186 
1187 ----------------------- FND Logging -----------------------------------
1188   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
1189   THEN
1190     FND_LOG.String
1191     ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
1192     , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
1193     );
1194     FND_LOG.String
1195     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1196     , 'p_api_version:' || p_api_version
1197     );
1198     FND_LOG.String
1199     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1200     , 'p_init_msg_list:' || p_init_msg_list
1201     );
1202     FND_LOG.String
1203     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1204     , 'p_commit:' || p_commit
1205     );
1206     FND_LOG.String
1207     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1211     ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1208     , 'p_transaction_control:' || p_transaction_control
1209     );
1210     FND_LOG.String
1212     , 'p_estimate_detail_id:' || p_estimate_detail_id
1213     );
1214   END IF;
1215 
1216   --need to call pvt API
1217 
1218   --DBMS_OUTPUT.PUT_LINE('Call Private API');
1219 
1220   CS_Charge_Details_PVT.Copy_Estimate(
1221         p_api_version         => l_api_version,
1222         p_init_msg_list       => FND_API.G_FALSE,
1223         p_commit              => FND_API.G_FALSE,
1224         p_transaction_control => FND_API.G_FALSE,
1225         p_estimate_detail_id  => p_estimate_detail_id,
1226         x_estimate_detail_id  => x_estimate_detail_id,
1227         x_return_status       => l_return_status,
1228         x_msg_count           => x_msg_count,
1229         x_msg_data            => x_msg_data) ;
1230 
1231 
1232   --DBMS_OUTPUT.PUT_LINE('return status is '||l_return_status);
1233 
1234   IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1235     RAISE FND_API.G_EXC_ERROR;
1236   ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1237     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1238   END IF;
1239 
1240 
1241   --   End of API Body
1242   --   Standard Check of p_commit
1243   IF FND_API.To_Boolean( p_commit ) THEN
1244     COMMIT WORK ;
1245   END IF ;
1246 
1247   --Standard call to get  message count and if count is 1 , get message info
1248   FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
1249                             p_data => x_msg_data) ;
1250 
1251   --Begin Exception Handling
1252 
1253 EXCEPTION
1254 
1255       WHEN FND_API.G_EXC_ERROR THEN
1256         IF FND_API.To_Boolean( p_transaction_control ) THEN
1257           ROLLBACK TO Copy_Estimates_PUB;
1258         END IF ;
1259 
1260       x_return_status :=  FND_API.G_RET_STS_ERROR ;
1261 
1262       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1263                                 p_data  => x_msg_data,
1264                                 p_encoded => FND_API.G_FALSE) ;
1265 
1266       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1267         IF FND_API.To_Boolean( p_transaction_control ) THEN
1268           ROLLBACK TO Copy_Estimates_PUB;
1269         END IF ;
1270 
1271       x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
1272 
1273       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1274                                 p_data  => x_msg_data,
1275                                 p_encoded => FND_API.G_FALSE) ;
1276 
1277       WHEN OTHERS THEN
1278         IF FND_API.To_Boolean( p_transaction_control ) THEN
1279           ROLLBACK TO Copy_Estimates_PUB;
1280         END IF ;
1281 
1282       x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
1283 
1284       IF FND_MSG_PUB.Check_Msg_Level
1285         (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1286          FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
1287       END IF ;
1288 
1289       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1290                                 p_data  => x_msg_data,
1291                                 p_encoded => FND_API.G_FALSE) ;
1292 
1293 END  Copy_Estimate;   -- End of Procedure Copy_Estimate
1294 
1295 /**************************************************
1296 Private Procedure Body TO_NULL
1297 **************************************************/
1298 
1299  PROCEDURE TO_NULL(p_charges_rec_in             IN Charges_Rec_Type,
1300                    p_charges_rec_out OUT NOCOPY Charges_Rec_Type) IS
1301  BEGIN
1302   p_charges_rec_out.estimate_detail_id          := Check_For_Miss(p_charges_rec_in.estimate_detail_id) ;
1303   p_charges_rec_out.incident_id                 := Check_For_Miss(p_charges_rec_in.incident_id ) ;
1304   p_charges_rec_out.charge_line_type            := Check_For_Miss(p_charges_rec_in.charge_line_type);
1305   p_charges_rec_out.line_number                 := Check_For_Miss(p_charges_rec_in.line_number );
1306   p_charges_rec_out.business_process_id         := Check_For_Miss(p_charges_rec_in.business_process_id ) ;
1307   p_charges_rec_out.transaction_type_id         := Check_For_Miss(p_charges_rec_in.transaction_type_id);
1308   p_charges_rec_out.inventory_item_id_in        := Check_For_Miss(p_charges_rec_in.inventory_item_id_in ) ;
1309   p_charges_rec_out.item_revision               := Check_For_Miss(p_charges_rec_in.item_revision ) ;
1310   p_charges_rec_out.billing_flag                := Check_For_Miss(p_charges_rec_in.billing_flag);
1311   p_charges_rec_out.txn_billing_type_id         := Check_For_Miss(p_charges_rec_in.txn_billing_type_id ) ;
1312   p_charges_rec_out.unit_of_measure_code        := Check_For_Miss(p_charges_rec_in.unit_of_measure_code ) ;
1313   p_charges_rec_out.quantity_required           := Check_For_Miss(p_charges_rec_in.quantity_required ) ;
1314   p_charges_rec_out.return_reason_code          := Check_For_Miss(p_charges_rec_in.return_reason_code ) ;
1315   p_charges_rec_out.customer_product_id         := Check_For_Miss(p_charges_rec_in.customer_product_id ) ;
1316   p_charges_rec_out.serial_number               := Check_For_Miss(p_charges_rec_in.serial_number ) ;
1317   p_charges_rec_out.installed_cp_return_by_date := Check_For_Miss(p_charges_rec_in.installed_cp_return_by_date ) ;
1318   p_charges_rec_out.new_cp_return_by_date       := Check_For_Miss(p_charges_rec_in.new_cp_return_by_date ) ;
1319   p_charges_rec_out.sold_to_party_id            := Check_For_Miss(p_charges_rec_in.sold_to_party_id);
1323   p_charges_rec_out.invoice_to_org_id           := Check_For_Miss(p_charges_rec_in.invoice_to_org_id ) ;
1320   p_charges_rec_out.bill_to_party_id            := Check_For_Miss(p_charges_rec_in.bill_to_party_id);
1321   p_charges_rec_out.bill_to_account_id          := Check_For_Miss(p_charges_rec_in.bill_to_account_id);
1322   p_charges_rec_out.bill_to_contact_id          := Check_For_Miss(p_charges_rec_in.bill_to_contact_id);
1324   p_charges_rec_out.ship_to_party_id            := Check_For_Miss(p_charges_rec_in.ship_to_party_id);
1325   p_charges_rec_out.ship_to_account_id          := Check_For_Miss(p_charges_rec_in.ship_to_account_id);
1326   p_charges_rec_out.ship_to_contact_id          := Check_For_Miss(p_charges_rec_in.ship_to_contact_id);
1327   p_charges_rec_out.contract_line_id            := Check_For_Miss(p_charges_rec_in.contract_line_id);
1328   p_charges_rec_out.rate_type_code              := Check_For_Miss(p_charges_rec_in.rate_type_code);
1329   p_charges_rec_out.contract_id                 := Check_For_Miss(p_charges_rec_in.contract_id ) ;
1330   p_charges_rec_out.ship_to_org_id              := Check_For_Miss(p_charges_rec_in.ship_to_org_id ) ;
1331   p_charges_rec_out.coverage_id                 := Check_For_Miss(p_charges_rec_in.coverage_id ) ;
1332   p_charges_rec_out.coverage_txn_group_id       := Check_For_Miss(p_charges_rec_in.coverage_txn_group_id ) ;
1333   p_charges_rec_out.coverage_bill_rate_id       := Check_For_Miss(p_charges_rec_in.coverage_bill_rate_id ) ;
1334   p_charges_rec_out.coverage_billing_type_id    := Check_For_Miss(p_charges_rec_in.coverage_billing_type_id );
1335   p_charges_rec_out.price_list_id               := Check_For_Miss(p_charges_rec_in.price_list_id ) ;
1336   p_charges_rec_out.currency_code               := Check_For_Miss(p_charges_rec_in.currency_code ) ;
1337   p_charges_rec_out.purchase_order_num          := Check_For_Miss(p_charges_rec_in.purchase_order_num ) ;
1338   p_charges_rec_out.list_price                  := Check_For_Miss(p_charges_rec_in.list_price);
1339   p_charges_rec_out.con_pct_over_list_price     := Check_For_Miss(p_charges_rec_in.con_pct_over_list_price );
1340   p_charges_rec_out.selling_price               := Check_For_Miss(p_charges_rec_in.selling_price ) ;
1341   p_charges_rec_out.contract_discount_amount    := Check_For_Miss(p_charges_rec_in.contract_discount_amount);
1342   p_charges_rec_out.apply_contract_discount     := Check_For_Miss(p_charges_rec_in.apply_contract_discount );
1343   p_charges_rec_out.after_warranty_cost         := Check_For_Miss(p_charges_rec_in.after_warranty_cost ) ;
1344   p_charges_rec_out.transaction_inventory_org   := Check_For_Miss(p_charges_rec_in.transaction_inventory_org);
1345   p_charges_rec_out.transaction_sub_inventory   := Check_For_Miss(p_charges_rec_in.transaction_sub_inventory);
1346   p_charges_rec_out.rollup_flag                 := Check_For_Miss(p_charges_rec_in.rollup_flag ) ;
1347   p_charges_rec_out.add_to_order_flag           := Check_For_Miss(p_charges_rec_in.add_to_order_flag ) ;
1348   p_charges_rec_out.order_header_id             := Check_For_Miss(p_charges_rec_in.order_header_id ) ;
1349   p_charges_rec_out.interface_to_oe_flag        := Check_For_Miss(p_charges_rec_in.interface_to_oe_flag ) ;
1350   p_charges_rec_out.no_charge_flag              := Check_For_Miss(p_charges_rec_in.no_charge_flag ) ;
1351   p_charges_rec_out.line_category_code          := Check_For_Miss(p_charges_rec_in.line_category_code ) ;
1352   p_charges_rec_out.line_type_id                := Check_For_Miss(p_charges_rec_in.line_type_id );
1353   p_charges_rec_out.order_line_id               := Check_For_Miss(p_charges_rec_in.order_line_id );
1354   p_charges_rec_out.conversion_rate             := Check_For_Miss(p_charges_rec_in.conversion_rate );
1355   p_charges_rec_out.conversion_type_code        := Check_For_Miss(p_charges_rec_in.conversion_type_code );
1356   p_charges_rec_out.conversion_rate_date        := Check_For_Miss(p_charges_rec_in.conversion_rate_date );
1357   p_charges_rec_out.original_source_id          := Check_For_Miss(p_charges_rec_in.original_source_id ) ;
1358   p_charges_rec_out.original_source_code        := Check_For_Miss(p_charges_rec_in.original_source_code) ;
1359   p_charges_rec_out.source_id                   := Check_For_Miss(p_charges_rec_in.source_id ) ;
1360   p_charges_rec_out.source_code                 := Check_For_Miss(p_charges_rec_in.source_code) ;
1361   p_charges_rec_out.activity_start_time         := Check_For_Miss(p_charges_rec_in.activity_start_time);
1362   p_charges_rec_out.activity_end_time           := Check_For_Miss(p_charges_rec_in.activity_end_time);
1363   p_charges_rec_out.generated_by_bca_engine     := Check_For_Miss(p_charges_rec_in.generated_by_bca_engine);
1364   p_charges_rec_out.org_id                      := Check_For_Miss(p_charges_rec_in.org_id);
1365   p_charges_rec_out.submit_restriction_message  := Check_For_Miss(p_charges_rec_in.submit_restriction_message);
1366   p_charges_rec_out.submit_error_message        := Check_For_Miss(p_charges_rec_in.submit_error_message);
1367   p_charges_rec_out.submit_from_system          := Check_For_Miss(p_charges_rec_in.submit_from_system);
1368   p_charges_rec_out.line_submitted_flag         := Check_For_Miss(p_charges_rec_in.line_submitted_flag);
1369   p_charges_rec_out.context                     := Check_For_Miss(p_charges_rec_in.context) ;
1370   p_charges_rec_out.attribute1                  := Check_For_Miss(p_charges_rec_in.attribute1) ;
1371   p_charges_rec_out.attribute2                  := Check_For_Miss(p_charges_rec_in.attribute2) ;
1372   p_charges_rec_out.attribute3                  := Check_For_Miss(p_charges_rec_in.attribute3) ;
1373   p_charges_rec_out.attribute4                  := Check_For_Miss(p_charges_rec_in.attribute4) ;
1374   p_charges_rec_out.attribute5                  := Check_For_Miss(p_charges_rec_in.attribute5) ;
1378   p_charges_rec_out.attribute9                  := Check_For_Miss(p_charges_rec_in.attribute9) ;
1375   p_charges_rec_out.attribute6                  := Check_For_Miss(p_charges_rec_in.attribute6) ;
1376   p_charges_rec_out.attribute7                  := Check_For_Miss(p_charges_rec_in.attribute7) ;
1377   p_charges_rec_out.attribute8                  := Check_For_Miss(p_charges_rec_in.attribute8) ;
1379   p_charges_rec_out.attribute10                 := Check_For_Miss(p_charges_rec_in.attribute10) ;
1380   p_charges_rec_out.attribute11                 := Check_For_Miss(p_charges_rec_in.attribute11) ;
1381   p_charges_rec_out.attribute12                 := Check_For_Miss(p_charges_rec_in.attribute12) ;
1382   p_charges_rec_out.attribute13                 := Check_For_Miss(p_charges_rec_in.attribute13) ;
1383   p_charges_rec_out.attribute14                 := Check_For_Miss(p_charges_rec_in.attribute14) ;
1384   p_charges_rec_out.attribute15                 := Check_For_Miss(p_charges_rec_in.attribute15) ;
1385   p_charges_rec_out.pricing_context             := Check_For_Miss(p_charges_rec_in.pricing_context) ;
1386   p_charges_rec_out.pricing_attribute1          := Check_For_Miss(p_charges_rec_in.pricing_attribute1) ;
1387   p_charges_rec_out.pricing_attribute2          := Check_For_Miss(p_charges_rec_in.pricing_attribute2) ;
1388   p_charges_rec_out.pricing_attribute3          := Check_For_Miss(p_charges_rec_in.pricing_attribute3) ;
1389   p_charges_rec_out.pricing_attribute4          := Check_For_Miss(p_charges_rec_in.pricing_attribute4) ;
1390   p_charges_rec_out.pricing_attribute5          := Check_For_Miss(p_charges_rec_in.pricing_attribute5) ;
1391   p_charges_rec_out.pricing_attribute6          := Check_For_Miss(p_charges_rec_in.pricing_attribute6) ;
1392   p_charges_rec_out.pricing_attribute7          := Check_For_Miss(p_charges_rec_in.pricing_attribute7) ;
1393   p_charges_rec_out.pricing_attribute8          := Check_For_Miss(p_charges_rec_in.pricing_attribute8) ;
1394   p_charges_rec_out.pricing_attribute9          := Check_For_Miss(p_charges_rec_in.pricing_attribute9) ;
1395   p_charges_rec_out.pricing_attribute10         := Check_For_Miss(p_charges_rec_in.pricing_attribute10) ;
1396   p_charges_rec_out.pricing_attribute11         := Check_For_Miss(p_charges_rec_in.pricing_attribute11) ;
1397   p_charges_rec_out.pricing_attribute12         := Check_For_Miss(p_charges_rec_in.pricing_attribute12) ;
1398   p_charges_rec_out.pricing_attribute13         := Check_For_Miss(p_charges_rec_in.pricing_attribute13) ;
1399   p_charges_rec_out.pricing_attribute14         := Check_For_Miss(p_charges_rec_in.pricing_attribute14) ;
1400   p_charges_rec_out.pricing_attribute15         := Check_For_Miss(p_charges_rec_in.pricing_attribute15) ;
1401   p_charges_rec_out.pricing_attribute16         := Check_For_Miss(p_charges_rec_in.pricing_attribute16) ;
1402   p_charges_rec_out.pricing_attribute17         := Check_For_Miss(p_charges_rec_in.pricing_attribute17) ;
1403   p_charges_rec_out.pricing_attribute18         := Check_For_Miss(p_charges_rec_in.pricing_attribute18) ;
1404   p_charges_rec_out.pricing_attribute19         := Check_For_Miss(p_charges_rec_in.pricing_attribute19) ;
1405   p_charges_rec_out.pricing_attribute20         := Check_For_Miss(p_charges_rec_in.pricing_attribute20) ;
1406   p_charges_rec_out.pricing_attribute21         := Check_For_Miss(p_charges_rec_in.pricing_attribute21) ;
1407   p_charges_rec_out.pricing_attribute22         := Check_For_Miss(p_charges_rec_in.pricing_attribute22) ;
1408   p_charges_rec_out.pricing_attribute23         := Check_For_Miss(p_charges_rec_in.pricing_attribute23) ;
1409   p_charges_rec_out.pricing_attribute24         := Check_For_Miss(p_charges_rec_in.pricing_attribute24) ;
1410   p_charges_rec_out.pricing_attribute25         := Check_For_Miss(p_charges_rec_in.pricing_attribute25) ;
1411   p_charges_rec_out.pricing_attribute26         := Check_For_Miss(p_charges_rec_in.pricing_attribute26) ;
1412   p_charges_rec_out.pricing_attribute27         := Check_For_Miss(p_charges_rec_in.pricing_attribute27) ;
1413   p_charges_rec_out.pricing_attribute28         := Check_For_Miss(p_charges_rec_in.pricing_attribute28) ;
1414   p_charges_rec_out.pricing_attribute29         := Check_For_Miss(p_charges_rec_in.pricing_attribute29) ;
1415   p_charges_rec_out.pricing_attribute30         := Check_For_Miss(p_charges_rec_in.pricing_attribute30) ;
1416   p_charges_rec_out.pricing_attribute31         := Check_For_Miss(p_charges_rec_in.pricing_attribute31) ;
1417   p_charges_rec_out.pricing_attribute32         := Check_For_Miss(p_charges_rec_in.pricing_attribute32) ;
1418   p_charges_rec_out.pricing_attribute33         := Check_For_Miss(p_charges_rec_in.pricing_attribute33) ;
1419   p_charges_rec_out.pricing_attribute34         := Check_For_Miss(p_charges_rec_in.pricing_attribute34) ;
1420   p_charges_rec_out.pricing_attribute35         := Check_For_Miss(p_charges_rec_in.pricing_attribute35) ;
1421   p_charges_rec_out.pricing_attribute36         := Check_For_Miss(p_charges_rec_in.pricing_attribute36) ;
1422   p_charges_rec_out.pricing_attribute37         := Check_For_Miss(p_charges_rec_in.pricing_attribute37) ;
1423   p_charges_rec_out.pricing_attribute38         := Check_For_Miss(p_charges_rec_in.pricing_attribute38) ;
1424   p_charges_rec_out.pricing_attribute39         := Check_For_Miss(p_charges_rec_in.pricing_attribute39) ;
1425   p_charges_rec_out.pricing_attribute40         := Check_For_Miss(p_charges_rec_in.pricing_attribute40) ;
1426   p_charges_rec_out.pricing_attribute41         := Check_For_Miss(p_charges_rec_in.pricing_attribute41) ;
1427   p_charges_rec_out.pricing_attribute42         := Check_For_Miss(p_charges_rec_in.pricing_attribute42) ;
1428   p_charges_rec_out.pricing_attribute43         := Check_For_Miss(p_charges_rec_in.pricing_attribute43) ;
1429   p_charges_rec_out.pricing_attribute44         := Check_For_Miss(p_charges_rec_in.pricing_attribute44) ;
1433   p_charges_rec_out.pricing_attribute48         := Check_For_Miss(p_charges_rec_in.pricing_attribute48) ;
1430   p_charges_rec_out.pricing_attribute45         := Check_For_Miss(p_charges_rec_in.pricing_attribute45) ;
1431   p_charges_rec_out.pricing_attribute46         := Check_For_Miss(p_charges_rec_in.pricing_attribute46) ;
1432   p_charges_rec_out.pricing_attribute47         := Check_For_Miss(p_charges_rec_in.pricing_attribute47) ;
1434   p_charges_rec_out.pricing_attribute49         := Check_For_Miss(p_charges_rec_in.pricing_attribute49) ;
1435   p_charges_rec_out.pricing_attribute50         := Check_For_Miss(p_charges_rec_in.pricing_attribute50) ;
1436   p_charges_rec_out.pricing_attribute51         := Check_For_Miss(p_charges_rec_in.pricing_attribute51) ;
1437   p_charges_rec_out.pricing_attribute52         := Check_For_Miss(p_charges_rec_in.pricing_attribute52) ;
1438   p_charges_rec_out.pricing_attribute53         := Check_For_Miss(p_charges_rec_in.pricing_attribute53) ;
1439   p_charges_rec_out.pricing_attribute54         := Check_For_Miss(p_charges_rec_in.pricing_attribute54) ;
1440   p_charges_rec_out.pricing_attribute55         := Check_For_Miss(p_charges_rec_in.pricing_attribute55) ;
1441   p_charges_rec_out.pricing_attribute56         := Check_For_Miss(p_charges_rec_in.pricing_attribute56) ;
1442   p_charges_rec_out.pricing_attribute57         := Check_For_Miss(p_charges_rec_in.pricing_attribute57) ;
1443   p_charges_rec_out.pricing_attribute58         := Check_For_Miss(p_charges_rec_in.pricing_attribute58) ;
1444   p_charges_rec_out.pricing_attribute59         := Check_For_Miss(p_charges_rec_in.pricing_attribute59) ;
1445   p_charges_rec_out.pricing_attribute60         := Check_For_Miss(p_charges_rec_in.pricing_attribute60) ;
1446   p_charges_rec_out.pricing_attribute61         := Check_For_Miss(p_charges_rec_in.pricing_attribute61) ;
1447   p_charges_rec_out.pricing_attribute62         := Check_For_Miss(p_charges_rec_in.pricing_attribute62) ;
1448   p_charges_rec_out.pricing_attribute63         := Check_For_Miss(p_charges_rec_in.pricing_attribute63) ;
1449   p_charges_rec_out.pricing_attribute64         := Check_For_Miss(p_charges_rec_in.pricing_attribute64) ;
1450   p_charges_rec_out.pricing_attribute65         := Check_For_Miss(p_charges_rec_in.pricing_attribute65) ;
1451   p_charges_rec_out.pricing_attribute66         := Check_For_Miss(p_charges_rec_in.pricing_attribute66) ;
1452   p_charges_rec_out.pricing_attribute67         := Check_For_Miss(p_charges_rec_in.pricing_attribute67) ;
1453   p_charges_rec_out.pricing_attribute68         := Check_For_Miss(p_charges_rec_in.pricing_attribute68) ;
1454   p_charges_rec_out.pricing_attribute69         := Check_For_Miss(p_charges_rec_in.pricing_attribute69) ;
1455   p_charges_rec_out.pricing_attribute70         := Check_For_Miss(p_charges_rec_in.pricing_attribute70) ;
1456   p_charges_rec_out.pricing_attribute71         := Check_For_Miss(p_charges_rec_in.pricing_attribute71) ;
1457   p_charges_rec_out.pricing_attribute72         := Check_For_Miss(p_charges_rec_in.pricing_attribute72) ;
1458   p_charges_rec_out.pricing_attribute73         := Check_For_Miss(p_charges_rec_in.pricing_attribute73) ;
1459   p_charges_rec_out.pricing_attribute74         := Check_For_Miss(p_charges_rec_in.pricing_attribute74) ;
1460   p_charges_rec_out.pricing_attribute75         := Check_For_Miss(p_charges_rec_in.pricing_attribute75) ;
1461   p_charges_rec_out.pricing_attribute76         := Check_For_Miss(p_charges_rec_in.pricing_attribute76) ;
1462   p_charges_rec_out.pricing_attribute77         := Check_For_Miss(p_charges_rec_in.pricing_attribute77) ;
1463   p_charges_rec_out.pricing_attribute78         := Check_For_Miss(p_charges_rec_in.pricing_attribute78) ;
1464   p_charges_rec_out.pricing_attribute79         := Check_For_Miss(p_charges_rec_in.pricing_attribute79) ;
1465   p_charges_rec_out.pricing_attribute80         := Check_For_Miss(p_charges_rec_in.pricing_attribute80) ;
1466   p_charges_rec_out.pricing_attribute81         := Check_For_Miss(p_charges_rec_in.pricing_attribute81) ;
1467   p_charges_rec_out.pricing_attribute82         := Check_For_Miss(p_charges_rec_in.pricing_attribute82) ;
1468   p_charges_rec_out.pricing_attribute83         := Check_For_Miss(p_charges_rec_in.pricing_attribute83) ;
1469   p_charges_rec_out.pricing_attribute84         := Check_For_Miss(p_charges_rec_in.pricing_attribute84) ;
1470   p_charges_rec_out.pricing_attribute85         := Check_For_Miss(p_charges_rec_in.pricing_attribute85) ;
1471   p_charges_rec_out.pricing_attribute86         := Check_For_Miss(p_charges_rec_in.pricing_attribute86) ;
1472   p_charges_rec_out.pricing_attribute87         := Check_For_Miss(p_charges_rec_in.pricing_attribute87) ;
1473   p_charges_rec_out.pricing_attribute88         := Check_For_Miss(p_charges_rec_in.pricing_attribute88) ;
1474   p_charges_rec_out.pricing_attribute89         := Check_For_Miss(p_charges_rec_in.pricing_attribute89) ;
1475   p_charges_rec_out.pricing_attribute90         := Check_For_Miss(p_charges_rec_in.pricing_attribute90) ;
1476   p_charges_rec_out.pricing_attribute91         := Check_For_Miss(p_charges_rec_in.pricing_attribute91) ;
1477   p_charges_rec_out.pricing_attribute92         := Check_For_Miss(p_charges_rec_in.pricing_attribute92) ;
1478   p_charges_rec_out.pricing_attribute93         := Check_For_Miss(p_charges_rec_in.pricing_attribute93) ;
1479   p_charges_rec_out.pricing_attribute94         := Check_For_Miss(p_charges_rec_in.pricing_attribute94) ;
1480   p_charges_rec_out.pricing_attribute95         := Check_For_Miss(p_charges_rec_in.pricing_attribute95) ;
1481   p_charges_rec_out.pricing_attribute96         := Check_For_Miss(p_charges_rec_in.pricing_attribute96) ;
1482   p_charges_rec_out.pricing_attribute97         := Check_For_Miss(p_charges_rec_in.pricing_attribute97) ;
1483   p_charges_rec_out.pricing_attribute98         := Check_For_Miss(p_charges_rec_in.pricing_attribute98) ;
1484   p_charges_rec_out.pricing_attribute99         := Check_For_Miss(p_charges_rec_in.pricing_attribute99) ;
1485   p_charges_rec_out.pricing_attribute100        := Check_For_Miss(p_charges_rec_in.pricing_attribute100);
1489   p_charges_rec_out.source_number               := Check_For_Miss(p_charges_rec_in.source_number );
1486 
1487   --obsoleted columns/columns not used/Columns left for backward compatibility
1488   p_charges_rec_out.original_source_number      := Check_For_Miss(p_charges_rec_in.original_source_number );
1490   p_charges_rec_out.reference_number            := Check_For_Miss(p_charges_rec_in.reference_number );
1491   p_charges_rec_out.original_system_reference   := Check_For_Miss(p_charges_rec_in.original_system_reference );
1492   p_charges_rec_out.inventory_item_id_out       := Check_For_Miss(p_charges_rec_in.inventory_item_id_out );
1493   p_charges_rec_out.serial_number_out           := Check_For_Miss(p_charges_rec_in.serial_number_out );
1494   p_charges_rec_out.exception_coverage_used      := Check_For_Miss(p_charges_rec_in.exception_coverage_used );
1495 
1496 END TO_NULL ;
1497 
1498 /**************************************************
1499  Procedure Body Log_Charges_Rec_Parameters
1500  This Procedure is used for Logging the charges record paramters.
1501 **************************************************/
1502 
1503 PROCEDURE Log_Charges_Rec_Parameters
1504 ( p_Charges_Rec              IN         Charges_Rec_Type
1505 )
1506 IS
1507   l_api_name	       CONSTANT	VARCHAR2(30)	:= 'Log_Charges_Rec_Parameters';
1508   l_api_name_full      CONSTANT	VARCHAR2(61)	:= G_PKG_NAME||'.'||l_api_name;
1509   l_log_module         CONSTANT VARCHAR2(255)   := 'cs.plsql.' || l_api_name_full || '.';
1510 BEGIN
1511 
1512   IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
1513   THEN
1514   FND_LOG.String
1515   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1516   ,' estimate_detail_id                  	 :' || p_Charges_Rec.estimate_detail_id
1517   );
1518   FND_LOG.String
1519   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1520   ,' incident_id                         	 :' || p_Charges_Rec.incident_id
1521   );
1522   FND_LOG.String
1523   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1524   ,' charge_line_type                    	 :' || p_Charges_Rec.charge_line_type
1525   );
1526   FND_LOG.String
1527   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1528   ,' line_number                         	 :' || p_Charges_Rec.line_number
1529   );
1530   FND_LOG.String
1531   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1532   ,' business_process_id                 	 :' || p_Charges_Rec.business_process_id
1533   );
1534   FND_LOG.String
1535   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1536   ,' transaction_type_id                 	 :' || p_Charges_Rec.transaction_type_id
1537   );
1538   FND_LOG.String
1539   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1540   ,' inventory_item_id_in                	 :' || p_Charges_Rec.inventory_item_id_in
1541   );
1542   FND_LOG.String
1543   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1544   ,' item_revision                       	 :' || p_Charges_Rec.item_revision
1545   );
1546   FND_LOG.String
1547   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1548   ,' billing_flag                        	 :' || p_Charges_Rec.billing_flag
1549   );
1550   FND_LOG.String
1551   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1552   ,' txn_billing_type_id                 	 :' || p_Charges_Rec.txn_billing_type_id
1553   );
1554   FND_LOG.String
1555   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1556   ,' unit_of_measure_code                	 :' || p_Charges_Rec.unit_of_measure_code
1557   );
1558   FND_LOG.String
1559   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1560   ,' quantity_required                   	 :' || p_Charges_Rec.quantity_required
1561   );
1562   FND_LOG.String
1563   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1564   ,' return_reason_code                  	 :' || p_Charges_Rec.return_reason_code
1565   );
1566   FND_LOG.String
1567   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1568   ,' customer_product_id                 	 :' || p_Charges_Rec.customer_product_id
1569   );
1570   FND_LOG.String
1571   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1572   ,' serial_number                       	 :' || p_Charges_Rec.serial_number
1573   );
1574   FND_LOG.String
1575   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1576   ,' installed_cp_return_by_date         	 :' || p_Charges_Rec.installed_cp_return_by_date
1577   );
1578   FND_LOG.String
1579   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1580   ,' new_cp_return_by_date               	 :' || p_Charges_Rec.new_cp_return_by_date
1581   );
1582   FND_LOG.String
1583   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1584   ,' sold_to_party_id                    	 :' || p_Charges_Rec.sold_to_party_id
1585   );
1586   FND_LOG.String
1587   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1588   ,' bill_to_party_id                    	 :' || p_Charges_Rec.bill_to_party_id
1589   );
1590   FND_LOG.String
1591   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1592   ,' bill_to_account_id                  	 :' || p_Charges_Rec.bill_to_account_id
1593   );
1594   FND_LOG.String
1595   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1596   ,' bill_to_contact_id                  	 :' || p_Charges_Rec.bill_to_contact_id
1597   );
1598   FND_LOG.String
1599   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1600   ,' invoice_to_org_id                   	 :' || p_Charges_Rec.invoice_to_org_id
1601   );
1602   FND_LOG.String
1603   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1607   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1604   ,' ship_to_party_id                    	 :' || p_Charges_Rec.ship_to_party_id
1605   );
1606   FND_LOG.String
1608   ,' ship_to_account_id                  	 :' || p_Charges_Rec.ship_to_account_id
1609   );
1610   FND_LOG.String
1611   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1612   ,' ship_to_contact_id                  	 :' || p_Charges_Rec.ship_to_contact_id
1613   );
1614   FND_LOG.String
1615   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1616   ,' ship_to_org_id                      	 :' || p_Charges_Rec.ship_to_org_id
1617   );
1618   FND_LOG.String
1619   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1620   ,' contract_line_id                    	 :' || p_Charges_Rec.contract_line_id
1621   );
1622   FND_LOG.String
1623   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1624   ,' rate_type_code                      	 :' || p_Charges_Rec.rate_type_code
1625   );
1626   FND_LOG.String
1627   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1628   ,' contract_id                         	 :' || p_Charges_Rec.contract_id
1629   );
1630   FND_LOG.String
1631   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1632   ,' coverage_id                         	 :' || p_Charges_Rec.coverage_id
1633   );
1634   FND_LOG.String
1635   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1636   ,' coverage_txn_group_id               	 :' || p_Charges_Rec.coverage_txn_group_id
1637   );
1638   FND_LOG.String
1639   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1640   ,' coverage_bill_rate_id               	 :' || p_Charges_Rec.coverage_bill_rate_id
1641   );
1642   FND_LOG.String
1643   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1644   ,' coverage_billing_type_id            	 :' || p_Charges_Rec.coverage_billing_type_id
1645   );
1646   FND_LOG.String
1647   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1648   ,' price_list_id                       	 :' || p_Charges_Rec.price_list_id
1649   );
1650   FND_LOG.String
1651   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1652   ,' currency_code                       	 :' || p_Charges_Rec.currency_code
1653   );
1654   FND_LOG.String
1655   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1656   ,' purchase_order_num                  	 :' || p_Charges_Rec.purchase_order_num
1657   );
1658   FND_LOG.String
1659   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1660   ,' list_price                          	 :' || p_Charges_Rec.list_price
1661   );
1662   FND_LOG.String
1663   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1664   ,' con_pct_over_list_price             	 :' || p_Charges_Rec.con_pct_over_list_price
1665   );
1666   FND_LOG.String
1667   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1668   ,' selling_price                       	 :' || p_Charges_Rec.selling_price
1669   );
1670   FND_LOG.String
1671   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1672   ,' contract_discount_amount            	 :' || p_Charges_Rec.contract_discount_amount
1673   );
1674   FND_LOG.String
1675   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1676   ,' apply_contract_discount             	 :' || p_Charges_Rec.apply_contract_discount
1677   );
1678   FND_LOG.String
1679   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1680   ,' after_warranty_cost                 	 :' || p_Charges_Rec.after_warranty_cost
1681   );
1682   FND_LOG.String
1683   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1684   ,' transaction_inventory_org           	 :' || p_Charges_Rec.transaction_inventory_org
1685   );
1686   FND_LOG.String
1687   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1688   ,' transaction_sub_inventory           	 :' || p_Charges_Rec.transaction_sub_inventory
1689   );
1690   FND_LOG.String
1691   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1692   ,' rollup_flag                         	 :' || p_Charges_Rec.rollup_flag
1693   );
1694   FND_LOG.String
1695   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1696   ,' add_to_order_flag                   	 :' || p_Charges_Rec.add_to_order_flag
1697   );
1698   FND_LOG.String
1699   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1700   ,' order_header_id                     	 :' || p_Charges_Rec.order_header_id
1701   );
1702   FND_LOG.String
1703   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1704   ,' interface_to_oe_flag                	 :' || p_Charges_Rec.interface_to_oe_flag
1705   );
1706   FND_LOG.String
1707   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1708   ,' no_charge_flag                      	 :' || p_Charges_Rec.no_charge_flag
1709   );
1710   FND_LOG.String
1711   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1712   ,' line_category_code                  	 :' || p_Charges_Rec.line_category_code
1713   );
1714   FND_LOG.String
1715   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1716   ,' line_type_id                        	 :' || p_Charges_Rec.line_type_id
1717   );
1718   FND_LOG.String
1719   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1720   ,' order_line_id                       	 :' || p_Charges_Rec.order_line_id
1721   );
1722   FND_LOG.String
1723   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1724   ,' conversion_rate                     	 :' || p_Charges_Rec.conversion_rate
1725   );
1726   FND_LOG.String
1727   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1728   ,' conversion_type_code                	 :' || p_Charges_Rec.conversion_type_code
1729   );
1730   FND_LOG.String
1731   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1732   ,' conversion_rate_date                	 :' || p_Charges_Rec.conversion_rate_date
1733   );
1734   FND_LOG.String
1738   FND_LOG.String
1735   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1736   ,' original_source_id                  	 :' || p_Charges_Rec.original_source_id
1737   );
1739   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1740   ,' original_source_code                	 :' || p_Charges_Rec.original_source_code
1741   );
1742   FND_LOG.String
1743   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1744   ,' source_id                           	 :' || p_Charges_Rec.source_id
1745   );
1746   FND_LOG.String
1747   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1748   ,' source_code                         	 :' || p_Charges_Rec.source_code
1749   );
1750   FND_LOG.String
1751   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1752   ,' org_id                              	 :' || p_Charges_Rec.org_id
1753   );
1754   FND_LOG.String
1755   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1756   ,' submit_restriction_message          	 :' || p_Charges_Rec.submit_restriction_message
1757   );
1758   FND_LOG.String
1759   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1760   ,' submit_error_message                	 :' || p_Charges_Rec.submit_error_message
1761   );
1762   FND_LOG.String
1763   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1764   ,' submit_from_system              	 :' || p_Charges_Rec.submit_from_system
1765   );
1766   FND_LOG.String
1767   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1768   ,' line_submitted_flag                 	 :' || p_Charges_Rec.line_submitted_flag
1769   );
1770   FND_LOG.String
1771   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1772   ,' activity_start_time                 	 :' || p_Charges_Rec.activity_start_time
1773   );
1774   FND_LOG.String
1775   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1776   ,' activity_end_time                   	 :' || p_Charges_Rec.activity_end_time
1777   );
1778   FND_LOG.String
1779   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1780   ,' generated_by_bca_engine             	 :' || p_Charges_Rec.generated_by_bca_engine
1781   );
1782   FND_LOG.String
1783   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1784   ,' attribute1                          	 :' || p_Charges_Rec.attribute1
1785   );
1786   FND_LOG.String
1787   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1788   ,' attribute2                          	 :' || p_Charges_Rec.attribute2
1789   );
1790   FND_LOG.String
1791   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1792   ,' attribute3                          	 :' || p_Charges_Rec.attribute3
1793   );
1794   FND_LOG.String
1795   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1796   ,' attribute4                          	 :' || p_Charges_Rec.attribute4
1797   );
1798   FND_LOG.String
1799   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1800   ,' attribute5                          	 :' || p_Charges_Rec.attribute5
1801   );
1802   FND_LOG.String
1803   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1804   ,' attribute6                          	 :' || p_Charges_Rec.attribute6
1805   );
1806   FND_LOG.String
1807   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1808   ,' attribute7                          	 :' || p_Charges_Rec.attribute7
1809   );
1810   FND_LOG.String
1811   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1812   ,' attribute8                          	 :' || p_Charges_Rec.attribute8
1813   );
1814   FND_LOG.String
1815   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1816   ,' attribute9                          	 :' || p_Charges_Rec.attribute9
1817   );
1818   FND_LOG.String
1819   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1820   ,' attribute10                         	 :' || p_Charges_Rec.attribute10
1821   );
1822   FND_LOG.String
1823   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1824   ,' attribute11                         	 :' || p_Charges_Rec.attribute11
1825   );
1826   FND_LOG.String
1827   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1828   ,' attribute12                         	 :' || p_Charges_Rec.attribute12
1829   );
1830   FND_LOG.String
1831   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1832   ,' attribute13                         	 :' || p_Charges_Rec.attribute13
1833   );
1834   FND_LOG.String
1835   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1836   ,' attribute14                         	 :' || p_Charges_Rec.attribute14
1837   );
1838   FND_LOG.String
1839   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1840   ,' attribute15                         	 :' || p_Charges_Rec.attribute15
1841   );
1842   FND_LOG.String
1843   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1844   ,' context                             	 :' || p_Charges_Rec.context
1845   );
1846   FND_LOG.String
1847   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1848   ,' pricing_context                     	 :' || p_Charges_Rec.pricing_context
1849   );
1850   FND_LOG.String
1851   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1852   ,' pricing_attribute1                  	 :' || p_Charges_Rec.pricing_attribute1
1853   );
1854   FND_LOG.String
1855   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1856   ,' pricing_attribute2                  	 :' || p_Charges_Rec.pricing_attribute2
1857   );
1858   FND_LOG.String
1859   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1860   ,' pricing_attribute3                  	 :' || p_Charges_Rec.pricing_attribute3
1861   );
1862   FND_LOG.String
1863   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1864   ,' pricing_attribute4                  	 :' || p_Charges_Rec.pricing_attribute4
1865   );
1866   FND_LOG.String
1867   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1868   ,' pricing_attribute5                  	 :' || p_Charges_Rec.pricing_attribute5
1869   );
1870   FND_LOG.String
1871   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1875   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1872   ,' pricing_attribute6                  	 :' || p_Charges_Rec.pricing_attribute6
1873   );
1874   FND_LOG.String
1876   ,' pricing_attribute7                  	 :' || p_Charges_Rec.pricing_attribute7
1877   );
1878   FND_LOG.String
1879   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1880   ,' pricing_attribute8                  	 :' || p_Charges_Rec.pricing_attribute8
1881   );
1882   FND_LOG.String
1883   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1884   ,' pricing_attribute9                  	 :' || p_Charges_Rec.pricing_attribute9
1885   );
1886   FND_LOG.String
1887   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1888   ,' pricing_attribute10                 	 :' || p_Charges_Rec.pricing_attribute10
1889   );
1890   FND_LOG.String
1891   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1892   ,' pricing_attribute11                 	 :' || p_Charges_Rec.pricing_attribute11
1893   );
1894   FND_LOG.String
1895   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1896   ,' pricing_attribute12                 	 :' || p_Charges_Rec.pricing_attribute12
1897   );
1898   FND_LOG.String
1899   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1900   ,' pricing_attribute13                 	 :' || p_Charges_Rec.pricing_attribute13
1901   );
1902   FND_LOG.String
1903   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1904   ,' pricing_attribute14                 	 :' || p_Charges_Rec.pricing_attribute14
1905   );
1906   FND_LOG.String
1907   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1908   ,' pricing_attribute15                 	 :' || p_Charges_Rec.pricing_attribute15
1909   );
1910   FND_LOG.String
1911   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1912   ,' pricing_attribute16                 	 :' || p_Charges_Rec.pricing_attribute16
1913   );
1914   FND_LOG.String
1915   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1916   ,' pricing_attribute17                 	 :' || p_Charges_Rec.pricing_attribute17
1917   );
1918   FND_LOG.String
1919   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1920   ,' pricing_attribute18                 	 :' || p_Charges_Rec.pricing_attribute18
1921   );
1922   FND_LOG.String
1923   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1924   ,' pricing_attribute19                 	 :' || p_Charges_Rec.pricing_attribute19
1925   );
1926   FND_LOG.String
1927   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1928   ,' pricing_attribute20                 	 :' || p_Charges_Rec.pricing_attribute20
1929   );
1930   FND_LOG.String
1931   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1932   ,' pricing_attribute21                 	 :' || p_Charges_Rec.pricing_attribute21
1933   );
1934   FND_LOG.String
1935   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1936   ,' pricing_attribute22                 	 :' || p_Charges_Rec.pricing_attribute22
1937   );
1938   FND_LOG.String
1939   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1940   ,' pricing_attribute23                 	 :' || p_Charges_Rec.pricing_attribute23
1941   );
1942   FND_LOG.String
1943   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1944   ,' pricing_attribute24                 	 :' || p_Charges_Rec.pricing_attribute24
1945   );
1946   FND_LOG.String
1947   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1948   ,' pricing_attribute25                 	 :' || p_Charges_Rec.pricing_attribute25
1949   );
1950   FND_LOG.String
1951   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1952   ,' pricing_attribute26                 	 :' || p_Charges_Rec.pricing_attribute26
1953   );
1954   FND_LOG.String
1955   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1956   ,' pricing_attribute27                 	 :' || p_Charges_Rec.pricing_attribute27
1957   );
1958   FND_LOG.String
1959   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1960   ,' pricing_attribute28                 	 :' || p_Charges_Rec.pricing_attribute28
1961   );
1962   FND_LOG.String
1963   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1964   ,' pricing_attribute29                 	 :' || p_Charges_Rec.pricing_attribute29
1965   );
1966   FND_LOG.String
1967   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1968   ,' pricing_attribute30                 	 :' || p_Charges_Rec.pricing_attribute30
1969   );
1970   FND_LOG.String
1971   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1972   ,' pricing_attribute31                 	 :' || p_Charges_Rec.pricing_attribute31
1973   );
1974   FND_LOG.String
1975   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1976   ,' pricing_attribute32                 	 :' || p_Charges_Rec.pricing_attribute32
1977   );
1978   FND_LOG.String
1979   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1980   ,' pricing_attribute33                 	 :' || p_Charges_Rec.pricing_attribute33
1981   );
1982   FND_LOG.String
1983   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1984   ,' pricing_attribute34                 	 :' || p_Charges_Rec.pricing_attribute34
1985   );
1986   FND_LOG.String
1987   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1988   ,' pricing_attribute35                 	 :' || p_Charges_Rec.pricing_attribute35
1989   );
1990   FND_LOG.String
1991   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1992   ,' pricing_attribute36                 	 :' || p_Charges_Rec.pricing_attribute36
1993   );
1994   FND_LOG.String
1995   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
1996   ,' pricing_attribute37                 	 :' || p_Charges_Rec.pricing_attribute37
1997   );
1998   FND_LOG.String
1999   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2000   ,' pricing_attribute38                 	 :' || p_Charges_Rec.pricing_attribute38
2001   );
2002   FND_LOG.String
2003   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2004   ,' pricing_attribute39                 	 :' || p_Charges_Rec.pricing_attribute39
2005   );
2006   FND_LOG.String
2007   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2011   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2008   ,' pricing_attribute40                 	 :' || p_Charges_Rec.pricing_attribute40
2009   );
2010   FND_LOG.String
2012   ,' pricing_attribute41                 	 :' || p_Charges_Rec.pricing_attribute41
2013   );
2014   FND_LOG.String
2015   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2016   ,' pricing_attribute42                 	 :' || p_Charges_Rec.pricing_attribute42
2017   );
2018   FND_LOG.String
2019   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2020   ,' pricing_attribute43                 	 :' || p_Charges_Rec.pricing_attribute43
2021   );
2022   FND_LOG.String
2023   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2024   ,' pricing_attribute44                 	 :' || p_Charges_Rec.pricing_attribute44
2025   );
2026   FND_LOG.String
2027   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2028   ,' pricing_attribute45                 	 :' || p_Charges_Rec.pricing_attribute45
2029   );
2030   FND_LOG.String
2031   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2032   ,' pricing_attribute46                 	 :' || p_Charges_Rec.pricing_attribute46
2033   );
2034   FND_LOG.String
2035   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2036   ,' pricing_attribute47                 	 :' || p_Charges_Rec.pricing_attribute47
2037   );
2038   FND_LOG.String
2039   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2040   ,' pricing_attribute48                 	 :' || p_Charges_Rec.pricing_attribute48
2041   );
2042   FND_LOG.String
2043   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2044   ,' pricing_attribute49                 	 :' || p_Charges_Rec.pricing_attribute49
2045   );
2046   FND_LOG.String
2047   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2048   ,' pricing_attribute50                 	 :' || p_Charges_Rec.pricing_attribute50
2049   );
2050   FND_LOG.String
2051   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2052   ,' pricing_attribute51                 	 :' || p_Charges_Rec.pricing_attribute51
2053   );
2054   FND_LOG.String
2055   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2056   ,' pricing_attribute52                 	 :' || p_Charges_Rec.pricing_attribute52
2057   );
2058   FND_LOG.String
2059   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2060   ,' pricing_attribute53                 	 :' || p_Charges_Rec.pricing_attribute53
2061   );
2062   FND_LOG.String
2063   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2064   ,' pricing_attribute54                 	 :' || p_Charges_Rec.pricing_attribute54
2065   );
2066   FND_LOG.String
2067   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2068   ,' pricing_attribute55                 	 :' || p_Charges_Rec.pricing_attribute55
2069   );
2070   FND_LOG.String
2071   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2072   ,' pricing_attribute56                 	 :' || p_Charges_Rec.pricing_attribute56
2073   );
2074   FND_LOG.String
2075   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2076   ,' pricing_attribute57                 	 :' || p_Charges_Rec.pricing_attribute57
2077   );
2078   FND_LOG.String
2079   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2080   ,' pricing_attribute58                 	 :' || p_Charges_Rec.pricing_attribute58
2081   );
2082   FND_LOG.String
2083   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2084   ,' pricing_attribute59                 	 :' || p_Charges_Rec.pricing_attribute59
2085   );
2086   FND_LOG.String
2087   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2088   ,' pricing_attribute60                 	 :' || p_Charges_Rec.pricing_attribute60
2089   );
2090   FND_LOG.String
2091   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2092   ,' pricing_attribute61                 	 :' || p_Charges_Rec.pricing_attribute61
2093   );
2094   FND_LOG.String
2095   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2096   ,' pricing_attribute62                 	 :' || p_Charges_Rec.pricing_attribute62
2097   );
2098   FND_LOG.String
2099   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2100   ,' pricing_attribute63                 	 :' || p_Charges_Rec.pricing_attribute63
2101   );
2102   FND_LOG.String
2103   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2104   ,' pricing_attribute64                 	 :' || p_Charges_Rec.pricing_attribute64
2105   );
2106   FND_LOG.String
2107   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2108   ,' pricing_attribute65                 	 :' || p_Charges_Rec.pricing_attribute65
2109   );
2110   FND_LOG.String
2111   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2112   ,' pricing_attribute66                 	 :' || p_Charges_Rec.pricing_attribute66
2113   );
2114   FND_LOG.String
2115   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2116   ,' pricing_attribute67                 	 :' || p_Charges_Rec.pricing_attribute67
2117   );
2118   FND_LOG.String
2119   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2120   ,' pricing_attribute68                 	 :' || p_Charges_Rec.pricing_attribute68
2121   );
2122   FND_LOG.String
2123   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2124   ,' pricing_attribute69                 	 :' || p_Charges_Rec.pricing_attribute69
2125   );
2126   FND_LOG.String
2127   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2128   ,' pricing_attribute70                 	 :' || p_Charges_Rec.pricing_attribute70
2129   );
2130   FND_LOG.String
2131   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2132   ,' pricing_attribute71                 	 :' || p_Charges_Rec.pricing_attribute71
2133   );
2134   FND_LOG.String
2135   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2136   ,' pricing_attribute72                 	 :' || p_Charges_Rec.pricing_attribute72
2137   );
2138   FND_LOG.String
2139   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2140   ,' pricing_attribute73                 	 :' || p_Charges_Rec.pricing_attribute73
2141   );
2142   FND_LOG.String
2143   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2147   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2144   ,' pricing_attribute74                 	 :' || p_Charges_Rec.pricing_attribute74
2145   );
2146   FND_LOG.String
2148   ,' pricing_attribute75                 	 :' || p_Charges_Rec.pricing_attribute75
2149   );
2150   FND_LOG.String
2151   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2152   ,' pricing_attribute76                 	 :' || p_Charges_Rec.pricing_attribute76
2153   );
2154   FND_LOG.String
2155   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2156   ,' pricing_attribute77                 	 :' || p_Charges_Rec.pricing_attribute77
2157   );
2158   FND_LOG.String
2159   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2160   ,' pricing_attribute78                 	 :' || p_Charges_Rec.pricing_attribute78
2161   );
2162   FND_LOG.String
2163   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2164   ,' pricing_attribute79                 	 :' || p_Charges_Rec.pricing_attribute79
2165   );
2166   FND_LOG.String
2167   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2168   ,' pricing_attribute80                 	 :' || p_Charges_Rec.pricing_attribute80
2169   );
2170   FND_LOG.String
2171   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2172   ,' pricing_attribute81                 	 :' || p_Charges_Rec.pricing_attribute81
2173   );
2174   FND_LOG.String
2175   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2176   ,' pricing_attribute82                 	 :' || p_Charges_Rec.pricing_attribute82
2177   );
2178   FND_LOG.String
2179   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2180   ,' pricing_attribute83                 	 :' || p_Charges_Rec.pricing_attribute83
2181   );
2182   FND_LOG.String
2183   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2184   ,' pricing_attribute84                 	 :' || p_Charges_Rec.pricing_attribute84
2185   );
2186   FND_LOG.String
2187   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2188   ,' pricing_attribute85                 	 :' || p_Charges_Rec.pricing_attribute85
2189   );
2190   FND_LOG.String
2191   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2192   ,' pricing_attribute86                 	 :' || p_Charges_Rec.pricing_attribute86
2193   );
2194   FND_LOG.String
2195   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2196   ,' pricing_attribute87                 	 :' || p_Charges_Rec.pricing_attribute87
2197   );
2198   FND_LOG.String
2199   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2200   ,' pricing_attribute88                 	 :' || p_Charges_Rec.pricing_attribute88
2201   );
2202   FND_LOG.String
2203   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2204   ,' pricing_attribute89                 	 :' || p_Charges_Rec.pricing_attribute89
2205   );
2206   FND_LOG.String
2207   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2208   ,' pricing_attribute90                 	 :' || p_Charges_Rec.pricing_attribute90
2209   );
2210   FND_LOG.String
2211   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2212   ,' pricing_attribute91                 	 :' || p_Charges_Rec.pricing_attribute91
2213   );
2214   FND_LOG.String
2215   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2216   ,' pricing_attribute92                 	 :' || p_Charges_Rec.pricing_attribute92
2217   );
2218   FND_LOG.String
2219   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2220   ,' pricing_attribute93                 	 :' || p_Charges_Rec.pricing_attribute93
2221   );
2222   FND_LOG.String
2223   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2224   ,' pricing_attribute94                 	 :' || p_Charges_Rec.pricing_attribute94
2225   );
2226   FND_LOG.String
2227   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2228   ,' pricing_attribute95                 	 :' || p_Charges_Rec.pricing_attribute95
2229   );
2230   FND_LOG.String
2231   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2232   ,' pricing_attribute96                 	 :' || p_Charges_Rec.pricing_attribute96
2233   );
2234   FND_LOG.String
2235   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2236   ,' pricing_attribute97                 	 :' || p_Charges_Rec.pricing_attribute97
2237   );
2238   FND_LOG.String
2239   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2240   ,' pricing_attribute98                 	 :' || p_Charges_Rec.pricing_attribute98
2241   );
2242   FND_LOG.String
2243   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2244   ,' pricing_attribute99                 	 :' || p_Charges_Rec.pricing_attribute99
2245   );
2246   FND_LOG.String
2247   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2248   ,' pricing_attribute100                	 :' || p_Charges_Rec.pricing_attribute100
2249   );
2250   FND_LOG.String
2251   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2252   ,' original_source_number            	 :' || p_Charges_Rec.original_source_number
2253   );
2254   FND_LOG.String
2255   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2256   ,' source_number                     	 :' || p_Charges_Rec.source_number
2257   );
2258   FND_LOG.String
2259   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2260   ,' reference_number                  	 :' || p_Charges_Rec.reference_number
2261   );
2262   FND_LOG.String
2263   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2264   ,' original_system_reference         	 :' || p_Charges_Rec.original_system_reference
2265   );
2266   FND_LOG.String
2267   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2268   ,' inventory_item_id_out             	 :' || p_Charges_Rec.inventory_item_id_out
2269   );
2270   FND_LOG.String
2271   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2272   ,' serial_number_out                	 :' || p_Charges_Rec.serial_number_out
2273   );
2274   FND_LOG.String
2275   ( FND_LOG.level_procedure , L_LOG_MODULE || ''
2276   ,' exception_coverage_used          	 :' || p_Charges_Rec.exception_coverage_used
2277   );
2278   END IF ;
2279 
2280 END Log_Charges_Rec_Parameters;
2281 
2285 FUNCTION  Check_For_Miss ( p_param  IN  NUMBER ) RETURN NUMBER IS
2282 /*************************************************
2283 Function Implementations
2284 **************************************************/
2286 BEGIN
2287   IF p_param = FND_API.G_MISS_NUM THEN
2288      RETURN NULL ;
2289   ELSE
2290     RETURN p_param ;
2291   END IF ;
2292 END Check_For_Miss ;
2293 
2294 
2295 FUNCTION  Check_For_Miss ( p_param  IN  VARCHAR2 ) RETURN VARCHAR2 IS
2296 BEGIN
2297   IF p_param = FND_API.G_MISS_CHAR THEN
2298      RETURN NULL ;
2299   ELSE
2300     RETURN p_param ;
2301   END IF ;
2302 END Check_For_Miss ;
2303 
2304 
2305 FUNCTION  Check_For_Miss ( p_param  IN  DATE ) RETURN DATE IS
2306 BEGIN
2307   IF p_param = FND_API.G_MISS_DATE THEN
2308      RETURN NULL ;
2309   ELSE
2310     RETURN p_param ;
2311   END IF ;
2312 END Check_For_Miss ;
2313 
2314 END CS_Charge_Details_PUB;