DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_PDOI_GRP

Source


1 PACKAGE BODY PO_PDOI_GRP AS
2 /* $Header: PO_PDOI_GRP.plb 120.6.12020000.4 2013/02/10 19:26:58 vegajula ship $ */
3 
4 d_pkg_name CONSTANT VARCHAR2(50) :=
5   PO_LOG.get_package_base('PO_PDOI_GRP');
6 
7 -------------------------------------------------------
8 -------------- PUBLIC PROCEDURES ----------------------
9 -------------------------------------------------------
10 
11 -----------------------------------------------------------------------
12 --Start of Comments
13 --Name: start_process
14 --Function:
15 --  Group procedure for PDOI, which is used for importing and updating
16 --  blankets, quotations or standard purchase orders
17 --Parameters:
18 --IN:
19 --p_api_version
20 --  API version of the program caller assumes
21 --p_init_msg_list
22 --  FND_API.G_TRUE if caller expects PDOI to initialize the message stack
23 --                 maintained by FND_MSG_PUB.
24 --  FND_API.G_FALSE otherwise
25 --p_validation_level
26 --  Currently this parameter has no effect. PDOI always does full validation
27 --p_commit
28 --  Whether PDOI will issue commits
29 --  FND_API.G_TRUE if caller expects PDOI to commit data
30 --  FND_API.G_FALSE otherwise
31 --p_gather_intf_tbl_stat
32 --  Whether PDOI gather table statistics before processing.
33 --  'Y' if statistics should be gathered. Consider this if a large
34 --      number of records are being inserted into the interface table
35 --  'N' otherwise
36 --p_calling_module
37 --  The module name of the calling program. Value 'CATALOG UPLOAD' is reserved
38 --  to be used by calling from Calog upload program
39 --p_selected_batch_id
40 --  Batch id parameter. If this is specified, only the records with this batch
41 --  id will be processed.
42 --p_batch_size
43 --  Used for performance tuning. It specifies the number of header interface
44 --  records that will be processed for each bulk fetching. Default number is
45 --  PO_PDOI_CONSTANTS.g_DEF_BATCH_SIZE
46 --p_buyer_id
47 --  Default buyer of the document to be imported
48 --p_document_type
49 --  Type of the document that will be processed. Possible values are:
50 --  STANDARD, BLANKET, QUOTATION
51 --p_document_subtype
52 --  Default document subtype. Use it only if  p_document_type is 'QUOTATION'.
53 --p_create_items
54 --  Specifies whether an item will be created as inventory item if the specified
55 --  item does not exist in the system.
56 --  'Y' if item should be created
57 --  'N' if item should NOT be created
58 --p_create_sourcing_rules_flag
59 --  Whether sourcing rules and ASL should be created as part of the creation
60 --  of blanket and quotation line
61 --  'Y' if sourcing rules and ASL should be created
62 --  'N' otherwise
63 --p_rel_gen_method
64 --  Release generation method of the ASL
65 --p_sourcing_level
66 --  Level of the sourcing rules assignment. Possible values:
67 --  ITEM, ITEM-ORGANIZATION
68 --p_sourcing_inv_org_id
69 --  If sourcing level is 'ITEM-ORGANIZATION', the organization where the
70 --  sourcing rule will be created in
71 --p_approved_status
72 --  Intended approval status the document after import. Possible values
73 --  INCOMPLETE - Incomplete documents
74 --  INITIATE APPROVAL - This means that the document will be submitted for
75 --                      approval through approval workflow
76 --  APPROVED - Import as approved without submitting through approval wf
77 --p_process_code
78 --  Type of interface records to be processed. If this is specified, only
79 --  records with the specified process code will be processed
80 --p_interface_header_id
81 --  If this is specified, only record with this interface_header_id will be
82 --  processed
83 --p_org_id
84 --  Operating Unit where this PDOI will be running in. If this is not specified,
85 --  Current operating unit will be the operating unit for PDOI to run.
86 --p_ga_flag
87 --  Whether the blanket will be imported as global agreement or not.
88 --  'Y' if blanekets should be imported as global agreements
89 --p_clm_flag
90 --  'Y' if the concurrent request is for CLM Award/IDVs/Mods
91 --IN OUT:
92 --OUT:
93 --x_return_status
94 --  Return status of the API.
95 --  FND_API.G_RET_STS_SUCCESS if API is successful
96 --  FND_API.G_RET_STS_ERR if there are user errors
97 --  FND_API.G_RET_STS_UNEXP_ERR if unexpected error (exception) occurs
98 --End of Comments
99 ------------------------------------------------------------------------
100 PROCEDURE start_process
101 ( p_api_version IN NUMBER,
102   p_init_msg_list IN VARCHAR2,
103   p_validation_level IN NUMBER,
104   p_commit IN VARCHAR2,
105   x_return_status OUT NOCOPY VARCHAR2,
106   p_gather_intf_tbl_stat IN VARCHAR2,
107   p_calling_module IN VARCHAR2,
108   p_selected_batch_id IN NUMBER,
109   p_batch_size IN NUMBER,
110   p_buyer_id IN NUMBER,
111   p_document_type IN VARCHAR2,
112   p_document_subtype IN VARCHAR2,
113   p_create_items IN VARCHAR2,
114   p_create_sourcing_rules_flag IN VARCHAR2,
115   p_rel_gen_method IN VARCHAR2,
116   p_sourcing_level IN VARCHAR2,
117   p_sourcing_inv_org_id IN NUMBER,
118   p_approved_status IN VARCHAR2,
119   p_process_code IN VARCHAR2,
120   p_interface_header_id IN NUMBER,
121   p_org_id IN NUMBER,
122   p_ga_flag IN VARCHAR2,
123   p_clm_flag IN VARCHAR2 DEFAULT 'N' --CLM PDOI Project
124 ) IS
125 
126 d_api_version CONSTANT NUMBER := 1.0;
127 d_api_name CONSTANT VARCHAR2(30) := 'start_process';
128 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
129 d_position NUMBER;
130 
131 l_processed_lines_count NUMBER;
132 l_rejected_lines_count NUMBER;
133 l_err_tolerance_exceeded VARCHAR2(1);
134 
135 BEGIN
136 
137   d_position := 0;
138 
139   IF (PO_LOG.d_proc) THEN
140     PO_LOG.proc_end(d_module);
141   END IF;
142 
143   IF (p_init_msg_list = FND_API.G_TRUE) THEN
144     FND_MSG_PUB.initialize;
145   END IF;
146 
147   IF (NOT FND_API.Compatible_API_Call
148         ( p_current_version_number => d_api_version,
149           p_caller_version_number  => p_api_version,
150           p_api_name               => d_api_name,
151           p_pkg_name               => d_pkg_name
152         )
153      ) THEN
154 
155     d_position := 10;
156     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
157   END IF;  -- not compatible_api
158 
159   d_position := 20;
160 
161   PO_PDOI_PVT.start_process
162   ( p_api_version => 1.0,
163     p_init_msg_list => FND_API.G_FALSE,
164     p_validation_level => p_validation_level,
165     p_commit => p_commit,
166     x_return_status => x_return_status,
167     p_gather_intf_tbl_stat => p_gather_intf_tbl_stat,
168     p_calling_module => p_calling_module,
169     p_selected_batch_id => p_selected_batch_id,
170     p_batch_size => p_batch_size,
171     p_buyer_id => p_buyer_id,
172     p_document_type => p_document_type,
173     p_document_subtype => p_document_subtype,
174     p_create_items => p_create_items,
175     p_create_sourcing_rules_flag => p_create_sourcing_rules_flag,
176     p_rel_gen_method => p_rel_gen_method,
177     p_sourcing_level => p_sourcing_level,
178     p_sourcing_inv_org_id => p_sourcing_inv_org_id,
179     p_approved_status => p_approved_status,
180     p_process_code => p_process_code,
181     p_interface_header_id => p_interface_header_id,
182     p_org_id => p_org_id,
183     p_ga_flag => p_ga_flag,
184     p_submit_dft_flag => NULL,
185     p_role => PO_GLOBAL.g_ROLE_BUYER,
186     p_catalog_to_expire => NULL,
187     p_err_lines_tolerance => NULL,
188 	p_clm_flag => p_clm_flag, --CLM PDOI Project
189     x_processed_lines_count => l_processed_lines_count,
190     x_rejected_lines_count => l_rejected_lines_count,
191     x_err_tolerance_exceeded => l_err_tolerance_exceeded
192   );
193 
194   d_position := 30;
195 
196   IF (PO_LOG.d_proc) THEN
197     PO_LOG.proc_end(d_module, 'x_return_status', x_return_status);
198   END IF;
199 
200 EXCEPTION
201 WHEN OTHERS THEN
202   PO_MESSAGE_S.add_exc_msg
203   ( p_pkg_name => d_pkg_name,
204     p_procedure_name => d_api_name || '.' || d_position
205   );
206   RAISE;
207 END start_process;
208 
209 
210 -----------------------------------------------------------------------
211 --Start of Comments
212 --Name: catalog_upload
213 --Function:
214 --  This API will be called by iP during catalog upload process. This API
215 --  internally calls PDOI to perform import action.
216 --Parameters:
217 --IN:
218 --p_api_version
219 --  API version of the program caller assumes
220 --p_init_msg_list
221 --  FND_API.G_TRUE if caller expects PDOI to initialize the message stack
222 --                 maintained by FND_MSG_PUB.
223 --  FND_API.G_FALSE otherwise
224 --p_validation_level
225 --  Currently this parameter has no effect. PDOI always does full validation
226 --p_commit
227 --  Whether PDOI will issue commits
228 --  FND_API.G_TRUE if caller expects PDOI to commit data
229 --  FND_API.G_FALSE otherwise
230 --p_gather_intf_tbl_stat
231 --  Whether PDOI gather table statistics before processing.
232 --  'Y' if statistics should be gathered. Consider this if a large
233 --      number of records are being inserted into the interface table
234 --  'N' otherwise
235 --p_selected_batch_id
236 --  Batch id parameter. If this is specified, only the records with this batch
237 --  id will be processed.
238 --p_batch_size
239 --  Used for performance tuning. It specifies the number of header interface
240 --  records that will be processed for each bulk fetching. Default number is
241 --  PO_PDOI_CONSTANTS.g_DEF_BATCH_SIZE
242 --p_buyer_id
243 --  Default buyer of the document to be imported
244 --p_document_type
245 --  Type of the document that will be processed. Possible values are:
246 --  STANDARD, BLANKET, QUOTATION
247 --p_document_subtype
248 --  Default document subtype. Use it only if  p_document_type is 'QUOTATION'.
249 --p_create_items
250 --  Specifies whether an item will be created as inventory item if the specified
251 --  item does not exist in the system.
252 --  'Y' if item should be created
253 --  'N' if item should NOT be created
254 --p_create_sourcing_rules_flag
255 --  Whether sourcing rules and ASL should be created as part of the creation
256 --  of blanket and quotation line
257 --  'Y' if sourcing rules and ASL should be created
258 --  'N' otherwise
259 --p_rel_gen_method
260 --  Release generation method of the ASL
261 --p_sourcing_level
262 --  Level of the sourcing rules assignment. Possible values:
263 --  ITEM, ITEM-ORGANIZATION
264 --p_sourcing_inv_org_id
265 --  If sourcing level is 'ITEM-ORGANIZATION', the organization where the
266 --  sourcing rule will be created in
267 --p_approved_status
268 --  Intended approval status the document after import. Possible values
269 --  INCOMPLETE - Incomplete documents
270 --  INITIATE APPROVAL - This means that the document will be submitted for
271 --                      approval through approval workflow
272 --  APPROVED - Import as approved without submitting through approval wf
273 --p_process_code
274 --  Type of interface records to be processed. If this is specified, only
275 --  records with the specified process code will be processed
276 --p_interface_header_id
277 --  If this is specified, only record with this interface_header_id will be
278 --  processed
279 --p_org_id
280 --  Operating Unit where this PDOI will be running in. If this is not specified,
281 --  Current operating unit will be the operating unit for PDOI to run.
282 --p_ga_flag
283 --  Whether the blanket will be imported as global agreement or not.
284 --  'Y' if blanekets should be imported as global agreements
285 --p_submit_dft_flag
286 --  ** Reserved for catalog upload **
287 --  Determines whether the draft changes should be submitted for buyer's
288 --  acceptance after they pass PDOI validations
289 --  'Y' if changes should be submitted
290 --  'N' otherwise
291 --p_role
292 --  ** Reserved for catalog upload ***
293 --  Role of the user calling PDOI. Possible values:
294 --  BUYER, SUPPLIER, CAT ADMIN
295 --p_catalog_to_expire
296 --  ** Reserved for catalog upload ***
297 --  If this is specified, all the lines with this value as the catalog name
298 --  will get expired
299 --p_err_lines_tolerance
300 --  ** Reserved for catalog upload **
301 --  Number of line errors PDOI can take before aborting the program.
302 --  Note: Even if PDOI is aborted, lines that get accepted will continue to
303 --        be processed.
304 --IN OUT:
305 --OUT:
306 --x_return_status
307 --  Return status of the API.
308 --  FND_API.G_RET_STS_SUCCESS if API is successful
309 --  FND_API.G_RET_STS_ERR if there are user errors
310 --  FND_API.G_RET_STS_UNEXP_ERR if unexpected error (exception) occurs
311 --x_error_message
312 --  Concatenation of error in case an error exists
313 --x_processed_lines_count
314 --  ** Populated for catalog upload only **
315 --  Number of lines being processed
316 --x_rejected_lines_count
317 --  ** Populated for catalog upload only **
318 --  Number of lines being rejected
319 --x_err_tolerance_exceeded
320 --  ** Populated for catalog upload only **
321 --  indicates whether error threshold is exceeded
322 --  FND_API.G_TRUE if exceeded
323 --  FND_API.G_FALSE otherwise
324 --End of Comments
325 ------------------------------------------------------------------------
326 PROCEDURE catalog_upload
327 ( p_api_version IN NUMBER,
328   p_init_msg_list IN VARCHAR2,
329   p_validation_level IN NUMBER,
330   p_commit IN VARCHAR2,
331   x_return_status OUT NOCOPY VARCHAR2,
332   x_error_message OUT NOCOPY VARCHAR2,
333   p_gather_intf_tbl_stat IN VARCHAR2,
334   p_selected_batch_id IN NUMBER,
335   p_batch_size IN NUMBER,
336   p_buyer_id IN NUMBER,
337   p_document_type IN VARCHAR2,
338   p_document_subtype IN VARCHAR2,
339   p_create_items IN VARCHAR2,
340   p_create_sourcing_rules_flag IN VARCHAR2,
341   p_rel_gen_method IN VARCHAR2,
342   p_sourcing_level IN VARCHAR2,
343   p_sourcing_inv_org_id IN NUMBER,
344   p_approved_status IN VARCHAR2,
345   p_process_code IN VARCHAR2,
346   p_interface_header_id IN NUMBER,
347   p_org_id IN NUMBER,
348   p_ga_flag IN VARCHAR2,
349   p_submit_dft_flag IN VARCHAR2,
350   p_role IN VARCHAR2,
351   p_catalog_to_expire IN VARCHAR2,
352   p_err_lines_tolerance IN NUMBER,
353   x_processed_lines_count OUT NOCOPY NUMBER,
354   x_rejected_lines_count OUT NOCOPY NUMBER,
355   x_err_tolerance_exceeded OUT NOCOPY VARCHAR2,
356   p_clm_flag IN VARCHAR2 DEFAULT 'N' --<Bug 14465697>
357 ) IS
358 
359 d_api_version CONSTANT NUMBER := 1.0;
360 d_api_name CONSTANT VARCHAR2(30) := 'catalog_upload';
361 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
362 d_position NUMBER;
363 
364 l_msg_temp VARCHAR2(2000);
365 
366 BEGIN
367 
368   d_position := 0;
369 
370   IF (PO_LOG.d_proc) THEN
371     PO_LOG.proc_end(d_module);
372   END IF;
373 
374   IF (p_init_msg_list = FND_API.G_TRUE) THEN
375     FND_MSG_PUB.initialize;
376   END IF;
377 
378   IF (NOT FND_API.Compatible_API_Call
379         ( p_current_version_number => d_api_version,
380           p_caller_version_number  => p_api_version,
381           p_api_name               => d_api_name,
382           p_pkg_name               => d_pkg_name
383         )
384      ) THEN
385 
386     d_position := 10;
387     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388   END IF;  -- not compatible_api
389 
390   d_position := 20;
391 
392   PO_PDOI_PVT.start_process
393   ( p_api_version => 1.0,
394     p_init_msg_list => FND_API.G_FALSE,
395     p_validation_level => p_validation_level,
396     p_commit => p_commit,
397     x_return_status => x_return_status,
398     p_gather_intf_tbl_stat => p_gather_intf_tbl_stat,
399     p_calling_module => PO_PDOI_CONSTANTS.g_call_mod_CATALOG_UPLOAD,
400     p_selected_batch_id => p_selected_batch_id,
401     p_batch_size => p_batch_size,
402     p_buyer_id => p_buyer_id,
403     p_document_type => p_document_type,
404     p_document_subtype => p_document_subtype,
405     p_create_items => p_create_items,
406     p_create_sourcing_rules_flag => p_create_sourcing_rules_flag,
407     p_rel_gen_method => p_rel_gen_method,
408     p_sourcing_level => p_sourcing_level,
409     p_sourcing_inv_org_id => p_sourcing_inv_org_id,
410     p_approved_status => p_approved_status,
411     p_process_code => p_process_code,
412     p_interface_header_id => p_interface_header_id,
413     p_org_id => p_org_id,
414     p_ga_flag => p_ga_flag,
415     p_submit_dft_flag => p_submit_dft_flag,
416     p_role => p_role,
417     p_catalog_to_expire => p_catalog_to_expire,
418 	p_clm_flag => p_clm_flag, --CLM PDOI Project
419     p_err_lines_tolerance => p_err_lines_tolerance,
420     x_processed_lines_count => x_processed_lines_count,
421     x_rejected_lines_count => x_rejected_lines_count,
422     x_err_tolerance_exceeded => x_err_tolerance_exceeded
423   );
424 
425   -- For Catalog Upload, we need to return error messaeg in case
426   -- an error occurs.
427   IF (x_return_status <> 'S') THEN
428     FOR i IN 1..FND_MSG_PUB.count_msg LOOP
429       l_msg_temp := FND_MSG_PUB.get
430                     ( p_msg_index => i,
431                       p_encoded => 'F'
432                     );
433 
434       x_error_message := SUBSTRB(x_error_message || l_msg_temp || '   ',
435                                  2000);
436     END LOOP;
437   END IF;
438 
439 
440   d_position := 30;
441 
442   IF (PO_LOG.d_proc) THEN
443     PO_LOG.proc_end(d_module, 'x_return_status', x_return_status);
444     PO_LOG.proc_end(d_module, 'x_processed_liens_count', x_processed_lines_count);
445     PO_LOG.proc_end(d_module, 'x_rejected_lines_count', x_rejected_lines_count);
446     PO_LOG.proc_end(d_module, 'x_err_tolerance_exceeded', x_err_tolerance_exceeded);
447   END IF;
448 
449 EXCEPTION
450 WHEN OTHERS THEN
451   PO_MESSAGE_S.add_exc_msg
452   ( p_pkg_name => d_pkg_name,
453     p_procedure_name => d_api_name || '.' || d_position
454   );
455 
456   x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
457 
458 END catalog_upload;
459 
460 
461 -----------------------------------------------------------------------
462 --Start of Comments
463 --Name: handle_price_tolerance_resp
464 --Function:
465 --  This API handles response from buyer about lines that exceed
466 --  price tolerance
467 --Parameters:
468 --IN:
469 --p_api_version
470 --  API version of the program caller assumes
471 --p_init_msg_list
472 --  FND_API.G_TRUE if caller expects PDOI to initialize the message stack
473 --                 maintained by FND_MSG_PUB.
474 --  FND_API.G_FALSE otherwise
475 --p_validation_level
476 --  Currently this parameter has no effect. PDOI always does full validation
477 --p_commit
478 --  Whether PDOI will issue commits
479 --  FND_API.G_TRUE if caller expects PDOI to commit data
480 --  FND_API.G_FALSE otherwise
481 --p_selected_batch_id
482 --  Batch id parameter. If this is specified, only the records with this batch
483 --  id will be processed.
484 --p_document_type
485 --  Type of the document that will be processed. Possible values are:
486 --  STANDARD, BLANKET, QUOTATION
487 --p_document_subtype
488 --  Default document subtype. Use it only if  p_document_type is 'QUOTATION'.
489 --p_interface_header_id
490 --  If this is specified, only record with this interface_header_id will be
491 --  processed
492 --p_org_id
493 --  Operating Unit where this PDOI will be running in. If this is not specified,
494 --  Current operating unit will be the operating unit for PDOI to run.
495 --IN OUT:
496 --OUT:
497 --x_return_status
498 --  Return status of the API.
499 --  FND_API.G_RET_STS_SUCCESS if API is successful
500 --  FND_API.G_RET_STS_ERR if there are user errors
501 --  FND_API.G_RET_STS_UNEXP_ERR if unexpected error (exception) occurs
502 --End of Comments
503 ------------------------------------------------------------------------
504 PROCEDURE handle_price_tolerance_resp
505 ( p_api_version IN NUMBER,
506   p_init_msg_list IN VARCHAR2,
507   p_validation_level IN NUMBER,
508   p_commit IN VARCHAR2,
509   x_return_status OUT NOCOPY VARCHAR2,
510   p_selected_batch_id IN NUMBER,
511   p_document_type IN VARCHAR2,
512   p_document_subtype IN VARCHAR2,
513   p_interface_header_id IN NUMBER,
514   p_org_id IN NUMBER,
515   p_clm_flag IN VARCHAR2 DEFAULT 'N' --<Bug 14465697>
516 ) IS
517 
518 d_api_version CONSTANT NUMBER := 1.0;
519 d_api_name CONSTANT VARCHAR2(30) := 'handle_price_tolerance_resp';
520 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
521 d_position NUMBER;
522 
523 l_processed_lines_count NUMBER;
524 l_rejected_lines_count NUMBER;
525 l_err_tolerance_exceeded VARCHAR2(1);
526 
527 BEGIN
528 
529   d_position := 0;
530 
531   IF (PO_LOG.d_proc) THEN
532     PO_LOG.proc_end(d_module);
533   END IF;
534 
535   IF (p_init_msg_list = FND_API.G_TRUE) THEN
536     FND_MSG_PUB.initialize;
537   END IF;
538 
539   IF (NOT FND_API.Compatible_API_Call
540         ( p_current_version_number => d_api_version,
541           p_caller_version_number  => p_api_version,
542           p_api_name               => d_api_name,
543           p_pkg_name               => d_pkg_name
544         )
545      ) THEN
546 
547     d_position := 10;
548     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
549   END IF;  -- not compatible_api
550 
551   d_position := 20;
552 
553   PO_PDOI_PVT.start_process
554   ( p_api_version => 1.0,
555     p_init_msg_list => FND_API.G_FALSE,
556     p_validation_level => p_validation_level,
557     p_commit => p_commit,
558     x_return_status => x_return_status,
559     p_gather_intf_tbl_stat => 'N',
560     p_calling_module => PO_PDOI_CONSTANTS.g_call_mod_PRICE_TOL_RESP,
561     p_selected_batch_id => p_selected_batch_id,
562     p_batch_size => 1,
563     p_buyer_id => NULL,
564     p_document_type => p_document_type,
565     p_document_subtype => p_document_subtype,
566     p_create_items => 'N',
567     p_create_sourcing_rules_flag => 'N',
568     p_rel_gen_method => NULL,
569     p_sourcing_level => NULL,
570     p_sourcing_inv_org_id => NULL,
571     p_approved_status => NULL,
572     p_process_code => PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED,
573     p_interface_header_id => p_interface_header_id,
574     p_org_id => p_org_id,
575     p_ga_flag => NULL,
576     p_submit_dft_flag => NULL,
577     p_role => PO_GLOBAL.g_ROLE_BUYER,
578     p_catalog_to_expire => NULL,
579 	p_clm_flag => p_clm_flag, --CLM PDOI Project
580     p_err_lines_tolerance => NULL,
581     x_processed_lines_count => l_processed_lines_count,
582     x_rejected_lines_count => l_rejected_lines_count,
583     x_err_tolerance_exceeded => l_err_tolerance_exceeded
584   );
585 
586   d_position := 30;
587 
588   IF (PO_LOG.d_proc) THEN
589     PO_LOG.proc_end(d_module, 'x_return_status', x_return_status);
590   END IF;
591 
592 EXCEPTION
593 WHEN OTHERS THEN
594   PO_MESSAGE_S.add_exc_msg
595   ( p_pkg_name => d_pkg_name,
596     p_procedure_name => d_api_name || '.' || d_position
597   );
598 
599   x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
600 END handle_price_tolerance_resp;
601 
602 
603 END PO_PDOI_GRP;