DBA Data[Home] [Help]

PACKAGE: APPS.WSM_SPLIT_PERC_PVT

Source


1 PACKAGE WSM_SPLIT_PERC_PVT AUTHID CURRENT_USER AS
2 /* $Header: WSMCOSPS.pls 115.1 2003/12/17 18:55:34 sthangad noship $ */
3 
4  /*---------------------------------------------------------------------------+
5  | Procedure to insert a row in the split percentages table for a given	      |
6  | (co-product,co product group, effective date, disable date) 		      |
7  +---------------------------------------------------------------------------*/
8 
9 PROCEDURE insert_row(x_err_code 		OUT NOCOPY NUMBER,
10    	    	     x_err_msg                  OUT NOCOPY VARCHAR2,
11 		     p_co_product_id  		IN NUMBER,
12 		     p_co_product_group_id	IN NUMBER,
13 		     p_organization_id		IN NUMBER,
14 		     p_revision			IN VARCHAR2,
15 		     p_split			IN NUMBER,
16 		     p_primary_flag		IN VARCHAR2,
17 		     p_effectivity_date		IN DATE,
18 		     p_disable_date		IN DATE,
19 		     p_creation_date		IN DATE,
20 		     p_created_by 		IN NUMBER,
21 		     p_last_update_date		IN DATE,
22 		     p_last_updated_by 		IN NUMBER,
23 		     p_last_update_login	IN NUMBER     DEFAULT NULL,
24 		     p_attribute_category	IN VARCHAR2   DEFAULT NULL,
25 		     p_attribute1		IN VARCHAR2   DEFAULT NULL,
26 		     p_attribute2		IN VARCHAR2   DEFAULT NULL,
27 		     p_attribute3		IN VARCHAR2   DEFAULT NULL,
28 		     p_attribute4		IN VARCHAR2   DEFAULT NULL,
29 		     p_attribute5		IN VARCHAR2   DEFAULT NULL,
30 		     p_attribute6		IN VARCHAR2   DEFAULT NULL,
31 		     p_attribute7		IN VARCHAR2   DEFAULT NULL,
32 		     p_attribute8		IN VARCHAR2   DEFAULT NULL,
33 		     p_attribute9		IN VARCHAR2   DEFAULT NULL,
34 		     p_attribute10		IN VARCHAR2   DEFAULT NULL,
35 		     p_attribute11		IN VARCHAR2   DEFAULT NULL,
36 		     p_attribute12		IN VARCHAR2   DEFAULT NULL,
37 		     p_attribute13		IN VARCHAR2   DEFAULT NULL,
38 		     p_attribute14		IN VARCHAR2   DEFAULT NULL,
39 		     p_attribute15		IN VARCHAR2   DEFAULT NULL,
40 		     p_request_id               IN NUMBER     DEFAULT NULL,
41                      p_program_application_id   IN NUMBER     DEFAULT NULL,
42                      p_program_id               IN NUMBER     DEFAULT NULL,
43                      p_program_update_date      IN DATE       DEFAULT NULL
44 		     );
45 
46  /*---------------------------------------------------------------------------+
47  | Procedure to update a row in the split percentages table 		      |
48  +---------------------------------------------------------------------------*/
49 
50 PROCEDURE update_row(x_err_code 		OUT NOCOPY NUMBER,
51 		     x_err_msg                  OUT NOCOPY VARCHAR2,
52 		     p_rowid                    IN VARCHAR2,
53 		     p_co_product_id  		IN NUMBER,
54 		     p_co_product_group_id	IN NUMBER,
55 		     p_organization_id		IN NUMBER,
56 		     p_revision			IN VARCHAR2,
57 		     p_split			IN NUMBER,
58 		     p_primary_flag		IN VARCHAR2,
59 		     p_effectivity_date		IN DATE,
60 		     p_disable_date		IN DATE,
61 		     p_creation_date		IN DATE,
62 		     p_created_by 		IN NUMBER,
63 		     p_last_update_date		IN DATE,
64 		     p_last_updated_by 		IN NUMBER,
65 		     p_last_update_login	IN NUMBER,
66 		     p_attribute_category	IN VARCHAR2,
67 		     p_attribute1		IN VARCHAR2,
68 		     p_attribute2		IN VARCHAR2,
69 		     p_attribute3		IN VARCHAR2,
70 		     p_attribute4		IN VARCHAR2,
71 		     p_attribute5		IN VARCHAR2,
72 		     p_attribute6		IN VARCHAR2,
73 		     p_attribute7		IN VARCHAR2,
74 		     p_attribute8		IN VARCHAR2,
75 		     p_attribute9		IN VARCHAR2,
76 		     p_attribute10		IN VARCHAR2,
77 		     p_attribute11		IN VARCHAR2,
78 		     p_attribute12		IN VARCHAR2,
79 		     p_attribute13		IN VARCHAR2,
80 		     p_attribute14		IN VARCHAR2,
81 		     p_attribute15		IN VARCHAR2,
82 		     p_request_id               IN NUMBER,
83                      p_program_application_id   IN NUMBER,
84                      p_program_id               IN NUMBER,
85                      p_program_update_date      IN DATE
86 		     );
87  /*---------------------------------------------------------------------------+
88  | Lock row procedure							      |
89  |									      |
90  +---------------------------------------------------------------------------*/
91 
92   PROCEDURE lock_row(x_err_code 		OUT NOCOPY NUMBER,
93 		     x_err_msg                  OUT NOCOPY VARCHAR2,
94 		     p_rowid                    IN VARCHAR2,
95 		     p_co_product_id  		IN NUMBER,
96 		     p_co_product_group_id	IN NUMBER,
97 		     p_organization_id		IN NUMBER,
98 		     p_revision			IN VARCHAR2,
99 		     p_split			IN NUMBER,
100 		     p_primary_flag		IN VARCHAR2,
101 		     p_effectivity_date		IN DATE,
102 		     p_disable_date		IN DATE,
103 		     p_attribute_category	IN VARCHAR2,
104 		     p_attribute1		IN VARCHAR2,
105 		     p_attribute2		IN VARCHAR2,
106 		     p_attribute3		IN VARCHAR2,
107 		     p_attribute4		IN VARCHAR2,
108 		     p_attribute5		IN VARCHAR2,
109 		     p_attribute6		IN VARCHAR2,
110 		     p_attribute7		IN VARCHAR2,
111 		     p_attribute8		IN VARCHAR2,
112 		     p_attribute9		IN VARCHAR2,
113 		     p_attribute10		IN VARCHAR2,
114 		     p_attribute11		IN VARCHAR2,
115 		     p_attribute12		IN VARCHAR2,
116 		     p_attribute13		IN VARCHAR2,
117 		     p_attribute14		IN VARCHAR2,
118 		     p_attribute15		IN VARCHAR2
119 		     );
120 
121  /*---------------------------------------------------------------------------+
122  | Procedure to delete all the entries corresponding to a (co product id,     |
123  | co product group id) pair in  the split percentages table 		      |
124  +---------------------------------------------------------------------------*/
125   PROCEDURE delete_row(x_err_code		OUT NOCOPY NUMBER,
126    			x_err_msg		OUT NOCOPY VARCHAR2,
127    			p_co_product_id  	IN NUMBER,
128 		     	p_co_product_group_id	IN NUMBER,
129 			p_organization_id	IN NUMBER
130 			);
131  /*---------------------------------------------------------------------------+
132  | Procedure to delete all the records pertaining to a co product group id in |
133  | the split percentages table						      |
134  +---------------------------------------------------------------------------*/
135  PROCEDURE delete_all_range(x_err_code                OUT NOCOPY NUMBER,
136  			    x_err_msg	              OUT NOCOPY VARCHAR2,
137 			    p_organization_id         IN NUMBER,
138 			    p_co_product_group_id     IN NUMBER);
139 
140  /*---------------------------------------------------------------------------+
141  | Procedure to ensure that that no two ranges are overlapping in the time    |
142  | frame. Called immediately after inserting a new split eff. range           |
143  +---------------------------------------------------------------------------*/
144 
145  PROCEDURE process_records (l_co_product_gr_id IN  NUMBER,
146          		    from_eff_dt        IN  DATE,
147 			    to_eff_dt          IN  DATE,
148 			    x_err_code         OUT NOCOPY NUMBER,
149 			    x_err_msg	       OUT NOCOPY VARCHAR2);
150 
151  /*---------------------------------------------------------------------------+
152  | Procdure to check if the update of comp. eff/ disable date will cause      |
153  | the deletion of any existent ranges					      |
154  +---------------------------------------------------------------------------*/
155 
156  /* This procedure is not used as comp. eff./diable date will not be related to the
157     co product eff/disable dates */
158  FUNCTION validate_range ( p_co_product_group_id  IN NUMBER,
159  			   p_organization_id      IN NUMBER,
160 			   p_effectivity_date     IN DATE,
161 			   p_disable_date	  IN DATE) RETURN NUMBER;
162 
163  /*---------------------------------------------------------------------------+
164  | Procdure to update/delete any existent ranges that would be affected by the|
165  | the update of comp. eff. date/ disable date  			      |
166  +---------------------------------------------------------------------------*/
167 
168  /* This procedure is not used as comp. eff./diable date will not be related to the
169     co product eff/disable dates */
170 
171  PROCEDURE update_split_range(x_err_code 		OUT NOCOPY NUMBER,
172 			     x_err_msg  		OUT NOCOPY VARCHAR2,
173 			     p_organization_id          IN NUMBER,
174 			     p_co_product_group_id      IN NUMBER,
175 			     p_effectivity_date		IN DATE,
176 			     p_disable_date		IN DATE,
177 			     p_update_range             IN NUMBER
178 			     );
179 
180  /*---------------------------------------------------------------------------+
181  | Procedure to insert a co-product in all ranges of a co-product group id    |
182  | with split perc 0% in case of sec. co-product and 100% in case of          |
183  | primary co-product							      |
184  +---------------------------------------------------------------------------*/
185  PROCEDURE insert_co_product_range(x_err_code 		  OUT NOCOPY NUMBER,
186  				   x_err_msg		  OUT NOCOPY VARCHAR2,
187  				   p_co_product_group_id  IN NUMBER,
188 				   p_co_product_id	  IN NUMBER,
189 				   p_revision		  IN VARCHAR2,
190 				   p_split      	  IN NUMBER,
191 				   p_primary_flag 	  IN VARCHAR2,
192  			   	   p_organization_id      IN NUMBER,
193 				   p_effectivity_date     IN DATE,
194 				   p_disable_date	  IN DATE,
195 				   p_creation_date	  IN DATE,
196 				   p_created_by 	  IN NUMBER,
197 				   p_last_update_date	  IN DATE,
198 				   p_last_updated_by 	  IN NUMBER
199 				   );
200  /*---------------------------------------------------------------------------+
201  | Procedure to check if there is atleast one range in wich the co product    |
202  | passed has a non-zero split percentage.. 				      |
203  +---------------------------------------------------------------------------*/
204  FUNCTION check_split_perc_exists(x_err_code  	        OUT NOCOPY NUMBER,
205 				  x_err_msg   	        OUT NOCOPY VARCHAR2,
206 				  p_co_product_id       IN NUMBER,
207 				  p_co_product_group_id IN NUMBER,
208 				  p_organization_id     IN NUMBER )  RETURN BOOLEAN;
209 
210 /*---------------------------------------------------------------------------+
211  | Procedure to check if there is atleast one co product of a co-prod group  |
212  | in the range passed that has a zero split percentage..	     	     |
213  +--------------------------------------------------------------------------*/
214 FUNCTION check_split_perc_exists(x_err_code  	        OUT NOCOPY NUMBER,
215 				  x_err_msg   	        OUT NOCOPY VARCHAR2,
216 				  p_co_product_group_id IN NUMBER,
217 				  p_organization_id     IN NUMBER,
218 				  p_effectivity_date    IN DATE,
219 				  p_disable_date        IN DATE) RETURN BOOLEAN;
220 
221  /*---------------------------------------------------------------------------+
222  | Procedure to check if a co-product group id had got only one	split 	      |
223  | effectivity range							      |
224  +---------------------------------------------------------------------------*/
225  FUNCTION check_unique_range(x_err_code  	        OUT NOCOPY NUMBER,
226 		             x_err_msg   	        OUT NOCOPY VARCHAR2,
227 			     p_co_product_group_id      IN NUMBER,
228 			     p_organization_id          IN NUMBER )  RETURN BOOLEAN;
229 
230  /*---------------------------------------------------------------------------+
231  | Procedure to check if the new eff. range ( eff date/ disable date ) 	      |
232  | will cause any existing ranges to be deleted				      |
233  +---------------------------------------------------------------------------*/
234 
235  FUNCTION check_any_del_range ( p_co_product_group_id  IN NUMBER,
236  			       p_organization_id      IN NUMBER,
237 			       p_effectivity_date     IN DATE,
238 			       p_disable_date	  IN DATE)  RETURN NUMBER;
239 
240  /*---------------------------------------------------------------------------+
241  | Procedure to check if a range is preexisting			 	      |
242  +---------------------------------------------------------------------------*/
243 
244 FUNCTION check_unique(x_err_code  	        OUT NOCOPY NUMBER,
245 		      x_err_msg   	        OUT NOCOPY VARCHAR2,
246 		      p_co_product_group_id      IN NUMBER,
247 		      p_organization_id          IN NUMBER,
248 		      p_effectivity_date 	 IN DATE,
249 		      p_disable_date 		 IN DATE)  RETURN BOOLEAN;
250 
251 END WSM_SPLIT_PERC_PVT;