1 PACKAGE AS_SALES_ORG_MANAGER_PVT AUTHID CURRENT_USER as
2 /* $Header: asxvsoms.pls 115.7 2002/12/16 05:31:23 nkamble ship $ */
3
4 -- Start of Comments
5 --
6 -- NAME
7 -- AS_SALES_ORG_MANAGER_PVT
8 --
9 -- PURPOSE
10 -- This package is a private API for generic commodity api's that is used
11 -- across OSM.
12 --
13 -- Procedures:
14 -- Get_Sales_groups
15 -- Get_Salesreps
16 -- Get_CurrentUser
17 --
18
19 --
20 -- HISTORY
21 -- 7/31/98 ALHUNG created
22 --
23 -- End of Comments
24
25 G_NO_RELATION CONSTANT NUMBER := 0;
26 G_FIRSTLINE_MANAGER CONSTANT NUMBER := 1;
27 G_HIGHER_MANAGER CONSTANT NUMBER := 2;
28 G_IDENTICAL_SALESFORCE CONSTANT NUMBER := 3;
29 G_SALESREP CONSTANT NUMBER := 4;
30
31 -- Start of Comments
32 --
33 -- API name : Get_Sales_groups
34 -- Type : Private
35 -- Function : Return record the sales groups given criteria
36 --
37 -- Pre-reqs : None
38 -- Paramaeters :
39 -- IN :
40 -- p_api_version_number IN NUMBER Required
41 -- p_identity_salesforce_id IN NUMBER Optional
42 -- Default = NULL
43 -- p_init_msg_list IN VARCHAR2 Optional
44 -- Default = FND_API.G_FALSE
45 -- p_sales_group_rec IN AS_SALES_GROUP_PUB.SALES_GROUP_REC_TYPE
46 --
47 -- OUT :
48 -- x_return_status OUT VARCHAR2(1)
49 -- x_msg_count OUT NUMBER
50 -- x_msg_data OUT VARCHAR2(2000)
51 -- x_sales_group_tbl OUT AS_SALES_GROUP_PUB.SALES_GROUP_TBL_TYPE
52 --
53 -- Version : Current version 1.0
54 -- Initial version 1.0
55 --
56 --
57 --
58 -- Business Rules:
59 --
60 -- Notes:
61 -- 1. Criteria considered: sales_group_id, sales_group_name
62
63 PROCEDURE Get_Sales_groups
64 ( p_api_version_number IN NUMBER,
65 p_init_msg_list IN VARCHAR2
66 := FND_API.G_FALSE,
67 p_SALES_GROUP_rec IN AS_SALES_GROUP_PUB.SALES_GROUP_rec_Type,
68
69 x_return_status OUT NOCOPY VARCHAR2,
70 x_msg_count OUT NOCOPY NUMBER,
71 x_msg_data OUT NOCOPY VARCHAR2,
72 x_SALES_GROUP_tbl OUT NOCOPY AS_SALES_GROUP_PUB.SALES_GROUP_tbl_Type );
73
74 -- Start of Comments
75 --
76 -- API name : Get_CurrentUser
77 -- Type : Private
78 -- Function : Return salesforce_id of the person who is currently
79 -- using the system
80 --
81 -- Pre-reqs : None
82 -- Paramaeters :
83 -- IN :
84 -- p_api_version_number IN NUMBER Required
85 -- p_identity_salesforce_id IN NUMBER Optional
86 -- Default = NULL
87 -- p_init_msg_list IN VARCHAR2 Optional
88 -- Default = FND_API.G_FALSE
89 --
90 -- OUT :
91 -- x_return_status OUT VARCHAR2(1)
92 -- x_msg_count OUT NUMBER
93 -- x_msg_data OUT VARCHAR2(2000)
94 -- x_salesforce_id OUT NUMBER
95 --
96 -- Version : Current version 1.0
97 -- Initial version 1.0
98 --
99 --
100 --
101 -- Business Rules: 1. This procedure first use FND_Global.User_Id to identify the user.
102 -- If this is not possible, it uses the passed in parameter.
103 --
104 -- Notes: 1. Currently, if a user_id happens to map to >1 employee, the first one found
105 -- is used.
106
107 PROCEDURE Get_CurrentUser
108 ( p_api_version_number IN NUMBER,
109 p_init_msg_list IN VARCHAR2
110 := FND_API.G_FALSE,
111 p_salesforce_id IN NUMBER,
112 p_admin_group_id IN NUMBER,
113 x_return_status OUT NOCOPY VARCHAR2,
114 x_msg_count OUT NOCOPY NUMBER,
115 x_msg_data OUT NOCOPY VARCHAR2,
116 x_sales_member_rec OUT NOCOPY AS_SALES_MEMBER_PUB.Sales_member_rec_Type );
117
118
119 -- Start of Comments
120 --
121 -- API name : Get_Salesreps
122 -- Type : Private
123 -- Function : Return record the person given criteria
124 --
125 -- Pre-reqs : None
126 -- Paramaeters :
127 -- IN :
128 -- p_api_version_number IN NUMBER Required
129 -- p_identity_salesforce_id IN NUMBER Optional
130 -- Default = NULL
131 -- p_init_msg_list IN VARCHAR2 Optional
132 -- Default = FND_API.G_FALSE
133 --
134 -- OUT :
135 -- x_return_status OUT VARCHAR2(1)
136 -- x_msg_count OUT NUMBER
137 -- x_msg_data OUT VARCHAR2(2000)
138 -- x_salesforce_id OUT NUMBER
139 --
140 -- Version : Current version 1.0
141 -- Initial version 1.0
142 --
143 --
144 --
145 -- Business Rules:
146 --
147 -- Available Criteria: Salesforce_id, Type, Employee_Person_Id, Salesgroup_id
148 -- Partner_Address_Id, Partner_Customer_id, Last_name
149 -- First_name, Email_Address
150 -- Notes:
151 -- 1. When using Type as a criteria, supply one of the global variables:
152 -- G_EMPLOYEE_SALES_MEMBER, G_PARTNER_SALES_MEMBER, G_OTHER_SALES_MEMBER
153 -- defined in AS_SALES_MEMBER_PUB
154 --
155 --
156 --
157
158 PROCEDURE Get_Sales_members
159 ( p_api_version_number IN NUMBER,
160 p_init_msg_list IN VARCHAR2
161 := FND_API.G_FALSE,
162 p_sales_member_rec IN AS_SALES_MEMBER_PUB.Sales_member_rec_Type,
163
164 x_return_status OUT NOCOPY VARCHAR2,
165 x_msg_count OUT NOCOPY NUMBER,
166 x_msg_data OUT NOCOPY VARCHAR2,
167 x_sales_member_tbl OUT NOCOPY AS_SALES_MEMBER_PUB.Sales_member_tbl_Type );
168
169 -- Start of Comments
170 --
171 -- Function name : Get_Sales_Relation
172 -- Type : Private
173 -- Function : Return relation between two sales: Firstline manager(G_FIRSTLINE_MANAGER)
174 -- higher level manager(G_HIGHER_MANAGER) and no relationship between them
175 -- (G_NO_RELATION).
176 --
177 -- Pre-reqs : None
178 -- Paramaeters :
179 -- p_identity_salesforce_id IN NUMBER Required
180 -- p_salesrep_salesforce_id IN NUMBER Optional
181 -- DEFAULT FND_API.G_MISS_NUM
182 -- Version :
183 --
184 --
185 -- Note :
186 -- Cases:
187 -- 1. If p_salesrep_salesforce_id is NULL or FND_API.G_MISS_NUM, this function will
188 -- take p_identity_salesforce_id as a root and check all relations under it and
189 -- determine if p_identity_salesforce_id is the firstline manager or not.
190 -- 2. If p_salesrep_salesforce_id is not NULL, the function will only check the
191 -- relation between them.
192 -- Example:
193 -- Give the relation map like this:
194 -- Manager A
195 -- |
196 -- / \
197 -- / \
198 -- Sales rep B Manager C
199 -- |
200 -- Sales rep D
201 -- For above example, if you pass in Manager A as p_identity_salesforce_id, and not pass in
202 -- p_salesrep_salesforce_id, Manager A will be higher level manager
203 -- if you pass in Manager A as p_identity_salesforce_id, and Sales rep B as p_salesrep_salesforce_id
204 -- Manager A will be firstline manager.
205 /*
206 FUNCTION Get_Sales_Relations
207 ( p_identity_salesforce_id IN NUMBER,
208 p_salesrep_salesforce_id IN NUMBER DEFAULT FND_API.G_MISS_NUM
209 ) RETURN NUMBER;
210 */
211 -- This function is to fix bug 855326
212 -- Check what the relation between a salesforce and a sales group
213 -- The possible return value is
214 -- E -- The salesforce is a salesrep in this sales group
215 -- M -- The salesforce is a manager for this sales group
216 -- A -- The salesforce is a administrator for this sales group
217 -- N -- The salesforce is no relation with this sales group
218 FUNCTION Get_Member_Role(p_salesforce_id NUMBER,
219 p_sales_group_id NUMBER) RETURN VARCHAR2;
220
221 END AS_SALES_ORG_MANAGER_PVT;