1 PACKAGE PV_MATCH_V3_PUB AUTHID CURRENT_USER AS
2 /* $Header: pvxmtv3s.pls 120.4 2006/05/23 22:00:59 dhii noship $*/
3
4
5 g_from_match_lov_flag BOOLEAN := FALSE;
6
7 -- --------------------------------------------------------------------
8 -- This is used for caching the rule-attribute-value information
9 -- for all the opportunity selection rules.
10 --
11 -- last_attr_flag is used for indicating the last attribute in the rule.
12 -- count is used for determining whether a attribute record is involved
13 -- in an AND/OR logic. If count = 1, the logic is AND. If count > 1,
14 -- the logic is OR.
15 -- --------------------------------------------------------------------
16 TYPE t_opp_selection_rec IS RECORD (
17 rank NUMBER,
18 process_rule_id NUMBER,
19 attribute_id NUMBER,
20 currency_code VARCHAR2(15),
21 operator VARCHAR2(30),
22 selection_criteria_id NUMBER,
23 attribute_value VARCHAR2(500),
24 attribute_to_value VARCHAR2(500),
25 last_attr_flag VARCHAR2(1),
26 count NUMBER
27 );
28
29 TYPE t_opp_selection_tab IS TABLE OF t_opp_selection_rec
30 INDEX BY BINARY_INTEGER;
31
32 g_opp_selection_tab t_opp_selection_tab;
33
34 Procedure Manual_match(
35 p_api_version_number IN NUMBER,
36 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
37 p_commit IN VARCHAR2 := FND_API.G_FALSE,
38 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
39 p_attr_id_tbl IN OUT NOCOPY JTF_NUMBER_TABLE,
40 p_attr_value_tbl IN OUT NOCOPY JTF_VARCHAR2_TABLE_4000,
41 p_attr_operator_tbl IN OUT NOCOPY JTF_VARCHAR2_TABLE_100,
42 p_attr_data_type_tbl IN OUT NOCOPY JTF_VARCHAR2_TABLE_100,
43 p_attr_selection_mode IN VARCHAR2,
44 p_att_delmter IN VARCHAR2,
45 p_selection_criteria IN VARCHAR2,
46 p_resource_id IN NUMBER,
47 p_lead_id IN NUMBER,
48 p_auto_match_flag IN VARCHAR2,
49 p_get_distance_flag IN VARCHAR2 := 'F',
50 x_return_status OUT NOCOPY VARCHAR2,
51 x_msg_count OUT NOCOPY NUMBER,
52 x_msg_data OUT NOCOPY VARCHAR2,
53 p_top_n_rows_by_profile IN VARCHAR2 := 'T'
54 );
55
56 PROCEDURE Partner_Selection(
57 p_api_version IN NUMBER,
58 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
59 p_commit IN VARCHAR2 := FND_API.g_false,
60 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
61 p_process_rule_id IN NUMBER,
62 p_entity_id IN NUMBER,
63 p_entity IN VARCHAR2,
64 p_user_name IN VARCHAR2 := NULL,
65 p_resource_id IN NUMBER := NULL,
66 p_routing_flag IN VARCHAR2,
67 x_partner_cnt OUT NOCOPY NUMBER,
68 x_return_status OUT NOCOPY VARCHAR2,
69 x_msg_count OUT NOCOPY NUMBER,
70 x_msg_data OUT NOCOPY VARCHAR2
71 );
72
73 PROCEDURE Clear_Rules_Cache;
74
75
76 PROCEDURE Opportunity_Selection(
77 p_api_version IN NUMBER,
78 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
79 p_commit IN VARCHAR2 := FND_API.g_false,
80 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
81 p_entity_id IN NUMBER,
82 p_entity IN VARCHAR2,
83 p_user_name IN VARCHAR2 := NULL,
84 p_resource_id IN NUMBER := NULL,
85 x_selected_rule_id OUT NOCOPY NUMBER,
86 x_matched_partner_count OUT NOCOPY NUMBER,
87 x_failure_code OUT NOCOPY VARCHAR2,
88 x_return_status OUT NOCOPY VARCHAR2,
89 x_msg_count OUT NOCOPY NUMBER,
90 x_msg_data OUT NOCOPY VARCHAR2
91 );
92
93 PROCEDURE Opportunity_Selection(
94 p_api_version IN NUMBER,
95 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
96 p_commit IN VARCHAR2 := FND_API.g_false,
97 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
98 p_entity_id IN NUMBER,
99 p_entity IN VARCHAR2,
100 p_user_name IN VARCHAR2 := NULL,
101 p_resource_id IN NUMBER := NULL,
102 p_routing_flag IN VARCHAR2 := 'N',
103 x_partner_cnt OUT NOCOPY NUMBER,
104 x_partner_details OUT NOCOPY JTF_VARCHAR2_TABLE_4000,
105 x_flagcount OUT NOCOPY JTF_VARCHAR2_TABLE_100,
106 x_distance_tbl OUT NOCOPY JTF_NUMBER_TABLE,
107 x_distance_uom_returned OUT NOCOPY VARCHAR2,
108 x_selected_rule_id OUT NOCOPY NUMBER,
109 x_return_status OUT NOCOPY VARCHAR2,
110 x_msg_count OUT NOCOPY NUMBER,
111 x_msg_data OUT NOCOPY VARCHAR2
112 );
113
114 Procedure Get_Matched_Partner_Details(
115 p_api_version_number IN NUMBER,
116 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
117 p_commit IN VARCHAR2 := FND_API.G_FALSE,
118 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
119 p_lead_id IN NUMBER,
120 p_matched_id IN OUT NOCOPY JTF_NUMBER_TABLE,
121 p_distance_tbl IN JTF_NUMBER_TABLE,
122 x_return_status OUT NOCOPY VARCHAR2,
123 x_msg_count OUT NOCOPY NUMBER,
124 x_msg_data OUT NOCOPY VARCHAR2
125 );
126
127 FUNCTION get_partner_types (partner_id NUMBER)
128 RETURN VARCHAR2;
129
130 FUNCTION get_attribute_value (attribute_id NUMBER ,partner_id NUMBER)
131 RETURN VARCHAR2;
132
133 FUNCTION get_metric_value(attribute_id NUMBER ,partner_id NUMBER)
134 RETURN NUMBER;
135
136 FUNCTION get_currency_metric_value(attribute_id NUMBER ,partner_id NUMBER)
137 RETURN VARCHAR2;
138
139 FUNCTION pref_partner_flag (p_lead_id NUMBER, p_partner_id NUMBER)
140 RETURN VARCHAR2;
141
142 FUNCTION lock_flag (p_lead_assign_id NUMBER, p_wf_item_key VARCHAR2)
143 RETURN VARCHAR2;
144
145 FUNCTION get_assign_status_meaning (p_lead_id NUMBER, p_partner_id NUMBER)
146 RETURN VARCHAR2;
147
148 END PV_MATCH_V3_PUB;