DBA Data[Home] [Help]

PACKAGE: APPS.AS_INTEREST_PVT

Source


1 PACKAGE AS_INTEREST_PVT AUTHID CURRENT_USER as
2 /* $Header: asxvints.pls 115.17 2003/11/13 10:11:14 gbatra ship $ */
3 
4 --
5 -- NAME
6 --   AS_INTEREST_PVT
7 --
8 -- PURPOSE
9 --   This is a private API used to create interests (Company Classifications,
10 --  Contact Interests, or Lead Classifications).
11 --
12 -- NOTES
13 --   Create_Interest is a private OSM routine, that should not be called by modules
14 --   outside of OSM
15 --
16 --   Although multiple interest records can be passed to the create_interest API,
17 --   all of the interest records in an interest table must be of the same interest type
18 --   (i.e. all company classifications).
19 --
20 --
21 -- HISTORY
22 --   11/12/96   JKORNBER                Created
23 --   08/28/98   AWU         Add update_interest
24 --                  Add interest_id, customer_id, address_id,
25 --                  contact_id and lead_id into
26 --                  interest record
27 --                  Changed interest rec default value NULL to
28 --                  FND_API.G_MISS for update purpose
29 --   11/03/03   GBATRA                Product Hierarchy Uptake
30 --
31 
32 
33 -- Start of Comments
34 --
35 --  Interest Record (Account Classification, Contact Interest, Lead Classification): interest_rec_type
36 --
37 --  Parameters:
38 --      Product Category Id         Valid category_id from eni_prod_den_hrchy_parents_v denonted as
39 --                                  correct classification product category
40 --      Product Category Set Id     Valid category_set_id from from eni_prod_den_hrchy_parents_v
41 --      Status Code                 Valid status code from as_interest_statuses
42 --      Description                 Free format text
43 --
44 --  Required
45 --      Product Category Id and Product Category Set Id
46 --
47 --
48 -- End of Comments
49 
50 TYPE interest_rec_type      IS RECORD
51     (   interest_id         NUMBER      := FND_API.G_MISS_NUM,
52         customer_id         NUMBER      := FND_API.G_MISS_NUM,
53         address_id          NUMBER      := FND_API.G_MISS_NUM,
54         contact_id          NUMBER      := FND_API.G_MISS_NUM,
55         lead_id             NUMBER      := FND_API.G_MISS_NUM,
56         interest_type_id        NUMBER      := FND_API.G_MISS_NUM,
57         last_update_date            DATE            := FND_API.G_MISS_DATE,
58         last_updated_by            NUMBER            := FND_API.G_MISS_NUM,
59         creation_date                DATE            := FND_API.G_MISS_DATE,
60         created_by                    NUMBER            := FND_API.G_MISS_NUM,
61         last_update_login           NUMBER            := FND_API.G_MISS_NUM,
62         primary_interest_code_id    NUMBER      := FND_API.G_MISS_NUM,
63         secondary_interest_code_id  NUMBER      := FND_API.G_MISS_NUM,
64         status_code         VARCHAR2(30)    := FND_API.G_MISS_CHAR,
65         status              VARCHAR2(80)    := FND_API.G_MISS_CHAR,
66         description         VARCHAR2(240)   := FND_API.G_MISS_CHAR,
67         ATTRIBUTE_CATEGORY      VARCHAR2(30)    := FND_API.G_MISS_CHAR,
68         ATTRIBUTE1          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
69         ATTRIBUTE2          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
70         ATTRIBUTE3          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
71         ATTRIBUTE4          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
72         ATTRIBUTE5          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
73         ATTRIBUTE6          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
74         ATTRIBUTE7          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
75         ATTRIBUTE8          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
76         ATTRIBUTE9          VARCHAR2(150)   := FND_API.G_MISS_CHAR,
77         ATTRIBUTE10         VARCHAR2(150)   := FND_API.G_MISS_CHAR,
78         ATTRIBUTE11         VARCHAR2(150)   := FND_API.G_MISS_CHAR,
79         ATTRIBUTE12         VARCHAR2(150)   := FND_API.G_MISS_CHAR,
80         ATTRIBUTE13         VARCHAR2(150)   := FND_API.G_MISS_CHAR,
81         ATTRIBUTE14         VARCHAR2(150)   := FND_API.G_MISS_CHAR,
82         ATTRIBUTE15         VARCHAR2(150)   := FND_API.G_MISS_CHAR,
83         product_category_id             NUMBER      := FND_API.G_MISS_NUM,
84         product_cat_set_id              NUMBER      := FND_API.G_MISS_NUM
85     );
86 
87 G_MISS_INTEREST_REC     interest_rec_type;
88 
89 -- Start of Comments
90 --
91 --  Interest Table: interest_tbl_type
92 --
93 -- End of Comments
94 
95 TYPE interest_tbl_type      IS TABLE OF interest_rec_type
96                 INDEX BY BINARY_INTEGER;
97 
98 G_MISS_INTEREST_TBL     interest_tbl_type;
99 
100 
101 
102 -- Start of Comments
103 --
104 --  Interest Out Record: interest_out_rec_type
105 --
106 --
107 -- End of Comments
108 
109 TYPE interest_out_rec_type  IS RECORD
110     (   interest_id         NUMBER,
111         return_status           VARCHAR2(1)
112     );
113 
114 
115 -- Start of Comments
116 --
117 --  Interest Out Table: interest_out_tbl_type
118 --
119 --
120 -- End of Comments
121 
122 TYPE interest_out_tbl_type  IS TABLE OF interest_out_rec_type
123                 INDEX BY BINARY_INTEGER;
124 
125 
126 -- Start of Comments
127 --
128 --  API name    : Create Interest
129 --  Type        : Private
130 --  Function    : Create Account, Contact, or Lead Classification Interest
131 --  Pre-reqs    : Account, contact, or lead exists
132 --  Parameters
133 --  IN      :
134 --          p_api_version_number    IN  NUMBER      Required
135 --          p_init_msg_list     IN  VARCHAR2    Optional
136 --              Default = FND_API.G_FALSE
137 --          p_commit            IN  VARCHAR2    Optional
138 --              Default = FND_API.G_FALSE
139 --          p_validation_level  IN  NUMBER      Optional
140 --              Default = FND_API.G_VALID_LEVEL_FULL
141 --          p_interest_tbl      IN INTEREST_TBL_TYPE    Optional
142 --          p_customer_id       IN  NUMBER      Required
143 --          p_address_id        IN  NUMBER      Required
144 --          p_contact_id        IN  NUMBER      Optional
145 --          p_lead_id       IN  NUMBER      Optional
146 --          p_interest_use_code IN  VARCHAR2    Required
147 --              (LEAD_CLASSIFICATION, COMPANY_CLASSIFICATION,
148 --               CONTACT_INTEREST)
149 --
150 --  OUT     :
151 --          p_return_status     OUT VARCHAR2(1)
152 --          p_msg_count     OUT NUMBER
153 --          p_msg_data      OUT VARCHAR2(2000)
154 --          p_interest_out_tbl  OUT INTEREST_OUT_TBL_TYPE
155 --
156 --
157 --  Version :   Current version 1.0
158 --              Initial Version
159 --           Initial version    1.0
160 --
161 --  Notes:      OSM API to load interests.
162 --          Validation proceeds as follows:
163 --              For lead classification: lead_id, customer_id,
164 --                  address_id must exist
165 --              For contact interest: contact_id, customer_id,
166 --                  address_id must exists
167 --              For account interest: customer_id, address_id must exists
168 --          For each interest, the interest type must be denoted properly
169 --              (i.e. for inserting lead classifications, the interest
170 --              type must be denoted as a lead classification interest)
171 --
172 --
173 -- End of Comments
174 
175 PROCEDURE Create_Interest
176 (   p_api_version_number    IN  NUMBER,
177     p_init_msg_list     IN  VARCHAR2    := FND_API.G_FALSE,
178     p_commit            IN      VARCHAR2    := FND_API.G_FALSE,
179     p_validation_level  IN  NUMBER      := FND_API.G_VALID_LEVEL_FULL,
180     p_interest_tbl      IN  INTEREST_TBL_TYPE := G_MISS_INTEREST_TBL,
181     p_customer_id       IN  NUMBER,
182     p_address_id        IN  NUMBER,
183     p_contact_id        IN  NUMBER,
184     p_lead_id       IN  NUMBER,
185     p_interest_use_code IN  VARCHAR2,
186     p_check_access_flag  IN VARCHAR2,
187     p_admin_flag         IN VARCHAR2,
188     p_admin_group_id     IN NUMBER,
189     p_identity_salesforce_id IN NUMBER,
190     p_access_profile_rec  IN  AS_ACCESS_PUB.ACCESS_PROFILE_REC_TYPE,
191     p_return_status     OUT NOCOPY  VARCHAR2,
192     p_msg_count     OUT NOCOPY  NUMBER,
193     p_msg_data      OUT NOCOPY  VARCHAR2,
194     p_interest_out_tbl  OUT NOCOPY  INTEREST_OUT_TBL_TYPE
195 );
196 
197 
198 -- Start of Comments
199 --
200 --  API name    : Update Interest
201 --  Type        : Private
202 --  Function    : Update Account, Contact, or Lead Classification Interest
203 --  Pre-reqs    : Account, contact, or lead exists
204 --  Parameters
205 --  IN      :
206 --          p_api_version_number    IN  NUMBER      Required
207 --          p_init_msg_list     IN  VARCHAR2    Optional
208 --              Default = FND_API.G_FALSE
209 --          p_commit            IN  VARCHAR2    Optional
210 --              Default = FND_API.G_FALSE
211 --          p_validation_level  IN  NUMBER      Optional
212 --              Default = FND_API.G_VALID_LEVEL_FULL
213 --          p_identity_salesforce_id  IN    NUMBER      Optional
214 --          p_interest_rec      IN INTEREST_REC_TYPE    Required
215 --          p_interest_use_code IN  VARCHAR2    Required
216 --              (LEAD_CLASSIFICATION, COMPANY_CLASSIFICATION,
217 --               CONTACT_INTEREST)
218 --
219 --  OUT     :
220 --          x_return_status     OUT VARCHAR2(1)
221 --          x_msg_count     OUT NUMBER
222 --          x_msg_data      OUT VARCHAR2(2000)
223 --          x_interest_id       OUT NUMBER
224 --
225 --
226 --  Version :   Current version 1.0
227 --              Initial Version
228 --           Initial version    1.0
229 --
230 --
231 PROCEDURE Update_Interest
232 (   p_api_version_number    IN  NUMBER,
233     p_init_msg_list     IN  VARCHAR2    := FND_API.G_FALSE,
234     p_commit            IN      VARCHAR2    := FND_API.G_FALSE,
235     p_validation_level  IN  NUMBER      :=FND_API.G_VALID_LEVEL_FULL,
236         p_identity_salesforce_id  IN    NUMBER      := NULL,
237     p_interest_rec      IN  INTEREST_REC_TYPE := G_MISS_INTEREST_REC,
238     p_interest_use_code IN  VARCHAR2,
239     p_check_access_flag  IN VARCHAR2,
240     p_admin_flag         IN VARCHAR2,
241     p_admin_group_id     IN NUMBER,
242     p_access_profile_rec  IN  AS_ACCESS_PUB.ACCESS_PROFILE_REC_TYPE,
243     x_return_status     OUT NOCOPY  VARCHAR2,
244     x_msg_count     OUT NOCOPY  NUMBER,
245     x_msg_data      OUT NOCOPY  VARCHAR2,
246     x_interest_id       OUT NOCOPY     NUMBER
247 );
248 
249 PROCEDURE Delete_Interest
250 (   p_api_version_number    IN  NUMBER,
251     p_init_msg_list     IN  VARCHAR2    := FND_API.G_FALSE,
252     p_commit            IN      VARCHAR2    := FND_API.G_FALSE,
253     p_validation_level  IN  NUMBER      :=FND_API.G_VALID_LEVEL_FULL,
254         p_identity_salesforce_id  IN    NUMBER,
255     p_interest_rec      IN  INTEREST_REC_TYPE := G_MISS_INTEREST_REC,
256     p_interest_use_code IN  VARCHAR2,
257      p_check_access_flag   in  varchar2,
258      p_admin_flag          in  varchar2,
259      p_admin_group_id      in  number,
260      p_access_profile_rec  IN  AS_ACCESS_PUB.ACCESS_PROFILE_REC_TYPE,
261     x_return_status     OUT NOCOPY  VARCHAR2,
262     x_msg_count     OUT NOCOPY  NUMBER,
263     x_msg_data      OUT NOCOPY  VARCHAR2
264 );
265 
266 
267 PROCEDURE Validate_party_id (
268           p_init_msg_list       IN       VARCHAR2 := FND_API.G_FALSE,
269           p_party_id            IN       NUMBER,
270           x_return_status       OUT NOCOPY      VARCHAR2,
271           x_msg_count           OUT NOCOPY      NUMBER,
272           x_msg_data            OUT NOCOPY      VARCHAR2
273 );
274 
275 -- NOTES
276 -- Procedure validates interest type ids and returns SUCCESS if all ids are
277 -- valid, ERROR otherwise
278 -- Procedure assumes that at least the interest type exists
279 --
280 --   Currently not accessible by sources outside of OSM
281 --
282 PROCEDURE Validate_Int_Type_Fields (
283     p_interest_type_id      IN NUMBER,
284     p_primary_interest_code_id  IN NUMBER,
285     p_secondary_interest_code_id    IN NUMBER,
286     p_return_status         OUT NOCOPY VARCHAR2
287   );
288 
289 -- Procedure validates interest status and returns SUCCESS if status is
290 -- valid, ERROR otherwise
291 -- Procedure assumes that at least the interest type exists
292 --
293 PROCEDURE Validate_Int_Status (  p_interest_type_id            IN  NUMBER,
294                                  p_primary_interest_code_id    IN  NUMBER,
295                                  p_secondary_interest_code_id  IN  NUMBER,
296                                  p_interest_status_code        IN  VARCHAR2,
297                                  p_return_status               OUT NOCOPY VARCHAR2
298                               );
299 
300 -- Procedure validates interest status for product catalog and returns SUCCESS if status is
301 -- valid, ERROR otherwise
302 -- Procedure assumes that at least the product category exists
303 --
304 PROCEDURE Validate_Int_Status_For_PC (  p_product_category_id         IN  NUMBER,
305                                         p_product_cat_set_id          IN  NUMBER,
306                                         p_interest_status_code        IN  VARCHAR2,
307                                         p_return_status               OUT NOCOPY VARCHAR2
308                                       );
309 
310 END AS_INTEREST_PVT;