DBA Data[Home] [Help]

PACKAGE BODY: APPS.AST_UWQ_QUOTE_ENUMS_PVT

Source


1 PACKAGE BODY AST_UWQ_QUOTE_ENUMS_PVT AS
2 /* $Header: ASTENQUB.pls 120.1 2006/01/17 21:17:25 rkumares noship $ */
3 
4 -- Sub-Program Units
5 
6 PROCEDURE ENUMERATE_QUOTE_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   )
12   AS
13 
14   l_node_label VARCHAR2(200);
15   l_ld_list  IEU_PUB.EnumeratorDataRecordList;
16 
17   l_node_counter           NUMBER;
18 
19   CURSOR c_quote_nodes IS
20     SELECT status_code, meaning
21     FROM
22       aso_quote_statuses_vl where
23 	 enabled_flag = 'Y' and
24 	 status_code NOT IN ('ORDERED', 'ENTERED')
25     ORDER BY 1;
26 
27   lkp_type VARCHAR2(30) := 'AST_UWQ_LABELS';
28   lkp_code VARCHAR2(30) := 'QUOTE_WORK_CLASS_LABEL';
29 
30 BEGIN
31 
32   /* label, view, and where for main node taken from enum table anyway */
33 
34   l_node_counter := 0;
35 
36 
37   Select meaning into l_node_label
38   from ast_lookups
39   where lookup_type = lkp_type
40   and lookup_code = lkp_code;
41 
42 
43   l_ld_list(l_node_counter).NODE_LABEL := l_node_label;
44   l_ld_list(l_node_counter).VIEW_NAME := 'AST_QUOTES_UWQ_V';
45   l_ld_list(l_node_counter).DATA_SOURCE := 'AST_QUOTES_UWQ';
46   l_ld_list(l_node_counter).MEDIA_TYPE_ID := '';
47   l_ld_list(l_node_counter).WHERE_CLAUSE := 'RESOURCE_ID+0 = :RESOURCE_ID AND STATUS_CODE NOT IN (''ORDERED'', ''ENTERED'') ';
48   l_ld_list(l_node_counter).NODE_TYPE := 0;
49   l_ld_list(l_node_counter).HIDE_IF_EMPTY := '';
50   l_ld_list(l_node_counter).NODE_DEPTH := 1;
51 
52   l_node_counter := l_node_counter + 1;
53 
54   SAVEPOINT start_quote_enumeration;
55 
56   FOR cur_rec IN c_quote_nodes LOOP
57 
58 
59         l_ld_list(l_node_counter).NODE_LABEL := cur_rec.meaning;
60         l_ld_list(l_node_counter).VIEW_NAME := 'AST_QUOTES_UWQ_V';
61         l_ld_list(l_node_counter).DATA_SOURCE := 'AST_QUOTES_UWQ';
62         l_ld_list(l_node_counter).MEDIA_TYPE_ID := '';
63         l_ld_list(l_node_counter).WHERE_CLAUSE := ' RESOURCE_ID+0 = :RESOURCE_ID AND  STATUS_CODE = ''' || cur_rec.status_code || '''';
64         l_ld_list(l_node_counter).NODE_TYPE := 0;
65         l_ld_list(l_node_counter).HIDE_IF_EMPTY := '';
66         l_ld_list(l_node_counter).NODE_DEPTH := 2;
67 
68         l_node_counter := l_node_counter + 1;
69 
70   END LOOP;
71 
72   IEU_PUB.ADD_UWQ_NODE_DATA
73   (P_RESOURCE_ID,
74    P_SEL_ENUM_ID,
75    l_ld_list
76   );
77 
78 
79 EXCEPTION
80   WHEN OTHERS THEN
81     ROLLBACK TO start_quote_enumeration;
82     RAISE;
83 
84 END ENUMERATE_QUOTE_NODES;
85 
86 -- PL/SQL Block
87 END AST_UWQ_QUOTE_ENUMS_PVT;