DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_CI_TYPE_USAGE_PVT

Source


1 PACKAGE BODY pa_ci_type_usage_pvt AS
2 /* $Header: PACITUVB.pls 120.1 2005/08/19 16:19:02 mwasowic noship $ */
3 
4 PROCEDURE create_ci_type_usage (
5   p_api_version			IN NUMBER :=  1.0,
6   p_init_msg_list		IN VARCHAR2 := fnd_api.g_true,
7   p_commit			IN VARCHAR2 := FND_API.g_false,
8   p_validate_only		IN VARCHAR2 := FND_API.g_true,
9   p_max_msg_count		IN NUMBER := FND_API.g_miss_num,
10   p_project_type_id		IN NUMBER,
11   p_ci_type_id			IN NUMBER,
12   p_created_by			IN NUMBER DEFAULT fnd_global.user_id,
13   p_creation_date		IN DATE DEFAULT SYSDATE,
14   p_last_update_login		IN NUMBER DEFAULT fnd_global.user_id,
15   x_ci_type_usage_id		OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
16   x_return_status		OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
17   x_msg_count			OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
18   x_msg_data			OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
19 )
20 IS
21   l_rowid VARCHAR2(30);
22 BEGIN
23   pa_debug.set_err_stack ('PA_CI_TYPE_USAGE_PVT.CREATE_CI_TYPE_USAGE');
24 
25   IF p_commit = FND_API.G_TRUE THEN
26     SAVEPOINT create_ci_type_usage;
27   END IF;
28 
29   IF p_init_msg_list = FND_API.G_TRUE THEN
30     fnd_msg_pub.initialize;
31   END IF;
32 
33   x_return_status := 'S';
34   x_msg_count := 0;
35   x_msg_data := '';
36 
37   IF (p_validate_only <> fnd_api.g_true AND x_return_status = 'S') THEN
38     pa_ci_type_usage_pkg.insert_row(
39       x_rowid => l_rowid,
40       x_ci_type_usage_id => x_ci_type_usage_id,
41       x_project_type_id => p_project_type_id,
42       x_ci_type_id => p_ci_type_id,
43       x_creation_date => p_creation_date,
44       x_created_by => p_created_by,
45       x_last_update_date => p_creation_date,
46       x_last_updated_by => p_created_by,
47       x_last_update_login => p_last_update_login);
48   END IF;
49 
50   IF p_commit = fnd_api.g_true THEN
51     IF  x_return_status = 'S' THEN
52       COMMIT;
53     ELSE
54       ROLLBACK TO create_ci_type_usage;
55     END IF;
56   END IF;
57 
58   fnd_msg_pub.count_and_get(p_count => x_msg_count,
59                             p_data  => x_msg_data);
60 
61   pa_debug.reset_err_stack;
62 
63 EXCEPTION
64   WHEN OTHERS THEN
65     IF p_commit = fnd_api.g_true THEN
66       ROLLBACK TO create_ci_type_usage;
67     END IF;
68 
69     x_return_status := 'U';
70     fnd_msg_pub.add_exc_msg(p_pkg_name       => 'PA_CI_TYPE_USAGE_PVT',
71                             p_procedure_name => 'CREATE_CI_TYPE_USAGE',
72                             p_error_text     => SUBSTRB(SQLERRM,1,240));
73 
74     fnd_msg_pub.count_and_get(p_count => x_msg_count,
75                               p_data  => x_msg_data);
76 END create_ci_type_usage;
77 
78 PROCEDURE update_ci_type_usage (
79   p_api_version			IN NUMBER :=  1.0,
80   p_init_msg_list		IN VARCHAR2 := fnd_api.g_true,
81   p_commit			IN VARCHAR2 := FND_API.g_false,
82   p_validate_only		IN VARCHAR2 := FND_API.g_true,
83   p_max_msg_count		IN NUMBER := FND_API.g_miss_num,
84   p_ci_type_usage_id            IN NUMBER,
85   p_project_type_id		IN NUMBER,
86   p_ci_type_id			IN NUMBER,
87   p_last_updated_by     	IN NUMBER DEFAULT fnd_global.user_id,
88   p_last_update_date		IN DATE DEFAULT SYSDATE,
89   p_last_update_login		IN NUMBER DEFAULT fnd_global.user_id,
90   x_return_status		OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
91   x_msg_count			OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
92   x_msg_data			OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
93 )
94 IS
95 BEGIN
96   pa_debug.set_err_stack ('PA_CI_TYPE_USAGE_PVT.UPDATE_CI_TYPE_USAGE');
97 
98   IF p_commit = FND_API.G_TRUE THEN
99     SAVEPOINT update_ci_type_usage;
100   END IF;
101 
102   IF p_init_msg_list = FND_API.G_TRUE THEN
103     fnd_msg_pub.initialize;
104   END IF;
105 
106   x_return_status := 'S';
107   x_msg_count := 0;
108   x_msg_data := '';
109 
110   IF (p_validate_only <> fnd_api.g_true AND x_return_status = 'S') THEN
111     pa_ci_type_usage_pkg.update_row(
112       x_ci_type_usage_id => p_ci_type_usage_id,
113       x_project_type_id => p_project_type_id,
114       x_ci_type_id => p_ci_type_id,
115       x_last_update_date => p_last_update_date,
116       x_last_updated_by => p_last_updated_by,
117       x_last_update_login => p_last_update_login);
118   END IF;
119 
120   IF p_commit = fnd_api.g_true THEN
121     IF  x_return_status = 'S' THEN
122       COMMIT;
123     ELSE
124       ROLLBACK TO update_ci_type_usage;
125     END IF;
126   END IF;
127 
128   fnd_msg_pub.count_and_get(p_count => x_msg_count,
129                             p_data  => x_msg_data);
130 
131   pa_debug.reset_err_stack;
132 
133 EXCEPTION
134   WHEN OTHERS THEN
135     IF p_commit = fnd_api.g_true THEN
136       ROLLBACK TO update_ci_type_usage;
137     END IF;
138 
139     x_return_status := 'U';
140     fnd_msg_pub.add_exc_msg(p_pkg_name       => 'PA_CI_TYPE_USAGE_PVT',
141                             p_procedure_name => 'UPDATE_CI_TYPE_USAGE',
142                             p_error_text     => SUBSTRB(SQLERRM,1,240));
143 
144     fnd_msg_pub.count_and_get(p_count => x_msg_count,
145                               p_data  => x_msg_data);
146 END update_ci_type_usage;
147 
148 PROCEDURE delete_ci_type_usage (
149   p_api_version			IN NUMBER :=  1.0,
150   p_init_msg_list		IN VARCHAR2 := fnd_api.g_true,
151   p_commit			IN VARCHAR2 := FND_API.g_false,
152   p_validate_only		IN VARCHAR2 := FND_API.g_true,
153   p_max_msg_count		IN NUMBER := FND_API.g_miss_num,
154   p_ci_type_usage_id		IN NUMBER,
155   p_project_type_id             IN NUMBER,
156   p_ci_type_id                  IN NUMBER,
157   x_return_status		OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
158   x_msg_count			OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
159   x_msg_data			OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
160 )
161 IS
162   l_temp VARCHAR2(1);
163 BEGIN
164   pa_debug.set_err_stack ('PA_CI_TYPE_USAGE_PVT.DELETE_CI_TYPE_USAGE');
165 
166   IF p_commit = FND_API.G_TRUE THEN
167     SAVEPOINT delete_ci_type_usage;
168   END IF;
169 
170   IF p_init_msg_list = FND_API.G_TRUE THEN
171     fnd_msg_pub.initialize;
172   END IF;
173 
174   x_return_status := 'S';
175   x_msg_count := 0;
176   x_msg_data := '';
177 
178   -- Trying to lock the record
179   pa_ci_type_usage_pkg.lock_row (
180     x_ci_type_usage_id => p_ci_type_usage_id,
181     x_project_type_id => p_project_type_id,
182     x_ci_type_id => p_ci_type_id);
183 
184   IF (p_validate_only <> fnd_api.g_true AND x_return_status = 'S') THEN
185     pa_ci_type_usage_pkg.delete_row(
186       x_ci_type_usage_id => p_ci_type_usage_id);
187   END IF;
188 
189   IF p_commit = fnd_api.g_true THEN
190     IF  x_return_status = 'S' THEN
191       COMMIT;
192     ELSE
193       ROLLBACK TO delete_ci_type_usage;
194     END IF;
195   END IF;
196 
197   fnd_msg_pub.count_and_get(p_count => x_msg_count,
198                             p_data  => x_msg_data);
199 
200   pa_debug.reset_err_stack;
201 
202 EXCEPTION
203   WHEN OTHERS THEN
204     IF p_commit = fnd_api.g_true THEN
205       ROLLBACK TO delete_ci_type_usage;
206     END IF;
207 
208     x_return_status := 'U';
209     fnd_msg_pub.add_exc_msg(p_pkg_name       => 'PA_CI_TYPES_PVT',
210                             p_procedure_name => 'DELETE_CI_TYPE_USAGE',
211                             p_error_text     => SUBSTRB(SQLERRM,1,240));
212 
213     fnd_msg_pub.count_and_get(p_count => x_msg_count,
214                               p_data  => x_msg_data);
215 END delete_ci_type_usage;
216 
217 END pa_ci_type_usage_pvt;