DBA Data[Home] [Help]

PACKAGE BODY: APPS.EAM_WORKORDER_UTIL_PKG_W

Source


1 package body eam_workorder_util_pkg_w as
2   /* $Header: EAMVWUPB.pls 120.0 2005/06/08 02:51:21 appldev noship $ eam_workorder_util_pkg_w.pkb 115.0 2005/05/23 07:08:38 grajan noship $*/
3 
4   procedure rosetta_table_copy_in_p7(t out nocopy eam_workorder_util_pkg.t_workflow_table, a0 JTF_NUMBER_TABLE
5     , a1 JTF_VARCHAR2_TABLE_400
6     , a2 JTF_VARCHAR2_TABLE_100
7     , a3 JTF_DATE_TABLE
8     , a4 JTF_VARCHAR2_TABLE_300
9     , a5 JTF_VARCHAR2_TABLE_100
10     ) as
11     ddindx binary_integer; indx binary_integer;
12   begin
13   if a0 is not null and a0.count > 0 then
14       if a0.count > 0 then
15         indx := a0.first;
16         ddindx := 1;
17         while true loop
18           t(ddindx).seq_no := a0(indx);
19           t(ddindx).approver := a1(indx);
20           t(ddindx).status := a2(indx);
21           t(ddindx).status_date := a3(indx);
22           t(ddindx).email := a4(indx);
23           t(ddindx).telephone := a5(indx);
24           ddindx := ddindx+1;
25           if a0.last =indx
26             then exit;
27           end if;
28           indx := a0.next(indx);
29         end loop;
30       end if;
31    end if;
32   end rosetta_table_copy_in_p7;
33 
34   procedure rosetta_table_copy_out_p7(t eam_workorder_util_pkg.t_workflow_table, a0 out nocopy JTF_NUMBER_TABLE
35     , a1 out nocopy JTF_VARCHAR2_TABLE_400
36     , a2 out nocopy JTF_VARCHAR2_TABLE_100
37     , a3 out nocopy JTF_DATE_TABLE
38     , a4 out nocopy JTF_VARCHAR2_TABLE_300
39     , a5 out nocopy JTF_VARCHAR2_TABLE_100
40     ) as
41     ddindx binary_integer; indx binary_integer;
42   begin
43   if t is null or t.count = 0 then
44     a0 := JTF_NUMBER_TABLE();
45     a1 := JTF_VARCHAR2_TABLE_400();
46     a2 := JTF_VARCHAR2_TABLE_100();
47     a3 := JTF_DATE_TABLE();
48     a4 := JTF_VARCHAR2_TABLE_300();
49     a5 := JTF_VARCHAR2_TABLE_100();
50   else
51       a0 := JTF_NUMBER_TABLE();
52       a1 := JTF_VARCHAR2_TABLE_400();
53       a2 := JTF_VARCHAR2_TABLE_100();
54       a3 := JTF_DATE_TABLE();
55       a4 := JTF_VARCHAR2_TABLE_300();
56       a5 := JTF_VARCHAR2_TABLE_100();
57       if t.count > 0 then
58         a0.extend(t.count);
59         a1.extend(t.count);
60         a2.extend(t.count);
61         a3.extend(t.count);
62         a4.extend(t.count);
63         a5.extend(t.count);
64         ddindx := t.first;
65         indx := 1;
66         while true loop
67           a0(indx) := t(ddindx).seq_no;
68           a1(indx) := t(ddindx).approver;
69           a2(indx) := t(ddindx).status;
70           a3(indx) := t(ddindx).status_date;
71           a4(indx) := t(ddindx).email;
72           a5(indx) := t(ddindx).telephone;
73           indx := indx+1;
74           if t.last =ddindx
75             then exit;
76           end if;
77           ddindx := t.next(ddindx);
78         end loop;
79       end if;
80    end if;
81   end rosetta_table_copy_out_p7;
82 
83   procedure get_workflow_details(p_item_type  String
84     , p_item_key  String
85     , p2_a0 out nocopy JTF_NUMBER_TABLE
86     , p2_a1 out nocopy JTF_VARCHAR2_TABLE_400
87     , p2_a2 out nocopy JTF_VARCHAR2_TABLE_100
88     , p2_a3 out nocopy JTF_DATE_TABLE
89     , p2_a4 out nocopy JTF_VARCHAR2_TABLE_300
90     , p2_a5 out nocopy JTF_VARCHAR2_TABLE_100
91   )
92 
93   as
94     ddx_workflow_table eam_workorder_util_pkg.t_workflow_table;
95     ddindx binary_integer; indx binary_integer;
96   begin
97 
98     -- copy data to the local IN or IN-OUT args, if any
99 
100 
101 
102     -- here's the delegated call to the old PL/SQL routine
103     eam_workorder_util_pkg.get_workflow_details(p_item_type,
104       p_item_key,
105       ddx_workflow_table);
106 
107     -- copy data back from the local variables to OUT or IN-OUT args, if any
108 
109 
110     eam_workorder_util_pkg_w.rosetta_table_copy_out_p7(ddx_workflow_table, p2_a0
111       , p2_a1
112       , p2_a2
113       , p2_a3
114       , p2_a4
115       , p2_a5
116       );
117   end;
118 
119 end eam_workorder_util_pkg_w;