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