DBA Data[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 ;