[Home] [Help]
859: IF l_apply_ppp_hold = 'Y' THEN
860:
861:
862: -- check for existing hold and apply hold if it doesn't exist already.
863: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
864: Apply_Prepayment_Hold ( p_header_id => l_header_rec.header_id
865: , p_hold_id => 13 -- Seed Id for PPP Hold
866: , p_msg_count => l_msg_count
867: , p_msg_data => l_msg_data
866: , p_msg_count => l_msg_count
867: , p_msg_data => l_msg_data
868: , p_return_status => l_return_status
869: );
870: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
871:
872: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
873:
874: IF l_debug_level > 0 THEN
880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
881: END IF;
882:
883: ELSIF l_epayment_failure_hold = 'Y' THEN
884: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
885: Apply_Prepayment_Hold ( p_header_id => l_header_rec.header_id
886: , p_hold_id => 14 -- Seed Id for PPP Hold
887: , p_msg_count => l_msg_count
888: , p_msg_data => l_msg_data
887: , p_msg_count => l_msg_count
888: , p_msg_data => l_msg_data
889: , p_return_status => l_return_status
890: );
891: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
892: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
893: RAISE FND_API.G_EXC_ERROR;
894: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
895: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
896: END IF;
897: ELSE
898: -- otherwise, call AR API to either create receipt or request refund.
899: -- check the installation status of IPayment
900: IF OE_GLOBALS.G_IPAYMENT_INSTALLED IS NULL THEN
901: OE_GLOBALS.G_IPAYMENT_INSTALLED := OE_GLOBALS.CHECK_PRODUCT_INSTALLED(673);
902: END IF;
903:
904: IF OE_GLOBALS.G_IPAYMENT_INSTALLED <> 'Y' THEN
897: ELSE
898: -- otherwise, call AR API to either create receipt or request refund.
899: -- check the installation status of IPayment
900: IF OE_GLOBALS.G_IPAYMENT_INSTALLED IS NULL THEN
901: OE_GLOBALS.G_IPAYMENT_INSTALLED := OE_GLOBALS.CHECK_PRODUCT_INSTALLED(673);
902: END IF;
903:
904: IF OE_GLOBALS.G_IPAYMENT_INSTALLED <> 'Y' THEN
905: IF l_debug_level > 0 THEN
900: IF OE_GLOBALS.G_IPAYMENT_INSTALLED IS NULL THEN
901: OE_GLOBALS.G_IPAYMENT_INSTALLED := OE_GLOBALS.CHECK_PRODUCT_INSTALLED(673);
902: END IF;
903:
904: IF OE_GLOBALS.G_IPAYMENT_INSTALLED <> 'Y' THEN
905: IF l_debug_level > 0 THEN
906: oe_debug_pub.add( 'OEXVPPYB: IPAYMENT IS NOT INSTALLED!' , 3 ) ;
907: END IF;
908: RETURN;
1056:
1057: -- check for existing hold and apply hold if it doesn't exist already.
1058: IF l_payment_response_error_code IN ('IBY_0001', 'IBY_0008') THEN
1059: -- need to apply epayment server failure hold (seeded id is 15).
1060: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
1061: Apply_Prepayment_Hold ( p_header_id => l_header_rec.header_id
1062: , p_hold_id => 15
1063: , p_msg_count => l_msg_count
1064: , p_msg_data => l_msg_data
1063: , p_msg_count => l_msg_count
1064: , p_msg_data => l_msg_data
1065: , p_return_status => l_return_status
1066: );
1067: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
1068: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1069: RAISE FND_API.G_EXC_ERROR;
1070: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1071: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1072: END IF;
1073: ELSE
1074: -- for any other payment_response_error_code, need to apply epayment
1075: -- failure hold (seeded hold id is 14).
1076: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
1077: Apply_Prepayment_Hold ( p_header_id => l_header_rec.header_id
1078: , p_hold_id => 14
1079: , p_msg_count => l_msg_count
1080: , p_msg_data => l_msg_data
1079: , p_msg_count => l_msg_count
1080: , p_msg_data => l_msg_data
1081: , p_return_status => l_return_status
1082: );
1083: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
1084:
1085: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1086: RAISE FND_API.G_EXC_ERROR;
1087: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1470: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1471: --
1472: BEGIN
1473: p_return_status := FND_API.G_RET_STS_SUCCESS;
1474: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
1475:
1476: IF l_debug_level > 0 THEN
1477: oe_debug_pub.add( 'OEXVPPYB: IN RELEASE PREPAYMENT HOLD' , 3 ) ;
1478: END IF;
1608: END IF;
1609: fnd_message.Set_Name('ONT', 'ONT_PMNT_SERVER_HOLD_RELEASED');
1610: oe_msg_pub.add;
1611: END IF;
1612: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
1613: EXCEPTION
1614:
1615: WHEN FND_API.G_EXC_ERROR THEN
1616: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
1612: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
1613: EXCEPTION
1614:
1615: WHEN FND_API.G_EXC_ERROR THEN
1616: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
1617: p_return_status := FND_API.G_RET_STS_ERROR;
1618: OE_MSG_PUB.Count_And_Get
1619: ( p_count => l_msg_count,
1620: p_data => l_msg_data
1620: p_data => l_msg_data
1621: );
1622:
1623: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1624: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
1625: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1626: OE_MSG_PUB.Count_And_Get
1627: ( p_count => l_msg_count,
1628: p_data => l_msg_data
1628: p_data => l_msg_data
1629: );
1630:
1631: WHEN OTHERS THEN
1632: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
1633: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1634: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1635: THEN
1636: FND_MSG_PUB.Add_Exc_Msg
1703: l_hold_source_rec.HOLD_ENTITY_CODE := 'O';
1704: l_hold_source_rec.HOLD_ENTITY_ID := l_hold_entity_id;
1705:
1706: IF p_hold_id in(13, 14, 15) THEN
1707: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
1708: l_hold_release_rec.release_reason_code := 'PREPAYMENT';
1709: l_hold_release_rec.release_comment := 'Prepayment has been processed. Hold released automatically.';
1710: ELSIF p_hold_id = 16 THEN
1711: l_hold_release_rec.release_reason_code := 'AUTH_EPAYMENT';
1723: );
1724:
1725: --8477694
1726: IF p_hold_id in(13, 14, 15) THEN
1727: OE_GLOBALS.G_SYS_HOLD := FALSE;
1728: END IF;
1729: --8477694
1730:
1731: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2055: IF l_debug_level > 0 THEN
2056: oe_debug_pub.add( 'OEXVPPYB: l_calling_action is: '||l_calling_action , 1 ) ;
2057: oe_debug_pub.add( 'OEXVPPYB: place order on PPP hold.' , 1 ) ;
2058: END IF;
2059: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
2060: Apply_Prepayment_Hold
2061: ( p_header_id => p_header_id
2062: ,p_hold_id => 13 -- Seed Id for PPP Hold
2063: ,p_msg_count => l_msg_count
2063: ,p_msg_count => l_msg_count
2064: ,p_msg_data => l_msg_data
2065: ,p_return_status => l_return_status
2066: );
2067: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
2068:
2069: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
2070: IF l_debug_level > 0 THEN
2071: oe_debug_pub.add( 'OEXVPPYB: ORDER IS PLACED ON PPP HOLD.' , 3 ) ;
2237: IF l_debug_level > 0 THEN
2238: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
2239: END IF;
2240: END LOOP;
2241: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
2242: Apply_Prepayment_Hold
2243: ( p_header_id => p_header_id
2244: ,p_hold_id => 15
2245: ,p_msg_count => l_msg_count
2245: ,p_msg_count => l_msg_count
2246: ,p_msg_data => l_msg_data
2247: ,p_return_status => l_return_status
2248: );
2249: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
2250: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2251: RAISE FND_API.G_EXC_ERROR;
2252: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2257: -- Apply payment failure hold (seeded hold id is 14);
2258: IF l_debug_level > 0 THEN
2259: oe_debug_pub.add( 'after create_receipt, applying payment failure hold.', 3 ) ;
2260: END IF;
2261: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
2262: Apply_Prepayment_Hold
2263: ( p_header_id => p_header_id
2264: ,p_hold_id => 14 -- payment failure Hold
2265: ,p_msg_count => l_msg_count
2265: ,p_msg_count => l_msg_count
2266: ,p_msg_data => l_msg_data
2267: ,p_return_status => l_return_status
2268: );
2269: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
2270: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2271: RAISE FND_API.G_EXC_ERROR;
2272: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2273: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2320: IF l_debug_level > 0 THEN
2321: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
2322: END IF;
2323: END LOOP;
2324: OE_GLOBALS.G_SYS_HOLD := TRUE; --8477694
2325: Apply_Prepayment_Hold
2326: ( p_header_id => p_header_id
2327: ,p_hold_id => 14 -- payment failure Hold
2328: ,p_msg_count => l_msg_count
2328: ,p_msg_count => l_msg_count
2329: ,p_msg_data => l_msg_data
2330: ,p_return_status => l_return_status
2331: );
2332: OE_GLOBALS.G_SYS_HOLD := FALSE; --8477694
2333: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2334: RAISE FND_API.G_EXC_ERROR;
2335: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2336: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2477:
2478: END IF;
2479: IF (oe_verify_payment_pub.G_credit_check_flag = 'N'
2480: AND NOT OE_Delayed_Requests_Pvt.Check_For_Request
2481: (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_PAYMENT
2482: ,p_entity_id => p_header_id
2483: ,p_request_type => OE_GLOBALS.G_PROCESS_PAYMENT
2484: )) THEN
2485: -- don't do credit checking , only authorization needs to be done.
2479: IF (oe_verify_payment_pub.G_credit_check_flag = 'N'
2480: AND NOT OE_Delayed_Requests_Pvt.Check_For_Request
2481: (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_PAYMENT
2482: ,p_entity_id => p_header_id
2483: ,p_request_type => OE_GLOBALS.G_PROCESS_PAYMENT
2484: )) THEN
2485: -- don't do credit checking , only authorization needs to be done.
2486: oe_verify_payment_pub.G_credit_check_flag := 'Y';
2487: RETURN;
2520:
2521:
2522: IF NOT (g_process_pmt_req_logged = 'Y'
2523: AND NOT OE_Delayed_Requests_Pvt.Check_For_Request
2524: (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_PAYMENT
2525: ,p_entity_id => p_header_id
2526: ,p_request_type => OE_GLOBALS.G_PROCESS_PAYMENT
2527: )
2528: AND p_delayed_request = 'N') or l_exists_prepay = 'Y' THEN -- 9132289
2522: IF NOT (g_process_pmt_req_logged = 'Y'
2523: AND NOT OE_Delayed_Requests_Pvt.Check_For_Request
2524: (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_PAYMENT
2525: ,p_entity_id => p_header_id
2526: ,p_request_type => OE_GLOBALS.G_PROCESS_PAYMENT
2527: )
2528: AND p_delayed_request = 'N') or l_exists_prepay = 'Y' THEN -- 9132289
2529:
2530: ------------- Begin Multi currency credit checking changes ----
2644:
2645: l_line_payment_tbl OE_ORDER_PUB.Line_Payment_Tbl_Type;
2646: l_x_old_Line_Payment_tbl OE_ORDER_PUB.Line_Payment_Tbl_Type;
2647: l_from_line_payment_tbl OE_ORDER_PUB.Line_Payment_Tbl_Type;
2648: l_control_rec OE_GLOBALS.Control_Rec_Type;
2649: l_return_status VARCHAR2(2000);
2650: i NUMBER;
2651: j NUMBER;
2652: l_org_id NUMBER;
2683: goto next_in_loop;
2684: END IF;
2685:
2686:
2687: l_line_payment_tbl(j).operation := OE_GLOBALS.G_OPR_CREATE;
2688: l_line_payment_tbl(j).header_id := p_header_id;
2689: l_line_payment_tbl(j).line_id := p_line_id;
2690: l_line_payment_tbl(j).payment_type_code := l_from_line_payment_tbl(i).payment_type_code;
2691: l_line_payment_tbl(j).payment_collection_event := l_from_line_payment_tbl(i).payment_collection_event;
3650: l_lock_line_id number;
3651: line_payment_type varchar2(30) := NULL;
3652:
3653:
3654: l_control_rec OE_GLOBALS.Control_Rec_Type;
3655: l_x_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
3656: l_x_Old_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
3657: l_commitment_id number;
3658: line_commitment_id number;
4053:
4054: --bug3781675 adding an IF-ELSE condition for create and update operations
4055: IF nvl(l_invoice_payment_exists,'N') = 'N' THEN
4056: l_x_Header_Payment_tbl(1).payment_number := l_max_payment_number+1;
4057: l_x_Header_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
4058:
4059: -- Defaulting of flex values is currently done by the form.
4060: -- Set flex attributes to NULL in order to avoid defaulting them.
4061:
4076: l_x_header_Payment_tbl(1).attribute15 := NULL;
4077: l_x_header_Payment_tbl(1).context := NULL;
4078: ELSE
4079: l_x_Header_Payment_tbl(1).payment_number := l_inv_payment_number;
4080: l_x_Header_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
4081: END IF;
4082:
4083: oe_debug_pub.add('PVIPRANA: l_x_Header_Payment_tbl(1).operation is '||l_x_Header_Payment_tbl(1).operation);
4084: l_x_Header_Payment_tbl(1).payment_type_code := p_payment_type_code;
4146: l_x_header_Payment_tbl(2).context := NULL;
4147:
4148: -- Set Operation to Create
4149:
4150: l_x_Header_Payment_tbl(2).operation := OE_GLOBALS.G_OPR_CREATE;
4151: l_x_Header_Payment_tbl(2).payment_type_code := p_payment_type_code;
4152: l_x_Header_Payment_tbl(2).payment_collection_event := p_payment_event;
4153: l_x_Header_Payment_tbl(2).payment_amount := p_payment_amount;
4154: l_x_Header_Payment_tbl(2).check_number := p_check_number;