[Home] [Help]
PACKAGE BODY: APPS.HRI_OLTP_PMV_PER_ORGMGR_LOV
Source
1 PACKAGE BODY HRI_OLTP_PMV_PER_ORGMGR_LOV AS
2 /* $Header: hriopomlov.pkb 120.2 2005/12/06 02:27:24 rlpatil noship $ */
3
4 PROCEDURE GET_SQL(p_page_parameter_tbl IN BIS_PMV_PAGE_PARAMETER_TBL,
5 x_custom_sql OUT NOCOPY VARCHAR2,
6 x_custom_output OUT NOCOPY BIS_QUERY_ATTRIBUTES_TBL)
7 IS
8
9 /* Parameter values */
10 l_parameter_rec hri_oltp_pmv_util_param.HRI_PMV_PARAM_REC_TYPE;
11 l_bind_tab hri_oltp_pmv_util_param.HRI_PMV_BIND_TAB_TYPE;
12 l_custom_rec BIS_QUERY_ATTRIBUTES ;
13 l_search VARCHAR2(100);
14 l_value VARCHAR2(100);
15
16 BEGIN
17
18 /* Get common parameter values */
19 hri_oltp_pmv_util_param.get_parameters_from_table
20 (p_page_parameter_tbl => p_page_parameter_tbl,
21 p_parameter_rec => l_parameter_rec,
22 p_bind_tab => l_bind_tab);
23
24 /* Collect Search Value More Window only */
25 FOR i IN 1..p_page_parameter_tbl.COUNT
26 LOOP
27 IF (p_page_parameter_tbl(i).parameter_name = 'HRI_P_CHAR8_GA') THEN
28 l_value := p_page_parameter_tbl(i).parameter_value;
29 END IF;
30 END LOOP;
31 /* Append search filter if Value entered */
32 IF (l_value is not null) THEN
33 l_search:= ' AND upper(value) like upper('''||l_value||''')';
34 ELSE
35 l_search:= ' ';
36 END IF;
37
38 x_custom_sql :=
39 'SELECT ID,
40 VALUE,
41 PARENT_ID
42 FROM
43 (SELECT distinct mgr.sup_person_id id,
44 per.value value,
45 mgr.sup_person_id parent_id,
46 TO_CHAR(mgr.sup_level) || per.order_by order_by,
47 mgr.effective_start_date,
48 mgr.effective_end_date,
49 mgr.sub_person_id selected_mgr_person_id,
50 mgr.sub_level selected_mgr_level,
51 mgr.sup_person_id mgr_person_id,
52 mgr.sup_level mgr_level
53 FROM hri_cs_suph_orgmgr_ct mgr ,
54 hri_dbi_cl_per_n_v per
55 WHERE per.id = mgr.sup_person_id
56 AND trunc(&AS_OF_DATE) BETWEEN per.effective_start_date AND per.effective_end_date
57 AND EXISTS (SELECT NULL
58 FROM hri_cs_suph sec
59 WHERE sec.sup_person_id = &BIS_SELECTED_TOP_MANAGER
60 AND sec.sub_person_id = mgr.sup_person_id
61 AND mgr.effective_start_date BETWEEN sec.effective_start_date AND sec.effective_end_date )
62 UNION ALL
63 SELECT distinct mgr.sub_person_id id,
64 per.value value,
65 mgr.sup_person_id parent_id,
66 TO_CHAR(mgr.sub_level) || per.order_by order_by,
67 mgr.effective_start_date,
68 mgr.effective_end_date,
69 mgr.sup_person_id selected_mgr_person_id,
70 mgr.sup_level selected_mgr_level,
71 mgr.sub_person_id mgr_person_id,
72 mgr.sub_level mgr_level
73 FROM hri_cs_suph_orgmgr_ct mgr ,
74 hri_dbi_cl_per_n_v per
75 WHERE per.id = mgr.sub_person_id
76 AND mgr.sub_relative_level = 1
77 AND trunc(&AS_OF_DATE) BETWEEN per.effective_start_date AND per.effective_end_date
78 AND EXISTS (SELECT NULL
79 FROM hri_cs_suph sec
80 WHERE sec.sup_person_id = &BIS_SELECTED_TOP_MANAGER
81 AND sec.sub_person_id = mgr.sub_person_id
82 AND mgr.effective_start_date BETWEEN sec.effective_start_date AND sec.effective_end_date ))
83 WHERE SELECTED_MGR_PERSON_ID = &HRI_PERSON+HRI_PER_USRDR_H
84 AND &AS_OF_DATE BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE
85 '
86 || l_search ;
87
88 EXCEPTION
89 WHEN OTHERS THEN
90 null ;
91 END;
92
93
94 END HRI_OLTP_PMV_PER_ORGMGR_LOV;
95