39:
40: BEGIN
41:
42: if funcmode = 'RUN' then
43: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
44: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE,
45: lc_mod_name||'begin',
46: 'Entering Private API check_sr_details_wf');
47: END IF;
40: BEGIN
41:
42: if funcmode = 'RUN' then
43: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
44: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE,
45: lc_mod_name||'begin',
46: 'Entering Private API check_sr_details_wf');
47: END IF;
48: -- This parameter is coming from Workflow event.
55: OPEN get_business_process(g_incident_number);
56: FETCH get_business_process INTO g_business_process_id;
57: CLOSE get_business_process;
58:
59: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
60: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE,
61: lc_mod_name||'begin',
62: 'Business process retrieved is: '||g_business_process_id);
63: END IF;
56: FETCH get_business_process INTO g_business_process_id;
57: CLOSE get_business_process;
58:
59: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
60: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE,
61: lc_mod_name||'begin',
62: 'Business process retrieved is: '||g_business_process_id);
63: END IF;
64: -- Check if the business process used is depot repair. If it is depot repair then only continue
211: AND action_type='RMA';
212:
213: BEGIN
214:
215: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
216: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name||'begin',
217: 'Entering Private API create_ro_wf');
218: END IF;
219: -- fetch the item details.
212:
213: BEGIN
214:
215: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
216: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name||'begin',
217: 'Entering Private API create_ro_wf');
218: END IF;
219: -- fetch the item details.
220: OPEN item_details(g_incident_number);
258: -- bug#9581916, subhat.
259: -- derive the contract information.
260: fnd_profile.get('SERVER_TIMEZONE_ID', l_server_tz_id);
261:
262: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
263: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
264: 'Calling CSD_REPAIRS_UTIL.GET_ENTITLEMENTS to get contracts if any.');
265: END IF;
266: CSD_REPAIRS_UTIL.GET_ENTITLEMENTS(
259: -- derive the contract information.
260: fnd_profile.get('SERVER_TIMEZONE_ID', l_server_tz_id);
261:
262: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
263: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
264: 'Calling CSD_REPAIRS_UTIL.GET_ENTITLEMENTS to get contracts if any.');
265: END IF;
266: CSD_REPAIRS_UTIL.GET_ENTITLEMENTS(
267: p_api_version_number => 1.0,
306: l_contract_id := l_ent_contracts(1).contract_id;
307: END IF;
308: END IF;
309:
310: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
311: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
312: 'Contract derived is:'||nvl(l_contract_line_id,0));
313: END IF;
314:
307: END IF;
308: END IF;
309:
310: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
311: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
312: 'Contract derived is:'||nvl(l_contract_line_id,0));
313: END IF;
314:
315: -- we have to get the repair type id here. Because without repair type id
323:
324: l_rule_input_rec.ro_item_id := l_inventory_item_id;
325:
326: l_repair_type_id := null;
327: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
328: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
329: 'Calling CSD_RULES_ENGINE_PVT.GET_DEFAULT_VALUE_FROM_RULE to get default repair type');
330: END IF;
331:
324: l_rule_input_rec.ro_item_id := l_inventory_item_id;
325:
326: l_repair_type_id := null;
327: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
328: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
329: 'Calling CSD_RULES_ENGINE_PVT.GET_DEFAULT_VALUE_FROM_RULE to get default repair type');
330: END IF;
331:
332: CSD_RULES_ENGINE_PVT.GET_DEFAULT_VALUE_FROM_RULE(
344: x_msg_data => x_msg_data
345: );
346:
347: IF l_default_rule_id IS NULL THEN
348: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
349: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
350: 'No Default rules set up for repair type. Fetching it from profile');
351: END IF;
352: l_repair_type_id := FND_PROFILE.VALUE('CSD_DEFAULT_REPAIR_TYPE');
345: );
346:
347: IF l_default_rule_id IS NULL THEN
348: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
349: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
350: 'No Default rules set up for repair type. Fetching it from profile');
351: END IF;
352: l_repair_type_id := FND_PROFILE.VALUE('CSD_DEFAULT_REPAIR_TYPE');
353: END IF;
377: ELSIF ( l_profile_pl_id IS NOT NULL ) THEN
378: l_price_list_id := l_profile_pl_id;
379: END IF;
380:
381: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
382: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
383: 'Pricelist derived is:'||nvl(l_price_list_id,0));
384: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
385: 'Currency code derived is:'||nvl(l_currency_code,'N'));
378: l_price_list_id := l_profile_pl_id;
379: END IF;
380:
381: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
382: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
383: 'Pricelist derived is:'||nvl(l_price_list_id,0));
384: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
385: 'Currency code derived is:'||nvl(l_currency_code,'N'));
386: END IF;
380:
381: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
382: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
383: 'Pricelist derived is:'||nvl(l_price_list_id,0));
384: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
385: 'Currency code derived is:'||nvl(l_currency_code,'N'));
386: END IF;
387: -- if the contract line is not null then try to default resolve by date.
388: IF l_contract_line_id IS NOT NULL THEN
385: 'Currency code derived is:'||nvl(l_currency_code,'N'));
386: END IF;
387: -- if the contract line is not null then try to default resolve by date.
388: IF l_contract_line_id IS NOT NULL THEN
389: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
390: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
391: 'Deriving resolve by date');
392: END IF;
393: csd_repairs_util.get_contract_resolve_by_date(
386: END IF;
387: -- if the contract line is not null then try to default resolve by date.
388: IF l_contract_line_id IS NOT NULL THEN
389: IF (Fnd_Log.LEVEL_PROCEDURE >= Fnd_Log.G_CURRENT_RUNTIME_LEVEL) THEN
390: Fnd_Log.STRING(Fnd_Log.LEVEL_PROCEDURE, lc_mod_name,
391: 'Deriving resolve by date');
392: END IF;
393: csd_repairs_util.get_contract_resolve_by_date(
394: p_contract_line_id => l_contract_line_id,
411: IF mo_global.is_mo_init_done = 'N' THEN
412: mo_global.set_policy_context('S',l_org_id);
413: END IF;
414:
415: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
416: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'begin',
417: 'calling create repair order public API');
418: END IF;
419: -- API call to create the repair orders.
412: mo_global.set_policy_context('S',l_org_id);
413: END IF;
414:
415: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
416: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'begin',
417: 'calling create repair order public API');
418: END IF;
419: -- API call to create the repair orders.
420:
506:
507: --call create Logistics procedure if repair id is not standard
508:
509:
510: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
511: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'begin',
512: 'calling create default product transactions API');
513: END IF;
514:
507: --call create Logistics procedure if repair id is not standard
508:
509:
510: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
511: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'begin',
512: 'calling create default product transactions API');
513: END IF;
514:
515: csd_process_pvt.create_default_prod_txn
556: END IF;
557:
558: notes_message := fnd_message.get;
559:
560: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
561: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'begin','calling create JTF Notes API');
562: END IF;
563:
564: JTF_NOTES_PUB.Create_note
557:
558: notes_message := fnd_message.get;
559:
560: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
561: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'begin','calling create JTF Notes API');
562: END IF;
563:
564: JTF_NOTES_PUB.Create_note
565: (
666: p_data => x_msg_data);
667: IF x_msg_count > 1 THEN
668: FOR i IN 1 ..x_msg_count
669: LOOP
670: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
671: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'exception','Error count('||x_msg_count||') Error msg: '||fnd_msg_pub.get(p_msg_index => i));
672: END IF;
673: END LOOP;
674: ELSE
667: IF x_msg_count > 1 THEN
668: FOR i IN 1 ..x_msg_count
669: LOOP
670: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
671: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'exception','Error count('||x_msg_count||') Error msg: '||fnd_msg_pub.get(p_msg_index => i));
672: END IF;
673: END LOOP;
674: ELSE
675: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
671: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'exception','Error count('||x_msg_count||') Error msg: '||fnd_msg_pub.get(p_msg_index => i));
672: END IF;
673: END LOOP;
674: ELSE
675: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
676: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'exception','Error '||x_msg_data);
677: END IF;
678: END IF;
679: WF_CORE.CONTEXT ('CSD_ISUP_DEPOT_WF_PVT','create_ro_wf', itemtype,itemkey, to_char(actid),funcmode);
672: END IF;
673: END LOOP;
674: ELSE
675: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
676: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'exception','Error '||x_msg_data);
677: END IF;
678: END IF;
679: WF_CORE.CONTEXT ('CSD_ISUP_DEPOT_WF_PVT','create_ro_wf', itemtype,itemkey, to_char(actid),funcmode);
680: ROLLBACK;
681: RAISE;
682: WHEN l_prod_exception THEN
683: fnd_msg_pub.count_and_get(p_count => x_msg_count,
684: p_data => x_msg_data);
685: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
686: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'exception','Error '||x_msg_data);
687: END IF;
688: WF_CORE.CONTEXT ('CSD_ISUP_DEPOT_WF_PVT','create_ro_wf', itemtype,itemkey, to_char(actid),funcmode);
689: ROLLBACK;
682: WHEN l_prod_exception THEN
683: fnd_msg_pub.count_and_get(p_count => x_msg_count,
684: p_data => x_msg_data);
685: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
686: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,lc_mod_name||'exception','Error '||x_msg_data);
687: END IF;
688: WF_CORE.CONTEXT ('CSD_ISUP_DEPOT_WF_PVT','create_ro_wf', itemtype,itemkey, to_char(actid),funcmode);
689: ROLLBACK;
690: RAISE;