[Home] [Help]
PACKAGE BODY: APPS.ITG_BOAPI_WRAPPERS
Source
1 PACKAGE BODY ITG_BOAPI_Wrappers AS
2 /* ARCS: $Header: itgwrapb.pls 120.7 2006/08/24 06:06:01 pvaddana noship $
3 * CVS: itgwrapb.pls,v 1.52 2003/05/30 00:49:39 klai Exp
4 */
5 l_debug_level NUMBER := to_number(nvl(fnd_profile.value('CLN_DEBUG_LEVEL'), '5'));
6
7 g_collaboration_id NUMBER;
8 g_return_status VARCHAR2(1);
9 g_return_message VARCHAR2(2000);
10 g_doctyp VARCHAR2(100);
11 g_org NUMBER;
12 g_clntyp VARCHAR2(100);
13 g_process_vendor_contact BOOLEAN;
14
15 g_vinfo_rec ITG_SyncSupplierInbound_PVT.vinfo_rec_type;
16
17 FUNCTION describe_return_status(
18 p_rstat IN VARCHAR2
19 ) RETURN VARCHAR2 IS
20 BEGIN
21 IF p_rstat = FND_API.G_RET_STS_SUCCESS THEN
22 RETURN 'Success';
23 ELSIF p_rstat = FND_API.G_RET_STS_ERROR THEN
24 RETURN 'Error';
25 ELSE /*everything else is unexpected!*/
26 RETURN 'Un-expected error';
27 END IF;
28 END describe_return_status;
29
30
31 PROCEDURE check_return_status(
32 p_name IN VARCHAR2,
33 p_rstat IN VARCHAR2
34 )
35 IS
36 BEGIN
37 IF p_rstat <> FND_API.G_RET_STS_SUCCESS AND
38 p_rstat <> FND_API.G_RET_STS_ERROR THEN
39 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
40 ELSE
41 g_return_status := p_rstat;
42 END IF;
43 EXCEPTION
44 WHEN OTHERS THEN
45 null;
46 END check_return_status;
47
48 /* PUBLIC calls. */
49
50 PROCEDURE Begin_Wrapper(
51 p_refid IN VARCHAR2,
52 p_org IN NUMBER,
53 p_xmlg_xtype IN VARCHAR2,
54 p_xmlg_xstyp IN VARCHAR2,
55 p_xmlg_docid IN VARCHAR2,
56 p_doctyp IN VARCHAR2,
57 p_clntyp IN VARCHAR2,
58 p_doc IN VARCHAR2,
59 p_rel IN VARCHAR2,
60 p_cdate IN DATE
61 )
62 IS
63 l_return_status VARCHAR2(1);
64 l_msg_buff VARCHAR2(2000);
65 l_session_id NUMBER;
66 BEGIN
67 g_active := 1;
68 g_return_status := FND_API.G_RET_STS_SUCCESS;
69 g_doctyp := p_doctyp;
70 g_clntyp := p_clntyp;
71 g_org := p_org;
72
73 FND_PROFILE.put('FND_AS_MSG_LEVEL_THRESHOLD', 0);
74
75 IF (l_Debug_Level <= 2) THEN
76 itg_debug_pub.Add('--- Entering Begin_Wrapper ---' ,2);
77 END IF;
78
79
80 /* 4169685: REMOVE INSTALL DATA INSERTION FROM HR_LOCATIONS TABLE */
81 IF NOT itg_x_utils.g_initialized THEN
82 g_return_status := FND_API.G_RET_STS_ERROR;
83 itg_msg.incorrect_setup;
84
85 IF (l_Debug_Level <= 1) THEN
86 itg_debug_pub.Add('Missing Trading Partner setup and/or Connector uninitialized.' ,1);
87 END IF;
88 RETURN;
89 END IF;
90
91 -- Remove FND_MSG from every package. Do it once per transaction here.
92 FND_MSG_PUB.INITIALIZE;
93
94 /*
95 FND_GLOBAL.apps_initialize(
96 user_id => nvl(fnd_profile.value('ITG_XML_USER'),itg_x_utils.c_user_id),
97 resp_id => itg_x_utils.c_resp_id,
98 resp_appl_id => itg_x_utils.c_resp_appl_id
99 );*/
100
101 -- po_acctions.close_po api checks for value of fnd_global.login_id
102 -- fnd_global.apps_initialize sets it to -1,
103 -- hence calling FND_GLOBAl.INITIALIZE as a workaround.
104 -- this resolves the issue with the close_PO API failue
105 FND_GLOBAl.INITIALIZE(l_session_id,
106 nvl(fnd_profile.value('ITG_XML_USER'),itg_x_utils.c_user_id),
107 itg_x_utils.c_resp_id,
108 itg_x_utils.c_resp_appl_id,
109 0, -1, 1, -1, -1, -1, -1, null,null,null,null,null,null,-1);
110
111 MO_GLOBAL.init('PO');
112
113 IF p_org IS NOT NULL THEN
114 BEGIN
115 FND_Client_Info.set_org_context(p_org);
116 MO_GLOBAL.set_policy_context('S', p_org); -- MOAC
117 EXCEPTION
118 WHEN OTHERS THEN
119 itg_msg.invalid_org(p_org);
120 g_return_status := FND_API.G_RET_STS_ERROR;
121 RAISE FND_API.G_EXC_ERROR;
122 END;
123 END IF;
124
125 BEGIN
126 IF (l_Debug_Level <= 1) THEN
127 itg_debug_pub.Add('Calling create_collaboration ...' ,1);
128 END IF;
129
130 CLN_CH_COLLABORATION_PKG.create_collaboration(
131 x_return_status => l_return_status,
132 x_msg_data => l_msg_buff,
133 p_app_id => itg_x_utils.c_application_id,
134 p_ref_id => p_refid,
135 p_org_id => p_org,
136 p_rel_no => p_rel,
137 p_doc_no => p_doc,
138 p_doc_rev_no => NULL, /* NOTE: ??? */
139 p_xmlg_transaction_type => p_xmlg_xtype,
140 p_xmlg_transaction_subtype => p_xmlg_xstyp,
141 p_xmlg_document_id => p_xmlg_docid,
142 p_partner_doc_no => NULL, /* NOTE: ??? */
143 p_coll_type => p_clntyp,
144 p_tr_partner_type => itg_x_utils.c_party_type,
145 p_tr_partner_id => itg_x_utils.g_party_id,
146 p_tr_partner_site => itg_x_utils.g_party_site_id,
147 p_resend_flag => 'N',
148 p_resend_count => 0,
149 p_doc_owner => FND_GLOBAL.USER_ID,
150 p_init_date => SYSDATE,
151 p_doc_creation_date => p_cdate,
152 p_doc_revision_date => NULL,
153 p_doc_type => p_doctyp,
154 p_doc_dir => 'IN',
155 p_coll_pt => itg_x_utils.c_xmlg_coll_pt,
156 p_xmlg_msg_id => NULL,
157 p_unique1 => NULL,
158 p_unique2 => NULL,
159 p_unique3 => NULL,
160 p_unique4 => NULL,
161 p_unique5 => NULL,
162 p_sender_component => NULL,
163 p_rosettanet_check_required => FALSE,
164 p_xmlg_internal_control_number => p_refid,
165 x_coll_id => g_collaboration_id
166 );
167
168 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
169 IF (l_Debug_Level <= 5) THEN
170 itg_debug_pub.Add('Create CLN : ' || l_return_status || l_msg_buff , 5);
171 END IF;
172
173 itg_msg.cln_failure(substr(l_msg_buff,1,255));
174 g_collaboration_id := 0;
175 itg_msg.unexpected_error('CLN collaboration creation');
176 END IF;
177 EXCEPTION
178 WHEN OTHERS THEN
179 g_collaboration_id := 0;
180 IF (l_Debug_Level <= 6) THEN
181 itg_debug_pub.Add(substr(SQLERRM,1,255), 6);
182 END IF;
183
184 itg_msg.cln_failure(substr(SQLERRM,1,255));
185 itg_msg.unexpected_error('CLN collaboration creation');
186 END;
187
188 check_return_status('Begin_Wrapper', l_return_status);
189
190 IF (l_Debug_Level <= 2) THEN
191 itg_debug_pub.Add('--- Exiting Begin_Wrapper ---' ,2);
192 END IF;
193 EXCEPTION
194 WHEN OTHERS THEN
195 check_return_status('Begin_Wrapper', FND_API.G_RET_STS_UNEXP_ERROR );
196 IF (l_Debug_Level <= 6) THEN
197 itg_debug_pub.Add('BeginWrapper ' || SQLERRM ,6);
198 END IF;
199
200 g_collaboration_id := 0;
201 itg_msg.unexpected_error('CLN collaboration creation');
202 END Begin_Wrapper;
203
204
205
206
207 PROCEDURE End_Wrapper(
208 p_refid IN VARCHAR2 := NULL,
209 p_doc IN VARCHAR2 := NULL,
210 p_cdate IN DATE := SYSDATE,
211 x_cln_id OUT NOCOPY NUMBER,
212 x_return_status OUT NOCOPY VARCHAR2,
213 x_return_message OUT NOCOPY VARCHAR2
214 ) IS
215 BEGIN
216 IF (l_Debug_Level <= 2) THEN
217 itg_debug_pub.Add('--- Entering End_Wrapper ---' ,2);
218 END IF;
219
220 IF (l_Debug_Level <= 1) THEN
221 itg_debug_pub.Add('g_collaboration_id '||g_collaboration_id ,1);
222 itg_debug_pub.Add('g_return_status ' ||g_return_status,1);
223 END IF;
224
225 x_cln_id := g_collaboration_id;
226
227 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
228 x_return_status := '00';
229 itg_msg.document_success;
230 ELSE
231 x_return_status := '99';
232 END IF;
233
234 x_return_message := itg_x_utils.getCBODDescMsg(true);
235
236 Reap_Messages(
237 p_refid => p_refid,
238 p_doc => p_doc,
239 p_cdate => p_cdate
240 );
241
242 g_collaboration_id := NULL;
243 g_return_status := NULL;
244 g_return_message := NULL;
245 g_org := NULL; -- don't let org of prev. txn to remain in session state!
246
247 IF (l_Debug_Level <= 2) THEN
248 itg_debug_pub.Add('--- Exiting End_Wrapper ---' ,2);
249 END IF;
250 EXCEPTION
251 WHEN OTHERS THEN
252 g_collaboration_id := NULL;
253 g_return_status := NULL;
254 g_return_message := NULL;
255 g_org := NULL;
256 IF (l_Debug_Level <= 2) THEN
257 itg_debug_pub.Add('--- Exiting End_Wrapper : ERROR---' ,2);
258 END IF;
259 END End_Wrapper;
260
261
262
263
264 PROCEDURE Reap_Messages(
265 p_refid IN VARCHAR2 := NULL,
266 p_doc IN VARCHAR2 := NULL,
267 p_cdate IN DATE := SYSDATE
268 ) IS
269 l_inxout NUMBER;
270 l_dtl_id NUMBER;
271
272 l_status VARCHAR2(1);
273 l_cln_status VARCHAR2(30);
274 l_doc_status VARCHAR2(30);
275 l_message VARCHAR2(400);
276 l_text VARCHAR2(4000);
277 l_msg_data VARCHAR2(2000);
278 BEGIN
279 IF (l_Debug_Level <= 2) THEN
280 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Reap_Messages', 2);
281 END IF;
282
283 /* g_return_message is not obtained from the FND stack */
284 /* It is based on itg_x_utils.getCBODDesc */
285 /* Removed batch management specifi code */
286
287 IF nvl(g_collaboration_id,0) > 0 THEN
288 IF nvl(g_return_status,'x') <> FND_API.G_RET_STS_SUCCESS THEN
289 l_cln_status := 'ERROR';
290 l_doc_status := 'ERROR';
291 l_message := 'Failure in processing document';
292 ELSE
293 l_cln_status := 'COMPLETED';
294 l_doc_status := 'SUCCESS';
295 l_message := 'Document processed successfully';
296 END IF;
297
298 IF (l_Debug_Level <= 1) THEN
299 itg_debug_pub.Add('l_coll_id => '||to_char(g_collaboration_id), 1);
300 itg_debug_pub.Add('l_doctyp => '||g_doctyp, 1);
301 itg_debug_pub.Add('l_cln_status => '||NVL(l_cln_status, 'NULL'), 1);
302 itg_debug_pub.Add('l_doc_status => '||NVL(l_doc_status, 'NULL'), 1);
303 END IF;
304
305 l_status := FND_API.G_RET_STS_SUCCESS;
306 l_msg_data := 'Success';
307
308 CLN_CH_COLLABORATION_PKG.UPDATE_COLLABORATION(
309 x_return_status => l_status,
310 x_msg_data => l_msg_data,
311 p_coll_id => g_collaboration_id,
312 p_app_id => NULL,
313 p_ref_id => p_refid,
314 p_rel_no => NULL,
315 p_doc_no => p_doc,
316 p_doc_rev_no => NULL,
317 p_xmlg_transaction_type => NULL,
318 p_xmlg_transaction_subtype => NULL,
319 p_xmlg_document_id => NULL,
320 p_resend_flag => NULL,
321 p_resend_count => NULL,
322 p_disposition => NULL,
323 p_coll_status => l_cln_status,
324 p_doc_type => g_doctyp,
325 p_doc_dir => 'IN',
326 p_coll_pt => itg_x_utils.c_coll_pt,
327 p_org_ref => NULL,
328 p_doc_status => l_doc_status,
329 p_notification_id => NULL,
330 p_msg_text => l_message,
331 p_xmlg_msg_id => NULL,
332 p_tr_partner_type => itg_x_utils.c_party_type,
333 p_tr_partner_id => itg_x_utils.g_party_id,
334 p_tr_partner_site => itg_x_utils.g_party_site_id,
335 p_sender_component => NULL,
336 p_rosettanet_check_required => FALSE,
337 x_dtl_coll_id => l_dtl_id,
338 p_xmlg_internal_control_number => p_refid,
339 p_doc_creation_date => p_cdate,
340 p_doc_revision_date => SYSDATE,
341 p_org_id => g_org
342 );
343
344 IF nvl(l_status,'x') <> FND_API.G_RET_STS_SUCCESS THEN
345 IF (l_Debug_Level <= 6) THEN
346 itg_debug_pub.Add('CLN update_collaboration retsts> ' || l_status,6);
347 itg_debug_pub.Add('CLN update_collaboration retmsg> ' || l_msg_data,6);
348 END IF;
349 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
350 ELSE
351 IF (l_Debug_Level <= 1) THEN
352 itg_debug_pub.Add('l_dtl_id => '||NVL(to_char(l_dtl_id), 'NULL'), 1);
353 END IF;
354 END IF;
355
356 /* Now loop through FND messages and add collaboration details*/
357 FND_MSG_PUB.get(
358 p_msg_index => FND_MSG_PUB.G_FIRST,
359 p_encoded => FND_API.G_FALSE,
360 p_data => l_text,
361 p_msg_index_out => l_inxout);
362
363 WHILE l_text IS NOT NULL LOOP
364 l_text := substrb(l_text,1,2000);
365
366 IF (l_Debug_Level <= 1) THEN
367 itg_debug_pub.Add('l_text => '|| l_text ,1);
368 END IF;
369
370 IF l_text IS NOT NULL THEN
371 l_status := FND_API.G_RET_STS_SUCCESS;
372 CLN_CH_COLLABORATION_PKG.add_collaboration_messages
373 (
374 x_return_status => l_status,
375 x_msg_data => l_msg_data,
376 p_dtl_coll_id => l_dtl_id,
377 p_ref1 => NULL,
378 p_ref2 => NULL,
379 p_ref3 => NULL,
380 p_ref4 => NULL,
381 p_ref5 => NULL,
382 p_dtl_msg => l_text
383 );
384
385 IF nvl(l_status,'x') <> FND_API.G_RET_STS_SUCCESS THEN
386 IF (l_Debug_Level <= 6) THEN
387 itg_debug_pub.Add('CLN add_collab_msg retsts> ' || l_status ,6);
388 itg_debug_pub.Add('CLN add_collab_msg retmsg> ' || l_msg_data ,6);
389 END IF;
390 END IF;
391 END IF;
392
393 FND_MSG_PUB.get(
394 p_msg_index => FND_MSG_PUB.G_NEXT,
395 p_encoded => FND_API.G_FALSE,
396 p_data => l_text,
397 p_msg_index_out => l_inxout);
398 END LOOP;
399 END IF;
400 /* Delete global message table*/
401 FND_MSG_PUB.Delete_Msg;
402
403 IF (l_Debug_Level <= 2) THEN
404 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Reap_Messages', 2);
405 END IF;
406 EXCEPTION
407 WHEN OTHERS THEN
408 IF (l_Debug_Level <= 6) THEN
409 itg_debug_pub.Add('Unexpceted error in reap messages - ' || SUBSTRB(SQLERRM,1,1000),6);
410 END IF;
411 null;
412 END Reap_Messages;
413
414
415
416
417 /* Wrap ITG_SyncCOAInbound_PVT from itgvsci?.pls */
418 PROCEDURE Sync_FlexValue(
419 p_syncind IN VARCHAR2,
420 p_flex_value IN VARCHAR2,
421 p_vset_id IN NUMBER,
422 p_flex_desc IN VARCHAR2,
423 p_action_date IN DATE,
424 p_effective_date IN DATE,
425 p_expiration_date IN DATE,
426 p_acct_type IN VARCHAR2,
427 p_enabled_flag IN VARCHAR2
428 ) IS
429 l_return_status VARCHAR2(1);
430 l_msg_count NUMBER;
431 l_msg_data VARCHAR2(2000);
432 BEGIN
433 IF (l_Debug_Level <= 2) THEN
434 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Sync_FlexValue', 2);
435 END IF;
436
437 IF g_return_status = FND_API.G_RET_STS_SUCCESS AND
438 NOT ITG_OrgEff_PVT.Check_Effective(
439 p_organization_id => g_org,
440 p_cln_doc_type => g_clntyp,
441 p_doc_direction => 'S') THEN
442 g_return_status := FND_API.G_RET_STS_ERROR;
443 ITG_MSG.orgeff_check_failed;
444 END IF;
445
446 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
447 IF (l_Debug_Level <= 1) THEN
448 itg_debug_pub.Add('wSFV - Calling ITG_SyncCOAInbound_PVT.Sync_FlexValue API' ,1);
449 END IF;
450
451 ITG_SyncCOAInbound_PVT.Sync_FlexValue(
452 x_return_status => l_return_status,
453 x_msg_count => l_msg_count,
454 x_msg_data => l_msg_data,
455 p_syncind => p_syncind,
456 p_flex_value => p_flex_value,
457 p_vset_id => p_vset_id,
458 p_flex_desc => p_flex_desc,
459 p_action_date => p_action_date,
460 p_effective_date => p_effective_date,
461 p_expiration_date => p_expiration_date,
462 p_acct_type => p_acct_type,
463 p_enabled_flag => p_enabled_flag
464 );
465 check_return_status('Sync_FlexValue', l_return_status);
466 ELSE
467 IF (l_Debug_Level <= 1) THEN
468 itg_debug_pub.Add('wSFV', 'Skipping ITG_SyncCOAInbound_PVT.Sync_FlexValue API');
469 END IF;
470 END IF;
471
472 IF (l_Debug_Level <= 2) THEN
473 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_FlexValue', 2);
474 END IF;
475 EXCEPTION
476 WHEN OTHERS THEN
477 ITG_Debug.msg('Unexpected error in wrapper(Flex-value sync) - ' || substr(SQLERRM,1,255),true);
478 itg_msg.unexpected_error('Flex-value sync');
479 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
480 IF (l_Debug_Level <= 6) THEN
481 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_FlexValue :OTHER ERROR', 6);
482 END IF;
483
484 END Sync_FlexValue;
485
486
487
488 /* Wrap ITG_SyncExchInbound_PVT from itgvsei?.pls */
489 PROCEDURE Process_ExchangeRate(
490 p_syncind IN VARCHAR2,
491 p_quantity IN NUMBER,
492 p_currency_from IN VARCHAR2,
493 p_currency_to IN VARCHAR2,
494 p_factor IN VARCHAR2,
495 p_sob IN VARCHAR2,
496 p_ratetype IN VARCHAR2,
497 p_creation_date IN DATE,
498 p_effective_date IN DATE
499 ) IS
500 l_return_status VARCHAR2(1);
501 l_msg_count NUMBER;
502 l_msg_data VARCHAR2(2000);
503 BEGIN
504 IF (l_Debug_Level <= 2) THEN
505 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Process_ExchangeRate', 2);
506 END IF;
507
508 IF g_return_status = FND_API.G_RET_STS_SUCCESS AND
509 NOT ITG_OrgEff_PVT.Check_Effective(
510 p_organization_id => g_org,
511 p_cln_doc_type => g_clntyp,
512 p_doc_direction => 'S') THEN
513 g_return_status := FND_API.G_RET_STS_ERROR;
514 ITG_MSG.orgeff_check_failed;
515 END IF;
516
517 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
518 IF (l_Debug_Level <= 1) THEN
519 itg_debug_pub.Add('wPER - Calling ITG_SyncExchInbound_PVT.Process_ExchangeRate API');
520 END IF;
521
522 ITG_SyncExchInbound_PVT.Process_ExchangeRate(
523 x_return_status => l_return_status,
524 x_msg_count => l_msg_count,
525 x_msg_data => l_msg_data,
526 p_syncind => p_syncind,
527 p_quantity => p_quantity,
528 p_currency_from => p_currency_from,
529 p_currency_to => p_currency_to,
530 p_factor => p_factor,
531 p_sob => p_sob,
532 p_ratetype => p_ratetype,
533 p_creation_date => p_creation_date,
534 p_effective_date => p_effective_date
535 );
536 check_return_status('Process_ExchangeRate', l_return_status);
537 ELSE
538 IF (l_Debug_Level <= 1) THEN
539 itg_debug_pub.Add('wPER - Skipping API' ,1);
540 END IF;
541 END IF;
542
543 IF (l_Debug_Level <= 2) THEN
544 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Process_ExchangeRate', 2);
545 END IF;
546 EXCEPTION
547 WHEN OTHERS THEN
548 ITG_Debug.msg('Unexpected error in wrapper(Exchange-rate sync) - ' || substr(SQLERRM,1,255),true);
549 itg_msg.unexpected_error('Exchange-rate sync');
550 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
551 IF (l_Debug_Level <= 6) THEN
552 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Process_ExchangeRate : OTHER ERROR', 6);
553 END IF;
554
555 END Process_ExchangeRate;
556
557
558
559 PROCEDURE Update_PoLine(
560 p_api_version IN NUMBER,
561 p_init_msg_list IN VARCHAR2,
562 p_commit IN VARCHAR2,
563 p_validation_level IN NUMBER,
564 x_return_status OUT NOCOPY VARCHAR2,
565 x_msg_count OUT NOCOPY NUMBER,
566 x_msg_data OUT NOCOPY VARCHAR2,
567 p_po_code IN VARCHAR2,
568 p_org_id IN VARCHAR2,
569 p_release_id IN VARCHAR2,
570 p_line_num IN NUMBER,
571 p_doc_type IN VARCHAR2,
572 p_quantity IN NUMBER,
573 p_amount IN NUMBER
574 ) IS
575 BEGIN
576 IF (l_Debug_Level <= 2) THEN
577 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Update_PoLine', 2);
578 END IF;
579
580 g_org := TO_NUMBER(p_org_id);
581
582 IF NOT ITG_OrgEff_PVT.Check_Effective(
583 p_organization_id => g_org,
584 p_cln_doc_type => g_clntyp,
585 p_doc_direction => 'S') THEN
586 g_return_status := FND_API.G_RET_STS_ERROR;
587 ITG_MSG.orgeff_check_failed;
588 END IF;
589
590 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
591 IF (l_Debug_Level <= 1) THEN
592 itg_debug_pub.Add('wUPL - Calling ITG_SyncPoInbound_PVT.Update_PoLine API' ,1);
593 END IF;
594
595
596 ITG_SyncPoInbound_PVT.Update_PoLine(
597 x_return_status => x_return_status,
598 x_msg_count => x_msg_count,
599 x_msg_data => x_msg_data,
600 p_po_code => p_po_code,
601 p_org_id => p_org_id,
602 p_release_id => p_release_id,
603 p_line_num => p_line_num,
604 p_doc_type => p_doc_type,
605 p_quantity => p_quantity,
606 p_amount => p_amount
607 );
608 check_return_status('Update_PoLine2', x_return_status);
609 ELSE
610 IF (l_Debug_Level <= 1) THEN
611 itg_debug_pub.Add('wUPL - Skipping API' ,1);
612 END IF;
613 END IF;
614
615 IF (l_Debug_Level <= 2) THEN
616 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Update_PoLine', 2);
617 END IF;
618
619 EXCEPTION
620 WHEN OTHERS THEN
621 ITG_Debug.msg('Unexpected error in wrapper(Purchase order sync) - ' || substr(SQLERRM,1,255),true);
622 itg_msg.unexpected_error('Purchase order sync');
623 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
624 IF (l_Debug_Level <= 6) THEN
625 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Update_PoLine : OTHER ERROR', 6);
626 END IF;
627
628 END Update_PoLine;
629
630
631
632 /* Wrap ITG_SyncSupplierInbound_PVT from itgvssi?.pls (3 procs) */
633 PROCEDURE Sync_Vendor(
634 p_syncind IN VARCHAR2,
635 p_name IN VARCHAR2,
636 p_onetime IN VARCHAR2,
637 p_partnerid IN VARCHAR2,
638 p_active IN NUMBER,
639 p_currency IN VARCHAR2,
640 p_dunsnumber IN VARCHAR2,
641 p_parentid IN NUMBER,
642 p_paymethod IN VARCHAR2,
643 p_taxid IN VARCHAR2,
644 p_termid IN VARCHAR2,
645 p_us_flag IN VARCHAR2,
646 p_date IN DATE,
647 p_org IN VARCHAR2 --MOAC
648 ) IS
649 l_return_status VARCHAR2(1);
650 l_msg_count NUMBER;
651 l_msg_data VARCHAR2(2000);
652 BEGIN
653 IF (l_Debug_Level <= 2) THEN
654 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Sync_Vendor', 2);
655 END IF;
656
657 IF g_return_status = FND_API.G_RET_STS_SUCCESS AND
658 NOT ITG_OrgEff_PVT.Check_Effective(
659 p_organization_id => g_org,
660 p_cln_doc_type => g_clntyp,
661 p_doc_direction => 'S') THEN
662 g_return_status := FND_API.G_RET_STS_ERROR;
663 ITG_MSG.orgeff_check_failed;
664 END IF;
665
666 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
667 IF (l_Debug_Level <= 1) THEN
668 itg_debug_pub.Add('wSV - Calling ITG_SyncSupplierInbound_PVT.Sync_Vendor API' ,1);
669 END IF;
670
671 g_vinfo_rec := ITG_SyncSupplierInbound_PVT.G_MISS_VINFO_REC;
672
673 ITG_SyncSupplierInbound_PVT.Sync_Vendor(
674 x_return_status => l_return_status,
675 x_msg_count => l_msg_count,
676 x_msg_data => l_msg_data,
677 p_syncind => p_syncind,
678 p_name => p_name,
679 p_onetime => p_onetime,
680 p_partnerid => p_partnerid,
681 p_active => p_active,
682 p_currency => p_currency,
683 p_dunsnumber => p_dunsnumber,
684 p_parentid => p_parentid,
685 p_paymethod => p_paymethod,
686 p_taxid => p_taxid,
687 p_termid => p_termid,
688 p_us_flag => p_us_flag,
689 p_date => p_date,
690 p_org => p_org, -- MOAC
691 x_vinfo_rec => g_vinfo_rec
692 );
693 check_return_status('Sync_Vendor', l_return_status);
694 ELSE
695 IF (l_Debug_Level <= 1) THEN
696 itg_debug_pub.Add('wSV - Skipping API' ,1);
697 END IF;
698 END IF;
699
700 IF (l_Debug_Level <= 2) THEN
701 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_Vendor', 2);
702 END IF;
703
704 EXCEPTION
705 WHEN OTHERS THEN
706 ITG_Debug.msg('Unexpected error in wrapper(Vendor sync) - ' || substr(SQLERRM,1,255),true);
707 itg_msg.unexpected_error('Vendor sync');
708 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
709 IF (l_Debug_Level <= 6) THEN
710 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_Vendor : OTHER ERROR', 6);
711 END IF;
712
713 END Sync_Vendor;
714
715
716
717 PROCEDURE Sync_VendorSite(
718 p_addrline1 IN VARCHAR2,
719 p_addrline2 IN VARCHAR2,
720 p_addrline3 IN VARCHAR2,
721 p_addrline4 IN VARCHAR2,
722 p_city IN VARCHAR2,
723 p_country IN VARCHAR2,
724 p_county IN VARCHAR2,
725 p_site_code IN VARCHAR2,
726 p_fax IN VARCHAR2,
727 p_zip IN VARCHAR2,
728 p_state IN VARCHAR2,
729 p_phone IN VARCHAR2,
730 p_org IN VARCHAR2,
731 p_purch_site IN VARCHAR2,
732 p_pay_site IN VARCHAR2,
733 p_rfq_site IN VARCHAR2,
734 p_pc_site IN VARCHAR2,
735 p_vat_code IN VARCHAR2
736 ) IS
737 l_return_status VARCHAR2(1);
738 l_msg_count NUMBER;
739 l_msg_data VARCHAR2(2000);
740 BEGIN
741 IF (l_Debug_Level <= 2) THEN
742 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Sync_VendorSite', 2);
743 END IF;
744
745 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
746 IF (l_Debug_Level <= 1) THEN
747 itg_debug_pub.Add('wSVS - Calling ITG_SyncSupplierInbound_PVT.Sync_VendorSite API',1);
748 END IF;
749
750 ITG_SyncSupplierInbound_PVT.Sync_VendorSite(
751 x_return_status => l_return_status,
752 x_msg_count => l_msg_count,
753 x_msg_data => l_msg_data,
754 p_addrline1 => p_addrline1,
755 p_addrline2 => p_addrline2,
756 p_addrline3 => p_addrline3,
757 p_addrline4 => p_addrline4,
758 p_city => p_city,
759 p_country => p_country,
760 p_county => p_county,
761 p_site_code => p_site_code,
762 p_fax => p_fax,
763 p_zip => p_zip,
764 p_state => p_state,
765 p_phone => p_phone,
766 p_org => p_org,
767 p_purch_site => p_purch_site,
768 p_pay_site => p_pay_site,
769 p_rfq_site => p_rfq_site,
770 p_pc_site => p_pc_site,
771 p_vat_code => p_vat_code,
772 p_vinfo_rec => g_vinfo_rec
773 );
774
775 --do not check return status since vendor sync is success
776 g_process_vendor_contact := false;
777 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
778 g_process_vendor_contact := true;
779 END IF;
780 ELSE
781 IF (l_Debug_Level <= 1) THEN
782 itg_debug_pub.Add('wSVS - Skipping API', 1);
783 END IF;
784 END IF;
785
786 IF (l_Debug_Level <= 2) THEN
787 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_VendorSite', 2);
788 END IF;
789
790 EXCEPTION
791 WHEN OTHERS THEN
792 ITG_Debug.msg('Unexpected error in wrapper(Vendor-site sync) - ' || substr(SQLERRM,1,255),true);
793 itg_msg.unexpected_error('Vendor-site sync');
794 g_process_vendor_contact := false;
795
796 IF (l_Debug_Level <= 6) THEN
797 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_VendorSite : OTHER ERROR', 6);
798 END IF;
799
800 END Sync_VendorSite;
801
802
803
804
805 PROCEDURE Sync_VendorContact(
806 p_title IN VARCHAR2,
807 p_first_name IN VARCHAR2,
808 p_middle_name IN VARCHAR2,
809 p_last_name IN VARCHAR2,
810 p_phone IN VARCHAR2,
811 p_site_code IN VARCHAR2
812 ) IS
813 l_return_status VARCHAR2(1);
814 l_msg_count NUMBER;
815 l_msg_data VARCHAR2(2000);
816 BEGIN
817 IF (l_Debug_Level <= 2) THEN
818 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Sync_VendorContact', 2);
819 END IF;
820
821 IF g_return_status = FND_API.G_RET_STS_SUCCESS and g_process_vendor_contact THEN
822 IF (l_Debug_Level <= 1) THEN
823 itg_debug_pub.Add('wSVC - Calling ITG_SyncSupplierInbound_PVT.Sync_VendorContact API', 1);
824 END IF;
825
826 ITG_SyncSupplierInbound_PVT.Sync_VendorContact(
827 x_return_status => l_return_status,
828 x_msg_count => l_msg_count,
829 x_msg_data => l_msg_data,
830 p_title => p_title,
831 p_first_name => p_first_name,
832 p_middle_name => p_middle_name,
833 p_last_name => p_last_name,
834 p_phone => p_phone,
835 p_site_code => p_site_code,
836 p_vinfo_rec => g_vinfo_rec
837 );
838
839 --do not check return status since vendor sync is success
840 ELSE
841 IF (l_Debug_Level <= 1) THEN
842 itg_debug_pub.Add('wSVC - Skipping ITG_SyncSupplierInbound_PVT.Sync_VendorContact API' ,1);
843 END IF;
844 END IF;
845
846 IF (l_Debug_Level <= 2) THEN
847 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_VendorContact', 2);
848 END IF;
849
850 EXCEPTION
851 WHEN OTHERS THEN
852 ITG_Debug.msg('Unexpected error in wrapper(Vendor-contact sync) - ' || substr(SQLERRM,1,255),true);
853 itg_msg.unexpected_error('Vendor-contact sync');
854 g_process_vendor_contact := false;
855
856 IF (l_Debug_Level <= 6) THEN
857 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_VendorContact : OTHER ERROR', 6);
858 END IF;
859
860 END Sync_VendorContact;
861
862
863
864 /* Wrap ITG_SyncItemInbound_PVT from itgvsii?.pls */
865 PROCEDURE Sync_Item(
866 p_syncind IN VARCHAR2,
867 p_org_id IN NUMBER,
868 p_hazrdmatl IN VARCHAR2,
869 p_create_date IN DATE,
870 p_item IN VARCHAR2,
871 p_uom IN VARCHAR2,
872 p_itemdesc IN VARCHAR2,
873 p_itemstatus IN VARCHAR2,
874 p_itemtype IN VARCHAR2,
875 p_rctrout IN VARCHAR2,
876 p_commodity1 IN VARCHAR2,
877 p_commodity2 IN VARCHAR2
878 ) IS
879 l_return_status VARCHAR2(1);
880 l_msg_count NUMBER;
881 l_msg_data VARCHAR2(2000);
882 BEGIN
883 IF (l_Debug_Level <= 2) THEN
884 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Sync_Item', 2);
885 END IF;
886
887 g_org := p_org_id;
888 IF g_return_status = FND_API.G_RET_STS_SUCCESS AND
889 NOT ITG_OrgEff_PVT.Check_Effective(
890 p_organization_id => g_org,
891 p_cln_doc_type => g_clntyp,
892 p_doc_direction => 'S') THEN
893 g_return_status := FND_API.G_RET_STS_ERROR;
894 ITG_MSG.orgeff_check_failed;
895 END IF;
896
897 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
898 IF (l_Debug_Level <= 1) THEN
899 itg_debug_pub.Add('wSI - Calling ITG_SyncItemInbound_PVT.Sync_Item API' ,1);
900 END IF;
901
902
903 ITG_SyncItemInbound_PVT.Sync_Item(
904 x_return_status => l_return_status,
905 x_msg_count => l_msg_count,
906 x_msg_data => l_msg_data,
907 p_syncind => p_syncind,
908 p_org_id => p_org_id,
909 p_hazrdmatl => p_hazrdmatl,
910 p_create_date => p_create_date,
911 p_item => p_item,
912 p_uom => p_uom,
913 p_itemdesc => p_itemdesc,
914 p_itemstatus => p_itemstatus,
915 p_itemtype => p_itemtype,
916 p_rctrout => p_rctrout,
917 p_commodity1 => p_commodity1,
918 p_commodity2 => p_commodity2
919 );
920 check_return_status('Sync_Item', l_return_status);
921 ELSE
922 IF (l_Debug_Level <= 1) THEN
923 itg_debug_pub.Add('wSI - Skipping API' ,1);
924 END IF;
925 END IF;
926
927 IF (l_Debug_Level <= 2) THEN
928 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_Item', 2);
929 END IF;
930
931 EXCEPTION
932 WHEN OTHERS THEN
933 ITG_Debug.msg('Unexpected error in wrapper(Item sync) - ' || substr(SQLERRM,1,255),true);
934 itg_msg.unexpected_error('Item sync');
935 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
936
937 IF (l_Debug_Level <= 6) THEN
938 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_Item : OTHER ERROR', 6);
939 END IF;
940 END Sync_Item;
941
942
943 PROCEDURE Process_PoNumber(
944 p_reqid IN NUMBER,
945 p_reqlinenum IN NUMBER,
946 p_poid IN NUMBER,
947 p_org IN NUMBER
948 ) IS
949 l_return_status VARCHAR2(1);
950 l_msg_count NUMBER;
951 l_msg_data VARCHAR2(2000);
952 BEGIN
953 IF (l_Debug_Level <= 2) THEN
954 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Process_PoNumber', 2);
955 END IF;
956
957 g_org := p_org;
958 IF g_return_status = FND_API.G_RET_STS_SUCCESS AND
959 NOT ITG_OrgEff_PVT.Check_Effective(
960 p_organization_id => g_org,
961 p_cln_doc_type => g_clntyp,
962 p_doc_direction => 'S') THEN
963 g_return_status := FND_API.G_RET_STS_ERROR;
964 ITG_MSG.orgeff_check_failed;
965 END IF;
966
967
968 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
969 IF (l_Debug_Level <= 1) THEN
970 itg_debug_pub.Add('wPPN - Calling API' ,1);
971 END IF;
972
973 ITG_SyncFieldInbound_PVT.Process_PoNumber(
974 x_return_status => l_return_status,
975 x_msg_count => l_msg_count,
976 x_msg_data => l_msg_data,
977
978 p_reqid => p_reqid,
979 p_reqlinenum => p_reqlinenum,
980 p_poid => p_poid,
981 p_org => p_org
982 );
983 check_return_status('Process_PoNumber', l_return_status);
984 ELSE
985 IF (l_Debug_Level <= 1) THEN
986 itg_debug_pub.Add('wPPN - Skipping API' ,1);
987 END IF;
988 END IF;
989
990 IF (l_Debug_Level <= 2) THEN
991 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Process_PoNumber', 2);
992 END IF;
993 EXCEPTION
994 WHEN OTHERS THEN
995 ITG_Debug.msg('Unexpected error in wrapper(Field sync) - ' || substr(SQLERRM,1,255),true);
996 itg_msg.unexpected_error('Field sync');
997 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
998
999 IF (l_Debug_Level <= 6) THEN
1000 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Process_PoNumber : OTHER ERROR', 6);
1001 END IF;
1002 END Process_PoNumber;
1003
1004
1005
1006 /* Wrap ITG_SyncUOMInbound_PVT from itgvsui?.pls */
1007 PROCEDURE Sync_UOM_ALL(
1008 p_task IN VARCHAR2,
1009 p_syncind IN VARCHAR2,
1010 p_uom IN VARCHAR2,
1011 p_uomcode IN VARCHAR2,
1012 p_uomclass IN VARCHAR2,
1013 p_buomflag IN VARCHAR2,
1014 p_description IN VARCHAR2,
1015 p_defconflg IN VARCHAR2,
1016 p_fromcode IN VARCHAR2,
1017 p_touomcode IN VARCHAR2,
1018 p_itemid IN NUMBER,
1019 p_fromfactor IN VARCHAR2,
1020 p_tofactor IN VARCHAR2,
1021 p_dt_creation IN DATE,
1022 p_dt_expiration IN DATE
1023 ) IS
1024 l_return_status VARCHAR2(1);
1025 l_msg_count NUMBER;
1026 l_msg_data VARCHAR2(2000);
1027
1028 BEGIN
1029 IF (l_Debug_Level <= 2) THEN
1030 itg_debug_pub.Add('Entering ITG_BOAPI_Wrappers.Sync_UOM_ALL', 2);
1031 END IF;
1032
1033 IF NOT ITG_OrgEff_PVT.Check_Effective(
1034 p_organization_id => g_org,
1035 p_cln_doc_type => g_clntyp,
1036 p_doc_direction => 'S') THEN
1037
1038 g_return_status := FND_API.G_RET_STS_ERROR;
1039 ITG_MSG.orgeff_check_failed;
1040 END IF;
1041
1042 IF g_return_status = FND_API.G_RET_STS_SUCCESS THEN
1043 IF (l_Debug_Level <= 1) THEN
1044 itg_debug_pub.Add('wSUA - Calling ITG_SyncUOMInbound_PVT.Sync_UOM_All API' ,1);
1045 END IF;
1046
1047 ITG_SyncUOMInbound_PVT.Sync_UOM_All(
1048 x_return_status => l_return_status,
1049 x_msg_count => l_msg_count,
1050 x_msg_data => l_msg_data,
1051 p_task => p_task,
1052 p_syncind => p_syncind,
1053 p_uom => p_uom,
1054 p_uomcode => p_uomcode,
1055 p_uomclass => p_uomclass,
1056 p_buomflag => p_buomflag,
1057 p_description => p_description,
1058 p_defconflg => p_defconflg,
1059 p_fromcode => p_fromcode,
1060 p_touomcode => p_touomcode,
1061 p_itemid => p_itemid,
1062 p_fromfactor => p_fromfactor,
1063 p_tofactor => p_tofactor,
1064 p_dt_creation => p_dt_creation,
1065 p_dt_expiration => p_dt_expiration
1066 );
1067 check_return_status('Sync_UOM_ALL', l_return_status);
1068 ELSE
1069 IF (l_Debug_Level <= 1) THEN
1070 itg_debug_pub.Add('wSUA - Skipping ITG_SyncUOMInbound_PVT.Sync_UOM_All API' ,1);
1071 END IF;
1072 END IF;
1073
1074 IF (l_Debug_Level <= 2) THEN
1075 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_UOM_ALL', 2);
1076 END IF;
1077 EXCEPTION
1078 WHEN OTHERS THEN
1079 ITG_Debug.msg('Unexpected error in wrapper(UOM sync) - ' || substr(SQLERRM,1,255),true);
1080 itg_msg.unexpected_error('UOM sync');
1081 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1082
1083 IF (l_Debug_Level <= 6) THEN
1084 itg_debug_pub.Add('Exiting ITG_BOAPI_Wrappers.Sync_UOM_ALL : OTHER ERROR', 6);
1085 END IF;
1086 END Sync_UOM_ALL;
1087
1088 BEGIN
1089 g_active := 0;
1090 END ITG_BOAPI_Wrappers;