[Home] [Help]
PACKAGE BODY: APPS.OE_PRINT_FLEX
Source
1 PACKAGE BODY OE_PRINT_FLEX AS
2 /* $Header: OEXUPRFB.pls 115.2 2003/10/20 07:16:43 appldev ship $ */
3
4 -- Purpose: This package is used by the OE_BLKTPRT_FLEX_HDR_V and
5 -- OE_BLKTPRT_FLEX_LINES_V views to print the DFF data from the blanket header
6 -- and blanket lines.The context is set initially and the structure is validated
7 -- Once the context is set and the structure validated, the api returns a value
8 -- or description based on the p_value parameter, that indicates a 'D' or 'V'
9 -- The structure validation information is cached in g_valid_structure for
10 -- performance considerations.
11 --
12
13 g_valid_structure boolean;
14 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_PRINT_FLEX';
15 G_FUNCTION_NAME CONSTANT VARCHAR2(30) := 'GET_FLEXDESC';
16 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
17
18
19 FUNCTION get_flexdesc(
20 p_appl_short_name IN varchar2 ,
21 p_desc_flex_name IN varchar2,
22 p_values_or_ids IN varchar2 ,
23 p_validation_date IN date,
24 p_context IN varchar2 ,
25 p_attribute1 IN varchar2 ,
26 p_attribute2 IN varchar2 ,
27 p_attribute3 IN varchar2 ,
28 p_attribute4 IN varchar2 ,
29 p_attribute5 IN varchar2 ,
30 p_attribute6 IN varchar2 ,
31 p_attribute7 IN varchar2 ,
32 p_attribute8 IN varchar2 ,
33 p_attribute9 IN varchar2 ,
34 p_attribute10 IN varchar2 ,
35 p_attribute11 IN varchar2 ,
36 p_attribute12 IN varchar2 ,
37 p_attribute13 IN varchar2 ,
38 p_attribute14 IN varchar2 ,
39 p_attribute15 IN varchar2 ,
40 p_attribute16 IN varchar2 ,
41 p_attribute17 IN varchar2 ,
42 p_attribute18 IN varchar2 ,
43 p_attribute19 IN varchar2 ,
44 p_attribute20 IN varchar2 ,
45 p_value IN varchar2 , -- Either 'V' for value or 'D' for description is passed
46 p_segment_number IN NUMBER , -- Will have a value of 1 to 21
47 p_context_reset_flag IN varchar2)
48 RETURN VARCHAR2 IS
49
50 l_val_desc varchar2(400) := null;
51
52
53 BEGIN
54
55 IF p_context_reset_flag = 'Y' THEN
56 g_valid_structure := FALSE;
57 END IF;
58 IF l_debug_level > 0 THEN
59 oe_debug_pub.add('START: '||G_PKG_NAME||':'||G_FUNCTION_NAME);
60 oe_debug_pub.add('-----------------------------------------------');
61 oe_debug_pub.add('appl_short_name = ' || p_appl_short_name);
62 oe_debug_pub.add('desc_flex_name = ' || p_desc_flex_name);
63 oe_debug_pub.add('values_or_ids = ' || p_values_or_ids);
64 oe_debug_pub.add('validation_date = ' || p_validation_date);
65 oe_debug_pub.add('p_validation_date = '||p_validation_date);
66 oe_debug_pub.add('p_context = '||p_context);
67 oe_debug_pub.add('p_attribute1 = ' ||p_attribute1);
68 oe_debug_pub.add('p_attribute2 = ' ||p_attribute2);
69 oe_debug_pub.add('p_attribute3 = ' ||p_attribute3);
70 oe_debug_pub.add('p_attribute4 = ' ||p_attribute4);
71 oe_debug_pub.add('p_attribute5 = ' ||p_attribute5);
72 oe_debug_pub.add('p_attribute6 = ' ||p_attribute6);
73 oe_debug_pub.add('p_attribute7 = ' ||p_attribute7);
74 oe_debug_pub.add('p_attribute8 = ' ||p_attribute8);
75 oe_debug_pub.add('p_attribute9 = ' ||p_attribute9);
76 oe_debug_pub.add('p_attribute10= ' ||p_attribute10);
77 oe_debug_pub.add('p_attribute11= ' ||p_attribute11);
78 oe_debug_pub.add('p_attribute12= ' ||p_attribute12);
79 oe_debug_pub.add('p_attribute13= ' ||p_attribute13);
80 oe_debug_pub.add('p_attribute14= ' ||p_attribute14);
81 oe_debug_pub.add('p_attribute15= ' ||p_attribute15);
82 oe_debug_pub.add('p_attribute16= ' ||p_attribute16);
83 oe_debug_pub.add('p_attribute17= ' ||p_attribute17);
84 oe_debug_pub.add('p_attribute18= ' ||p_attribute18);
85 oe_debug_pub.add('p_attribute19= ' ||p_attribute19);
86 oe_debug_pub.add('p_attribute20= ' ||p_attribute20);
87 oe_debug_pub.add('p_value = ' ||p_value);
88 oe_debug_pub.add('p_segment_number = ' ||p_segment_number);
89 oe_debug_pub.add('-----------------------------------------------');
90 END IF;
91
92 IF NOT g_valid_structure THEN
93
94 --===============================
95 -- set the context value
96 --===============================
97 IF l_debug_level > 0 THEN
98 oe_debug_pub.add('About to set the context');
99 END IF;
100 FND_FLEX_DESCVAL.set_context_value(p_context);
101 IF l_debug_level > 0 THEN
102 oe_debug_pub.add('set the context success');
103 END IF;
104
105
106 --===============================
107 -- set column values for the Attributes
108 --===============================
109
110 IF l_debug_level > 0 THEN
111 oe_debug_pub.add('About to set the column values');
112 END IF;
113 fnd_flex_descval.set_column_value('ATTRIBUTE1',p_attribute1);
114 fnd_flex_descval.set_column_value('ATTRIBUTE2',p_attribute2);
115 fnd_flex_descval.set_column_value('ATTRIBUTE3',p_attribute3);
116 fnd_flex_descval.set_column_value('ATTRIBUTE4',p_attribute4);
117 fnd_flex_descval.set_column_value('ATTRIBUTE5',p_attribute5);
118 fnd_flex_descval.set_column_value('ATTRIBUTE6',p_attribute6);
119 fnd_flex_descval.set_column_value('ATTRIBUTE7',p_attribute7);
120 fnd_flex_descval.set_column_value('ATTRIBUTE8',p_attribute8);
121 fnd_flex_descval.set_column_value('ATTRIBUTE9',p_attribute9);
122 fnd_flex_descval.set_column_value('ATTRIBUTE10',p_attribute10);
123 fnd_flex_descval.set_column_value('ATTRIBUTE11',p_attribute11);
124 fnd_flex_descval.set_column_value('ATTRIBUTE12',p_attribute12);
125 fnd_flex_descval.set_column_value('ATTRIBUTE13',p_attribute13);
126 fnd_flex_descval.set_column_value('ATTRIBUTE14',p_attribute14);
127 fnd_flex_descval.set_column_value('ATTRIBUTE15',p_attribute15);
128 fnd_flex_descval.set_column_value('ATTRIBUTE16',p_attribute16);
129 fnd_flex_descval.set_column_value('ATTRIBUTE17',p_attribute17);
130 fnd_flex_descval.set_column_value('ATTRIBUTE18',p_attribute18);
131 fnd_flex_descval.set_column_value('ATTRIBUTE19',p_attribute19);
132 fnd_flex_descval.set_column_value('ATTRIBUTE20',p_attribute20);
133 IF l_debug_level > 0 THEN
134 oe_debug_pub.add('set the column values - success');
135 END IF;
136
137 IF l_debug_level > 0 THEN
138 oe_debug_pub.add('***********************************************');
139 oe_debug_pub.add('Calling FND_FLEX_DESCVAL.validate_desccols with:');
140 oe_debug_pub.add('appl_short_name = ' || p_appl_short_name);
141 oe_debug_pub.add('desc_flex_name = ' || p_desc_flex_name);
142 oe_debug_pub.add('values_or_ids = ' || p_values_or_ids);
143 oe_debug_pub.add('validation_date = ' || p_validation_date);
144 oe_debug_pub.add('***********************************************');
145 END IF;
146
147 g_valid_structure := FND_FLEX_DESCVAL.validate_desccols(
148 p_appl_short_name,
149 p_desc_flex_name,
150 p_values_or_ids,
151 p_validation_date);
152
153 IF g_valid_structure THEN
154 IF l_debug_level > 0 THEN
155 oe_debug_pub.add('structure validated successfully');
156 END IF;
157 ELSE
158 IF l_debug_level > 0 THEN
159 oe_debug_pub.add('structure validation failed');
160 END IF;
161 FND_MESSAGE.SET_NAME('ONT','OE_INVALID_FLEXFIELD_STRUCT');
162 FND_MESSAGE.SET_TOKEN('FFSTRUCTURE',p_desc_flex_name);
163 OE_MSG_PUB.Add;
164 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
165 END IF;
166
167 END IF;
168
169 IF (p_value = 'D' AND g_valid_structure) THEN
170
171 IF l_debug_level > 0 THEN
172 oe_debug_pub.add('segment number = '||p_segment_number);
173 END IF;
174
175 l_val_desc := FND_FLEX_DESCVAL.segment_description(p_segment_number);
176
177 IF l_debug_level > 0 THEN
178 oe_debug_pub.add('description = '||l_val_desc);
179 END IF;
180
181 ELSIF (p_value = 'V' AND g_valid_structure) THEN
182
183 l_val_desc := FND_FLEX_DESCVAL.segment_value(p_segment_number);
184
185 IF l_debug_level > 0 THEN
186 oe_debug_pub.add('value = '||l_val_desc);
187 END IF;
188
189 END IF;
190
191
192 IF l_debug_level > 0 THEN
193 oe_debug_pub.add('returning the values');
194 oe_debug_pub.add('END: '||G_PKG_NAME||':'||G_FUNCTION_NAME);
195 END IF;
196
197 Return(l_val_desc);
198
199 EXCEPTION
200
201 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
202 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
203
204 WHEN OTHERS THEN
205 IF l_debug_level > 0 THEN
206 oe_debug_pub.add('In the exception section');
207 END IF;
208 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
209 THEN
210 OE_MSG_PUB.Add_Exc_Msg
211 ( G_PKG_NAME
212 , G_FUNCTION_NAME
213 );
214 END IF;
215 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
216
217 End get_flexdesc;
218
219 END OE_PRINT_FLEX;