[Home] [Help]
PACKAGE BODY: APPS.PA_CI_IMPACT_TYPE_USAGE_PUB
Source
1 PACKAGE BODY PA_CI_IMPACT_TYPE_USAGE_PUB AS
2 /* $Header: PACIIMPB.pls 115.2 2002/11/23 19:22:38 syao noship $ */
3
4 PROCEDURE create_ci_impact_type_usage (
5 p_api_version IN NUMBER := 1.0,
6 p_init_msg_list IN VARCHAR2 := 'T',
7 p_commit IN VARCHAR2 := 'F',
8 p_validate_only IN VARCHAR2 := 'T',
9 p_max_msg_count IN NUMBER := null,
10
11 p_impact_type_code IN VARCHAR2 := null,
12 p_ci_type_class_code IN VARCHAR2 := null,
13 p_CI_TYPE_ID in NUMBER := null,
14
15 p_created_by IN NUMBER DEFAULT fnd_global.user_id,
16 p_creation_date IN DATE DEFAULT SYSDATE,
17 p_last_update_login IN NUMBER DEFAULT fnd_global.login_id,
18
19 x_ci_impact_type_usage_id OUT NOCOPY NUMBER,
20 x_return_status OUT NOCOPY VARCHAR2,
21 x_msg_count OUT NOCOPY NUMBER,
22 x_msg_data OUT NOCOPY VARCHAR2
23 )
24 IS
25
26 l_msg_index_out NUMBER;
27
28 BEGIN
29 pa_debug.set_err_stack ('PA_CI_IMPACT_TYPE_USAGE_PUB.CREATE_CI_IMPACT_TYPE_USAGE');
30
31 IF p_commit = 'T' THEN
32 SAVEPOINT create_ci_impact_type_usage;
33 END IF;
34
35 IF p_init_msg_list = 'T' THEN
36 fnd_msg_pub.initialize;
37 END IF;
38
39 x_return_status := 'S';
40 x_msg_count := 0;
41 x_msg_data := '';
42
43 IF (p_validate_only <> 'T' AND x_return_status = 'S') THEN
44 PA_CI_IMPACT_TYPE_USAGE_pvt.create_ci_impact_type_usage(
45 p_api_version => p_api_version,
46 p_init_msg_list => p_init_msg_list,
47 p_commit => p_commit,
48 p_validate_only => p_validate_only,
49 p_max_msg_count => p_max_msg_count,
50
51 p_impact_type_code => p_impact_type_code,
52 p_ci_type_class_code => p_ci_type_class_code,
53 p_ci_type_id => p_ci_type_id,
54 x_ci_impact_type_usage_id => x_ci_impact_type_usage_id,
55 x_return_status => x_return_status,
56 x_msg_count => x_msg_count,
57 x_msg_data => x_msg_data
58 );
59 END IF;
60
61
62 x_msg_count := FND_MSG_PUB.Count_Msg;
63 IF x_msg_count = 1 THEN
64 pa_interface_utils_pub.get_messages ( p_encoded => 'T'
65 ,p_msg_index => 1
66 ,p_data => x_msg_data
67 ,p_msg_index_out => l_msg_index_out
68 );
69 END IF;
70
71 -- Reset the error stack when returning to the calling program
72 PA_DEBUG.Reset_Err_Stack;
73
74
75
76 EXCEPTION
77 WHEN OTHERS THEN
78 IF p_commit = 'T' THEN
79 ROLLBACK TO create_ci_impact_type_usage;
80 END IF;
81
82 x_return_status := 'U';
83 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_IMPACT_TYPE_USAGE_PUB',
84 p_procedure_name => 'CREATE_CI_IMPACT_TYPE_USAGE',
85 p_error_text => SUBSTRB(SQLERRM,1,240));
86
87 fnd_msg_pub.count_and_get(p_count => x_msg_count,
88 p_data => x_msg_data);
89 END create_ci_impact_type_usage;
90
91 PROCEDURE delete_ci_impact_type_usage (
92 p_api_version IN NUMBER := 1.0,
93 p_init_msg_list IN VARCHAR2 := 'T',
94 p_commit IN VARCHAR2 := 'F',
95 p_validate_only IN VARCHAR2 := 'T',
96 p_max_msg_count IN NUMBER := null,
97
98 p_ci_impact_type_usage_id IN NUMBER := null,
99 p_impact_type_code IN VARCHAR2 := null,
100 p_ci_type_class_code IN VARCHAR2 := null,
101 p_ci_type_id IN NUMBER := null,
102 x_return_status OUT NOCOPY VARCHAR2,
103 x_msg_count OUT NOCOPY NUMBER,
104 x_msg_data OUT NOCOPY VARCHAR2
105 )
106 IS
107 l_msg_index_out NUMBER;
108 l_temp VARCHAR2(1);
109 BEGIN
110 pa_debug.set_err_stack ('PA_CI_IMPACT_TYPE_USAGE_PUB.DELETE_CI_IMPACT_TYPE_USAGE');
111
112 IF p_commit = 'T' THEN
113 SAVEPOINT delete_ci_impact_type_usage;
114 END IF;
115
116 IF p_init_msg_list = 'T' THEN
117 fnd_msg_pub.initialize;
118 END IF;
119
120 x_return_status := 'S';
121 x_msg_count := 0;
122 x_msg_data := '';
123
124 -- Trying to lock the record
125 PA_CI_IMPACT_TYPE_USAGE_pvt.delete_ci_impact_type_usage (
126 p_api_version => p_api_version,
127 p_init_msg_list => p_init_msg_list,
128 p_commit => p_commit,
129 p_validate_only => p_validate_only,
130 p_max_msg_count => p_max_msg_count,
131
132 p_ci_impact_type_usage_id => p_ci_impact_type_usage_id,
133 p_impact_type_code => p_impact_type_code,
134 p_ci_type_class_code => p_ci_type_class_code,
135 p_ci_type_id => p_ci_type_id,
136 x_return_status => x_return_status,
137 x_msg_count => x_msg_count,
138 x_msg_data => x_msg_data
139
140 );
141 x_msg_count := FND_MSG_PUB.Count_Msg;
142 IF x_msg_count = 1 THEN
143 pa_interface_utils_pub.get_messages ( p_encoded => 'T'
144 ,p_msg_index => 1
145 ,p_data => x_msg_data
146 ,p_msg_index_out => l_msg_index_out
147 );
148 END IF;
149
150
151 -- Reset the error stack when returning to the calling program
152 PA_DEBUG.Reset_Err_Stack;
153
154
155 EXCEPTION
156 WHEN OTHERS THEN
157 IF p_commit = 'T' THEN
158 ROLLBACK TO delete_ci_impact_type_usage;
159 END IF;
160
161 x_return_status := 'U';
162 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_IMPACT_TYPES_PUB',
163 p_procedure_name => 'DELETE_CI_IMPACT_TYPE_USAGE',
164 p_error_text => SUBSTRB(SQLERRM,1,240));
165
166 fnd_msg_pub.count_and_get(p_count => x_msg_count,
167 p_data => x_msg_data);
168 END delete_ci_impact_type_usage;
169
170
171 FUNCTION delete_impact_type_usage_ok
172 (
173 p_impact_type_code IN VARCHAR2 ,
174 p_ci_type_id IN NUMBER
175 ) RETURN varchar2
176 IS
177 l_dummy VARCHAR2(1);
178
179 BEGIN
180
181
182 SELECT 'N'
183 INTO l_dummy
184 FROM dual
185 WHERE exists (Select pci.ci_id from
186 pa_control_items pci,
187 pa_ci_impacts pc
188 where pci.ci_type_id = p_ci_type_id
189 and pci.ci_id = pc.ci_id
190 and pc.impact_type_code = p_impact_type_code
191 );
192
193 RETURN l_dummy;
194 EXCEPTION
195
196
197 WHEN NO_DATA_FOUND THEN
198
199 RETURN 'Y';
200
201 END ;
202
203 END PA_CI_IMPACT_TYPE_USAGE_PUB;