DBA Data[Home] [Help]

PACKAGE BODY: APPS.PV_CMDASHBOARD_UTIL_W

Source


1 package body pv_cmdashboard_util_w as
2   /* $Header: pvxwcdub.pls 120.0 2005/07/05 23:49:54 appldev noship $ */
3   procedure rosetta_table_copy_in_p1(t out nocopy pv_cmdashboard_util.kpi_tbl_type, a0 JTF_NUMBER_TABLE
4     , a1 JTF_VARCHAR2_TABLE_100
5     , a2 JTF_VARCHAR2_TABLE_400
6     , a3 JTF_VARCHAR2_TABLE_100
7     , a4 JTF_VARCHAR2_TABLE_100
8     ) as
9     ddindx binary_integer; indx binary_integer;
10   begin
11   if a0 is not null and a0.count > 0 then
12       if a0.count > 0 then
13         indx := a0.first;
14         ddindx := 1;
15         while true loop
16           t(ddindx).attribute_id := a0(indx);
17           t(ddindx).attribute_name := a1(indx);
18           t(ddindx).attribute_value := a2(indx);
19           t(ddindx).enabled_flag := a3(indx);
20           t(ddindx).display_style := a4(indx);
21           ddindx := ddindx+1;
22           if a0.last =indx
23             then exit;
24           end if;
25           indx := a0.next(indx);
26         end loop;
27       end if;
28    end if;
29   end rosetta_table_copy_in_p1;
30   procedure rosetta_table_copy_out_p1(t pv_cmdashboard_util.kpi_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
31     , a1 out nocopy JTF_VARCHAR2_TABLE_100
32     , a2 out nocopy JTF_VARCHAR2_TABLE_400
33     , a3 out nocopy JTF_VARCHAR2_TABLE_100
34     , a4 out nocopy JTF_VARCHAR2_TABLE_100
35     ) as
36     ddindx binary_integer; indx binary_integer;
37   begin
38   if t is null or t.count = 0 then
39     a0 := JTF_NUMBER_TABLE();
40     a1 := JTF_VARCHAR2_TABLE_100();
41     a2 := JTF_VARCHAR2_TABLE_400();
42     a3 := JTF_VARCHAR2_TABLE_100();
43     a4 := JTF_VARCHAR2_TABLE_100();
44   else
45       a0 := JTF_NUMBER_TABLE();
46       a1 := JTF_VARCHAR2_TABLE_100();
47       a2 := JTF_VARCHAR2_TABLE_400();
48       a3 := JTF_VARCHAR2_TABLE_100();
49       a4 := JTF_VARCHAR2_TABLE_100();
50       if t.count > 0 then
51         a0.extend(t.count);
52         a1.extend(t.count);
53         a2.extend(t.count);
54         a3.extend(t.count);
55         a4.extend(t.count);
56         ddindx := t.first;
57         indx := 1;
58         while true loop
59           a0(indx) := t(ddindx).attribute_id;
60           a1(indx) := t(ddindx).attribute_name;
61           a2(indx) := t(ddindx).attribute_value;
62           a3(indx) := t(ddindx).enabled_flag;
63           a4(indx) := t(ddindx).display_style;
64           indx := indx+1;
65           if t.last =ddindx
66             then exit;
67           end if;
68           ddindx := t.next(ddindx);
69         end loop;
70       end if;
71    end if;
72   end rosetta_table_copy_out_p1;
73 
74   procedure get_kpis_detail(p_resource_id  NUMBER
75     , p1_a0 in out nocopy JTF_NUMBER_TABLE
76     , p1_a1 in out nocopy JTF_VARCHAR2_TABLE_100
77     , p1_a2 in out nocopy JTF_VARCHAR2_TABLE_400
78     , p1_a3 in out nocopy JTF_VARCHAR2_TABLE_100
79     , p1_a4 in out nocopy JTF_VARCHAR2_TABLE_100
80   )
81 
82   as
83     ddp_kpi_set pv_cmdashboard_util.kpi_tbl_type;
84     ddindx binary_integer; indx binary_integer;
85   begin
86 
87     -- copy data to the local IN or IN-OUT args, if any
88 
89     pv_cmdashboard_util_w.rosetta_table_copy_in_p1(ddp_kpi_set, p1_a0
90       , p1_a1
91       , p1_a2
92       , p1_a3
93       , p1_a4
94       );
95 
96     -- here's the delegated call to the old PL/SQL routine
97     pv_cmdashboard_util.get_kpis_detail(p_resource_id,
98       ddp_kpi_set);
99 
100     -- copy data back from the local variables to OUT or IN-OUT args, if any
101 
102     pv_cmdashboard_util_w.rosetta_table_copy_out_p1(ddp_kpi_set, p1_a0
103       , p1_a1
104       , p1_a2
105       , p1_a3
106       , p1_a4
107       );
108   end;
109 
110 end pv_cmdashboard_util_w;