[Home] [Help]
PACKAGE BODY: APPS.AMS_SCR_LEAD_PVT
Source
1 PACKAGE BODY AMS_SCR_LEAD_PVT AS
2 /* $Header: amsvsldb.pls 115.4 2003/12/01 07:56:23 sodixit noship $ */
3 -- ===============================================================
4 -- Package name
5 -- AMS_SCR_LEAD_PVT
6 -- Purpose
7 -- This package contains APIs used for creating Sales Lead
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- ===============================================================
14
15 -- Default number of records fetch per call
16 G_DEFAULT_NUM_REC_FETCH NUMBER := 30;
17 G_B2C_PARTY_TYPE VARCHAR2(10) := 'B2C';
18 G_B2B_PARTY_TYPE VARCHAR2(10) := 'B2B';
19 --===================================================================
20 -- API Name
21 -- CREATE_SALES_LEAD
22 -- Type
23 -- Private
24 -- Pre-Req
25 --
26 -- Parameters
27 --
28 -- IN
29 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
30 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
31 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
32 -- p_dlg_ctx_field_list_obj IN AMS_DLG_CTX_FIELD_LIST_T Required
33 -- p_flow_component_id IN Number
34 --
35 -- OUT
36 -- x_return_status OUT VARCHAR2
37 -- x_msg_count OUT NUMBER
38 -- x_msg_data OUT VARCHAR2
39 -- ==============================================================================
40 --
41
42 PROCEDURE CREATE_SALES_LEAD(
43 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
44 p_commit IN VARCHAR2 := FND_API.G_FALSE,
45 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
46 p_party_type IN VARCHAR2,
47 p_scr_lead_rec IN scr_lead_rec_type := g_miss_lead_rec,
48 p_camp_sch_source_code IN VARCHAR2,
49 x_return_status OUT NOCOPY VARCHAR2,
50 x_msg_count OUT NOCOPY NUMBER,
51 x_msg_data OUT NOCOPY VARCHAR2,
52 p_party_id IN NUMBER,
53 p_org_party_id IN NUMBER,
54 p_org_rel_party_id IN NUMBER
55 )
56 IS
57 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Sales_Lead';
58 l_party_type varchar2(30);
59 l_batch_id number;
60 l_contact_party_id number;
61 l_party_id number;
62 l_person_party_id number;
63 l_org_party_id number;
64 l_rel_party_id number;
65
66 cursor c_get_batch_id
67 is
68 select as_import_interface_s.nextval
69 from dual;
70
71 cursor c_get_party_ids (l_rel_party_id in number)
72 is
73 select subject_id person_party_id, object_id org_party_id
74 from hz_relationships
75 where party_id = l_rel_party_id
76 and
77 relationship_type = 'CONTACT'
78 and
79 directional_flag = 'F'
80 and
81 relationship_code = 'CONTACT_OF';
82
83 BEGIN
84
85 x_return_status := 'S';
86
87 --insert into ams_script_tmp
88 --values('p_party_id='||p_party_id, sysdate);
89
90 open c_get_batch_id;
91 fetch c_get_batch_id into l_batch_id;
92 close c_get_batch_id;
93
94 if (p_party_type = G_B2C_PARTY_TYPE) then
95 if p_party_id IS NOT NULL
96 then
97 l_party_id := p_party_id;
98
99 --insert into ams_script_tmp
100 --values('B2C partyId='||p_party_type, sysdate);
101 end if;
102 l_party_type := 'PERSON';
103 elsif (p_party_type = G_B2B_PARTY_TYPE) then
104 if p_party_id IS NOT NULL
105 then
106 open c_get_party_ids(p_party_id);
107 fetch c_get_party_ids into l_person_party_id, l_org_party_id;
108 close c_get_party_ids;
109
110 -- insert into ams_script_tmp
111 -- values('B2B partyId='||p_party_type, sysdate);
112
113 l_party_id := l_org_party_id;
114 l_contact_party_id := l_person_party_id;
115 end if;
116
117 l_party_type := 'ORGANIZATION';
118
119 end if;
120
121 --insert into ams_script_tmp
122 --values('p_party_type='||p_party_type, sysdate);
123
124 INSERT INTO
125 AS_IMPORT_INTERFACE
126 (
127 IMPORT_INTERFACE_ID,
128 CREATED_BY,
129 CREATION_DATE,
130 LAST_UPDATED_BY,
131 LAST_UPDATE_DATE,
132 LAST_UPDATE_LOGIN,
133 LOAD_TYPE,
134 LOAD_DATE,
135 LOAD_STATUS,
136 STATUS_CODE,
137 PROMOTION_CODE,
138 BATCH_ID,
139 SOURCE_SYSTEM,
140 CUSTOMER_NAME,
141 CUSTOMER_TYPE,
142 FIRST_NAME,
143 LAST_NAME,
144 EMAIL_ADDRESS,
145 PHONE_NUMBER,
146 PHONE_TYPE,
147 ADDRESS1,
148 ADDRESS2,
149 ADDRESS3,
150 ADDRESS4,
151 CITY,
152 STATE,
153 POSTAL_CODE,
154 COUNTRY,
155 BUDGET_AMOUNT,
156 CURRENCY_CODE,
157 BUDGET_STATUS_CODE,
158 DECISION_TIMEFRAME_CODE,
159 CONTACT_ROLE_CODE,
160 category_id_1, --bug3287870; modified interest_type_id_1 to category_type_id
161 PARTY_ID,
162 CONTACT_PARTY_ID,
163 PARTY_TYPE
164 )
165 VALUES
166 (
167 l_batch_id,
168 FND_GLOBAL.USER_ID,
169 sysdate,
170 FND_GLOBAL.USER_ID,
171 sysdate,
172 FND_GLOBAL.USER_ID,
173 'LEAD_LOAD',
174 sysdate,
175 'NEW',
176 'NEW',
177 p_camp_sch_source_code,
178 l_batch_id,
179 'MARKETING',
180 p_scr_lead_rec.ORGANIZATION,
181 l_party_type,
182 p_scr_lead_rec.FIRST_NAME,
183 p_scr_lead_rec.LAST_NAME,
184 p_scr_lead_rec.EMAIL_ADDRESS,
185 p_scr_lead_rec.DAY_PHONE_NUMBER,
186 'GEN',
187 p_scr_lead_rec.ADDRESS1,
188 p_scr_lead_rec.ADDRESS2,
189 p_scr_lead_rec.ADDRESS3,
190 p_scr_lead_rec.ADDRESS4,
191 p_scr_lead_rec.CITY,
192 p_scr_lead_rec.STATE,
193 p_scr_lead_rec.POSTAL_CODE,
194 p_scr_lead_rec.COUNTRY,
195 p_scr_lead_rec.BUDGET_AMOUNT,
196 p_scr_lead_rec.BUDGET_CURRENCY_CODE,
197 p_scr_lead_rec.BUDGET_STATUS_CODE,
198 p_scr_lead_rec.PURCHASING_TIME_FRAME,
199 p_scr_lead_rec.CONTACT_ROLE_CODE,
200 p_scr_lead_rec.INTEREST_TYPE,
201 l_party_id,
202 l_contact_party_id,
203 l_party_type
204 );
205
206 EXCEPTION
207
208 WHEN OTHERS THEN
209 RAISE;
210
211 END CREATE_SALES_LEAD;
212
213 END AMS_SCR_LEAD_PVT;