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