DBA Data[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;