210: l_approver := fnd_profile.value('OKL_BILL_REQ_REP');
211: IF l_approver IS NULL THEN
212: l_approver := 'SYSADMIN';
213: END IF;
214: wf_engine.SetItemAttrText (itemtype => itemtype,
215: itemkey => itemkey,
216: aname => 'APPROVER_ROLE',
217: avalue => l_approver);
218: l_trx_id := wf_engine.GetItemAttrText(itemtype => itemtype,
214: wf_engine.SetItemAttrText (itemtype => itemtype,
215: itemkey => itemkey,
216: aname => 'APPROVER_ROLE',
217: avalue => l_approver);
218: l_trx_id := wf_engine.GetItemAttrText(itemtype => itemtype,
219: itemkey => itemkey,
220: aname => 'TAS_ID');
221: l_chrv_id := wf_engine.GetItemAttrText(itemtype => itemtype,
222: itemkey => itemkey,
217: avalue => l_approver);
218: l_trx_id := wf_engine.GetItemAttrText(itemtype => itemtype,
219: itemkey => itemkey,
220: aname => 'TAS_ID');
221: l_chrv_id := wf_engine.GetItemAttrText(itemtype => itemtype,
222: itemkey => itemkey,
223: aname => 'CONTRACT_ID');
224:
225: OPEN c_fetch_req_details(l_trx_id);
247: OPEN c_formula(l_int_details.calculation_formula_id);
248: FETcH c_formula INTO l_formula_name;
249: CLOSE c_formula;
250:
251: wf_engine.SetItemAttrText (itemtype => itemtype,
252: itemkey => itemkey,
253: aname => 'REQUEST_NUMBER',
254: avalue => l_request_details.request_number);
255: wf_engine.SetItemAttrText (itemtype => itemtype,
251: wf_engine.SetItemAttrText (itemtype => itemtype,
252: itemkey => itemkey,
253: aname => 'REQUEST_NUMBER',
254: avalue => l_request_details.request_number);
255: wf_engine.SetItemAttrText (itemtype => itemtype,
256: itemkey => itemkey,
257: aname => 'CONTRACT_NUMBER',
258: avalue => l_contract_num);
259: wf_engine.SetItemAttrText (itemtype => itemtype,
255: wf_engine.SetItemAttrText (itemtype => itemtype,
256: itemkey => itemkey,
257: aname => 'CONTRACT_NUMBER',
258: avalue => l_contract_num);
259: wf_engine.SetItemAttrText (itemtype => itemtype,
260: itemkey => itemkey,
261: aname => 'EFFECTIVE_DATE',
262: avalue => l_int_details.effective_from_date);
263:
260: itemkey => itemkey,
261: aname => 'EFFECTIVE_DATE',
262: avalue => l_int_details.effective_from_date);
263:
264: wf_engine.SetItemAttrText (itemtype => itemtype,
265: itemkey => itemkey,
266: aname => 'INDEX_NAME',
267: avalue => l_index_name);
268:
265: itemkey => itemkey,
266: aname => 'INDEX_NAME',
267: avalue => l_index_name);
268:
269: wf_engine.SetItemAttrText (itemtype => itemtype,
270: itemkey => itemkey,
271: aname => 'BASE_RATE',
272: avalue => l_int_details.base_rate);
273:
270: itemkey => itemkey,
271: aname => 'BASE_RATE',
272: avalue => l_int_details.base_rate);
273:
274: wf_engine.SetItemAttrText (itemtype => itemtype,
275: itemkey => itemkey,
276: aname => 'ADDER',
277: avalue => l_int_details.adder_rate);
278:
275: itemkey => itemkey,
276: aname => 'ADDER',
277: avalue => l_int_details.adder_rate);
278:
279: wf_engine.SetItemAttrText (itemtype => itemtype,
280: itemkey => itemkey,
281: aname => 'MIN_RATE',
282: avalue => l_int_details.minimum_rate);
283:
280: itemkey => itemkey,
281: aname => 'MIN_RATE',
282: avalue => l_int_details.minimum_rate);
283:
284: wf_engine.SetItemAttrText (itemtype => itemtype,
285: itemkey => itemkey,
286: aname => 'MAX_RATE',
287: avalue => l_int_details.maximum_rate);
288:
286: aname => 'MAX_RATE',
287: avalue => l_int_details.maximum_rate);
288:
289: --commented out for 11i OKL.H Variable Rate
290: /* wf_engine.SetItemAttrText (itemtype => itemtype,
291: itemkey => itemkey,
292: aname => 'TOLERANCE',
293: avalue => l_request_details.tolerance);*/
294:
332: FETCH c_get_lkp_meaning INTO l_conversion_option;
333: CLOSE c_get_lkp_meaning;
334:
335:
336: wf_engine.SetItemAttrText (itemtype => itemtype,
337: itemkey => itemkey,
338: aname => 'DAYS_IN_YEAR',
339: avalue => l_days_in_year);
340:
337: itemkey => itemkey,
338: aname => 'DAYS_IN_YEAR',
339: avalue => l_days_in_year);
340:
341: wf_engine.SetItemAttrText (itemtype => itemtype,
342: itemkey => itemkey,
343: aname => 'DAYS_IN_MONTH',
344: avalue => l_days_in_month);
345:
342: itemkey => itemkey,
343: aname => 'DAYS_IN_MONTH',
344: avalue => l_days_in_month);
345:
346: wf_engine.SetItemAttrText (itemtype => itemtype,
347: itemkey => itemkey,
348: aname => 'INTEREST_START_DATE',
349: avalue => l_int_details.interest_start_date);
350:
347: itemkey => itemkey,
348: aname => 'INTEREST_START_DATE',
349: avalue => l_int_details.interest_start_date);
350:
351: wf_engine.SetItemAttrText (itemtype => itemtype,
352: itemkey => itemkey,
353: aname => 'PRINCIPAL_BASIS',
354: avalue => l_principal_basis);
355:
352: itemkey => itemkey,
353: aname => 'PRINCIPAL_BASIS',
354: avalue => l_principal_basis);
355:
356: wf_engine.SetItemAttrText (itemtype => itemtype,
357: itemkey => itemkey,
358: aname => 'INTEREST_BASIS',
359: avalue => l_interest_basis);
360:
357: itemkey => itemkey,
358: aname => 'INTEREST_BASIS',
359: avalue => l_interest_basis);
360:
361: wf_engine.SetItemAttrText (itemtype => itemtype,
362: itemkey => itemkey,
363: aname => 'RATE_DELAY',
364: avalue => l_rate_delay);
365:
362: itemkey => itemkey,
363: aname => 'RATE_DELAY',
364: avalue => l_rate_delay);
365:
366: wf_engine.SetItemAttrText (itemtype => itemtype,
367: itemkey => itemkey,
368: aname => 'COMP_FREQ',
369: avalue => l_comp_frequency);
370:
367: itemkey => itemkey,
368: aname => 'COMP_FREQ',
369: avalue => l_comp_frequency);
370:
371: wf_engine.SetItemAttrText (itemtype => itemtype,
372: itemkey => itemkey,
373: aname => 'FORMULA_NAME',
374: avalue => l_formula_name);
375:
372: itemkey => itemkey,
373: aname => 'FORMULA_NAME',
374: avalue => l_formula_name);
375:
376: wf_engine.SetItemAttrText (itemtype => itemtype,
377: itemkey => itemkey,
378: aname => 'RATE_DELAY_FREQ',
379: avalue => l_int_details.rate_delay_frequency);
380:
377: itemkey => itemkey,
378: aname => 'RATE_DELAY_FREQ',
379: avalue => l_int_details.rate_delay_frequency);
380:
381: wf_engine.SetItemAttrText (itemtype => itemtype,
382: itemkey => itemkey,
383: aname => 'CATCHUP_START_DT',
384: avalue => l_int_details.catchup_start_date);
385:
382: itemkey => itemkey,
383: aname => 'CATCHUP_START_DT',
384: avalue => l_int_details.catchup_start_date);
385:
386: wf_engine.SetItemAttrText (itemtype => itemtype,
387: itemkey => itemkey,
388: aname => 'CATCHUP_STLMNT',
389: avalue => l_catchup_stlmnt);
390:
387: itemkey => itemkey,
388: aname => 'CATCHUP_STLMNT',
389: avalue => l_catchup_stlmnt);
390:
391: wf_engine.SetItemAttrText (itemtype => itemtype,
392: itemkey => itemkey,
393: aname => 'RATE_CHNG_START_DT',
394: avalue => l_int_details.rate_change_start_date);
395:
392: itemkey => itemkey,
393: aname => 'RATE_CHNG_START_DT',
394: avalue => l_int_details.rate_change_start_date);
395:
396: wf_engine.SetItemAttrText (itemtype => itemtype,
397: itemkey => itemkey,
398: aname => 'RATE_CHNG_VALUE',
399: avalue => l_int_details.rate_change_value);
400:
397: itemkey => itemkey,
398: aname => 'RATE_CHNG_VALUE',
399: avalue => l_int_details.rate_change_value);
400:
401: wf_engine.SetItemAttrText (itemtype => itemtype,
402: itemkey => itemkey,
403: aname => 'CATCHUP_BASIS',
404: avalue => l_catchup_basis);
405:
402: itemkey => itemkey,
403: aname => 'CATCHUP_BASIS',
404: avalue => l_catchup_basis);
405:
406: wf_engine.SetItemAttrText (itemtype => itemtype,
407: itemkey => itemkey,
408: aname => 'CONVERT_TYPE',
409: avalue => l_conversion_type);
410:
407: itemkey => itemkey,
408: aname => 'CONVERT_TYPE',
409: avalue => l_conversion_type);
410:
411: wf_engine.SetItemAttrText (itemtype => itemtype,
412: itemkey => itemkey,
413: aname => 'NEXT_CONVERSION_DT',
414: avalue => l_int_details.next_conversion_date);
415:
412: itemkey => itemkey,
413: aname => 'NEXT_CONVERSION_DT',
414: avalue => l_int_details.next_conversion_date);
415:
416: wf_engine.SetItemAttrText (itemtype => itemtype,
417: itemkey => itemkey,
418: aname => 'CONVERT_OPTION',
419: avalue => l_conversion_option);
420:
465: CLOSE c_get_index;
466:
467:
468:
469: wf_engine.SetItemAttrText (itemtype => itemtype,
470: itemkey => itemkey,
471: aname => 'PROP_EFFECTIVE_DATE',
472: avalue => l_cit_details.proposed_effective_date);
473:
470: itemkey => itemkey,
471: aname => 'PROP_EFFECTIVE_DATE',
472: avalue => l_cit_details.proposed_effective_date);
473:
474: wf_engine.SetItemAttrText (itemtype => itemtype,
475: itemkey => itemkey,
476: aname => 'PROP_INDEX_NAME',
477: avalue => l_index_name);
478:
475: itemkey => itemkey,
476: aname => 'PROP_INDEX_NAME',
477: avalue => l_index_name);
478:
479: wf_engine.SetItemAttrText (itemtype => itemtype,
480: itemkey => itemkey,
481: aname => 'PROP_BASE_RATE',
482: avalue => l_cit_details.base_rate);
483:
480: itemkey => itemkey,
481: aname => 'PROP_BASE_RATE',
482: avalue => l_cit_details.base_rate);
483:
484: wf_engine.SetItemAttrText (itemtype => itemtype,
485: itemkey => itemkey,
486: aname => 'PROP_ADDER',
487: avalue => l_cit_details.adder_rate);
488:
485: itemkey => itemkey,
486: aname => 'PROP_ADDER',
487: avalue => l_cit_details.adder_rate);
488:
489: wf_engine.SetItemAttrText (itemtype => itemtype,
490: itemkey => itemkey,
491: aname => 'PROP_MIN_RATE',
492: avalue => l_cit_details.minimum_rate);
493:
490: itemkey => itemkey,
491: aname => 'PROP_MIN_RATE',
492: avalue => l_cit_details.minimum_rate);
493:
494: wf_engine.SetItemAttrText (itemtype => itemtype,
495: itemkey => itemkey,
496: aname => 'PROP_MAX_RATE',
497: avalue => l_cit_details.maximum_rate);
498:
495: itemkey => itemkey,
496: aname => 'PROP_MAX_RATE',
497: avalue => l_cit_details.maximum_rate);
498:
499: wf_engine.SetItemAttrText (itemtype => itemtype,
500: itemkey => itemkey,
501: aname => 'PROP_DAYS_YR',
502: avalue => l_days_in_year);
503:
500: itemkey => itemkey,
501: aname => 'PROP_DAYS_YR',
502: avalue => l_days_in_year);
503:
504: wf_engine.SetItemAttrText (itemtype => itemtype,
505: itemkey => itemkey,
506: aname => 'PROP_DAYS_MONTH',
507: avalue => l_days_in_month);
508:
505: itemkey => itemkey,
506: aname => 'PROP_DAYS_MONTH',
507: avalue => l_days_in_month);
508:
509: wf_engine.SetItemAttrText (itemtype => itemtype,
510: itemkey => itemkey,
511: aname => 'PROP_INT_START_DT',
512: avalue => l_cit_details.conversion_date);
513:
510: itemkey => itemkey,
511: aname => 'PROP_INT_START_DT',
512: avalue => l_cit_details.conversion_date);
513:
514: wf_engine.SetItemAttrText (itemtype => itemtype,
515: itemkey => itemkey,
516: aname => 'PROP_PRINC_BASIS',
517: avalue => l_principal_basis);
518:
515: itemkey => itemkey,
516: aname => 'PROP_PRINC_BASIS',
517: avalue => l_principal_basis);
518:
519: wf_engine.SetItemAttrText (itemtype => itemtype,
520: itemkey => itemkey,
521: aname => 'PROP_INT_BASIS',
522: avalue => l_interest_basis);
523:
520: itemkey => itemkey,
521: aname => 'PROP_INT_BASIS',
522: avalue => l_interest_basis);
523:
524: wf_engine.SetItemAttrText (itemtype => itemtype,
525: itemkey => itemkey,
526: aname => 'PROP_RATE_DELAY',
527: avalue => l_rate_delay);
528:
525: itemkey => itemkey,
526: aname => 'PROP_RATE_DELAY',
527: avalue => l_rate_delay);
528:
529: wf_engine.SetItemAttrText (itemtype => itemtype,
530: itemkey => itemkey,
531: aname => 'PROP_COMP_FREQ',
532: avalue => l_comp_frequency);
533:
530: itemkey => itemkey,
531: aname => 'PROP_COMP_FREQ',
532: avalue => l_comp_frequency);
533:
534: wf_engine.SetItemAttrText (itemtype => itemtype,
535: itemkey => itemkey,
536: aname => 'PROP_FORMULA_NAME',
537: avalue => l_cit_details.calculation_formula_name);
538:
535: itemkey => itemkey,
536: aname => 'PROP_FORMULA_NAME',
537: avalue => l_cit_details.calculation_formula_name);
538:
539: wf_engine.SetItemAttrText (itemtype => itemtype,
540: itemkey => itemkey,
541: aname => 'PROP_RATE_DELAY_FREQ',
542: avalue => l_cit_details.rate_delay_frequency);
543:
540: itemkey => itemkey,
541: aname => 'PROP_RATE_DELAY_FREQ',
542: avalue => l_cit_details.rate_delay_frequency);
543:
544: wf_engine.SetItemAttrText (itemtype => itemtype,
545: itemkey => itemkey,
546: aname => 'PROP_CATCHUP_START_DT',
547: avalue => l_cit_details.catchup_start_date);
548:
545: itemkey => itemkey,
546: aname => 'PROP_CATCHUP_START_DT',
547: avalue => l_cit_details.catchup_start_date);
548:
549: wf_engine.SetItemAttrText (itemtype => itemtype,
550: itemkey => itemkey,
551: aname => 'PROP_CATCHUP_STLMNT',
552: avalue => l_catchup_stlmnt);
553:
550: itemkey => itemkey,
551: aname => 'PROP_CATCHUP_STLMNT',
552: avalue => l_catchup_stlmnt);
553:
554: wf_engine.SetItemAttrText (itemtype => itemtype,
555: itemkey => itemkey,
556: aname => 'PROP_RATE_CHNG_ST_DT',
557: avalue => l_cit_details.rate_change_start_date);
558:
555: itemkey => itemkey,
556: aname => 'PROP_RATE_CHNG_ST_DT',
557: avalue => l_cit_details.rate_change_start_date);
558:
559: wf_engine.SetItemAttrText (itemtype => itemtype,
560: itemkey => itemkey,
561: aname => 'PROP_RATE_CHNG_VAL',
562: avalue => l_cit_details.rate_change_value);
563:
560: itemkey => itemkey,
561: aname => 'PROP_RATE_CHNG_VAL',
562: avalue => l_cit_details.rate_change_value);
563:
564: wf_engine.SetItemAttrText (itemtype => itemtype,
565: itemkey => itemkey,
566: aname => 'PROP_CATCHUP_BASIS',
567: avalue => l_catchup_basis);
568:
565: itemkey => itemkey,
566: aname => 'PROP_CATCHUP_BASIS',
567: avalue => l_catchup_basis);
568:
569: wf_engine.SetItemAttrText (itemtype => itemtype,
570: itemkey => itemkey,
571: aname => 'PROP_CONVERT_TYPE',
572: avalue => l_conversion_type);
573:
570: itemkey => itemkey,
571: aname => 'PROP_CONVERT_TYPE',
572: avalue => l_conversion_type);
573:
574: wf_engine.SetItemAttrText (itemtype => itemtype,
575: itemkey => itemkey,
576: aname => 'PROP_NEXT_CONV_DT',
577: avalue => l_cit_details.next_conversion_date);
578:
575: itemkey => itemkey,
576: aname => 'PROP_NEXT_CONV_DT',
577: avalue => l_cit_details.next_conversion_date);
578:
579: wf_engine.SetItemAttrText (itemtype => itemtype,
580: itemkey => itemkey,
581: aname => 'PROP_CONVERT_OPTION',
582: avalue => l_conversion_option);
583:
587: /* OPEN c_get_lkp_meaning('OKL_VARIABLE_METHOD',l_request_details.variable_method_code);
588: FETCH c_get_lkp_meaning INTO l_var_method;
589: CLOSE c_get_lkp_meaning;
590:
591: wf_engine.SetItemAttrText (itemtype => itemtype,
592: itemkey => itemkey,
593: aname => 'VARIABLE_METHOD',
594: avalue => l_var_method);
595:
596: OPEN c_get_lkp_meaning('OKL_ADJ_FREQUENCY',l_request_details.adjustment_frequency_code);
597: FETCH c_get_lkp_meaning INTO l_adj_freq;
598: CLOSE c_get_lkp_meaning;
599:
600: wf_engine.SetItemAttrText (itemtype => itemtype,
601: itemkey => itemkey,
602: aname => 'ADJ_FREQ',
603: avalue => l_adj_freq);
604:
605: OPEN c_get_lkp_meaning('OKL_VAR_INTCALC',l_request_details.interest_method_code);
606: FETCH c_get_lkp_meaning INTO l_int_method;
607: CLOSE c_get_lkp_meaning;
608:
609: wf_engine.SetItemAttrText (itemtype => itemtype,
610: itemkey => itemkey,
611: aname => 'INTEREST_METHOD',
612: avalue => l_int_method);
613:
614: OPEN c_get_lkp_meaning('OKL_CALC_METHOD',l_request_details.method_of_calculation_code);
615: FETCH c_get_lkp_meaning INTO l_calc_method;
616: CLOSE c_get_lkp_meaning;
617:
618: wf_engine.SetItemAttrText (itemtype => itemtype,
619: itemkey => itemkey,
620: aname => 'CALC_METHOD',
621: avalue => l_calc_method); */
622: resultout := 'COMPLETE:';
690: l_error VARCHAR2(2000);
691:
692: BEGIN
693: -- We getting the request_Id from WF
694: l_trx_id := wf_engine.GetItemAttrText(itemtype => itemtype,
695: itemkey => itemkey,
696: aname => 'TAS_ID');
697: -- We need to status to Approved Pending since We are sending for approval
698: IF (funcmode = 'RESPOND') THEN
695: itemkey => itemkey,
696: aname => 'TAS_ID');
697: -- We need to status to Approved Pending since We are sending for approval
698: IF (funcmode = 'RESPOND') THEN
699: --get notification id from wf_engine context
700: l_nid := WF_ENGINE.CONTEXT_NID;
701: l_ntf_result := wf_notification.GetAttrText(l_nid,'RESULT');
702:
703: IF l_ntf_result = 'APPROVED' THEN
696: aname => 'TAS_ID');
697: -- We need to status to Approved Pending since We are sending for approval
698: IF (funcmode = 'RESPOND') THEN
699: --get notification id from wf_engine context
700: l_nid := WF_ENGINE.CONTEXT_NID;
701: l_ntf_result := wf_notification.GetAttrText(l_nid,'RESULT');
702:
703: IF l_ntf_result = 'APPROVED' THEN
704: l_sts_code := 'APPROVED';
721: ( p_count => l_msg_count,
722: p_data => l_msg_data);
723: Get_Messages(l_msg_count,l_error);
724:
725: wf_engine.SetItemAttrText(itemtype => itemtype,
726: itemkey => itemkey,
727: aname => 'TOLERANCE',
728: avalue => l_error);
729:
749: return;
750: END IF;
751: --Transfer Mode
752: IF funcmode = 'TRANSFER' THEN
753: resultout := wf_engine.eng_null;
754: return;
755: END IF;
756: -- CANCEL mode
757: IF (funcmode = 'CANCEL') THEN