DBA Data[Home] [Help]

PACKAGE BODY: APPS.WMS_SORT_CRITERIA_FORM_PKG

Source


1 package body wms_sort_criteria_form_pkg AS
2 /* $Header: WMSFPCRB.pls 120.1 2005/06/20 05:37:14 appldev ship $ */
3 
4 g_pkg_name constant varchar2(30) := 'WMSSort_Criteria_Form_PKG';
5 
6 -- private function
7 -- return true if no existing sort_criteria has the same id as the input
8 FUNCTION check_existence
9   (
10     p_rule_id                        IN  NUMBER
11    ,p_sequence_number                IN  NUMBER
12    ) RETURN BOOLEAN IS
13       CURSOR c IS SELECT rule_id FROM wms_sort_criteria
14 	WHERE rule_id = p_rule_id
15 	AND sequence_number = p_sequence_number;
16       l_rule_id NUMBER;
17       l_exist   BOOLEAN;
18 BEGIN
19    OPEN c;
20    FETCH c INTO l_rule_id;
21    l_exist := NOT(c%notfound);
22    CLOSE c;
23    RETURN l_exist;
24 END check_existence;
25 
26 -- private validation routine
27 PROCEDURE validate_input
28   (
29     x_return_status                  OUT NOCOPY /* file.sql.39 change */ VARCHAR2
30    ,p_action                         IN  VARCHAR2
31    ,p_rule_id                        IN  NUMBER
32    ,p_sequence_number                IN  NUMBER
33    ,p_parameter_id                   IN  NUMBER
34    ,p_order_code                     IN  NUMBER
35    ,p_attribute_category             IN  VARCHAR2
36    ,p_attribute1                     IN  VARCHAR2
37    ,p_attribute2                     IN  VARCHAR2
38    ,p_attribute3                     IN  VARCHAR2
39    ,p_attribute4                     IN  VARCHAR2
40    ,p_attribute5                     IN  VARCHAR2
41    ,p_attribute6                     IN  VARCHAR2
42    ,p_attribute7                     IN  VARCHAR2
43    ,p_attribute8                     IN  VARCHAR2
44    ,p_attribute9                     IN  VARCHAR2
45    ,p_attribute10                    IN  VARCHAR2
46    ,p_attribute11                    IN  VARCHAR2
47    ,p_attribute12                    IN  VARCHAR2
48    ,p_attribute13                    IN  VARCHAR2
49    ,p_attribute14                    IN  VARCHAR2
50    ,p_attribute15                    IN  VARCHAR2
51   ) IS
52      l_return_status 	   VARCHAR2(1) := fnd_api.g_ret_sts_success;
53      l_found               BOOLEAN;
54      l_msg_count           NUMBER ;
55      l_msg_data            VARCHAR2(240);
56 BEGIN
57 
58    IF p_action NOT IN ('INSERT', 'UPDATE', 'LOCK', 'DELETE') THEN
59       -- unknown exception
60       RAISE fnd_api.g_exc_unexpected_error;
61    END IF;
62 
63    /* check existence */
64    IF check_existence(p_rule_id, p_sequence_number) THEN
65       IF p_action = 'INSERT' THEN
66 	 fnd_message.set_name('WMS', 'WMS_SORT_CRITERIA_EXISTS');
67 	 fnd_msg_pub.ADD;
68 	 RAISE fnd_api.g_exc_error;
69       END IF;
70     ELSE
71       IF p_action IN ('DELETE','LOCK','UPDATE') THEN
72 	 fnd_message.set_name('WMS', 'WMS_SORT_CRITERIA_NOT_FOUND');
73 	 fnd_msg_pub.ADD;
74 	 RAISE fnd_api.g_exc_error;
75       END IF;
76    END IF;
77 
78    /* more input validation update and insert */
79    IF p_action IN ('UPDATE', 'INSERT') THEN
80       /* check foreign keys */
81       wms_rule_form_pkg.find_rule
82 	(
83  	  p_api_version      => 1.0
84 	 ,p_init_msg_list    => fnd_api.g_false
85 	 ,x_return_status    => l_return_status
86 	 ,x_msg_count        => l_msg_count
87 	 ,x_msg_data         => l_msg_data
88 	 ,p_rule_id          => p_rule_id
89 	 ,x_found            => l_found
90 	 );
91 
92       if x_return_status = fnd_api.g_ret_sts_unexp_error then
93 	 raise fnd_api.g_exc_unexpected_error;
94        elsif x_return_status = fnd_api.g_ret_sts_error then
95 	 raise fnd_api.g_exc_error;
96       end if;
97 
98       IF l_found = FALSE THEN
99 	 fnd_message.set_name('WMS', 'WMS_RULE_NOT_FOUND');
100 	 fnd_msg_pub.ADD;
101 	 RAISE fnd_api.g_exc_error;
102       END IF;
103 
104       -- other input parameters are not validated currently
105       /* like parameter id */
106     END IF;
107 
108     x_return_status := l_return_status;
109 
110 EXCEPTION
111    WHEN fnd_api.g_exc_error THEN
112      x_return_status := fnd_api.g_ret_sts_error;
113 
114    WHEN fnd_api.g_exc_unexpected_error THEN
115       x_return_status := fnd_api.g_ret_sts_unexp_error;
116 
117    WHEN OTHERS THEN
118       x_return_status := fnd_api.g_ret_sts_unexp_error;
119 
120 END validate_input;
121 
122 procedure insert_sort_criteria
123   (
124     p_api_version         	     IN  NUMBER
125    ,p_init_msg_list       	     IN  VARCHAR2 := fnd_api.g_false
126    ,p_validation_level    	     IN  NUMBER   := fnd_api.g_valid_level_full
127    ,x_return_status       	     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
128    ,x_msg_count           	     OUT NOCOPY /* file.sql.39 change */ NUMBER
129    ,x_msg_data            	     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
130    ,p_rowid                          IN OUT NOCOPY /* file.sql.39 change */ VARCHAR2
131    ,p_rule_id                        IN  NUMBER
132    ,p_sequence_number                IN  NUMBER
133    ,p_parameter_id                   IN  NUMBER
134    ,p_order_code                    IN  NUMBER
135    ,p_attribute_category             IN  VARCHAR2
136    ,p_attribute1                     IN  VARCHAR2
137    ,p_attribute2                     IN  VARCHAR2
138    ,p_attribute3                     IN  VARCHAR2
139    ,p_attribute4                     IN  VARCHAR2
140    ,p_attribute5                     IN  VARCHAR2
141    ,p_attribute6                     IN  VARCHAR2
142    ,p_attribute7                     IN  VARCHAR2
143    ,p_attribute8                     IN  VARCHAR2
144    ,p_attribute9                     IN  VARCHAR2
145    ,p_attribute10                    IN  VARCHAR2
146    ,p_attribute11                    IN  VARCHAR2
147    ,p_attribute12                    IN  VARCHAR2
148    ,p_attribute13                    IN  VARCHAR2
149    ,p_attribute14                    IN  VARCHAR2
150    ,p_attribute15                    IN  VARCHAR2
151    ) IS
152      -- API standard variables
153      l_api_version         constant number       := 1.0;
154      l_api_name            constant varchar2(30) := 'Insert_Sort_criteria';
155      l_return_status 	   VARCHAR2(1) := fnd_api.g_ret_sts_success;
156      l_row_id        	   VARCHAR2(20);
157      l_date          	   DATE;
158      l_user_id       	   NUMBER;
159      l_login_id      	   NUMBER;
160      l_found         	   BOOLEAN;
161 begin
162 
163   -- Standard call to check for call compatibility
164   if not fnd_api.compatible_api_call( l_api_version
165                                      ,p_api_version
166                                      ,l_api_name
167                                      ,g_pkg_name ) then
168     raise fnd_api.g_exc_unexpected_error;
169   end if;
170 
171   -- Initialize message list if p_init_msg_list is set to TRUE
172   if fnd_api.to_boolean( p_init_msg_list ) then
173     fnd_msg_pub.initialize;
174   end if;
175 
176   /* add validation here */
177   /* get who column information */
178   SELECT Sysdate INTO l_date FROM dual;
179   l_user_id := fnd_global.user_id;
180   l_login_id := fnd_global.login_id;
181 
182   validate_input
183     (
184       x_return_status                => x_return_status
185      ,p_action                       => 'INSERT'
186      ,p_rule_id                      => p_rule_id
187      ,p_sequence_number              => p_sequence_number
188      ,p_parameter_id                 => p_parameter_id
189      ,p_order_code                   => p_order_code
190      ,p_attribute_category           => p_attribute_category
191      ,p_attribute1                   => p_attribute1
192      ,p_attribute2                   => p_attribute2
193      ,p_attribute3                   => p_attribute3
194      ,p_attribute4                   => p_attribute4
195      ,p_attribute5                   => p_attribute5
196      ,p_attribute6                   => p_attribute6
197      ,p_attribute7                   => p_attribute7
198      ,p_attribute8                   => p_attribute8
199      ,p_attribute9                   => p_attribute9
200      ,p_attribute10                  => p_attribute10
201      ,p_attribute11                  => p_attribute11
202      ,p_attribute12                  => p_attribute12
203      ,p_attribute13                  => p_attribute13
204      ,p_attribute14                  => p_attribute14
205      ,p_attribute15                  => p_attribute15
206     );
207 
208    if x_return_status = fnd_api.g_ret_sts_unexp_error then
209       raise fnd_api.g_exc_unexpected_error;
210     elsif x_return_status = fnd_api.g_ret_sts_error then
211       raise fnd_api.g_exc_error;
212    end if;
213 
214    /* call the table handler to do the insert */
215    wms_sort_criteria_pkg.insert_row
216     (
217       x_rowid                        => p_rowid
218      ,x_rule_id                      => p_rule_id
219      ,x_sequence_number              => p_sequence_number
220      ,x_last_updated_by              => l_user_id
221      ,x_last_update_date             => l_date
222      ,x_created_by                   => l_user_id
223      ,x_creation_date                => l_date
224      ,x_last_update_login            => l_login_id
225      ,x_parameter_id                 => p_parameter_id
226      ,x_order_code                   => p_order_code
227      ,x_attribute_category           => p_attribute_category
228      ,x_attribute1                   => p_attribute1
229      ,x_attribute2                   => p_attribute2
230      ,x_attribute3                   => p_attribute3
231      ,x_attribute4                   => p_attribute4
232      ,x_attribute5                   => p_attribute5
233      ,x_attribute6                   => p_attribute6
234      ,x_attribute7                   => p_attribute7
235      ,x_attribute8                   => p_attribute8
236      ,x_attribute9                   => p_attribute9
237      ,x_attribute10                  => p_attribute10
238      ,x_attribute11                  => p_attribute11
239      ,x_attribute12                  => p_attribute12
240      ,x_attribute13                  => p_attribute13
241      ,x_attribute14                  => p_attribute14
242      ,x_attribute15                  => p_attribute15
243     );
244 
245   x_return_status := l_return_status;
246 
247 EXCEPTION
248   when fnd_api.g_exc_error then
249      x_return_status := fnd_api.g_ret_sts_error;
250      fnd_msg_pub.count_and_get( p_count => x_msg_count
251 				,p_data  => x_msg_data );
252 
253    when fnd_api.g_exc_unexpected_error then
254       x_return_status := fnd_api.g_ret_sts_unexp_error;
255       fnd_msg_pub.count_and_get( p_count => x_msg_count
256 				 ,p_data  => x_msg_data );
257 
258    when others then
259       x_return_status := fnd_api.g_ret_sts_unexp_error;
260       if fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) then
261 	 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
262       end if;
263       fnd_msg_pub.count_and_get( p_count => x_msg_count
264 				 ,p_data  => x_msg_data );
265 
266 end insert_sort_criteria;
267 
268 procedure lock_sort_criteria (
269     p_api_version         	     IN  NUMBER
270    ,p_init_msg_list       	     IN  VARCHAR2 := fnd_api.g_false
271    ,p_validation_level    	     IN  NUMBER   := fnd_api.g_valid_level_full
272    ,x_return_status       	     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
273    ,x_msg_count           	     OUT NOCOPY /* file.sql.39 change */ NUMBER
274    ,x_msg_data            	     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
275    ,p_rowid                          IN  VARCHAR2
276    ,p_rule_id                        IN  NUMBER
277    ,p_sequence_number                IN  NUMBER
278    ,p_parameter_id                   IN  NUMBER
279    ,p_order_code                     IN  NUMBER
280    ,p_attribute_category             IN  VARCHAR2
281    ,p_attribute1                     IN  VARCHAR2
282    ,p_attribute2                     IN  VARCHAR2
283    ,p_attribute3                     IN  VARCHAR2
284    ,p_attribute4                     IN  VARCHAR2
285    ,p_attribute5                     IN  VARCHAR2
286    ,p_attribute6                     IN  VARCHAR2
287    ,p_attribute7                     IN  VARCHAR2
288    ,p_attribute8                     IN  VARCHAR2
289    ,p_attribute9                     IN  VARCHAR2
290    ,p_attribute10                    IN  VARCHAR2
291    ,p_attribute11                    IN  VARCHAR2
292    ,p_attribute12                    IN  VARCHAR2
293    ,p_attribute13                    IN  VARCHAR2
294    ,p_attribute14                    IN  VARCHAR2
295    ,p_attribute15                    IN  VARCHAR2
296 ) is
297      -- API standard variables
298      l_api_version         constant number       := 1.0;
299      l_api_name            constant varchar2(30) := 'Lock_Sort_criteria';
300      l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
301 begin
302    -- Standard call to check for call compatibility
303    if not fnd_api.compatible_api_call( l_api_version
304  				      ,p_api_version
305  				      ,l_api_name
306  				      ,g_pkg_name ) then
307      raise fnd_api.g_exc_unexpected_error;
308    end if;
309 
310    -- Initialize message list if p_init_msg_list is set to TRUE
311    if fnd_api.to_boolean( p_init_msg_list ) then
312      fnd_msg_pub.initialize;
313    end if;
314 
315    validate_input
316     (
317       x_return_status                => x_return_status
318      ,p_action                       => 'LOCK'
319      ,p_rule_id                      => p_rule_id
320      ,p_sequence_number              => p_sequence_number
321      ,p_parameter_id                 => p_parameter_id
322      ,p_order_code                   => p_order_code
323      ,p_attribute_category           => p_attribute_category
324      ,p_attribute1                   => p_attribute1
325      ,p_attribute2                   => p_attribute2
326      ,p_attribute3                   => p_attribute3
327      ,p_attribute4                   => p_attribute4
328      ,p_attribute5                   => p_attribute5
329      ,p_attribute6                   => p_attribute6
330      ,p_attribute7                   => p_attribute7
331      ,p_attribute8                   => p_attribute8
332      ,p_attribute9                   => p_attribute9
333      ,p_attribute10                  => p_attribute10
334      ,p_attribute11                  => p_attribute11
335      ,p_attribute12                  => p_attribute12
336      ,p_attribute13                  => p_attribute13
337      ,p_attribute14                  => p_attribute14
338      ,p_attribute15                  => p_attribute15
339     );
340 
341    if x_return_status = fnd_api.g_ret_sts_unexp_error then
342       raise fnd_api.g_exc_unexpected_error;
343     elsif x_return_status = fnd_api.g_ret_sts_error then
344       raise fnd_api.g_exc_error;
345    end if;
346 
347    wms_sort_criteria_pkg.lock_row (
348        x_rowid                        => p_rowid
349       ,x_rule_id                      => p_rule_id
350       ,x_sequence_number              => p_sequence_number
351       ,x_parameter_id                 => p_parameter_id
352       ,x_order_code                   => p_order_code
353       ,x_attribute_category           => p_attribute_category
354       ,x_attribute1                   => p_attribute1
355       ,x_attribute2                   => p_attribute2
356       ,x_attribute3                   => p_attribute3
357       ,x_attribute4                   => p_attribute4
358       ,x_attribute5                   => p_attribute5
359       ,x_attribute6                   => p_attribute6
360       ,x_attribute7                   => p_attribute7
361       ,x_attribute8                   => p_attribute8
362       ,x_attribute9                   => p_attribute9
363       ,x_attribute10                  => p_attribute10
364       ,x_attribute11                  => p_attribute11
365       ,x_attribute12                  => p_attribute12
366       ,x_attribute13                  => p_attribute13
367       ,x_attribute14                  => p_attribute14
368       ,x_attribute15                  => p_attribute15
369      );
370 
371    x_return_status := l_return_status;
372 
373 EXCEPTION
374    WHEN fnd_api.g_exc_error THEN
375      x_return_status := fnd_api.g_ret_sts_error;
376      fnd_msg_pub.count_and_get( p_count => x_msg_count
377 				,p_data  => x_msg_data );
378 
379    WHEN fnd_api.g_exc_unexpected_error THEN
380       x_return_status := fnd_api.g_ret_sts_unexp_error;
381       fnd_msg_pub.count_and_get( p_count => x_msg_count
382 				 ,p_data  => x_msg_data );
383 
384    WHEN OTHERS THEN
385       x_return_status := fnd_api.g_ret_sts_unexp_error;
386       if fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) then
387 	 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
388       end if;
389       fnd_msg_pub.count_and_get( p_count => x_msg_count
390 				 ,p_data  => x_msg_data );
391 
392 end lock_sort_criteria ;
393 
394 procedure update_sort_criteria (
395     p_api_version         	     IN  NUMBER
396    ,p_init_msg_list       	     IN  VARCHAR2 := fnd_api.g_false
397    ,p_validation_level    	     IN  NUMBER   := fnd_api.g_valid_level_full
398    ,x_return_status       	     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
399    ,x_msg_count           	     OUT NOCOPY /* file.sql.39 change */ NUMBER
400    ,x_msg_data            	     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
401    ,p_rowid                          IN  VARCHAR2
402    ,p_rule_id                        IN  NUMBER
403    ,p_sequence_number                IN  NUMBER
404    ,p_parameter_id                   IN  NUMBER
405    ,p_order_code                     IN  NUMBER
406    ,p_attribute_category             IN  VARCHAR2
407    ,p_attribute1                     IN  VARCHAR2
408    ,p_attribute2                     IN  VARCHAR2
409    ,p_attribute3                     IN  VARCHAR2
410    ,p_attribute4                     IN  VARCHAR2
411    ,p_attribute5                     IN  VARCHAR2
412    ,p_attribute6                     IN  VARCHAR2
413    ,p_attribute7                     IN  VARCHAR2
414    ,p_attribute8                     IN  VARCHAR2
415    ,p_attribute9                     IN  VARCHAR2
416    ,p_attribute10                    IN  VARCHAR2
417    ,p_attribute11                    IN  VARCHAR2
418    ,p_attribute12                    IN  VARCHAR2
419    ,p_attribute13                    IN  VARCHAR2
420    ,p_attribute14                    IN  VARCHAR2
421    ,p_attribute15                    IN  VARCHAR2
422 ) is
423      -- API standard variables
424      l_api_version         constant number       := 1.0;
425      l_api_name            constant varchar2(30) := 'Update_Sort_criteria';
426      l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
427      l_row_id        VARCHAR2(20);
428      l_date          DATE;
429      l_user_id       NUMBER;
430      l_login_id      NUMBER;
431      l_found         BOOLEAN;
432 begin
433    -- Standard call to check for call compatibility
434    if not fnd_api.compatible_api_call( l_api_version
435 				      ,p_api_version
436 				      ,l_api_name
437 				      ,g_pkg_name ) then
438      raise fnd_api.g_exc_unexpected_error;
439    end if;
440 
441    -- Initialize message list if p_init_msg_list is set to TRUE
442    if fnd_api.to_boolean( p_init_msg_list ) then
443      fnd_msg_pub.initialize;
444    end if;
445 
446    validate_input
447     (
448       x_return_status                => x_return_status
449      ,p_action                       => 'UPDATE'
450      ,p_rule_id                      => p_rule_id
451      ,p_sequence_number              => p_sequence_number
452      ,p_parameter_id                 => p_parameter_id
453      ,p_order_code                   => p_order_code
454      ,p_attribute_category           => p_attribute_category
455      ,p_attribute1                   => p_attribute1
456      ,p_attribute2                   => p_attribute2
457      ,p_attribute3                   => p_attribute3
458      ,p_attribute4                   => p_attribute4
459      ,p_attribute5                   => p_attribute5
460      ,p_attribute6                   => p_attribute6
461      ,p_attribute7                   => p_attribute7
462      ,p_attribute8                   => p_attribute8
463      ,p_attribute9                   => p_attribute9
464      ,p_attribute10                  => p_attribute10
465      ,p_attribute11                  => p_attribute11
466      ,p_attribute12                  => p_attribute12
467      ,p_attribute13                  => p_attribute13
468      ,p_attribute14                  => p_attribute14
469      ,p_attribute15                  => p_attribute15
470     );
471 
472    if x_return_status = fnd_api.g_ret_sts_unexp_error then
473       raise fnd_api.g_exc_unexpected_error;
474     elsif x_return_status = fnd_api.g_ret_sts_error then
475       raise fnd_api.g_exc_error;
476    end if;
477 
478    /* get who column information */
479    SELECT Sysdate INTO l_date FROM dual;
480    l_user_id := fnd_global.user_id;
481    l_login_id := fnd_global.login_id;
482 
483    /* call the table handler to do the update */
484    wms_sort_criteria_pkg.update_row
485      (
486        x_rowid                        => p_rowid
487       ,x_rule_id                      => p_rule_id
488       ,x_sequence_number              => p_sequence_number
489       ,x_last_updated_by              => l_user_id
490       ,x_last_update_date             => l_date
491       ,x_last_update_login            => l_login_id
492       ,x_parameter_id                 => p_parameter_id
493       ,x_order_code                   => p_order_code
494       ,x_attribute_category           => p_attribute_category
495       ,x_attribute1                   => p_attribute1
496       ,x_attribute2                   => p_attribute2
497       ,x_attribute3                   => p_attribute3
498       ,x_attribute4                   => p_attribute4
499       ,x_attribute5                   => p_attribute5
500       ,x_attribute6                   => p_attribute6
501       ,x_attribute7                   => p_attribute7
502       ,x_attribute8                   => p_attribute8
503       ,x_attribute9                   => p_attribute9
504       ,x_attribute10                  => p_attribute10
505       ,x_attribute11                  => p_attribute11
506       ,x_attribute12                  => p_attribute12
507       ,x_attribute13                  => p_attribute13
508       ,x_attribute14                  => p_attribute14
509       ,x_attribute15                  => p_attribute15
510       );
511 
512    x_return_status := l_return_status;
513 
514 EXCEPTION
515    WHEN fnd_api.g_exc_error THEN
516      x_return_status := fnd_api.g_ret_sts_error;
517      fnd_msg_pub.count_and_get( p_count => x_msg_count
518 				,p_data  => x_msg_data );
519 
520    WHEN fnd_api.g_exc_unexpected_error THEN
521       x_return_status := fnd_api.g_ret_sts_unexp_error;
522       fnd_msg_pub.count_and_get( p_count => x_msg_count
523 				 ,p_data  => x_msg_data );
524 
525    when others then
526       x_return_status := fnd_api.g_ret_sts_unexp_error;
527       if fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) then
528 	 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
529       end if;
530       fnd_msg_pub.count_and_get( p_count => x_msg_count
531 				 ,p_data  => x_msg_data );
532 
533 end update_sort_criteria ;
534 
535 procedure delete_sort_criteria (
536   p_api_version               in  NUMBER,
537   p_init_msg_list             in  varchar2 := fnd_api.g_false,
538   p_validation_level          in  number   := fnd_api.g_valid_level_full,
539   x_return_status             OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
540   x_msg_count                 OUT NOCOPY /* file.sql.39 change */ NUMBER,
541   x_msg_data                  OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
542   p_rowid                     IN  VARCHAR2,
543   p_rule_id                   IN  NUMBER,
544   p_sequence_number           IN  NUMBER
545 ) is
546      -- API standard variables
547      l_api_version         constant number       := 1.0;
548      l_api_name            constant varchar2(30) := 'Delete_Sort_criteria';
549      l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
550      l_dummy_rowid VARCHAR2(18);
551 BEGIN
552 
553    -- Standard call to check for call compatibility
554    if not fnd_api.compatible_api_call( l_api_version
555 				      ,p_api_version
556 				      ,l_api_name
557 				      ,g_pkg_name ) then
558      raise fnd_api.g_exc_unexpected_error;
559    end if;
560 
561    -- Initialize message list if p_init_msg_list is set to TRUE
562    if fnd_api.to_boolean( p_init_msg_list ) then
563      fnd_msg_pub.initialize;
564    end if;
565 
566    validate_input
567     (
568       x_return_status                => x_return_status
569      ,p_action                       => 'DELETE'
570      ,p_rule_id                      => p_rule_id
571      ,p_sequence_number              => p_sequence_number
572      ,p_parameter_id                 => fnd_api.g_miss_num -- dont care
573      ,p_order_code                   => fnd_api.g_miss_num
574      ,p_attribute_category           => fnd_api.g_miss_char
575      ,p_attribute1                   => fnd_api.g_miss_char
576      ,p_attribute2                   => fnd_api.g_miss_char
577      ,p_attribute3                   => fnd_api.g_miss_char
578      ,p_attribute4                   => fnd_api.g_miss_char
579      ,p_attribute5                   => fnd_api.g_miss_char
580      ,p_attribute6                   => fnd_api.g_miss_char
581      ,p_attribute7                   => fnd_api.g_miss_char
582      ,p_attribute8                   => fnd_api.g_miss_char
583      ,p_attribute9                   => fnd_api.g_miss_char
584      ,p_attribute10                  => fnd_api.g_miss_char
585      ,p_attribute11                  => fnd_api.g_miss_char
586      ,p_attribute12                  => fnd_api.g_miss_char
587      ,p_attribute13                  => fnd_api.g_miss_char
588      ,p_attribute14                  => fnd_api.g_miss_char
589      ,p_attribute15                  => fnd_api.g_miss_char
590     );
591 
592    if x_return_status = fnd_api.g_ret_sts_unexp_error then
593       raise fnd_api.g_exc_unexpected_error;
594     elsif x_return_status = fnd_api.g_ret_sts_error then
595       raise fnd_api.g_exc_error;
596    end if;
597 
598    wms_sort_criteria_pkg.delete_row(p_rowid);
599    fnd_msg_pub.count_and_get( p_count => x_msg_count
600 			      ,p_data => x_msg_data );
601    x_return_status := l_return_status;
602 
603 EXCEPTION
604    WHEN fnd_api.g_exc_error THEN
605      x_return_status := fnd_api.g_ret_sts_error;
606      fnd_msg_pub.count_and_get( p_count => x_msg_count
607 				,p_data  => x_msg_data );
608 
609    WHEN fnd_api.g_exc_unexpected_error THEN
610       x_return_status := fnd_api.g_ret_sts_unexp_error;
611       fnd_msg_pub.count_and_get( p_count => x_msg_count
612 				 ,p_data  => x_msg_data );
613 
614    WHEN OTHERS THEN
615       x_return_status := fnd_api.g_ret_sts_unexp_error;
616       if fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) then
617 	 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
618       end if;
619       fnd_msg_pub.count_and_get( p_count => x_msg_count
620 				 ,p_data => x_msg_data );
621 
622 end delete_sort_criteria ;
623 
624 -- private procedure should be used only by the wms_rule_form_pkg.delete_rule
625 -- no validation is done whatsoever
626 procedure delete_sort_criterias (
627   p_rule_id                   IN  NUMBER
628 ) is
629 BEGIN
630    DELETE FROM wms_sort_criteria
631      WHERE rule_id = p_rule_id;
632 END delete_sort_criterias;
633 
634 end WMS_SORT_CRITERIA_FORM_PKG;