41: -- 11/18/2002 SOLIN Bug 2671964.
42: -- Creation date attribute doesn't work.
43: -- In cursor C_Get_Lead_Info, append '000000', instead
44: -- of '0000'
45: -- 12/17/2002 SOLIN Change for as_sales_leads.lead_rank_ind and
46: -- as_sales_leads_log.manual_rank_flag
47: -- 01/09/2003 SOLIN Bug 2740032
48: -- Obsolete profiles AS_RUN_NEW_LEAD_ENGINES,
49: -- AS_AUTO_QUALIFY, AS_RANK_LEAD_OPTION
42: -- Creation date attribute doesn't work.
43: -- In cursor C_Get_Lead_Info, append '000000', instead
44: -- of '0000'
45: -- 12/17/2002 SOLIN Change for as_sales_leads.lead_rank_ind and
46: -- as_sales_leads_log.manual_rank_flag
47: -- 01/09/2003 SOLIN Bug 2740032
48: -- Obsolete profiles AS_RUN_NEW_LEAD_ENGINES,
49: -- AS_AUTO_QUALIFY, AS_RANK_LEAD_OPTION
50: -- 01/16/2003 SOLIN Remove Start_Partner_Matching.
152: P_Sales_Lead_Id IN NUMBER,
153: -- ckapoor Phase 2 filtering project 11.5.10
154: -- P_Is_Create_Mode IN VARCHAR2,
155:
156: X_Lead_Engines_Out_Rec OUT NOCOPY AS_SALES_LEADS_PUB.Lead_Engines_Out_Rec_Type,
157: X_Return_Status OUT NOCOPY VARCHAR2,
158: X_Msg_Count OUT NOCOPY NUMBER,
159: X_Msg_Data OUT NOCOPY VARCHAR2
160: )
165: SL.QUALIFIED_FLAG, SL.PARENT_PROJECT,
166: SL.CHANNEL_CODE, SL.DECISION_TIMEFRAME_CODE, SL.BUDGET_AMOUNT,
167: SL.BUDGET_STATUS_CODE, SL.SOURCE_PROMOTION_ID, SL.STATUS_CODE,
168: SL.REJECT_REASON_CODE, SL.LEAD_RANK_ID
169: FROM AS_SALES_LEADS SL
170: WHERE SL.SALES_LEAD_ID = C_Sales_Lead_Id;
171:
172: -- Retrieve channel type
173: CURSOR c_get_indirect_channel_flag(c_channel_code VARCHAR2) IS
177:
178: l_api_name CONSTANT VARCHAR2(30)
179: := 'Run_Lead_Engines';
180: l_api_version_number CONSTANT NUMBER := 2.0;
181: l_sales_lead_rec AS_SALES_LEADS_PUB.SALES_LEAD_Rec_Type;
182:
183: l_return_status VARCHAR2(1);
184: l_count INTEGER DEFAULT 0;
185: l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
273: -- Bug 2740032
274: -- Before 11.5.9,
275: -- 1. If profile AS_RUN_NEW_LEAD_ENGINES='Y', run Qualify_Lead,
276: -- Rate_Select_Lead, otherwise, run
277: -- AS_SALES_LEADS_PVT.IS_LEAD_QUALIFIED, AS_SCORECARD_PUB.Get_Score
278: -- 2. Call qualification engine only when profile AS_AUTO_QUALIFY='Y'
279: -- 3. Call ranking engine or rating engine only when profile
280: -- AS_RANK_LEAD_OPTION='SYSTEM'
281: --
384: x_lead_engines_out_rec.lead_rank_id :=
385: l_sales_lead_rec.lead_rank_id;
386: -- ckapoor Disqualification project call sales lead table handler to save this value of lead_rank_id
387:
388: AS_SALES_LEADS_LOG_PKG.Insert_Row(
389: px_log_id => l_sales_lead_log_id ,
390: p_sales_lead_id => p_sales_lead_id,
391: p_created_by => fnd_global.user_id,
392: p_creation_date => SYSDATE,
408: p_qualified_flag => l_sales_lead_rec.qualified_flag,
409: p_category => NULL,
410: p_manual_rank_flag => 'N');
411:
412: UPDATE as_sales_leads
413: SET lead_rank_id = l_sales_lead_rec.lead_rank_id,
414: lead_rank_ind = 'N'
415: WHERE sales_lead_id = p_sales_lead_id;
416:
553: ( p_count => x_msg_count,
554: p_data => x_msg_data );
555:
556: EXCEPTION
557: -- WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
558: -- RAISE AS_SALES_LEADS_PUB.Filter_Exception;
559:
560: WHEN FND_API.G_EXC_ERROR THEN
561: AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
554: p_data => x_msg_data );
555:
556: EXCEPTION
557: -- WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
558: -- RAISE AS_SALES_LEADS_PUB.Filter_Exception;
559:
560: WHEN FND_API.G_EXC_ERROR THEN
561: AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
562: P_API_NAME => L_API_NAME
635: CNT.EMAIL_ADDRESS
636: -- ckapoor Phase 2 Filtering 11.5.10. Find the mode of caller
637: -- , SL.IMPORT_FLAG
638:
639: FROM AS_SALES_LEADS SL, HZ_PARTIES PARTY, HZ_CONTACT_POINTS CNT
640: WHERE SL.SALES_LEAD_ID = C_Sales_Lead_Id
641: AND SL.CUSTOMER_ID = PARTY.PARTY_ID
642: AND SL.PRIMARY_CNT_PERSON_PARTY_ID = CNT.OWNER_TABLE_ID(+)
643: AND CNT.OWNER_TABLE_NAME(+) = 'HZ_PARTIES'
648:
649: CURSOR C_Get_Area_Code(C_Sales_Lead_ID NUMBER) IS
650:
651: select phone_area_code from HZ_CONTACT_POINTS phone,
652: as_sales_leads lead , hz_parties party
653: where
654: lead.sales_lead_id = C_Sales_Lead_ID
655: and ((lead.customer_id = party.party_id and party.party_type = 'PERSON'
656: and PHONE.OWNER_TABLE_NAME='HZ_PARTIES' and PHONE.OWNER_TABLE_ID=lead.customer_id
687:
688:
689: -- ckapoor Campaign setup type project
690: Cursor C_Get_Campaign_Setup_Type(c_sales_lead_id NUMBER) IS
691: select sc.custom_setup_id from ams_p_source_codes_v sc, as_sales_leads sl
692: where
693: sl.sales_lead_id = c_sales_lead_id and sl.source_promotion_id = sc.source_code_id;
694:
695:
692: where
693: sl.sales_lead_id = c_sales_lead_id and sl.source_promotion_id = sc.source_code_id;
694:
695:
696: /* select v.custom_setup_id from as_sales_leads sl,
697: (
698: select cs.custom_setup_id custom_setup_id, sc.source_code_id
699: from ams_campaign_schedules_vl cs, ams_source_codes sc , ams_custom_setups_vl csv
700: where cs.source_code = sc.source_code and csv.object_type = 'CSCH' and csv.custom_setup_id = cs.custom_setup_id
1900: -- 'Match qual case');
1901:
1902: -- AS_UTILITY_PVT.Debug_Message( FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1903: -- 'Filtering error raised from API');
1904: -- raise AS_SALES_LEADS_PUB.Filter_Exception;
1905: -- end if;
1906: -- end if;
1907:
1908:
2093:
2094:
2095: IF p_process_type = G_LEAD_RATING
2096: THEN
2097: AS_SALES_LEADS_LOG_PKG.Insert_Row(
2098: px_log_id => l_sales_lead_log_id ,
2099: p_sales_lead_id => p_sales_lead_id,
2100: p_created_by => fnd_global.user_id,
2101: p_creation_date => SYSDATE,
2117: p_qualified_flag => l_qualified_flag,
2118: p_category => NULL,
2119: p_manual_rank_flag => 'N');
2120:
2121: UPDATE as_sales_leads
2122: SET lead_rank_ind = 'N'
2123: WHERE sales_lead_id = p_sales_lead_id;
2124:
2125: -- ckapoor : disqualification project
2125: -- ckapoor : disqualification project
2126: ELSIF p_process_type = G_LEAD_QUALIFICATION -- qualification case
2127: THEN
2128:
2129: AS_SALES_LEADS_LOG_PKG.Insert_Row(
2130: px_log_id => l_sales_lead_log_id ,
2131: p_sales_lead_id => p_sales_lead_id,
2132: p_created_by => fnd_global.user_id,
2133: p_creation_date => SYSDATE,
2203: p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
2204: p_msg_name => 'AS_NO_DEFAULT_RATING');
2205: END IF;
2206:
2207: AS_SALES_LEADS_LOG_PKG.Insert_Row(
2208: px_log_id => l_sales_lead_log_id ,
2209: p_sales_lead_id => p_sales_lead_id,
2210: p_created_by => fnd_global.user_id,
2211: p_creation_date => SYSDATE,
2227: p_qualified_flag => l_qualified_flag,
2228: p_category => NULL,
2229: p_manual_rank_flag => 'N');
2230:
2231: UPDATE as_sales_leads
2232: SET lead_rank_id = l_default_lead_rank_id,
2233: lead_rank_ind = 'N'
2234: WHERE sales_lead_id = p_sales_lead_id;
2235:
2250: p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
2251: p_msg_name => 'AS_NO_DEFAULT_CHANNEL');
2252: END IF;
2253:
2254: UPDATE as_sales_leads
2255: SET channel_code = l_default_channel_code
2256: WHERE sales_lead_id = p_sales_lead_id;
2257:
2258: x_action_value := l_default_channel_code;
2273:
2274: l_default_qualified_flag := 'N';
2275: END IF;
2276:
2277: UPDATE as_sales_leads
2278: SET qualified_flag = l_default_qualified_flag
2279: WHERE sales_lead_id = p_sales_lead_id;
2280:
2281: x_action_value := l_default_qualified_flag;
2338: -- AS_UTILITY_PVT.Debug_Message( FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2339: -- 'Default qual case');
2340: -- AS_UTILITY_PVT.Debug_Message( FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2341: -- 'Filtering error raised from API');
2342: -- raise AS_SALES_LEADS_PUB.Filter_Exception;
2343: -- end if;
2344: -- end if;
2345:
2346:
2349: END IF;
2350:
2351: -- Update LEAD_ENGINE_RUN_DATE
2352: -- Invoke table handler(Sales_Lead_Update_Row)
2353: AS_SALES_LEADS_PKG.Sales_Lead_Update_Row(
2354: p_SALES_LEAD_ID => p_SALES_LEAD_ID,
2355: p_LAST_UPDATE_DATE => SYSDATE,
2356: p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
2357: p_CREATION_DATE => FND_API.G_MISS_DATE,
2467: FETCH c_get_rank_score INTO l_lead_rank_score;
2468: CLOSE c_get_rank_score;
2469: END IF;
2470:
2471: UPDATE as_sales_leads
2472: SET lead_rank_score = l_lead_rank_score
2473: WHERE sales_lead_id = p_sales_lead_id;
2474:
2475: UPDATE as_accesses_all
2501: p_data => x_msg_data );
2502:
2503: EXCEPTION
2504:
2505: -- WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
2506: -- RAISE AS_SALES_LEADS_PUB.Filter_Exception;
2507: -- --RAISE_APPLICATION_ERROR(-20100, 'Filter Exception'));
2508:
2509: WHEN FND_API.G_EXC_ERROR THEN
2502:
2503: EXCEPTION
2504:
2505: -- WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
2506: -- RAISE AS_SALES_LEADS_PUB.Filter_Exception;
2507: -- --RAISE_APPLICATION_ERROR(-20100, 'Filter Exception'));
2508:
2509: WHEN FND_API.G_EXC_ERROR THEN
2510: AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2560: l_api_name CONSTANT VARCHAR2(30)
2561: := 'Lead_Process_After_Create';
2562: l_api_version_number CONSTANT NUMBER := 2.0;
2563: l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
2564: l_lead_engines_out_rec AS_SALES_LEADS_PUB.Lead_Engines_Out_Rec_Type;
2565: L_Sales_Lead_Profile_Tbl AS_UTILITY_PUB.Profile_Tbl_Type;
2566: l_opportunity_id NUMBER;
2567: l_customer_id NUMBER;
2568: l_address_id NUMBER;
2579:
2580: CURSOR C_Get_Lead_Info(C_Sales_Lead_Id NUMBER) IS
2581: SELECT SL.CUSTOMER_ID, SL.ADDRESS_ID, SL.REFERRAL_TYPE,
2582: SL.ASSIGN_TO_SALESFORCE_ID, SL.STATUS_CODE
2583: FROM AS_SALES_LEADS SL
2584: WHERE SL.SALES_LEAD_ID = C_Sales_Lead_Id;
2585:
2586: CURSOR C_Get_Person(C_Resource_Id NUMBER) IS
2587: SELECT source_id
2724: ELSE
2725: -- incubation lead
2726: IF l_assign_to_salesforce_id IS NULL
2727: THEN
2728: AS_SALES_LEADS_PUB.ROUTE_LEAD_TO_MARKETING(
2729: P_Api_Version_Number => 2.0,
2730: P_Init_Msg_List => FND_API.G_FALSE,
2731: P_Commit => FND_API.G_FALSE,
2732: P_Validation_Level => P_Validation_Level,
2965: END IF;
2966:
2967: EXCEPTION
2968:
2969: -- WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
2970: -- RAISE AS_SALES_LEADS_PUB.Filter_Exception;
2971:
2972: WHEN FND_API.G_EXC_ERROR THEN
2973: AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2966:
2967: EXCEPTION
2968:
2969: -- WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
2970: -- RAISE AS_SALES_LEADS_PUB.Filter_Exception;
2971:
2972: WHEN FND_API.G_EXC_ERROR THEN
2973: AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2974: P_API_NAME => L_API_NAME
3023: := 'Lead_Process_After_Update';
3024: l_api_version_number CONSTANT NUMBER := 2.0;
3025: l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
3026: l_auto_run_lead_engines VARCHAR2(1);
3027: l_lead_engines_out_rec AS_SALES_LEADS_PUB.Lead_Engines_Out_Rec_Type;
3028: L_Sales_Lead_Profile_Tbl AS_UTILITY_PUB.Profile_Tbl_Type;
3029: l_opportunity_id NUMBER;
3030: l_customer_id NUMBER;
3031: l_address_id NUMBER;
3060: SELECT SL.CUSTOMER_ID, SL.ADDRESS_ID, SL.REFERRAL_TYPE,
3061: SL.ASSIGN_TO_SALESFORCE_ID, SL.QUALIFIED_FLAG,
3062: SL.LEAD_RANK_ID, SL.CHANNEL_CODE, SL.STATUS_CODE,
3063: SL.REJECT_REASON_CODE
3064: FROM AS_SALES_LEADS SL
3065: WHERE SL.SALES_LEAD_ID = C_Sales_Lead_Id;
3066:
3067: -- Retrieve channel type
3068: CURSOR c_get_indirect_channel_flag(c_channel_code VARCHAR2) IS
3083: WHERE resource_id = c_resource_id;
3084:
3085: CURSOR C_Get_Open_Status_Flag(c_sales_lead_id NUMBER) IS
3086: SELECT lead.status_code, sta.opp_open_status_flag
3087: FROM as_statuses_b sta, as_sales_leads lead
3088: WHERE lead.sales_lead_id = c_sales_lead_id
3089: AND lead.status_code = sta.status_code
3090: AND sta.lead_flag = 'Y';
3091:
3093: -- swkhanna Jun17,03
3094: -- also added lead_rank_id in select clause
3095: CURSOR C_Get_Log(C_Sales_Lead_Id NUMBER) IS
3096: SELECT creation_date, assign_to_salesforce_id, lead_rank_id
3097: FROM as_sales_leads_log
3098: WHERE sales_lead_id = c_sales_lead_id
3099: ORDER BY log_id DESC;
3100:
3101: BEGIN
3275: p_sales_lead_id, l_request_id);
3276: END IF;
3277: ELSE
3278: -- lead with incubation channel
3279: AS_SALES_LEADS_PUB.ROUTE_LEAD_TO_MARKETING(
3280: P_Api_Version_Number => 2.0,
3281: P_Init_Msg_List => FND_API.G_FALSE,
3282: P_Commit => FND_API.G_FALSE,
3283: P_Validation_Level => P_Validation_Level,
3602: END IF;
3603:
3604: EXCEPTION
3605:
3606: -- WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
3607: -- RAISE AS_SALES_LEADS_PUB.Filter_Exception;
3608:
3609: WHEN FND_API.G_EXC_ERROR THEN
3610: AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3603:
3604: EXCEPTION
3605:
3606: -- WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
3607: -- RAISE AS_SALES_LEADS_PUB.Filter_Exception;
3608:
3609: WHEN FND_API.G_EXC_ERROR THEN
3610: AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3611: P_API_NAME => L_API_NAME