[Home] [Help]
PACKAGE BODY: APPS.AMS_UWQ_LIST_ENUM_PVT
Source
1 PACKAGE BODY AMS_UWQ_LIST_ENUM_PVT AS
2 /* $Header: amsenmlb.pls 115.4 2003/03/06 06:40:08 gjoby ship $ */
3
4 -- Sub-Program Units
5
6 PROCEDURE ENUMERATE_LIST_NODES
7 (P_RESOURCE_ID IN NUMBER
8 ,P_LANGUAGE IN VARCHAR2
9 ,P_SOURCE_LANG IN VARCHAR2
10 ,P_SEL_ENUM_ID IN NUMBER
11 ) AS
12
13 l_node_label VARCHAR2(200);
14 l_ld_list IEU_PUB.EnumeratorDataRecordList;
15 l_node_counter NUMBER;
16 l_bind_list IEU_PUB.BindVariableRecordList ;
17 l_Profile varchar2(10) := 'N';
18 l_Access varchar2(10) := 'F';
19
20 CURSOR c_mlist_nodes(pResourceID number) IS
21 SELECT schedule_id, schedule_name, list_source_type
22 FROM ams_list_sch_uwq_v
23 WHERE resource_id = pResourceID
24 ORDER BY 1;
25
26
27 BEGIN
28
29 /* label, view, and where for main node taken from enum table anyway */
30 l_node_counter := 0;
31
32 Select meaning into l_node_label
33 from ams_lookups
34 where lookup_type = 'AMS_UWQ_LABELS'
35 and lookup_code = 'LIST_ASSIGN_LABEL';
36
37 --l_Profile:=NVL(fnd_profile.value('AST_MLIST_ALL_CAMPAIGNS'),'Y');
38 --l_Access:= NVL(fnd_profile.value('AS_CUST_ACCESS'), 'F');
39
40 /* 'Y' - List All Campaign, */
41 /* 'N' - List only Assigned Campaign using Campaign Assignment */
42
43 l_bind_list(1).bind_var_name := ':RESOURCE_ID' ;
44 l_bind_list(1).bind_var_value := P_RESOURCE_ID ;
45 l_bind_list(1).bind_var_data_type := 'NUMBER' ;
46 l_ld_list(l_node_counter).NODE_LABEL := l_node_label;
47 l_ld_list(l_node_counter).WHERE_CLAUSE :=
48 ' RESOURCE_ID = :RESOURCE_ID ';
49 l_ld_list(l_node_counter).VIEW_NAME := 'AMS_LIST_SCH_UWQ_V';
50 l_ld_list(l_node_counter).DATA_SOURCE := 'AMS_LIST_SCH_UWQ_DS';
51 l_ld_list(l_node_counter).MEDIA_TYPE_ID := '';
52 l_ld_list(l_node_counter).NODE_TYPE := 0;
53 l_ld_list(l_node_counter).HIDE_IF_EMPTY := '';
54 l_ld_list(l_node_counter).NODE_DEPTH := 1;
55 l_ld_list(l_node_counter).BIND_VARS :=IEU_PUB.SET_BIND_VAR_DATA(l_bind_list);
56 l_ld_list(l_node_counter).RES_CAT_ENUM_FLAG := 'N';
57
58
59 l_node_counter := l_node_counter + 1;
60
61 SAVEPOINT start_list_enumeration;
62 FOR cur_rec IN c_mlist_nodes(p_Resource_ID) LOOP
63
64 l_bind_list(1).bind_var_name := ':SCHEDULE_ID' ;
65 l_bind_list(1).bind_var_value := cur_rec.schedule_id ;
66 l_bind_list(1).bind_var_data_type := 'NUMBER' ;
67
68 l_bind_list(2).bind_var_name := ':RESOURCE_ID' ;
69 l_bind_list(2).bind_var_value := P_RESOURCE_ID ;
70 l_bind_list(2).bind_var_data_type := 'NUMBER' ;
71
72 l_ld_list(l_node_counter).WHERE_CLAUSE :=
73 ' RESOURCE_ID = :RESOURCE_ID and SCHEDULE_ID = :SCHEDULE_ID ';
74
75
76 l_ld_list(l_node_counter).VIEW_NAME := 'AMS_LIST_ENTRIES_UWQ_V';
77 l_ld_list(l_node_counter).DATA_SOURCE := 'AMS_LIST_ENTRIES_UWQ_DS';
78
79
80 l_ld_list(l_node_counter).NODE_LABEL := cur_rec.schedule_name;
81 l_ld_list(l_node_counter).MEDIA_TYPE_ID := '';
82 l_ld_list(l_node_counter).NODE_TYPE := 0;
83 l_ld_list(l_node_counter).HIDE_IF_EMPTY := '';
84 l_ld_list(l_node_counter).NODE_DEPTH := 2;
85
86 l_ld_list(l_node_counter).BIND_VARS:=IEU_PUB.SET_BIND_VAR_DATA(l_bind_list) ;
87 l_ld_list(l_node_counter).RES_CAT_ENUM_FLAG := 'N';
88 l_node_counter := l_node_counter + 1;
89 END LOOP ;
90
91
92 /* END 'Y' - List All Campaign */
93
94 -- END LOOP;
95
96 IEU_PUB.ADD_UWQ_NODE_DATA
97 (P_RESOURCE_ID,
98 P_SEL_ENUM_ID,
99 l_ld_list
100 );
101
102
103 EXCEPTION
104 WHEN OTHERS THEN
105 ROLLBACK TO start_mlist_enumeration;
106 RAISE;
107
108 END ENUMERATE_LIST_NODES;
109
110 -- PL/SQL Block
111 END AMS_UWQ_LIST_ENUM_PVT ;