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