[Home] [Help]
PACKAGE BODY: APPS.OKL_INV_FORMAT_DELETE_PVT
Source
1 PACKAGE BODY Okl_Inv_Format_Delete_Pvt AS
2 /* $Header: OKLRIFDB.pls 115.3 2002/02/12 14:31:13 pkm ship $ */
3 ---------------------------------------------------------------------------
4 -- GLOBAL DATASTRUCTURES
5 ---------------------------------------------------------------------------
6 ---------------------------------------------------------------------------
7 -- Procedures and Functions
8 ---------------------------------------------------------------------------
9
10 PROCEDURE delete_format(
11 p_api_version IN NUMBER,
12 p_init_msg_list IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
13 x_return_status OUT NOCOPY VARCHAR2,
14 x_msg_count OUT NOCOPY NUMBER,
15 x_msg_data OUT NOCOPY VARCHAR2,
16 p_inf_del_rec IN inf_del_rec_type)
17 IS
18
19
20 CURSOR inv_type_csr (p_inf_id NUMBER) IS
21 SELECT id
22 FROM okl_invoice_types_v
23 WHERE inf_id = p_inf_id;
24
25 CURSOR inv_line_type_csr (p_ity_id NUMBER) IS
26 SELECT id
27 FROM okl_invc_line_types_v
28 WHERE ity_id = p_ity_id;
29
30 CURSOR inv_format_strms_csr (p_ilt_id NUMBER, p_inf_id NUMBER) IS
31 SELECT id
32 FROM okl_invc_frmt_strms_v
33 WHERE (inf_id = p_inf_id OR
34 ilt_id = p_ilt_id);
35
36 p_infv_rec Okl_Inf_Pvt.infv_rec_type;
37 p_ityv_rec Okl_Ity_Pvt.ityv_rec_type;
38 p_iltv_rec Okl_Ilt_Pvt.iltv_rec_type;
39 p_ilsv_rec Okl_Ils_Pvt.ilsv_rec_type;
40
41
42 p_infv_tbl Okl_Inf_Pvt.infv_tbl_type;
43 p_ityv_tbl Okl_Ity_Pvt.ityv_tbl_type;
44 p_iltv_tbl Okl_Ilt_Pvt.iltv_tbl_type;
45 p_ilsv_tbl Okl_Ils_Pvt.ilsv_tbl_type;
46
47 BEGIN
48
49 -- The delete routine works its way up the ER hierarchy
50 --
51
52 FOR inv_type IN inv_type_csr ( p_inf_del_rec.id ) LOOP
53
54 FOR inv_line_type IN inv_line_type_csr ( inv_type.id ) LOOP
55
56 FOR inv_format_strms IN inv_format_strms_csr(inv_line_type.id , p_inf_del_rec.id) LOOP
57 p_ilsv_rec.id := inv_format_strms.id;
58 Okl_Ils_Pvt.delete_row(
59 p_api_version,
60 p_init_msg_list,
61 x_return_status,
62 x_msg_count,
63 x_msg_data,
64 p_ilsv_rec);
65 END LOOP;
66
67 p_iltv_rec.id := inv_line_type.id;
68 Okl_Ilt_Pvt.delete_row(
69 p_api_version,
70 p_init_msg_list,
71 x_return_status,
72 x_msg_count,
73 x_msg_data,
74 p_iltv_rec);
75 END LOOP;
76
77 p_ityv_rec.id := inv_type.id;
78
79 Okl_Ity_Pvt.delete_row(
80 p_api_version,
81 p_init_msg_list,
82 x_return_status,
83 x_msg_count,
84 x_msg_data,
85 p_ityv_rec);
86
87 END LOOP;
88
89 p_infv_rec.id := p_inf_del_rec.id;
90 Okl_Inf_Pvt.delete_row(
91 p_api_version,
92 p_init_msg_list,
93 x_return_status,
94 x_msg_count,
95 x_msg_data,
96 p_infv_rec);
97
98 EXCEPTION
99 WHEN OTHERS THEN
100 null;
101 END;
102
103 PROCEDURE delete_format(
104 p_api_version IN NUMBER,
105 p_init_msg_list IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
106 x_return_status OUT NOCOPY VARCHAR2,
107 x_msg_count OUT NOCOPY NUMBER,
108 x_msg_data OUT NOCOPY VARCHAR2,
109 p_inf_del_tbl IN inf_del_tbl_type)
110 IS
111
112 p_inf_del_rec inf_del_rec_type;
113
114 BEGIN
115 FOR i IN p_inf_del_tbl.first..p_inf_del_tbl.COUNT LOOP
116 p_inf_del_rec := p_inf_del_tbl(i);
117
118 delete_format(
119 p_api_version,
120 p_init_msg_list,
121 x_return_status,
122 x_msg_count,
123 x_msg_data,
124 p_inf_del_rec);
125 END LOOP;
126 EXCEPTION
127 WHEN OTHERS THEN
128 null;
129 END;
130
131 END Okl_Inv_Format_Delete_Pvt;