1 PACKAGE pv_opp_match_pub AUTHID CURRENT_USER AS
2 /* $Header: pvxvomps.pls 120.3 2006/01/10 13:50:34 amaram noship $ */
3
4 -- ========================================================================
5 -- Global Variables Declaration
6 -- ========================================================================
7 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PV_OPP_MATCH_PUB';
8
9 -- --------------------------------------------------------------------
10 -- This is used for caching the rule-attribute-value information
11 -- for all the opportunity selection rules.
12 --
13 -- last_attr_flag is used for indicating the last attribute in the rule.
14 -- count is used for determining whether a attribute record is involved
15 -- in an AND/OR logic. If count = 1, the logic is AND. If count > 1,
16 -- the logic is OR.
17 -- --------------------------------------------------------------------
18 TYPE t_opp_selection_rec IS RECORD (
19 rank NUMBER,
20 process_rule_id NUMBER,
21 attribute_id NUMBER,
22 currency_code VARCHAR2(15),
23 operator VARCHAR2(30),
24 selection_criteria_id NUMBER,
25 attribute_value VARCHAR2(500),
26 attribute_to_value VARCHAR2(500),
27 last_attr_flag VARCHAR2(1),
28 count NUMBER
29 );
30
31 TYPE t_opp_selection_tab IS TABLE OF t_opp_selection_rec
32 INDEX BY BINARY_INTEGER;
33
34 g_opp_selection_tab t_opp_selection_tab;
35
36
37 -- ========================================================================
38 -- Procedure Declaration
39 -- ========================================================================
40 -- --------------------------------------------------------------------
41 -- Opportunity/Rule Selection API
42 -- --------------------------------------------------------------------
43 PROCEDURE Opportunity_Selection(
44 p_api_version IN NUMBER,
45 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
46 p_commit IN VARCHAR2 := FND_API.g_false,
47 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
48 p_entity_id IN NUMBER,
49 p_entity IN VARCHAR2,
50 p_user_name IN VARCHAR2 := NULL,
51 p_resource_id IN NUMBER := NULL,
52 x_selected_rule_id OUT NOCOPY NUMBER,
53 x_matched_partner_count OUT NOCOPY NUMBER,
54 x_failure_code OUT NOCOPY VARCHAR2,
55 x_return_status OUT NOCOPY VARCHAR2,
56 x_msg_count OUT NOCOPY NUMBER,
57 x_msg_data OUT NOCOPY VARCHAR2
58 );
59
60 PROCEDURE Opportunity_Selection(
61 p_api_version IN NUMBER,
62 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
63 p_commit IN VARCHAR2 := FND_API.g_false,
64 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
65 p_entity_id IN NUMBER,
66 p_entity IN VARCHAR2,
67 p_user_name IN VARCHAR2 := NULL,
68 p_resource_id IN NUMBER := NULL,
69 p_routing_flag IN VARCHAR2 := 'N',
70 x_partner_tbl OUT NOCOPY JTF_NUMBER_TABLE,
71 x_partner_details OUT NOCOPY JTF_VARCHAR2_TABLE_4000,
72 x_flagcount OUT NOCOPY JTF_VARCHAR2_TABLE_100,
73 x_distance_tbl OUT NOCOPY JTF_NUMBER_TABLE,
74 x_distance_uom_returned OUT NOCOPY VARCHAR2,
75 x_selected_rule_id OUT NOCOPY NUMBER,
76 x_return_status OUT NOCOPY VARCHAR2,
77 x_msg_count OUT NOCOPY NUMBER,
78 x_msg_data OUT NOCOPY VARCHAR2
79 );
80
81 -- --------------------------------------------------------------------
82 -- Cache all the ACTIVE Opportunity Selection rules in the system.
83 -- --------------------------------------------------------------------
84 PROCEDURE Cache_Rules;
85
86 -- --------------------------------------------------------------------
87 -- Used for clearing the PL/SQL table that stores Opportunity Selection
88 -- Rules.
89 -- --------------------------------------------------------------------
90 PROCEDURE Clear_Rules_Cache;
91
92
93 -- --------------------------------------------------------------------
94 -- Partner Selection API
95 -- --------------------------------------------------------------------
96 PROCEDURE Partner_Selection(
97 p_api_version IN NUMBER,
98 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
99 p_commit IN VARCHAR2 := FND_API.g_false,
100 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
101 p_process_rule_id IN NUMBER,
102 p_entity_id IN NUMBER,
103 p_entity IN VARCHAR2,
104 p_user_name IN VARCHAR2 := NULL,
105 p_resource_id IN NUMBER := NULL,
106 p_routing_flag IN VARCHAR2,
107 p_incumbent_partner_only IN VARCHAR2 := 'N',
108 x_partner_tbl OUT NOCOPY JTF_NUMBER_TABLE,
109 x_partner_details OUT NOCOPY JTF_VARCHAR2_TABLE_4000,
110 x_flagcount OUT NOCOPY JTF_VARCHAR2_TABLE_100,
111 x_distance_tbl OUT NOCOPY JTF_NUMBER_TABLE,
112 x_distance_uom_returned OUT NOCOPY VARCHAR2,
113 x_return_status OUT NOCOPY VARCHAR2,
114 x_msg_count OUT NOCOPY NUMBER,
115 x_msg_data OUT NOCOPY VARCHAR2
116 );
117
118 END pv_opp_match_pub;