DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_ATTR_MAP_PUB

Source


1 PACKAGE BODY QP_Attr_Map_PUB AS
2 /* $Header: QPXPMAPB.pls 120.4 2005/08/18 15:54:18 sfiresto ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Attr_Map_PUB';
7 
8 --  Forward declaration of Procedure Id_To_Value
9 
10 PROCEDURE Id_To_Value
11 (   p_PTE_rec                       IN  Pte_Rec_Type
12 ,   p_RQT_tbl                       IN  Rqt_Tbl_Type
13 ,   p_SSC_tbl                       IN  Ssc_Tbl_Type
14 ,   p_PSG_tbl                       IN  Psg_Tbl_Type
15 ,   p_SOU_tbl                       IN  Sou_Tbl_Type
16 ,   p_FNA_tbl                       IN  Fna_Tbl_Type
17 ,   x_PTE_val_rec                   OUT NOCOPY /* file.sql.39 change */ Pte_Val_Rec_Type
18 ,   x_RQT_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Rqt_Val_Tbl_Type
19 ,   x_SSC_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Ssc_Val_Tbl_Type
20 ,   x_PSG_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Psg_Val_Tbl_Type
21 ,   x_SOU_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Sou_Val_Tbl_Type
22 ,   x_FNA_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Fna_Val_Tbl_Type
23 );
24 
25 --  Forward declaration of procedure Value_To_Id
26 
27 PROCEDURE Value_To_Id
28 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
29 ,   p_PTE_rec                       IN  Pte_Rec_Type
30 ,   p_PTE_val_rec                   IN  Pte_Val_Rec_Type
31 ,   p_RQT_tbl                       IN  Rqt_Tbl_Type
32 ,   p_RQT_val_tbl                   IN  Rqt_Val_Tbl_Type
33 ,   p_SSC_tbl                       IN  Ssc_Tbl_Type
34 ,   p_SSC_val_tbl                   IN  Ssc_Val_Tbl_Type
35 ,   p_PSG_tbl                       IN  Psg_Tbl_Type
36 ,   p_PSG_val_tbl                   IN  Psg_Val_Tbl_Type
37 ,   p_SOU_tbl                       IN  Sou_Tbl_Type
38 ,   p_SOU_val_tbl                   IN  Sou_Val_Tbl_Type
39 ,   p_FNA_tbl                       IN  Fna_Tbl_Type
40 ,   p_FNA_val_tbl                   IN  Fna_Val_Tbl_Type
41 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ Pte_Rec_Type
42 ,   x_RQT_tbl                       OUT NOCOPY /* file.sql.39 change */ Rqt_Tbl_Type
43 ,   x_SSC_tbl                       OUT NOCOPY /* file.sql.39 change */ Ssc_Tbl_Type
44 ,   x_PSG_tbl                       OUT NOCOPY /* file.sql.39 change */ Psg_Tbl_Type
45 ,   x_SOU_tbl                       OUT NOCOPY /* file.sql.39 change */ Sou_Tbl_Type
46 ,   x_FNA_tbl                       OUT NOCOPY /* file.sql.39 change */ Fna_Tbl_Type
47 );
48 
49 --  Start of Comments
50 --  API name    Process_Attr_Mapping
51 --  Type        Public
52 --  Function
53 --
54 --  Pre-reqs
55 --
56 --  Parameters
57 --
58 --  Version     Current version = 1.0
59 --              Initial version = 1.0
60 --
61 --  Notes
62 --
63 --  End of Comments
64 
65 PROCEDURE Process_Attr_Mapping
66 (   p_api_version_number            IN  NUMBER
67 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
68 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
69 ,   p_commit                        IN  VARCHAR2 := FND_API.G_FALSE
70 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
71 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
72 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
73 ,   p_PTE_rec                       IN  Pte_Rec_Type :=
74                                         G_MISS_PTE_REC
75 ,   p_PTE_val_rec                   IN  Pte_Val_Rec_Type :=
76                                         G_MISS_PTE_VAL_REC
77 ,   p_RQT_tbl                       IN  Rqt_Tbl_Type :=
78                                         G_MISS_RQT_TBL
79 ,   p_RQT_val_tbl                   IN  Rqt_Val_Tbl_Type :=
80                                         G_MISS_RQT_VAL_TBL
81 ,   p_SSC_tbl                       IN  Ssc_Tbl_Type :=
82                                         G_MISS_SSC_TBL
83 ,   p_SSC_val_tbl                   IN  Ssc_Val_Tbl_Type :=
84                                         G_MISS_SSC_VAL_TBL
85 ,   p_PSG_tbl                       IN  Psg_Tbl_Type :=
86                                         G_MISS_PSG_TBL
87 ,   p_PSG_val_tbl                   IN  Psg_Val_Tbl_Type :=
88                                         G_MISS_PSG_VAL_TBL
89 ,   p_SOU_tbl                       IN  Sou_Tbl_Type :=
90                                         G_MISS_SOU_TBL
91 ,   p_SOU_val_tbl                   IN  Sou_Val_Tbl_Type :=
92                                         G_MISS_SOU_VAL_TBL
93 ,   p_FNA_tbl                       IN  Fna_Tbl_Type :=
94                                         G_MISS_FNA_TBL
95 ,   p_FNA_val_tbl                   IN  Fna_Val_Tbl_Type :=
96                                         G_MISS_FNA_VAL_TBL
97 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ Pte_Rec_Type
98 ,   x_PTE_val_rec                   OUT NOCOPY /* file.sql.39 change */ Pte_Val_Rec_Type
99 ,   x_RQT_tbl                       OUT NOCOPY /* file.sql.39 change */ Rqt_Tbl_Type
100 ,   x_RQT_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Rqt_Val_Tbl_Type
101 ,   x_SSC_tbl                       OUT NOCOPY /* file.sql.39 change */ Ssc_Tbl_Type
102 ,   x_SSC_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Ssc_Val_Tbl_Type
103 ,   x_PSG_tbl                       OUT NOCOPY /* file.sql.39 change */ Psg_Tbl_Type
104 ,   x_PSG_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Psg_Val_Tbl_Type
105 ,   x_SOU_tbl                       OUT NOCOPY /* file.sql.39 change */ Sou_Tbl_Type
106 ,   x_SOU_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Sou_Val_Tbl_Type
107 ,   x_FNA_tbl                       OUT NOCOPY /* file.sql.39 change */ Fna_Tbl_Type
108 ,   x_FNA_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Fna_Val_Tbl_Type
109 )
110 IS
111 l_api_version_number          CONSTANT NUMBER := 1.0;
112 l_api_name                    CONSTANT VARCHAR2(30):= 'Process_Attr_Mapping';
113 l_control_rec                 QP_GLOBALS.Control_Rec_Type;
114 l_return_status               VARCHAR2(1);
115 l_PTE_rec                     Pte_Rec_Type;
116 l_p_PTE_rec                     Pte_Rec_Type;
117 l_RQT_tbl                     Rqt_Tbl_Type;
118 l_p_RQT_tbl                     Rqt_Tbl_Type;
119 l_SSC_tbl                     Ssc_Tbl_Type;
120 l_p_SSC_tbl                     Ssc_Tbl_Type;
121 l_PSG_tbl                     Psg_Tbl_Type;
122 l_p_PSG_tbl                     Psg_Tbl_Type;
123 l_SOU_tbl                     Sou_Tbl_Type;
124 l_p_SOU_tbl                     Sou_Tbl_Type;
125 l_FNA_tbl                     Fna_Tbl_Type;
126 l_p_FNA_tbl                     Fna_Tbl_Type;
127 l_enabled_fnas_ret_sts        VARCHAR2(1);
128 BEGIN
129 
130     --  Standard call to check for call compatibility
131 
132     IF NOT FND_API.Compatible_API_Call
133            (   l_api_version_number
134            ,   p_api_version_number
135            ,   l_api_name
136            ,   G_PKG_NAME
137            )
138     THEN
139         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
140     END IF;
141 
142     --  Perform Value to Id conversion
143 
144     Value_To_Id
145     (   x_return_status               => l_return_status
146     ,   p_PTE_rec                     => p_PTE_rec
147     ,   p_PTE_val_rec                 => p_PTE_val_rec
148     ,   p_RQT_tbl                     => p_RQT_tbl
149     ,   p_RQT_val_tbl                 => p_RQT_val_tbl
150     ,   p_SSC_tbl                     => p_SSC_tbl
151     ,   p_SSC_val_tbl                 => p_SSC_val_tbl
152     ,   p_PSG_tbl                     => p_PSG_tbl
153     ,   p_PSG_val_tbl                 => p_PSG_val_tbl
154     ,   p_SOU_tbl                     => p_SOU_tbl
155     ,   p_SOU_val_tbl                 => p_SOU_val_tbl
156     ,   p_FNA_tbl                     => p_FNA_tbl
157     ,   p_FNA_val_tbl                 => p_FNA_val_tbl
158     ,   x_PTE_rec                     => l_PTE_rec
159     ,   x_RQT_tbl                     => l_RQT_tbl
160     ,   x_SSC_tbl                     => l_SSC_tbl
161     ,   x_PSG_tbl                     => l_PSG_tbl
162     ,   x_SOU_tbl                     => l_SOU_tbl
163     ,   x_FNA_tbl                     => l_FNA_tbl
164     );
165 
166     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
167         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
168     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
169         RAISE FND_API.G_EXC_ERROR;
170     END IF;
171 
172 
173     --  Call QP_Attr_Map_PVT.Process_Attr_Mapping
174     l_p_PTE_rec := l_PTE_rec;
175     l_p_RQT_tbl := l_RQT_tbl;
176     l_p_SSC_tbl := l_SSC_tbl;
177     l_p_PSG_tbl := l_PSG_tbl;
178     l_p_SOU_tbl := l_SOU_tbl;
179     l_p_FNA_tbl := l_FNA_tbl;
180 
181     QP_Attr_Map_PVT.Process_Attr_Mapping
182     (   p_api_version_number          => 1.0
183     ,   p_init_msg_list               => p_init_msg_list
184     ,   p_validation_level            => FND_API.G_VALID_LEVEL_FULL
185     ,   p_commit                      => p_commit
186     ,   x_return_status               => x_return_status
187     ,   x_msg_count                   => x_msg_count
188     ,   x_msg_data                    => x_msg_data
189     ,   p_control_rec                 => l_control_rec
190     ,   p_PTE_rec                     => l_p_PTE_rec
191     ,   p_RQT_tbl                     => l_p_RQT_tbl
192     ,   p_SSC_tbl                     => l_p_SSC_tbl
193     ,   p_PSG_tbl                     => l_p_PSG_tbl
194     ,   p_SOU_tbl                     => l_p_SOU_tbl
195     ,   p_FNA_tbl                     => l_p_FNA_tbl
196     ,   x_PTE_rec                     => l_PTE_rec
197     ,   x_RQT_tbl                     => l_RQT_tbl
198     ,   x_SSC_tbl                     => l_SSC_tbl
199     ,   x_PSG_tbl                     => l_PSG_tbl
200     ,   x_SOU_tbl                     => l_SOU_tbl
201     ,   x_FNA_tbl                     => l_FNA_tbl
202     );
203 
204     --  Load Id OUT parameters.
205 
206     x_PTE_rec                      := l_PTE_rec;
207     x_RQT_tbl                      := l_RQT_tbl;
208     x_SSC_tbl                      := l_SSC_tbl;
209     x_PSG_tbl                      := l_PSG_tbl;
210     x_SOU_tbl                      := l_SOU_tbl;
211     x_FNA_tbl                      := l_FNA_tbl;
212 
213     --  If p_return_values is TRUE then convert Ids to Values.
214 
215     IF FND_API.to_Boolean(p_return_values) THEN
216 
217         Id_To_Value
218         (   p_PTE_rec                     => l_PTE_rec
219         ,   p_RQT_tbl                     => l_RQT_tbl
220         ,   p_SSC_tbl                     => l_SSC_tbl
221         ,   p_PSG_tbl                     => l_PSG_tbl
222         ,   p_SOU_tbl                     => l_SOU_tbl
223         ,   p_FNA_tbl                     => l_FNA_tbl
224         ,   x_PTE_val_rec                 => x_PTE_val_rec
225         ,   x_RQT_val_tbl                 => x_RQT_val_tbl
226         ,   x_SSC_val_tbl                 => x_SSC_val_tbl
227         ,   x_PSG_val_tbl                 => x_PSG_val_tbl
228         ,   x_SOU_val_tbl                 => x_SOU_val_tbl
229         ,   x_FNA_val_tbl                 => x_FNA_val_tbl
230         );
231 
232     END IF;
233 
234     -- If Process_Attr_mapping is successful, Check for Enabled Fnas
235     IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
236       QP_Attr_Map_PVT.Check_Enabled_Fnas
237       ( x_msg_data      => x_msg_data
238       , x_msg_count     => x_msg_count
239       , x_return_status => l_enabled_fnas_ret_sts
240       );
241     END IF;
242 
243 EXCEPTION
244 
245     WHEN FND_API.G_EXC_ERROR THEN
246 
247         x_return_status := FND_API.G_RET_STS_ERROR;
248 
249         --  Get message count and data
250 
251         OE_MSG_PUB.Count_And_Get
252         (   p_count                       => x_msg_count
253         ,   p_data                        => x_msg_data
254         );
255 
256     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
257 
258         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
259 
260         --  Get message count and data
261 
262         OE_MSG_PUB.Count_And_Get
263         (   p_count                       => x_msg_count
264         ,   p_data                        => x_msg_data
265         );
266 
267     WHEN OTHERS THEN
268 
269         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
270 
271         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
272         THEN
273             OE_MSG_PUB.Add_Exc_Msg
274             (   G_PKG_NAME
275             ,   'Process_Attr_Mapping'
276             );
277         END IF;
278 
279         --  Get message count and data
280 
281         OE_MSG_PUB.Count_And_Get
282         (   p_count                       => x_msg_count
283         ,   p_data                        => x_msg_data
284         );
285 
286 END Process_Attr_Mapping;
287 
288 --  Start of Comments
289 --  API name    Process_Attr_Mapping (Overloaded)
290 --  Type        Public
291 --  Function
292 --
293 --  Pre-reqs
294 --
295 --  Parameters
296 --
297 --  Version     Current version = 1.0
298 --              Initial version = 1.0
299 --
300 --  Notes
301 --
302 --  End of Comments
303 
304 PROCEDURE Process_Attr_Mapping
305 (   p_api_version_number            IN  NUMBER
306 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
307 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
308 ,   p_commit                        IN  VARCHAR2 := FND_API.G_FALSE
309 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
310 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
311 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
312 ,   p_PTE_rec                       IN  Pte_Rec_Type :=
313                                         G_MISS_PTE_REC
314 ,   p_PTE_val_rec                   IN  Pte_Val_Rec_Type :=
315                                         G_MISS_PTE_VAL_REC
316 ,   p_RQT_tbl                       IN  Rqt_Tbl_Type :=
317                                         G_MISS_RQT_TBL
318 ,   p_RQT_val_tbl                   IN  Rqt_Val_Tbl_Type :=
319                                         G_MISS_RQT_VAL_TBL
320 ,   p_SSC_tbl                       IN  Ssc_Tbl_Type :=
321                                         G_MISS_SSC_TBL
322 ,   p_SSC_val_tbl                   IN  Ssc_Val_Tbl_Type :=
323                                         G_MISS_SSC_VAL_TBL
324 ,   p_PSG_tbl                       IN  Psg_Tbl_Type :=
325                                         G_MISS_PSG_TBL
326 ,   p_PSG_val_tbl                   IN  Psg_Val_Tbl_Type :=
327                                         G_MISS_PSG_VAL_TBL
328 ,   p_SOU_tbl                       IN  Sou_Tbl_Type :=
329                                         G_MISS_SOU_TBL
330 ,   p_SOU_val_tbl                   IN  Sou_Val_Tbl_Type :=
331                                         G_MISS_SOU_VAL_TBL
332 ,   p_FNA_tbl                       IN  Fna_Tbl_Type :=
333                                         G_MISS_FNA_TBL
334 ,   p_FNA_val_tbl                   IN  Fna_Val_Tbl_Type :=
335                                         G_MISS_FNA_VAL_TBL
336 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ Pte_Rec_Type
337 ,   x_PTE_val_rec                   OUT NOCOPY /* file.sql.39 change */ Pte_Val_Rec_Type
338 ,   x_RQT_tbl                       OUT NOCOPY /* file.sql.39 change */ Rqt_Tbl_Type
339 ,   x_RQT_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Rqt_Val_Tbl_Type
340 ,   x_SSC_tbl                       OUT NOCOPY /* file.sql.39 change */ Ssc_Tbl_Type
341 ,   x_SSC_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Ssc_Val_Tbl_Type
342 ,   x_PSG_tbl                       OUT NOCOPY /* file.sql.39 change */ Psg_Tbl_Type
343 ,   x_PSG_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Psg_Val_Tbl_Type
347 IS
344 ,   x_SOU_tbl                       OUT NOCOPY /* file.sql.39 change */ Sou_Tbl_Type
345 ,   x_SOU_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Sou_Val_Tbl_Type
346 )
348 l_FNA_tbl                     Fna_Tbl_Type;
349 l_FNA_val_tbl                 Fna_Val_Tbl_Type;
350 BEGIN
351   Process_Attr_Mapping( p_api_version_number  => p_api_version_number
352                       , p_init_msg_list       => p_init_msg_list
353                       , p_return_values       => p_return_values
354                       , p_commit              => p_commit
355                       , x_return_status       => x_return_status
356                       , x_msg_count           => x_msg_count
357                       , x_msg_data            => x_msg_data
358                       , p_PTE_rec             => p_PTE_rec
359                       , p_PTE_val_rec         => p_PTE_val_rec
360                       , p_RQT_tbl             => p_RQT_tbl
361                       , p_RQT_val_tbl         => p_RQT_val_tbl
362                       , p_SSC_tbl             => p_SSC_tbl
363                       , p_SSC_val_tbl         => p_SSC_val_tbl
364                       , p_PSG_tbl             => p_PSG_tbl
365                       , p_PSG_val_tbl         => p_PSG_val_tbl
366                       , p_SOU_tbl             => p_SOU_tbl
367                       , p_SOU_val_tbl         => p_SOU_val_tbl
368                       , p_FNA_tbl             => p_FNA_tbl
369                       , p_FNA_val_tbl         => p_FNA_val_tbl
370                       , x_PTE_rec             => x_PTE_rec
371                       , x_PTE_val_rec         => x_PTE_val_rec
372                       , x_RQT_tbl             => x_RQT_tbl
373                       , x_RQT_val_tbl         => x_RQT_val_tbl
374                       , x_SSC_tbl             => x_SSC_tbl
375                       , x_SSC_val_tbl         => x_SSC_val_tbl
376                       , x_PSG_tbl             => x_PSG_tbl
377                       , x_PSG_val_tbl         => x_PSG_val_tbl
378                       , x_SOU_tbl             => x_SOU_tbl
379                       , x_SOU_val_tbl         => x_SOU_val_tbl
380                       , x_FNA_tbl             => l_FNA_tbl
381                       , x_FNA_val_tbl         => l_FNA_val_tbl
382                       );
383 
384 
385 END Process_Attr_Mapping;
386 
387 --  Start of Comments
388 --  API name    Lock_Attr_Mapping
389 --  Type        Public
390 --  Function
391 --
392 --  Pre-reqs
393 --
394 --  Parameters
395 --
396 --  Version     Current version = 1.0
397 --              Initial version = 1.0
398 --
399 --  Notes
400 --
401 --  End of Comments
402 
403 PROCEDURE Lock_Attr_Mapping
404 (   p_api_version_number            IN  NUMBER
405 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
406 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
407 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
408 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
409 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
410 ,   p_PTE_rec                       IN  Pte_Rec_Type :=
411                                         G_MISS_PTE_REC
412 ,   p_PTE_val_rec                   IN  Pte_Val_Rec_Type :=
413                                         G_MISS_PTE_VAL_REC
414 ,   p_RQT_tbl                       IN  Rqt_Tbl_Type :=
415                                         G_MISS_RQT_TBL
416 ,   p_RQT_val_tbl                   IN  Rqt_Val_Tbl_Type :=
417                                         G_MISS_RQT_VAL_TBL
418 ,   p_SSC_tbl                       IN  Ssc_Tbl_Type :=
419                                         G_MISS_SSC_TBL
420 ,   p_SSC_val_tbl                   IN  Ssc_Val_Tbl_Type :=
421                                         G_MISS_SSC_VAL_TBL
422 ,   p_PSG_tbl                       IN  Psg_Tbl_Type :=
423                                         G_MISS_PSG_TBL
424 ,   p_PSG_val_tbl                   IN  Psg_Val_Tbl_Type :=
425                                         G_MISS_PSG_VAL_TBL
426 ,   p_SOU_tbl                       IN  Sou_Tbl_Type :=
427                                         G_MISS_SOU_TBL
428 ,   p_SOU_val_tbl                   IN  Sou_Val_Tbl_Type :=
429                                         G_MISS_SOU_VAL_TBL
430 ,   p_FNA_tbl                       IN  Fna_Tbl_Type :=
431                                         G_MISS_FNA_TBL
432 ,   p_FNA_val_tbl                   IN  Fna_Val_Tbl_Type :=
433                                         G_MISS_FNA_VAL_TBL
434 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ Pte_Rec_Type
435 ,   x_PTE_val_rec                   OUT NOCOPY /* file.sql.39 change */ Pte_Val_Rec_Type
436 ,   x_RQT_tbl                       OUT NOCOPY /* file.sql.39 change */ Rqt_Tbl_Type
437 ,   x_RQT_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Rqt_Val_Tbl_Type
438 ,   x_SSC_tbl                       OUT NOCOPY /* file.sql.39 change */ Ssc_Tbl_Type
439 ,   x_SSC_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Ssc_Val_Tbl_Type
440 ,   x_PSG_tbl                       OUT NOCOPY /* file.sql.39 change */ Psg_Tbl_Type
441 ,   x_PSG_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Psg_Val_Tbl_Type
442 ,   x_SOU_tbl                       OUT NOCOPY /* file.sql.39 change */ Sou_Tbl_Type
443 ,   x_SOU_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Sou_Val_Tbl_Type
447 IS
444 ,   x_FNA_tbl                       OUT NOCOPY /* file.sql.39 change */ Fna_Tbl_Type
445 ,   x_FNA_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Fna_Val_Tbl_Type
446 )
448 l_api_version_number          CONSTANT NUMBER := 1.0;
449 l_api_name                    CONSTANT VARCHAR2(30):= 'Lock_Attr_Mapping';
450 l_return_status               VARCHAR2(1);
451 l_PTE_rec                     Pte_Rec_Type;
452 l_p_PTE_rec                     Pte_Rec_Type;
453 l_RQT_tbl                     Rqt_Tbl_Type;
454 l_p_RQT_tbl                     Rqt_Tbl_Type;
455 l_SSC_tbl                     Ssc_Tbl_Type;
456 l_p_SSC_tbl                     Ssc_Tbl_Type;
457 l_PSG_tbl                     Psg_Tbl_Type;
458 l_p_PSG_tbl                     Psg_Tbl_Type;
459 l_SOU_tbl                     Sou_Tbl_Type;
460 l_p_SOU_tbl                     Sou_Tbl_Type;
461 l_FNA_tbl                     Fna_Tbl_Type;
462 l_p_FNA_tbl                     Fna_Tbl_Type;
463 BEGIN
464 
465     --  Standard call to check for call compatibility
466 
467     IF NOT FND_API.Compatible_API_Call
468            (   l_api_version_number
469            ,   p_api_version_number
470            ,   l_api_name
471            ,   G_PKG_NAME
472            )
473     THEN
474         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
475     END IF;
476 
477     --  Perform Value to Id conversion
478 
479     Value_To_Id
480     (   x_return_status               => l_return_status
481     ,   p_PTE_rec                     => p_PTE_rec
482     ,   p_PTE_val_rec                 => p_PTE_val_rec
483     ,   p_RQT_tbl                     => p_RQT_tbl
484     ,   p_RQT_val_tbl                 => p_RQT_val_tbl
485     ,   p_SSC_tbl                     => p_SSC_tbl
486     ,   p_SSC_val_tbl                 => p_SSC_val_tbl
487     ,   p_PSG_tbl                     => p_PSG_tbl
488     ,   p_PSG_val_tbl                 => p_PSG_val_tbl
489     ,   p_SOU_tbl                     => p_SOU_tbl
490     ,   p_SOU_val_tbl                 => p_SOU_val_tbl
491     ,   p_FNA_tbl                     => p_FNA_tbl
492     ,   p_FNA_val_tbl                 => p_FNA_val_tbl
493     ,   x_PTE_rec                     => l_PTE_rec
494     ,   x_RQT_tbl                     => l_RQT_tbl
495     ,   x_SSC_tbl                     => l_SSC_tbl
496     ,   x_PSG_tbl                     => l_PSG_tbl
497     ,   x_SOU_tbl                     => l_SOU_tbl
498     ,   x_FNA_tbl                     => l_FNA_tbl
499     );
500 
501     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
502         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
503     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
504         RAISE FND_API.G_EXC_ERROR;
505     END IF;
506 
507 
508     --  Call QP_Attr_Map_PVT.Lock_Attr_Mapping
509     l_p_PTE_rec := l_PTE_rec;
510     l_p_RQT_tbl := l_RQT_tbl;
511     l_p_SSC_tbl := l_SSC_tbl;
512     l_p_PSG_tbl := l_PSG_tbl;
513     l_p_SOU_tbl := l_SOU_tbl;
514     l_p_FNA_tbl := l_FNA_tbl;
515 
516     QP_Attr_Map_PVT.Lock_Attr_Mapping
517     (   p_api_version_number          => 1.0
518     ,   p_init_msg_list               => p_init_msg_list
519     ,   x_return_status               => x_return_status
520     ,   x_msg_count                   => x_msg_count
521     ,   x_msg_data                    => x_msg_data
522     ,   p_PTE_rec                     => l_p_PTE_rec
523     ,   p_RQT_tbl                     => l_p_RQT_tbl
524     ,   p_SSC_tbl                     => l_p_SSC_tbl
525     ,   p_PSG_tbl                     => l_p_PSG_tbl
526     ,   p_SOU_tbl                     => l_p_SOU_tbl
527     ,   p_FNA_tbl                     => l_p_FNA_tbl
528     ,   x_PTE_rec                     => l_PTE_rec
529     ,   x_RQT_tbl                     => l_RQT_tbl
530     ,   x_SSC_tbl                     => l_SSC_tbl
531     ,   x_PSG_tbl                     => l_PSG_tbl
532     ,   x_SOU_tbl                     => l_SOU_tbl
533     ,   x_FNA_tbl                     => l_FNA_tbl
534     );
535 
536     --  Load Id OUT parameters.
537 
538     x_PTE_rec                      := l_PTE_rec;
539     x_RQT_tbl                      := l_RQT_tbl;
540     x_SSC_tbl                      := l_SSC_tbl;
541     x_PSG_tbl                      := l_PSG_tbl;
542     x_SOU_tbl                      := l_SOU_tbl;
543     x_FNA_tbl                      := l_FNA_tbl;
544 
545     --  If p_return_values is TRUE then convert Ids to Values.
546 
547     IF FND_API.to_Boolean(p_return_values) THEN
548 
549         Id_To_Value
550         (   p_PTE_rec                     => l_PTE_rec
551         ,   p_RQT_tbl                     => l_RQT_tbl
552         ,   p_SSC_tbl                     => l_SSC_tbl
553         ,   p_PSG_tbl                     => l_PSG_tbl
554         ,   p_SOU_tbl                     => l_SOU_tbl
555         ,   p_FNA_tbl                     => l_FNA_tbl
556         ,   x_PTE_val_rec                 => x_PTE_val_rec
557         ,   x_RQT_val_tbl                 => x_RQT_val_tbl
558         ,   x_SSC_val_tbl                 => x_SSC_val_tbl
559         ,   x_PSG_val_tbl                 => x_PSG_val_tbl
560         ,   x_SOU_val_tbl                 => x_SOU_val_tbl
561         ,   x_FNA_val_tbl                 => x_FNA_val_tbl
562         );
563 
564     END IF;
565 
566 EXCEPTION
567 
568     WHEN FND_API.G_EXC_ERROR THEN
569 
573 
570         x_return_status := FND_API.G_RET_STS_ERROR;
571 
572         --  Get message count and data
574         OE_MSG_PUB.Count_And_Get
575         (   p_count                       => x_msg_count
576         ,   p_data                        => x_msg_data
577         );
578 
579     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
580 
581         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
582 
583         --  Get message count and data
584 
585         OE_MSG_PUB.Count_And_Get
586         (   p_count                       => x_msg_count
587         ,   p_data                        => x_msg_data
588         );
589 
590     WHEN OTHERS THEN
591 
592         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
593 
594         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
595         THEN
596             OE_MSG_PUB.Add_Exc_Msg
597             (   G_PKG_NAME
598             ,   'Lock_Attr_Mapping'
599             );
600         END IF;
601 
602         --  Get message count and data
603 
604         OE_MSG_PUB.Count_And_Get
605         (   p_count                       => x_msg_count
606         ,   p_data                        => x_msg_data
607         );
608 
609 END Lock_Attr_Mapping;
610 
611 --  Start of Comments
612 --  API name    Lock_Attr_Mapping (Overloaded)
613 --  Type        Public
614 --  Function
615 --
616 --  Pre-reqs
617 --
618 --  Parameters
619 --
620 --  Version     Current version = 1.0
621 --              Initial version = 1.0
622 --
623 --  Notes
624 --
625 --  End of Comments
626 
627 PROCEDURE Lock_Attr_Mapping
628 (   p_api_version_number            IN  NUMBER
629 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
630 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
631 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
632 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
633 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
634 ,   p_PTE_rec                       IN  Pte_Rec_Type :=
635                                         G_MISS_PTE_REC
636 ,   p_PTE_val_rec                   IN  Pte_Val_Rec_Type :=
637                                         G_MISS_PTE_VAL_REC
638 ,   p_RQT_tbl                       IN  Rqt_Tbl_Type :=
639                                         G_MISS_RQT_TBL
640 ,   p_RQT_val_tbl                   IN  Rqt_Val_Tbl_Type :=
641                                         G_MISS_RQT_VAL_TBL
642 ,   p_SSC_tbl                       IN  Ssc_Tbl_Type :=
643                                         G_MISS_SSC_TBL
644 ,   p_SSC_val_tbl                   IN  Ssc_Val_Tbl_Type :=
645                                         G_MISS_SSC_VAL_TBL
646 ,   p_PSG_tbl                       IN  Psg_Tbl_Type :=
647                                         G_MISS_PSG_TBL
648 ,   p_PSG_val_tbl                   IN  Psg_Val_Tbl_Type :=
649                                         G_MISS_PSG_VAL_TBL
650 ,   p_SOU_tbl                       IN  Sou_Tbl_Type :=
651                                         G_MISS_SOU_TBL
652 ,   p_SOU_val_tbl                   IN  Sou_Val_Tbl_Type :=
653                                         G_MISS_SOU_VAL_TBL
654 ,   p_FNA_tbl                       IN  Fna_Tbl_Type :=
655                                         G_MISS_FNA_TBL
656 ,   p_FNA_val_tbl                   IN  Fna_Val_Tbl_Type :=
657                                         G_MISS_FNA_VAL_TBL
658 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ Pte_Rec_Type
659 ,   x_PTE_val_rec                   OUT NOCOPY /* file.sql.39 change */ Pte_Val_Rec_Type
660 ,   x_RQT_tbl                       OUT NOCOPY /* file.sql.39 change */ Rqt_Tbl_Type
661 ,   x_RQT_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Rqt_Val_Tbl_Type
662 ,   x_SSC_tbl                       OUT NOCOPY /* file.sql.39 change */ Ssc_Tbl_Type
663 ,   x_SSC_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Ssc_Val_Tbl_Type
664 ,   x_PSG_tbl                       OUT NOCOPY /* file.sql.39 change */ Psg_Tbl_Type
665 ,   x_PSG_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Psg_Val_Tbl_Type
666 ,   x_SOU_tbl                       OUT NOCOPY /* file.sql.39 change */ Sou_Tbl_Type
667 ,   x_SOU_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Sou_Val_Tbl_Type
668 )
669 IS
670 l_FNA_tbl                     Fna_Tbl_Type;
671 l_FNA_val_tbl                 Fna_Val_Tbl_Type;
672 BEGIN
673      Lock_Attr_Mapping( p_api_version_number  => p_api_version_number
674                       , p_init_msg_list       => p_init_msg_list
675                       , p_return_values       => p_return_values
676                       , x_return_status       => x_return_status
677                       , x_msg_count           => x_msg_count
678                       , x_msg_data            => x_msg_data
679                       , p_PTE_rec             => p_PTE_rec
680                       , p_PTE_val_rec         => p_PTE_val_rec
681                       , p_RQT_tbl             => p_RQT_tbl
682                       , p_RQT_val_tbl         => p_RQT_val_tbl
683                       , p_SSC_tbl             => p_SSC_tbl
684                       , p_SSC_val_tbl         => p_SSC_val_tbl
685                       , p_PSG_tbl             => p_PSG_tbl
689                       , p_FNA_tbl             => p_FNA_tbl
686                       , p_PSG_val_tbl         => p_PSG_val_tbl
687                       , p_SOU_tbl             => p_SOU_tbl
688                       , p_SOU_val_tbl         => p_SOU_val_tbl
690                       , p_FNA_val_tbl         => p_FNA_val_tbl
691                       , x_PTE_rec             => x_PTE_rec
692                       , x_PTE_val_rec         => x_PTE_val_rec
693                       , x_RQT_tbl             => x_RQT_tbl
694                       , x_RQT_val_tbl         => x_RQT_val_tbl
695                       , x_SSC_tbl             => x_SSC_tbl
696                       , x_SSC_val_tbl         => x_SSC_val_tbl
697                       , x_PSG_tbl             => x_PSG_tbl
698                       , x_PSG_val_tbl         => x_PSG_val_tbl
699                       , x_SOU_tbl             => x_SOU_tbl
700                       , x_SOU_val_tbl         => x_SOU_val_tbl
704 END Lock_Attr_Mapping;
701                       , x_FNA_tbl             => l_FNA_tbl
702                       , x_FNA_val_tbl         => l_FNA_val_tbl
703                       );
705 
706 --  Start of Comments
707 --  API name    Get_Attr_Mapping
708 --  Type        Public
709 --  Function
710 --
711 --  Pre-reqs
712 --
713 --  Parameters
714 --
715 --  Version     Current version = 1.0
716 --              Initial version = 1.0
717 --
718 --  Notes
719 --
720 --  End of Comments
721 
722 PROCEDURE Get_Attr_Mapping
723 (   p_api_version_number            IN  NUMBER
724 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
725 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
726 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
727 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
728 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
729 ,   p_lookup_code                   IN  VARCHAR2 :=
730                                         FND_API.G_MISS_CHAR
731 ,   p_lookup                        IN  VARCHAR2 :=
732                                         FND_API.G_MISS_CHAR
733 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ Pte_Rec_Type
734 ,   x_PTE_val_rec                   OUT NOCOPY /* file.sql.39 change */ Pte_Val_Rec_Type
735 ,   x_RQT_tbl                       OUT NOCOPY /* file.sql.39 change */ Rqt_Tbl_Type
736 ,   x_RQT_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Rqt_Val_Tbl_Type
737 ,   x_SSC_tbl                       OUT NOCOPY /* file.sql.39 change */ Ssc_Tbl_Type
738 ,   x_SSC_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Ssc_Val_Tbl_Type
739 ,   x_PSG_tbl                       OUT NOCOPY /* file.sql.39 change */ Psg_Tbl_Type
740 ,   x_PSG_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Psg_Val_Tbl_Type
741 ,   x_SOU_tbl                       OUT NOCOPY /* file.sql.39 change */ Sou_Tbl_Type
742 ,   x_SOU_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Sou_Val_Tbl_Type
743 ,   x_FNA_tbl                       OUT NOCOPY /* file.sql.39 change */ Fna_Tbl_Type
744 ,   x_FNA_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Fna_Val_Tbl_Type
745 )
746 IS
747 l_api_version_number          CONSTANT NUMBER := 1.0;
748 l_api_name                    CONSTANT VARCHAR2(30):= 'Get_Attr_Mapping';
749 l_lookup_code                 VARCHAR2(30) := p_lookup_code;
750 l_PTE_rec                     QP_Attr_Map_PUB.Pte_Rec_Type;
751 l_RQT_tbl                     QP_Attr_Map_PUB.Rqt_Tbl_Type;
752 l_SSC_tbl                     QP_Attr_Map_PUB.Ssc_Tbl_Type;
753 l_PSG_tbl                     QP_Attr_Map_PUB.Psg_Tbl_Type;
754 l_SOU_tbl                     QP_Attr_Map_PUB.Sou_Tbl_Type;
755 l_FNA_tbl                     QP_Attr_Map_PUB.Fna_Tbl_Type;
756 BEGIN
757 
758     --  Standard call to check for call compatibility
759 
760     IF NOT FND_API.Compatible_API_Call
761            (   l_api_version_number
762            ,   p_api_version_number
763            ,   l_api_name
764            ,   G_PKG_NAME
765            )
766     THEN
767         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
768     END IF;
769 
770     --  Standard check for Val/ID conversion
771 
772     IF  p_lookup = FND_API.G_MISS_CHAR
773     THEN
774 
775         l_lookup_code := p_lookup_code;
776 
777     ELSIF p_lookup_code <> FND_API.G_MISS_CHAR THEN
778 
779         l_lookup_code := p_lookup_code;
780 
781         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
782         THEN
783 
784             FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
785             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','lookup');
786             OE_MSG_PUB.Add;
787 
788         END IF;
789 
790     ELSE
791 
792         --  Convert Value to Id
793 
794         l_lookup_code := QP_Value_To_Id.lookup
795         (   p_lookup                      => p_lookup
796         );
797 
798         IF l_lookup_code = FND_API.G_MISS_CHAR THEN
802                 FND_MESSAGE.SET_NAME('QP','Invalid Business Object Value');
799             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
800             THEN
801 
803                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','lookup');
804                 OE_MSG_PUB.Add;
805 
806             END IF;
807         END IF;
808 
809         RAISE FND_API.G_EXC_ERROR;
810 
811     END IF;
812 
813 
814     --  Call QP_Attr_Map_PVT.Get_Attr_Mapping
815 
816     QP_Attr_Map_PVT.Get_Attr_Mapping
817     (   p_api_version_number          => 1.0
818     ,   p_init_msg_list               => p_init_msg_list
819     ,   x_return_status               => x_return_status
820     ,   x_msg_count                   => x_msg_count
821     ,   x_msg_data                    => x_msg_data
822     ,   p_lookup_code                 => l_lookup_code
823     ,   x_PTE_rec                     => l_PTE_rec
824     ,   x_RQT_tbl                     => l_RQT_tbl
825     ,   x_SSC_tbl                     => l_SSC_tbl
826     ,   x_PSG_tbl                     => l_PSG_tbl
827     ,   x_SOU_tbl                     => l_SOU_tbl
828     ,   x_FNA_tbl                     => l_FNA_tbl
829     );
830 
831     --  Load Id OUT parameters.
832 
833     x_PTE_rec                      := l_PTE_rec;
834     x_RQT_tbl                      := l_RQT_tbl;
835     x_SSC_tbl                      := l_SSC_tbl;
836     x_PSG_tbl                      := l_PSG_tbl;
837     x_SOU_tbl                      := l_SOU_tbl;
838     x_FNA_tbl                      := l_FNA_tbl;
839 
840     --  If p_return_values is TRUE then convert Ids to Values.
841 
842     IF FND_API.TO_BOOLEAN(p_return_values) THEN
843 
844         Id_To_Value
845         (   p_PTE_rec                     => l_PTE_rec
846         ,   p_RQT_tbl                     => l_RQT_tbl
847         ,   p_SSC_tbl                     => l_SSC_tbl
848         ,   p_PSG_tbl                     => l_PSG_tbl
849         ,   p_SOU_tbl                     => l_SOU_tbl
850         ,   p_FNA_tbl                     => l_FNA_tbl
851         ,   x_PTE_val_rec                 => x_PTE_val_rec
852         ,   x_RQT_val_tbl                 => x_RQT_val_tbl
853         ,   x_SSC_val_tbl                 => x_SSC_val_tbl
854         ,   x_PSG_val_tbl                 => x_PSG_val_tbl
855         ,   x_SOU_val_tbl                 => x_SOU_val_tbl
856         ,   x_FNA_val_tbl                 => x_FNA_val_tbl
857         );
858 
859     END IF;
860 
861     --  Set return status
862 
863     x_return_status := FND_API.G_RET_STS_SUCCESS;
864 
865     --  Get message count and data
866 
867     OE_MSG_PUB.Count_And_Get
868     (   p_count                       => x_msg_count
869     ,   p_data                        => x_msg_data
870     );
871 
872 
873 EXCEPTION
874 
875     WHEN FND_API.G_EXC_ERROR THEN
876 
877         x_return_status := FND_API.G_RET_STS_ERROR;
878 
879         --  Get message count and data
880 
881         OE_MSG_PUB.Count_And_Get
882         (   p_count                       => x_msg_count
883         ,   p_data                        => x_msg_data
884         );
885 
886     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
887 
888         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
889 
890         --  Get message count and data
891 
892         OE_MSG_PUB.Count_And_Get
893         (   p_count                       => x_msg_count
894         ,   p_data                        => x_msg_data
895         );
896 
897     WHEN OTHERS THEN
898 
899         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
900 
901         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
902         THEN
903             OE_MSG_PUB.Add_Exc_Msg
904             (   G_PKG_NAME
905             ,   'Get_Attr_Mapping'
906             );
907         END IF;
908 
909         --  Get message count and data
910 
911         OE_MSG_PUB.Count_And_Get
912         (   p_count                       => x_msg_count
913         ,   p_data                        => x_msg_data
914         );
915 
916 END Get_Attr_Mapping;
917 
918 --  Start of Comments
919 --  API name    Get_Attr_Mapping (Overloaded)
920 --  Type        Public
921 --  Function
922 --
923 --  Pre-reqs
924 --
925 --  Parameters
926 --
927 --  Version     Current version = 1.0
928 --              Initial version = 1.0
929 --
930 --  Notes
931 --
932 --  End of Comments
933 
934 PROCEDURE Get_Attr_Mapping
935 (   p_api_version_number            IN  NUMBER
936 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
937 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
938 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
939 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
940 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
941 ,   p_lookup_code                   IN  VARCHAR2 :=
942                                         FND_API.G_MISS_CHAR
943 ,   p_lookup                        IN  VARCHAR2 :=
944                                         FND_API.G_MISS_CHAR
945 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ Pte_Rec_Type
946 ,   x_PTE_val_rec                   OUT NOCOPY /* file.sql.39 change */ Pte_Val_Rec_Type
947 ,   x_RQT_tbl                       OUT NOCOPY /* file.sql.39 change */ Rqt_Tbl_Type
948 ,   x_RQT_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Rqt_Val_Tbl_Type
949 ,   x_SSC_tbl                       OUT NOCOPY /* file.sql.39 change */ Ssc_Tbl_Type
953 ,   x_SOU_tbl                       OUT NOCOPY /* file.sql.39 change */ Sou_Tbl_Type
950 ,   x_SSC_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Ssc_Val_Tbl_Type
951 ,   x_PSG_tbl                       OUT NOCOPY /* file.sql.39 change */ Psg_Tbl_Type
952 ,   x_PSG_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Psg_Val_Tbl_Type
954 ,   x_SOU_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Sou_Val_Tbl_Type
955 )
956 IS
957 l_FNA_tbl                     Fna_Tbl_Type;
958 l_FNA_val_tbl                 Fna_Val_Tbl_Type;
959 BEGIN
960       Get_Attr_Mapping( p_api_version_number  => p_api_version_number
961                       , p_init_msg_list       => p_init_msg_list
962                       , p_return_values       => p_return_values
963                       , x_return_status       => x_return_status
964                       , x_msg_count           => x_msg_count
965                       , x_msg_data            => x_msg_data
966                       , p_lookup_code         => p_lookup_code
967                       , p_lookup              => p_lookup
968                       , x_PTE_rec             => x_PTE_rec
969                       , x_PTE_val_rec         => x_PTE_val_rec
970                       , x_RQT_tbl             => x_RQT_tbl
971                       , x_RQT_val_tbl         => x_RQT_val_tbl
972                       , x_SSC_tbl             => x_SSC_tbl
973                       , x_SSC_val_tbl         => x_SSC_val_tbl
974                       , x_PSG_tbl             => x_PSG_tbl
975                       , x_PSG_val_tbl         => x_PSG_val_tbl
976                       , x_SOU_tbl             => x_SOU_tbl
977                       , x_SOU_val_tbl         => x_SOU_val_tbl
978                       , x_FNA_tbl             => l_FNA_tbl
979                       , x_FNA_val_tbl         => l_FNA_val_tbl
980                       );
981 END Get_Attr_Mapping;
982 
983 
984 --  Procedure Id_To_Value
985 
986 PROCEDURE Id_To_Value
987 (   p_PTE_rec                       IN  Pte_Rec_Type
988 ,   p_RQT_tbl                       IN  Rqt_Tbl_Type
989 ,   p_SSC_tbl                       IN  Ssc_Tbl_Type
990 ,   p_PSG_tbl                       IN  Psg_Tbl_Type
991 ,   p_SOU_tbl                       IN  Sou_Tbl_Type
992 ,   p_FNA_tbl                       IN  Fna_Tbl_Type
993 ,   x_PTE_val_rec                   OUT NOCOPY /* file.sql.39 change */ Pte_Val_Rec_Type
994 ,   x_RQT_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Rqt_Val_Tbl_Type
995 ,   x_SSC_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Ssc_Val_Tbl_Type
996 ,   x_PSG_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Psg_Val_Tbl_Type
997 ,   x_SOU_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Sou_Val_Tbl_Type
998 ,   x_FNA_val_tbl                   OUT NOCOPY /* file.sql.39 change */ Fna_Val_Tbl_Type
999 )
1000 IS
1001 BEGIN
1002 
1003     --  Convert PTE
1004 
1005     x_PTE_val_rec := QP_Pte_Util.Get_Values(p_PTE_rec);
1006 
1007     --  Convert RQT
1008 
1009     FOR I IN 1..p_RQT_tbl.COUNT LOOP
1010         x_RQT_val_tbl(I) :=
1011             QP_Rqt_Util.Get_Values(p_RQT_tbl(I));
1012     END LOOP;
1013 
1014     --  Convert SSC
1015 
1016     FOR I IN 1..p_SSC_tbl.COUNT LOOP
1017         x_SSC_val_tbl(I) :=
1018             QP_Ssc_Util.Get_Values(p_SSC_tbl(I));
1019     END LOOP;
1020 
1021     --  Convert PSG
1022 
1023     FOR I IN 1..p_PSG_tbl.COUNT LOOP
1024         x_PSG_val_tbl(I) :=
1025             QP_Psg_Util.Get_Values(p_PSG_tbl(I));
1026     END LOOP;
1027 
1028     --  Convert SOU
1029 
1030     FOR I IN 1..p_SOU_tbl.COUNT LOOP
1031         x_SOU_val_tbl(I) :=
1032             QP_Sou_Util.Get_Values(p_SOU_tbl(I));
1033     END LOOP;
1034 
1035     --  Convert FNA
1036 
1037     FOR I IN 1..p_FNA_tbl.COUNT LOOP
1038         x_FNA_val_tbl(I) :=
1039             QP_Fna_Util.Get_Values(p_FNA_tbl(I));
1040     END LOOP;
1041 
1042 EXCEPTION
1043 
1044     WHEN OTHERS THEN
1045 
1046         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1047         THEN
1048             OE_MSG_PUB.Add_Exc_Msg
1049             (   G_PKG_NAME
1050             ,   'Id_To_Value'
1051             );
1052         END IF;
1053 
1054         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1055 
1056 END Id_To_Value;
1057 
1058 --  Procedure Value_To_Id
1059 
1060 PROCEDURE Value_To_Id
1064 ,   p_RQT_tbl                       IN  Rqt_Tbl_Type
1061 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1062 ,   p_PTE_rec                       IN  Pte_Rec_Type
1063 ,   p_PTE_val_rec                   IN  Pte_Val_Rec_Type
1068 ,   p_PSG_tbl                       IN  Psg_Tbl_Type
1065 ,   p_RQT_val_tbl                   IN  Rqt_Val_Tbl_Type
1066 ,   p_SSC_tbl                       IN  Ssc_Tbl_Type
1067 ,   p_SSC_val_tbl                   IN  Ssc_Val_Tbl_Type
1069 ,   p_PSG_val_tbl                   IN  Psg_Val_Tbl_Type
1070 ,   p_SOU_tbl                       IN  Sou_Tbl_Type
1071 ,   p_SOU_val_tbl                   IN  Sou_Val_Tbl_Type
1072 ,   p_FNA_tbl                       IN  Fna_Tbl_Type
1073 ,   p_FNA_val_tbl                   IN  Fna_Val_Tbl_Type
1074 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ Pte_Rec_Type
1075 ,   x_RQT_tbl                       OUT NOCOPY /* file.sql.39 change */ Rqt_Tbl_Type
1076 ,   x_SSC_tbl                       OUT NOCOPY /* file.sql.39 change */ Ssc_Tbl_Type
1077 ,   x_PSG_tbl                       OUT NOCOPY /* file.sql.39 change */ Psg_Tbl_Type
1078 ,   x_SOU_tbl                       OUT NOCOPY /* file.sql.39 change */ Sou_Tbl_Type
1079 ,   x_FNA_tbl                       OUT NOCOPY /* file.sql.39 change */ Fna_Tbl_Type
1080 )
1081 IS
1082 l_PTE_rec                     Pte_Rec_Type;
1083 l_RQT_rec                     Rqt_Rec_Type;
1084 l_SSC_rec                     Ssc_Rec_Type;
1085 l_PSG_rec                     Psg_Rec_Type;
1086 l_SOU_rec                     Sou_Rec_Type;
1087 l_FNA_rec                     Fna_Rec_Type;
1088 l_index                       BINARY_INTEGER;
1089 BEGIN
1090 
1091     --  Init x_return_status.
1092 
1093     x_return_status := FND_API.G_RET_STS_SUCCESS;
1094 
1095     --  Convert PTE
1096 
1097     l_PTE_rec := QP_Pte_Util.Get_Ids
1098     (   p_PTE_rec                     => p_PTE_rec
1099     ,   p_PTE_val_rec                 => p_PTE_val_rec
1100     );
1101 
1102     x_PTE_rec                      := l_PTE_rec;
1103 
1104     IF l_PTE_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1105         x_return_status := FND_API.G_RET_STS_ERROR;
1106     END IF;
1107 
1108     --  Convert RQT
1109 
1110     x_RQT_tbl := p_RQT_tbl;
1111 
1112     l_index := p_RQT_val_tbl.FIRST;
1113 
1114     WHILE l_index IS NOT NULL LOOP
1115 
1116         l_RQT_rec := QP_Rqt_Util.Get_Ids
1117         (   p_RQT_rec                     => p_RQT_tbl(l_index)
1118         ,   p_RQT_val_rec                 => p_RQT_val_tbl(l_index)
1119         );
1120 
1121         x_RQT_tbl(l_index)             := l_RQT_rec;
1122 
1123         IF l_RQT_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1124             x_return_status := FND_API.G_RET_STS_ERROR;
1125         END IF;
1126 
1127         l_index := p_RQT_val_tbl.NEXT(l_index);
1128 
1129     END LOOP;
1130 
1131     --  Convert SSC
1132 
1133     x_SSC_tbl := p_SSC_tbl;
1134 
1135     l_index := p_SSC_val_tbl.FIRST;
1136 
1137     WHILE l_index IS NOT NULL LOOP
1138 
1139         l_SSC_rec := QP_Ssc_Util.Get_Ids
1140         (   p_SSC_rec                     => p_SSC_tbl(l_index)
1141         ,   p_SSC_val_rec                 => p_SSC_val_tbl(l_index)
1142         );
1143 
1144         x_SSC_tbl(l_index)             := l_SSC_rec;
1145 
1146         IF l_SSC_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1147             x_return_status := FND_API.G_RET_STS_ERROR;
1148         END IF;
1149 
1150         l_index := p_SSC_val_tbl.NEXT(l_index);
1151 
1152     END LOOP;
1153 
1154     --  Convert PSG
1155 
1156     x_PSG_tbl := p_PSG_tbl;
1157 
1158     l_index := p_PSG_val_tbl.FIRST;
1159 
1160     WHILE l_index IS NOT NULL LOOP
1161 
1162         l_PSG_rec := QP_Psg_Util.Get_Ids
1163         (   p_PSG_rec                     => p_PSG_tbl(l_index)
1164         ,   p_PSG_val_rec                 => p_PSG_val_tbl(l_index)
1165         );
1166 
1167         x_PSG_tbl(l_index)             := l_PSG_rec;
1168 
1169         IF l_PSG_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1170             x_return_status := FND_API.G_RET_STS_ERROR;
1171         END IF;
1172 
1173         l_index := p_PSG_val_tbl.NEXT(l_index);
1174 
1175     END LOOP;
1176 
1177     --  Convert SOU
1178 
1179     x_SOU_tbl := p_SOU_tbl;
1180 
1181     l_index := p_SOU_val_tbl.FIRST;
1182 
1183     WHILE l_index IS NOT NULL LOOP
1184 
1185         l_SOU_rec := QP_Sou_Util.Get_Ids
1186         (   p_SOU_rec                     => p_SOU_tbl(l_index)
1187         ,   p_SOU_val_rec                 => p_SOU_val_tbl(l_index)
1188         );
1189 
1190         x_SOU_tbl(l_index)             := l_SOU_rec;
1191 
1192         IF l_SOU_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1193             x_return_status := FND_API.G_RET_STS_ERROR;
1194         END IF;
1195 
1196         l_index := p_SOU_val_tbl.NEXT(l_index);
1197 
1198     END LOOP;
1199 
1200     --  Convert FNA
1201 
1202     x_FNA_tbl := p_FNA_tbl;
1203 
1204     l_index := p_FNA_val_tbl.FIRST;
1205 
1206     WHILE l_index IS NOT NULL LOOP
1207 
1208         l_FNA_rec := QP_Fna_Util.Get_Ids
1209         (   p_FNA_rec                     => p_FNA_tbl(l_index)
1210         ,   p_FNA_val_rec                 => p_FNA_val_tbl(l_index)
1211         );
1212 
1213         x_FNA_tbl(l_index)             := l_FNA_rec;
1214 
1215         IF l_FNA_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1216             x_return_status := FND_API.G_RET_STS_ERROR;
1217         END IF;
1218 
1219         l_index := p_FNA_val_tbl.NEXT(l_index);
1220 
1221     END LOOP;
1222 
1223 EXCEPTION
1224 
1225     WHEN OTHERS THEN
1226 
1227         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1228         THEN
1229             OE_MSG_PUB.Add_Exc_Msg
1230             (   G_PKG_NAME
1231             ,   'Value_To_Id'
1232             );
1233         END IF;
1234 
1235         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1236 
1237 END Value_To_Id;
1238 
1239 END QP_Attr_Map_PUB;