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