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