DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_METRIC_FORMULA_PVT_W

Source


1 package body ams_metric_formula_pvt_w as
2   /* $Header: amswmtfb.pls 115.3 2003/10/08 16:02:32 dmvincen noship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5 
6   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7   function rosetta_g_miss_date_in_map(d date) return date as
8   begin
9     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10     return d;
11   end;
12 
13   function rosetta_g_miss_num_map(n number) return number as
14     a number := fnd_api.g_miss_num;
15     b number := 0-1962.0724;
16   begin
17     if n=a then return b; end if;
18     if n=b then return a; end if;
19     return n;
20   end;
21 
22   procedure rosetta_table_copy_in_p3(t out nocopy ams_metric_formula_pvt.met_formula_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_DATE_TABLE
24     , a2 JTF_NUMBER_TABLE
25     , a3 JTF_DATE_TABLE
26     , a4 JTF_NUMBER_TABLE
27     , a5 JTF_NUMBER_TABLE
28     , a6 JTF_NUMBER_TABLE
29     , a7 JTF_NUMBER_TABLE
30     , a8 JTF_VARCHAR2_TABLE_100
31     , a9 JTF_NUMBER_TABLE
32     , a10 JTF_NUMBER_TABLE
33     , a11 JTF_NUMBER_TABLE
34     , a12 JTF_VARCHAR2_TABLE_100
35     , a13 JTF_VARCHAR2_TABLE_100
36     , a14 JTF_VARCHAR2_TABLE_100
37     , a15 JTF_NUMBER_TABLE
38     ) as
39     ddindx binary_integer; indx binary_integer;
40   begin
41   if a0 is not null and a0.count > 0 then
42       if a0.count > 0 then
43         indx := a0.first;
44         ddindx := 1;
45         while true loop
46           t(ddindx).metric_formula_id := rosetta_g_miss_num_map(a0(indx));
47           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a1(indx));
48           t(ddindx).last_updated_by := rosetta_g_miss_num_map(a2(indx));
49           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a3(indx));
50           t(ddindx).created_by := rosetta_g_miss_num_map(a4(indx));
51           t(ddindx).last_update_login := rosetta_g_miss_num_map(a5(indx));
52           t(ddindx).object_version_number := rosetta_g_miss_num_map(a6(indx));
53           t(ddindx).metric_id := rosetta_g_miss_num_map(a7(indx));
54           t(ddindx).source_type := a8(indx);
55           t(ddindx).source_id := rosetta_g_miss_num_map(a9(indx));
56           t(ddindx).source_sub_id := rosetta_g_miss_num_map(a10(indx));
57           t(ddindx).source_value := rosetta_g_miss_num_map(a11(indx));
58           t(ddindx).token := a12(indx);
59           t(ddindx).notation_type := a13(indx);
60           t(ddindx).use_sub_id_flag := a14(indx);
61           t(ddindx).sequence := rosetta_g_miss_num_map(a15(indx));
62           ddindx := ddindx+1;
63           if a0.last =indx
64             then exit;
65           end if;
66           indx := a0.next(indx);
67         end loop;
68       end if;
69    end if;
70   end rosetta_table_copy_in_p3;
71   procedure rosetta_table_copy_out_p3(t ams_metric_formula_pvt.met_formula_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
72     , a1 out nocopy JTF_DATE_TABLE
73     , a2 out nocopy JTF_NUMBER_TABLE
74     , a3 out nocopy JTF_DATE_TABLE
75     , a4 out nocopy JTF_NUMBER_TABLE
76     , a5 out nocopy JTF_NUMBER_TABLE
77     , a6 out nocopy JTF_NUMBER_TABLE
78     , a7 out nocopy JTF_NUMBER_TABLE
79     , a8 out nocopy JTF_VARCHAR2_TABLE_100
80     , a9 out nocopy JTF_NUMBER_TABLE
81     , a10 out nocopy JTF_NUMBER_TABLE
82     , a11 out nocopy JTF_NUMBER_TABLE
83     , a12 out nocopy JTF_VARCHAR2_TABLE_100
84     , a13 out nocopy JTF_VARCHAR2_TABLE_100
85     , a14 out nocopy JTF_VARCHAR2_TABLE_100
86     , a15 out nocopy JTF_NUMBER_TABLE
87     ) as
88     ddindx binary_integer; indx binary_integer;
89   begin
90   if t is null or t.count = 0 then
91     a0 := JTF_NUMBER_TABLE();
92     a1 := JTF_DATE_TABLE();
93     a2 := JTF_NUMBER_TABLE();
94     a3 := JTF_DATE_TABLE();
95     a4 := JTF_NUMBER_TABLE();
96     a5 := JTF_NUMBER_TABLE();
97     a6 := JTF_NUMBER_TABLE();
98     a7 := JTF_NUMBER_TABLE();
99     a8 := JTF_VARCHAR2_TABLE_100();
100     a9 := JTF_NUMBER_TABLE();
101     a10 := JTF_NUMBER_TABLE();
102     a11 := JTF_NUMBER_TABLE();
103     a12 := JTF_VARCHAR2_TABLE_100();
104     a13 := JTF_VARCHAR2_TABLE_100();
105     a14 := JTF_VARCHAR2_TABLE_100();
106     a15 := JTF_NUMBER_TABLE();
107   else
108       a0 := JTF_NUMBER_TABLE();
109       a1 := JTF_DATE_TABLE();
110       a2 := JTF_NUMBER_TABLE();
111       a3 := JTF_DATE_TABLE();
112       a4 := JTF_NUMBER_TABLE();
113       a5 := JTF_NUMBER_TABLE();
114       a6 := JTF_NUMBER_TABLE();
115       a7 := JTF_NUMBER_TABLE();
116       a8 := JTF_VARCHAR2_TABLE_100();
117       a9 := JTF_NUMBER_TABLE();
118       a10 := JTF_NUMBER_TABLE();
119       a11 := JTF_NUMBER_TABLE();
120       a12 := JTF_VARCHAR2_TABLE_100();
121       a13 := JTF_VARCHAR2_TABLE_100();
122       a14 := JTF_VARCHAR2_TABLE_100();
123       a15 := JTF_NUMBER_TABLE();
124       if t.count > 0 then
125         a0.extend(t.count);
126         a1.extend(t.count);
127         a2.extend(t.count);
128         a3.extend(t.count);
129         a4.extend(t.count);
130         a5.extend(t.count);
131         a6.extend(t.count);
132         a7.extend(t.count);
133         a8.extend(t.count);
134         a9.extend(t.count);
135         a10.extend(t.count);
136         a11.extend(t.count);
137         a12.extend(t.count);
138         a13.extend(t.count);
139         a14.extend(t.count);
140         a15.extend(t.count);
141         ddindx := t.first;
142         indx := 1;
143         while true loop
144           a0(indx) := rosetta_g_miss_num_map(t(ddindx).metric_formula_id);
145           a1(indx) := t(ddindx).last_update_date;
146           a2(indx) := rosetta_g_miss_num_map(t(ddindx).last_updated_by);
147           a3(indx) := t(ddindx).creation_date;
148           a4(indx) := rosetta_g_miss_num_map(t(ddindx).created_by);
149           a5(indx) := rosetta_g_miss_num_map(t(ddindx).last_update_login);
150           a6(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
151           a7(indx) := rosetta_g_miss_num_map(t(ddindx).metric_id);
152           a8(indx) := t(ddindx).source_type;
153           a9(indx) := rosetta_g_miss_num_map(t(ddindx).source_id);
154           a10(indx) := rosetta_g_miss_num_map(t(ddindx).source_sub_id);
155           a11(indx) := rosetta_g_miss_num_map(t(ddindx).source_value);
156           a12(indx) := t(ddindx).token;
157           a13(indx) := t(ddindx).notation_type;
158           a14(indx) := t(ddindx).use_sub_id_flag;
159           a15(indx) := rosetta_g_miss_num_map(t(ddindx).sequence);
160           indx := indx+1;
161           if t.last =ddindx
162             then exit;
163           end if;
164           ddindx := t.next(ddindx);
165         end loop;
166       end if;
167    end if;
168   end rosetta_table_copy_out_p3;
169 
170   procedure create_metric_formula(p_api_version_number  NUMBER
171     , p_init_msg_list  VARCHAR2
172     , p_commit  VARCHAR2
173     , p_validation_level  NUMBER
174     , x_return_status out nocopy  VARCHAR2
175     , x_msg_count out nocopy  NUMBER
176     , x_msg_data out nocopy  VARCHAR2
177     , x_metric_formula_id out nocopy  NUMBER
178     , p7_a0  NUMBER := 0-1962.0724
179     , p7_a1  DATE := fnd_api.g_miss_date
180     , p7_a2  NUMBER := 0-1962.0724
181     , p7_a3  DATE := fnd_api.g_miss_date
182     , p7_a4  NUMBER := 0-1962.0724
183     , p7_a5  NUMBER := 0-1962.0724
184     , p7_a6  NUMBER := 0-1962.0724
185     , p7_a7  NUMBER := 0-1962.0724
186     , p7_a8  VARCHAR2 := fnd_api.g_miss_char
187     , p7_a9  NUMBER := 0-1962.0724
188     , p7_a10  NUMBER := 0-1962.0724
189     , p7_a11  NUMBER := 0-1962.0724
190     , p7_a12  VARCHAR2 := fnd_api.g_miss_char
191     , p7_a13  VARCHAR2 := fnd_api.g_miss_char
192     , p7_a14  VARCHAR2 := fnd_api.g_miss_char
193     , p7_a15  NUMBER := 0-1962.0724
194   )
195 
196   as
197     ddp_met_formula_rec ams_metric_formula_pvt.met_formula_rec_type;
198     ddindx binary_integer; indx binary_integer;
199   begin
200 
201     -- copy data to the local IN or IN-OUT args, if any
202 
203 
204 
205 
206 
207 
208 
209     ddp_met_formula_rec.metric_formula_id := rosetta_g_miss_num_map(p7_a0);
210     ddp_met_formula_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a1);
211     ddp_met_formula_rec.last_updated_by := rosetta_g_miss_num_map(p7_a2);
212     ddp_met_formula_rec.creation_date := rosetta_g_miss_date_in_map(p7_a3);
213     ddp_met_formula_rec.created_by := rosetta_g_miss_num_map(p7_a4);
214     ddp_met_formula_rec.last_update_login := rosetta_g_miss_num_map(p7_a5);
215     ddp_met_formula_rec.object_version_number := rosetta_g_miss_num_map(p7_a6);
216     ddp_met_formula_rec.metric_id := rosetta_g_miss_num_map(p7_a7);
217     ddp_met_formula_rec.source_type := p7_a8;
218     ddp_met_formula_rec.source_id := rosetta_g_miss_num_map(p7_a9);
219     ddp_met_formula_rec.source_sub_id := rosetta_g_miss_num_map(p7_a10);
220     ddp_met_formula_rec.source_value := rosetta_g_miss_num_map(p7_a11);
221     ddp_met_formula_rec.token := p7_a12;
222     ddp_met_formula_rec.notation_type := p7_a13;
223     ddp_met_formula_rec.use_sub_id_flag := p7_a14;
224     ddp_met_formula_rec.sequence := rosetta_g_miss_num_map(p7_a15);
225 
226 
227     -- here's the delegated call to the old PL/SQL routine
228     ams_metric_formula_pvt.create_metric_formula(p_api_version_number,
229       p_init_msg_list,
230       p_commit,
231       p_validation_level,
232       x_return_status,
233       x_msg_count,
234       x_msg_data,
235       ddp_met_formula_rec,
236       x_metric_formula_id);
237 
238     -- copy data back from the local variables to OUT or IN-OUT args, if any
239 
240 
241 
242 
243 
244 
245 
246 
247   end;
248 
249   procedure update_metric_formula(p_api_version_number  NUMBER
250     , p_init_msg_list  VARCHAR2
251     , p_commit  VARCHAR2
252     , p_validation_level  NUMBER
253     , x_return_status out nocopy  VARCHAR2
254     , x_msg_count out nocopy  NUMBER
255     , x_msg_data out nocopy  VARCHAR2
256     , x_object_version_number out nocopy  NUMBER
257     , p7_a0  NUMBER := 0-1962.0724
258     , p7_a1  DATE := fnd_api.g_miss_date
259     , p7_a2  NUMBER := 0-1962.0724
260     , p7_a3  DATE := fnd_api.g_miss_date
261     , p7_a4  NUMBER := 0-1962.0724
262     , p7_a5  NUMBER := 0-1962.0724
263     , p7_a6  NUMBER := 0-1962.0724
264     , p7_a7  NUMBER := 0-1962.0724
265     , p7_a8  VARCHAR2 := fnd_api.g_miss_char
266     , p7_a9  NUMBER := 0-1962.0724
267     , p7_a10  NUMBER := 0-1962.0724
268     , p7_a11  NUMBER := 0-1962.0724
269     , p7_a12  VARCHAR2 := fnd_api.g_miss_char
270     , p7_a13  VARCHAR2 := fnd_api.g_miss_char
271     , p7_a14  VARCHAR2 := fnd_api.g_miss_char
272     , p7_a15  NUMBER := 0-1962.0724
273   )
274 
275   as
276     ddp_met_formula_rec ams_metric_formula_pvt.met_formula_rec_type;
277     ddindx binary_integer; indx binary_integer;
278   begin
279 
280     -- copy data to the local IN or IN-OUT args, if any
281 
282 
283 
284 
285 
286 
287 
288     ddp_met_formula_rec.metric_formula_id := rosetta_g_miss_num_map(p7_a0);
289     ddp_met_formula_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a1);
290     ddp_met_formula_rec.last_updated_by := rosetta_g_miss_num_map(p7_a2);
291     ddp_met_formula_rec.creation_date := rosetta_g_miss_date_in_map(p7_a3);
292     ddp_met_formula_rec.created_by := rosetta_g_miss_num_map(p7_a4);
293     ddp_met_formula_rec.last_update_login := rosetta_g_miss_num_map(p7_a5);
294     ddp_met_formula_rec.object_version_number := rosetta_g_miss_num_map(p7_a6);
295     ddp_met_formula_rec.metric_id := rosetta_g_miss_num_map(p7_a7);
296     ddp_met_formula_rec.source_type := p7_a8;
297     ddp_met_formula_rec.source_id := rosetta_g_miss_num_map(p7_a9);
298     ddp_met_formula_rec.source_sub_id := rosetta_g_miss_num_map(p7_a10);
299     ddp_met_formula_rec.source_value := rosetta_g_miss_num_map(p7_a11);
300     ddp_met_formula_rec.token := p7_a12;
301     ddp_met_formula_rec.notation_type := p7_a13;
302     ddp_met_formula_rec.use_sub_id_flag := p7_a14;
303     ddp_met_formula_rec.sequence := rosetta_g_miss_num_map(p7_a15);
304 
305 
306     -- here's the delegated call to the old PL/SQL routine
307     ams_metric_formula_pvt.update_metric_formula(p_api_version_number,
308       p_init_msg_list,
309       p_commit,
310       p_validation_level,
311       x_return_status,
312       x_msg_count,
313       x_msg_data,
314       ddp_met_formula_rec,
315       x_object_version_number);
316 
317     -- copy data back from the local variables to OUT or IN-OUT args, if any
318 
319 
320 
321 
322 
323 
324 
325 
326   end;
327 
328   procedure validate_metric_formula(p_api_version_number  NUMBER
329     , p_init_msg_list  VARCHAR2
330     , p_validation_level  NUMBER
331     , p_validation_mode  VARCHAR2
332     , x_return_status out nocopy  VARCHAR2
333     , x_msg_count out nocopy  NUMBER
334     , x_msg_data out nocopy  VARCHAR2
335     , p3_a0  NUMBER := 0-1962.0724
336     , p3_a1  DATE := fnd_api.g_miss_date
337     , p3_a2  NUMBER := 0-1962.0724
338     , p3_a3  DATE := fnd_api.g_miss_date
339     , p3_a4  NUMBER := 0-1962.0724
340     , p3_a5  NUMBER := 0-1962.0724
341     , p3_a6  NUMBER := 0-1962.0724
342     , p3_a7  NUMBER := 0-1962.0724
343     , p3_a8  VARCHAR2 := fnd_api.g_miss_char
344     , p3_a9  NUMBER := 0-1962.0724
345     , p3_a10  NUMBER := 0-1962.0724
346     , p3_a11  NUMBER := 0-1962.0724
347     , p3_a12  VARCHAR2 := fnd_api.g_miss_char
348     , p3_a13  VARCHAR2 := fnd_api.g_miss_char
349     , p3_a14  VARCHAR2 := fnd_api.g_miss_char
350     , p3_a15  NUMBER := 0-1962.0724
351   )
352 
353   as
354     ddp_metric_formula_rec ams_metric_formula_pvt.met_formula_rec_type;
355     ddindx binary_integer; indx binary_integer;
356   begin
357 
358     -- copy data to the local IN or IN-OUT args, if any
359 
360 
361 
362     ddp_metric_formula_rec.metric_formula_id := rosetta_g_miss_num_map(p3_a0);
363     ddp_metric_formula_rec.last_update_date := rosetta_g_miss_date_in_map(p3_a1);
364     ddp_metric_formula_rec.last_updated_by := rosetta_g_miss_num_map(p3_a2);
365     ddp_metric_formula_rec.creation_date := rosetta_g_miss_date_in_map(p3_a3);
366     ddp_metric_formula_rec.created_by := rosetta_g_miss_num_map(p3_a4);
367     ddp_metric_formula_rec.last_update_login := rosetta_g_miss_num_map(p3_a5);
368     ddp_metric_formula_rec.object_version_number := rosetta_g_miss_num_map(p3_a6);
369     ddp_metric_formula_rec.metric_id := rosetta_g_miss_num_map(p3_a7);
370     ddp_metric_formula_rec.source_type := p3_a8;
371     ddp_metric_formula_rec.source_id := rosetta_g_miss_num_map(p3_a9);
372     ddp_metric_formula_rec.source_sub_id := rosetta_g_miss_num_map(p3_a10);
373     ddp_metric_formula_rec.source_value := rosetta_g_miss_num_map(p3_a11);
374     ddp_metric_formula_rec.token := p3_a12;
375     ddp_metric_formula_rec.notation_type := p3_a13;
379 
376     ddp_metric_formula_rec.use_sub_id_flag := p3_a14;
377     ddp_metric_formula_rec.sequence := rosetta_g_miss_num_map(p3_a15);
378 
380 
381 
382 
383     -- here's the delegated call to the old PL/SQL routine
384     ams_metric_formula_pvt.validate_metric_formula(p_api_version_number,
385       p_init_msg_list,
386       p_validation_level,
387       ddp_metric_formula_rec,
388       p_validation_mode,
389       x_return_status,
390       x_msg_count,
391       x_msg_data);
392 
393     -- copy data back from the local variables to OUT or IN-OUT args, if any
394 
395 
396 
397 
398 
399 
400 
401   end;
402 
403   procedure check_metric_formula_items(p_validation_mode  VARCHAR2
404     , x_return_status out nocopy  VARCHAR2
405     , p0_a0  NUMBER := 0-1962.0724
406     , p0_a1  DATE := fnd_api.g_miss_date
407     , p0_a2  NUMBER := 0-1962.0724
408     , p0_a3  DATE := fnd_api.g_miss_date
409     , p0_a4  NUMBER := 0-1962.0724
410     , p0_a5  NUMBER := 0-1962.0724
411     , p0_a6  NUMBER := 0-1962.0724
412     , p0_a7  NUMBER := 0-1962.0724
413     , p0_a8  VARCHAR2 := fnd_api.g_miss_char
414     , p0_a9  NUMBER := 0-1962.0724
415     , p0_a10  NUMBER := 0-1962.0724
416     , p0_a11  NUMBER := 0-1962.0724
417     , p0_a12  VARCHAR2 := fnd_api.g_miss_char
418     , p0_a13  VARCHAR2 := fnd_api.g_miss_char
419     , p0_a14  VARCHAR2 := fnd_api.g_miss_char
420     , p0_a15  NUMBER := 0-1962.0724
421   )
422 
423   as
424     ddp_metric_formula_rec ams_metric_formula_pvt.met_formula_rec_type;
425     ddindx binary_integer; indx binary_integer;
426   begin
427 
428     -- copy data to the local IN or IN-OUT args, if any
429     ddp_metric_formula_rec.metric_formula_id := rosetta_g_miss_num_map(p0_a0);
430     ddp_metric_formula_rec.last_update_date := rosetta_g_miss_date_in_map(p0_a1);
431     ddp_metric_formula_rec.last_updated_by := rosetta_g_miss_num_map(p0_a2);
432     ddp_metric_formula_rec.creation_date := rosetta_g_miss_date_in_map(p0_a3);
433     ddp_metric_formula_rec.created_by := rosetta_g_miss_num_map(p0_a4);
434     ddp_metric_formula_rec.last_update_login := rosetta_g_miss_num_map(p0_a5);
435     ddp_metric_formula_rec.object_version_number := rosetta_g_miss_num_map(p0_a6);
436     ddp_metric_formula_rec.metric_id := rosetta_g_miss_num_map(p0_a7);
437     ddp_metric_formula_rec.source_type := p0_a8;
438     ddp_metric_formula_rec.source_id := rosetta_g_miss_num_map(p0_a9);
439     ddp_metric_formula_rec.source_sub_id := rosetta_g_miss_num_map(p0_a10);
440     ddp_metric_formula_rec.source_value := rosetta_g_miss_num_map(p0_a11);
441     ddp_metric_formula_rec.token := p0_a12;
442     ddp_metric_formula_rec.notation_type := p0_a13;
443     ddp_metric_formula_rec.use_sub_id_flag := p0_a14;
444     ddp_metric_formula_rec.sequence := rosetta_g_miss_num_map(p0_a15);
445 
446 
447 
448     -- here's the delegated call to the old PL/SQL routine
449     ams_metric_formula_pvt.check_metric_formula_items(ddp_metric_formula_rec,
450       p_validation_mode,
451       x_return_status);
452 
453     -- copy data back from the local variables to OUT or IN-OUT args, if any
454 
455 
456   end;
457 
458   procedure validate_metric_formula_rec(p_api_version_number  NUMBER
459     , p_init_msg_list  VARCHAR2
460     , x_return_status out nocopy  VARCHAR2
461     , x_msg_count out nocopy  NUMBER
462     , x_msg_data out nocopy  VARCHAR2
463     , p5_a0  NUMBER := 0-1962.0724
464     , p5_a1  DATE := fnd_api.g_miss_date
465     , p5_a2  NUMBER := 0-1962.0724
466     , p5_a3  DATE := fnd_api.g_miss_date
467     , p5_a4  NUMBER := 0-1962.0724
468     , p5_a5  NUMBER := 0-1962.0724
469     , p5_a6  NUMBER := 0-1962.0724
470     , p5_a7  NUMBER := 0-1962.0724
471     , p5_a8  VARCHAR2 := fnd_api.g_miss_char
472     , p5_a9  NUMBER := 0-1962.0724
473     , p5_a10  NUMBER := 0-1962.0724
474     , p5_a11  NUMBER := 0-1962.0724
475     , p5_a12  VARCHAR2 := fnd_api.g_miss_char
476     , p5_a13  VARCHAR2 := fnd_api.g_miss_char
477     , p5_a14  VARCHAR2 := fnd_api.g_miss_char
478     , p5_a15  NUMBER := 0-1962.0724
479   )
480 
481   as
482     ddp_metric_formula_rec ams_metric_formula_pvt.met_formula_rec_type;
483     ddindx binary_integer; indx binary_integer;
484   begin
485 
486     -- copy data to the local IN or IN-OUT args, if any
487 
488 
489 
490 
491 
492     ddp_metric_formula_rec.metric_formula_id := rosetta_g_miss_num_map(p5_a0);
493     ddp_metric_formula_rec.last_update_date := rosetta_g_miss_date_in_map(p5_a1);
494     ddp_metric_formula_rec.last_updated_by := rosetta_g_miss_num_map(p5_a2);
495     ddp_metric_formula_rec.creation_date := rosetta_g_miss_date_in_map(p5_a3);
496     ddp_metric_formula_rec.created_by := rosetta_g_miss_num_map(p5_a4);
497     ddp_metric_formula_rec.last_update_login := rosetta_g_miss_num_map(p5_a5);
498     ddp_metric_formula_rec.object_version_number := rosetta_g_miss_num_map(p5_a6);
499     ddp_metric_formula_rec.metric_id := rosetta_g_miss_num_map(p5_a7);
500     ddp_metric_formula_rec.source_type := p5_a8;
501     ddp_metric_formula_rec.source_id := rosetta_g_miss_num_map(p5_a9);
502     ddp_metric_formula_rec.source_sub_id := rosetta_g_miss_num_map(p5_a10);
503     ddp_metric_formula_rec.source_value := rosetta_g_miss_num_map(p5_a11);
504     ddp_metric_formula_rec.token := p5_a12;
505     ddp_metric_formula_rec.notation_type := p5_a13;
506     ddp_metric_formula_rec.use_sub_id_flag := p5_a14;
507     ddp_metric_formula_rec.sequence := rosetta_g_miss_num_map(p5_a15);
508 
509     -- here's the delegated call to the old PL/SQL routine
513       x_msg_count,
510     ams_metric_formula_pvt.validate_metric_formula_rec(p_api_version_number,
511       p_init_msg_list,
512       x_return_status,
514       x_msg_data,
515       ddp_metric_formula_rec);
516 
517     -- copy data back from the local variables to OUT or IN-OUT args, if any
518 
519 
520 
521 
522 
523   end;
524 
525 end ams_metric_formula_pvt_w;