1: PACKAGE BODY hr_dynamic_approval_web AS
2: /* $Header: hrdynapr.pkb 120.3.12010000.4 2009/09/21 10:23:42 ckondapi ship $ */
3:
4: -- |---------------------------------------------------------------------------|
5: -- |-- < TIPS Begin > ---------------------------------------------------------|
14: -- |-- < TIPS End >------------------------------------------------------------|
15: -- |---------------------------------------------------------------------------|
16:
17: gv_package CONSTANT VARCHAR2(100)
18: DEFAULT 'hr_dynamic_approval_web';
19: gv_dynappr_js_file CONSTANT VARCHAR2(100) DEFAULT 'hrdynapr.js';
20: gv_form_name CONSTANT VARCHAR2(100) DEFAULT 'approvalsForm';
21: gv_tip_test_mode BOOLEAN DEFAULT FALSE;
22: gv_user_date_format VARCHAR2(2000);
21: gv_tip_test_mode BOOLEAN DEFAULT FALSE;
22: gv_user_date_format VARCHAR2(2000);
23: gn_person_id per_people_f.person_id%TYPE;
24: gn_assignment_id per_all_assignments_f.assignment_id%TYPE;
25: gv_error_table hr_dynamic_approval_web.t_person_table;
26: grt_wf_attributes_rec hr_dynamic_approval_web.grt_wf_attributes;
27:
28: gv_current_row NUMBER DEFAULT 1;
29: gv_mode VARCHAR2(25) DEFAULT 'RUN';
22: gv_user_date_format VARCHAR2(2000);
23: gn_person_id per_people_f.person_id%TYPE;
24: gn_assignment_id per_all_assignments_f.assignment_id%TYPE;
25: gv_error_table hr_dynamic_approval_web.t_person_table;
26: grt_wf_attributes_rec hr_dynamic_approval_web.grt_wf_attributes;
27:
28: gv_current_row NUMBER DEFAULT 1;
29: gv_mode VARCHAR2(25) DEFAULT 'RUN';
30: gv_job_type hr_suit_match_utility_web.g_job_type%TYPE;
47: DEFAULT 'HR_DYNAMIC_APPROVALS';
48: gv_process_name wf_process_activities.process_name%TYPE
49: DEFAULT 'HR_HRSSA_DYNA_APPROVAL_PRC' ;
50:
51: grt_person_details hr_dynamic_approval_web.person_details;
52: grt_person_details_rec_table hr_dynamic_approval_web.t_person_table;
53: grt_approver_details_table hr_dynamic_approval_web.t_person_table;
54: gn_approver_index NUMBER DEFAULT 1;
55: gv_additional_approvers VARCHAR2(10) DEFAULT 'NO';
48: gv_process_name wf_process_activities.process_name%TYPE
49: DEFAULT 'HR_HRSSA_DYNA_APPROVAL_PRC' ;
50:
51: grt_person_details hr_dynamic_approval_web.person_details;
52: grt_person_details_rec_table hr_dynamic_approval_web.t_person_table;
53: grt_approver_details_table hr_dynamic_approval_web.t_person_table;
54: gn_approver_index NUMBER DEFAULT 1;
55: gv_additional_approvers VARCHAR2(10) DEFAULT 'NO';
56: gn_additional_approvers NUMBER DEFAULT 0;
49: DEFAULT 'HR_HRSSA_DYNA_APPROVAL_PRC' ;
50:
51: grt_person_details hr_dynamic_approval_web.person_details;
52: grt_person_details_rec_table hr_dynamic_approval_web.t_person_table;
53: grt_approver_details_table hr_dynamic_approval_web.t_person_table;
54: gn_approver_index NUMBER DEFAULT 1;
55: gv_additional_approvers VARCHAR2(10) DEFAULT 'NO';
56: gn_additional_approvers NUMBER DEFAULT 0;
57: gv_item_name VARCHAR2(100) DEFAULT 'ADDITIONAL_APPROVER_';
56: gn_additional_approvers NUMBER DEFAULT 0;
57: gv_item_name VARCHAR2(100) DEFAULT 'ADDITIONAL_APPROVER_';
58: gv_notifier_name VARCHAR2(100) DEFAULT 'NOTIFIER_';
59: gn_notifiers NUMBER DEFAULT 0;
60: grt_notifier_details_table hr_dynamic_approval_web.notifier_rec_table;
61: grt_notifier_error_table hr_dynamic_approval_web.notifier_rec_table;
62: gv_cross_business_group VARCHAR2(10) ;
63: g_package CONSTANT VARCHAR2(100):='hr_dynamic_approval_web';
64:
57: gv_item_name VARCHAR2(100) DEFAULT 'ADDITIONAL_APPROVER_';
58: gv_notifier_name VARCHAR2(100) DEFAULT 'NOTIFIER_';
59: gn_notifiers NUMBER DEFAULT 0;
60: grt_notifier_details_table hr_dynamic_approval_web.notifier_rec_table;
61: grt_notifier_error_table hr_dynamic_approval_web.notifier_rec_table;
62: gv_cross_business_group VARCHAR2(10) ;
63: g_package CONSTANT VARCHAR2(100):='hr_dynamic_approval_web';
64:
65:
59: gn_notifiers NUMBER DEFAULT 0;
60: grt_notifier_details_table hr_dynamic_approval_web.notifier_rec_table;
61: grt_notifier_error_table hr_dynamic_approval_web.notifier_rec_table;
62: gv_cross_business_group VARCHAR2(10) ;
63: g_package CONSTANT VARCHAR2(100):='hr_dynamic_approval_web';
64:
65:
66: -- exceptions
67: gv_invalid_person EXCEPTION;
1436: grt_notifier_error_table(I).person_id := ln_notifier_id;
1437: grt_notifier_error_table(I).error_exists := 'N';
1438: -- fix for bug # 1570998
1439: --grt_notifier_error_table(I).on_submit:= p_notify_onsubmit_flag (I);
1440: lv_job_title := hr_dynamic_approval_web.get_job_details
1441: (p_person_id =>ln_notifier_id,
1442: p_assignment_id=>ln_assignment_id,
1443: p_effective_date=>ld_effective_date
1444: );
1575:
1576: AS
1577:
1578: --local variables
1579: lrt_person_details_rec_table hr_dynamic_approval_web.t_person_table;
1580: lv_creator_person_id per_people_f.person_id%TYPE ;
1581: lv_forward_from_id per_people_f.person_id%TYPE DEFAULT NULL;
1582: lv_forward_to_id per_people_f.person_id%TYPE DEFAULT NULL;
1583: lv_current_forward_to_id per_people_f.person_id%TYPE ;
1679: p_effective_date =>ld_effective_date);
1680:
1681: lv_full_name := lrt_assignment_details.person_full_name;
1682:
1683: lv_job_title := hr_dynamic_approval_web.get_job_details(p_person_id =>lv_forward_to_id,
1684: p_assignment_id=>ln_assignment_id,
1685: p_effective_date=>ld_effective_date);
1686: -- Insert the data into the person_details_rec_table
1687: grt_person_details_rec_table(gn_approver_index).person_id := lv_forward_to_id ;
1823: p_effective_date =>p_effective_date);
1824:
1825: grt_approver_details_table(ln_approver_list_index).full_name := lrt_assignment_details.person_full_name;
1826: grt_approver_details_table(ln_approver_list_index).person_id :=ln_person_id;
1827: grt_approver_details_table(ln_approver_list_index).job_title :=hr_dynamic_approval_web.get_job_details
1828: (p_person_id =>ln_person_id,
1829: p_assignment_id=>ln_assignment_id,
1830: p_effective_date=>p_effective_date);
1831:
1869: lrt_assignment_details := hr_misc_web.get_assignment_details(
1870: p_assignment_id => ln_assignment_id,
1871: p_effective_date =>p_effective_date);
1872:
1873: lv_job_title := hr_dynamic_approval_web.get_job_details
1874: (p_person_id =>ln_person_id,
1875: p_assignment_id=>ln_assignment_id,
1876: p_effective_date=>p_effective_date
1877: );
1933: gv_mode:='RE-ENTER';
1934:
1935: -- repopulate the table
1936:
1937: hr_dynamic_approval_web.get_all_approvers(
1938: p_approver_name =>l_approver_name,
1939: p_approver_flag=>l_approver_flag,
1940: p_item_type =>p_item_type,
1941: p_item_key =>p_item_key
2004: gv_mode:='RE-ENTER';
2005:
2006: -- repopulate the table
2007:
2008: hr_dynamic_approval_web.get_all_approvers(
2009: p_approver_name =>l_approver_name,
2010: p_approver_flag=>l_approver_flag,
2011: p_item_type =>p_item_type,
2012: p_item_key =>p_item_key
2066:
2067: AS
2068:
2069: --local variables
2070: lrt_person_details_rec_table hr_dynamic_approval_web.t_person_table;
2071: lv_creator_person_id per_people_f.person_id%TYPE ;
2072: lv_forward_from_id per_people_f.person_id%TYPE DEFAULT NULL;
2073: lv_forward_to_id per_people_f.person_id%TYPE DEFAULT NULL;
2074: lv_current_forward_to_id per_people_f.person_id%TYPE ;
2233: p_effective_date =>ld_effective_date
2234: );
2235:
2236: lv_full_name := lrt_assignment_details.person_full_name;
2237: lv_job_title := hr_dynamic_approval_web.get_job_details
2238: (p_person_id =>lv_forward_to_id,
2239: p_assignment_id=>ln_assignment_id,
2240: p_effective_date=>ld_effective_date
2241: );
2346: end if;
2347:
2348:
2349: -- get the default approvers in the system
2350: hr_dynamic_approval_web.get_default_approvers(
2351: p_approver_name =>lv_approver_name,
2352: p_approver_flag=>lv_approver_flag,
2353: p_item_type =>p_item_type,
2354: p_item_key =>p_item_key
2431: grt_approver_details_table(I).full_name :=
2432: lrt_assignment_details.person_full_name;
2433: grt_approver_details_table(I).person_id :=ln_person_id;
2434: grt_approver_details_table(I).job_title :=
2435: hr_dynamic_approval_web.get_job_details
2436: (p_person_id =>ln_person_id,
2437: p_assignment_id=>ln_assignment_id,
2438: p_effective_date=>p_effective_date
2439: );
2450: lrt_assignment_details := hr_misc_web.get_assignment_id(p_person_id => ln_person_id);
2451: ln_assignment_id := lrt_assignment_details.assignment_id;
2452:
2453: grt_approver_details_table(I).job_title :=
2454: hr_dynamic_approval_web.get_job_details
2455: (p_person_id =>ln_person_id,
2456: p_assignment_id=>ln_assignment_id,
2457: p_effective_date=>p_effective_date
2458: );
2498: p_assignment_id => ln_assignment_id,
2499: p_effective_date =>p_effective_date
2500: );
2501:
2502: lv_job_title := hr_dynamic_approval_web.get_job_details
2503: (p_person_id =>ln_person_id,
2504: p_assignment_id=>ln_assignment_id,
2505: p_effective_date=>p_effective_date
2506: );
2547: p_variable_name in varchar2,
2548: p_variable_value in varchar2 DEFAULT NULL
2549: ,p_attributes IN VARCHAR2 DEFAULT NULL) RETURN LONG IS
2550:
2551: l_ddl_data hr_dynamic_approval_web.ddl_data;
2552: l_lov LONG;
2553: l_count INTEGER;
2554: l_checked VARCHAR2(25);
2555: lv_variable_name VARCHAR2(200) DEFAULT 'p_person_id';
2720: AS
2721: -- Local Variables
2722: ln_number_of_approvers NUMBER ;
2723: ln_additional_approvers NUMBER DEFAULT 0;
2724: lrt_approver_details_table hr_dynamic_approval_web.approver_rec_table;
2725: lv_item_name VARCHAR2(100) DEFAULT 'ADDITIONAL_APPROVER_';
2726: l_dummy NUMBER(1);
2727: lv_item_name_from VARCHAR2(100) DEFAULT 'ADDITIONAL_APPROVER_';
2728: lv_item_name_to VARCHAR2(100) DEFAULT 'ADDITIONAL_APPROVER_';
3100: -- Local Variables
3101: lv_exist VARCHAR2(10) DEFAULT 'N';
3102: l_dummy VARCHAR2(100) ;
3103: lv_item_name VARCHAR2(100);
3104: lrt_notifier_details_table hr_dynamic_approval_web.notifier_rec_table;
3105: ln_person_id per_people_f.person_id%TYPE;
3106: lv_full_name per_people_f.person_id%TYPE;
3107: lv_job_title VARCHAR2(1000);
3108: lv_on_submit VARCHAR2(10);
3178: -- populate the notifiers rec table
3179: lrt_notifier_details_table(I).person_id := ln_person_id;
3180: lrt_notifier_details_table(I).full_name := lrt_assignment_details.person_full_name;
3181:
3182: lv_job_title := hr_dynamic_approval_web.get_job_details
3183: (p_person_id =>ln_person_id,
3184: p_assignment_id=>ln_assignment_id,
3185: p_effective_date=>p_effective_date
3186: );
3264: p_assignment_id => ln_assignment_id,
3265: p_effective_date =>p_effective_date
3266: );
3267:
3268: lv_job_title := hr_dynamic_approval_web.get_job_details
3269: (p_person_id =>ln_person_id,
3270: p_assignment_id=>ln_assignment_id,
3271: p_effective_date=>p_effective_date
3272: );
3461: (itemtype => p_item_type,
3462: itemkey => p_item_key,
3463: aname => lv_item_name);
3464: IF ln_person_id IS NULL THEN
3465: /* hr_dynamic_approval_web.delete_approver(p_item_type=>p_item_type,
3466: p_item_key=>p_item_key,
3467: p_approver_index=>I);
3468: */
3469: NULL;
3523: ln_current_approver_index NUMBER ;
3524: ln_curr_def_appr_index NUMBER;
3525: ln_last_default_approver_id per_people_f.person_id%type;
3526: ln_addntl_approver_id per_people_f.person_id%type;
3527: lv_item_name hr_dynamic_approval_web.gv_item_name%type;
3528: ln_addntl_approvers NUMBER;
3529: lv_exists VARCHAR2(10);
3530: lv_dummy VARCHAR2(20);
3531: lv_isvalid VARCHAR2(10);
4160: ln_number_of_notifiers NUMBER;
4161: lv_dummy VARCHAR2(10);
4162: lv_exists VARCHAR2(10);
4163: lv_status VARCHAR2(10);
4164: lv_item_name hr_dynamic_approval_web.gv_notifier_name%type;
4165: lv_notify VARCHAR2(10);
4166: lv_submit VARCHAR2(10);
4167: l_proc constant varchar2(100) := g_package || ' Check_OnSubmit_Notifier';
4168: BEGIN
4296: ln_number_of_notifiers NUMBER;
4297: lv_dummy VARCHAR2(10);
4298: lv_exists VARCHAR2(10);
4299: lv_status VARCHAR2(10);
4300: lv_item_name hr_dynamic_approval_web.gv_notifier_name%type;
4301: lv_notify VARCHAR2(10);
4302: lv_onapproval VARCHAR2(10);
4303: l_proc constant varchar2(100) := g_package || ' Check_OnApproval_Notifier';
4304: BEGIN
5654: lv_number varchar2(10);
5655: lv_exist VARCHAR2(10) DEFAULT 'N';
5656: l_dummy VARCHAR2(100) ;
5657: lv_item_name VARCHAR2(100);
5658: lrt_notifier_details_table hr_dynamic_approval_web.notifier_rec_table;
5659: ln_person_id per_people_f.person_id%TYPE;
5660: lv_full_name per_people_f.person_id%TYPE;
5661: lv_job_title VARCHAR2(1000);
5662: lv_on_submit VARCHAR2(10);
5732: -- populate the notifiers rec table
5733: lrt_notifier_details_table(I).person_id := ln_person_id;
5734: lrt_notifier_details_table(I).full_name := lrt_assignment_details.person_full_name;
5735:
5736: lv_job_title := hr_dynamic_approval_web.get_job_details
5737: (p_person_id =>ln_person_id,
5738: p_assignment_id=>ln_assignment_id,
5739: p_effective_date=>trunc(sysdate)
5740: );
5780:
5781:
5782:
5783:
5784: end hr_dynamic_approval_web;