[Home] [Help]
PACKAGE BODY: APPS.AMS_LST_RULE_USAGES
Source
1 PACKAGE BODY ams_lst_rule_usages AS
2 /* $Header: amsvlmpb.pls 115.5 2002/11/22 08:55:42 jieli ship $ */
3
4
5 PROCEDURE create_list_rule_usages(
6 p_api_version IN NUMBER,
7 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
8 p_commit IN VARCHAR2 := FND_API.g_false,
9 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
10 x_return_status OUT NOCOPY VARCHAR2,
11 x_msg_count OUT NOCOPY NUMBER,
12 x_msg_data OUT NOCOPY VARCHAR2,
13 p_list_header_id in NUMBER,
14 p_list_rule_id in NUMBER,
15 x_list_rule_usage_id OUT NOCOPY number
16 ) IS
17 l_api_name constant varchar2(30) := 'create_list_rule_usages';
18 l_api_version CONSTANT NUMBER := 1.0;
19 l_list_rule_usage_id number;
20 CURSOR c_get_id is
21 SELECT ams_list_rule_usages_s.NEXTVAL
22 FROM DUAL;
23
24 BEGIN
25
26 SAVEPOINT create_list_rule_usages;
27
28 IF FND_API.to_boolean(p_init_msg_list) THEN
29 FND_MSG_PUB.initialize;
30 END IF;
31
32 IF NOT FND_API.compatible_api_call
33 (
34 l_api_version,
35 p_api_version,
36 l_api_name,
37 g_pkg_name
38 )
39 THEN
40 RAISE FND_API.g_exc_unexpected_error;
41 END IF;
42 x_return_status := FND_API.G_RET_STS_SUCCESS;
43
44 OPEN c_get_id;
45 FETCH c_get_id INTO l_list_rule_usage_Id;
46 CLOSE c_get_id;
47
48 x_list_rule_usage_id := l_list_rule_usage_Id;
49 delete from ams_list_rule_usages
50 where list_header_id = p_list_header_id;
51
52 INSERT INTO ams_list_rule_usages (
53 list_rule_usage_id ,
54 list_header_id ,
55 list_rule_id ,
56 last_update_date ,
57 last_updated_by ,
58 creation_date ,
59 created_by ,
60 last_update_login ,
61 object_version_number ,
62 active_from_date ,
63 active_to_date ,
64 priority ,
65 security_group_id
66 )
67 values (
68 l_list_rule_usage_id,
69 p_list_header_id,
70 p_list_rule_id,
71 sysdate,
72 fnd_global.user_id,
73 sysdate,
74 fnd_global.user_id,
75 fnd_global.conc_login_id,
76 1,
77 sysdate ,
78 '',
79 '',
80 ''
81 );
82
83 IF x_return_status = fnd_api.g_ret_sts_error THEN
84 RAISE FND_API.g_exc_error;
85 ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
86 RAISE FND_API.g_exc_unexpected_error;
87 END IF;
88 IF p_commit = FND_API.g_true then
89 COMMIT WORK;
90 END IF;
91
92 FND_MSG_PUB.Count_AND_Get
93 ( p_count => x_msg_count,
94 p_data => x_msg_data,
95 p_encoded => FND_API.G_FALSE );
96
97 EXCEPTION
98 WHEN FND_API.G_EXC_ERROR THEN
99 x_return_status := FND_API.g_ret_sts_error ;
100 ROLLBACK TO create_list_rule_usages;
101 FND_MSG_PUB.Count_AND_Get
102 ( p_count => x_msg_count,
103 p_data => x_msg_data,
104 p_encoded => FND_API.G_FALSE
105 );
106 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
107 x_return_status := FND_API.g_ret_sts_unexp_error ;
108 ROLLBACK TO create_list_rule_usages;
109 FND_MSG_PUB.Count_AND_Get
110 ( p_count => x_msg_count,
111 p_data => x_msg_data,
112 p_encoded => FND_API.G_FALSE
113 );
114 WHEN OTHERS THEN
115 x_return_status := FND_API.g_ret_sts_unexp_error ;
116 ROLLBACK TO create_list_rule_usages;
117 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
118 THEN
119 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
120 END IF;
121 FND_MSG_PUB.Count_AND_Get
122 ( p_count => x_msg_count,
123 p_data => x_msg_data,
124 p_encoded => FND_API.G_FALSE
125 );
126
127 END;
128 END ams_lst_rule_usages ;