[Home] [Help]
PACKAGE BODY: APPS.PA_FIN_PLAN_TYPES_PUB
Source
1 PACKAGE BODY pa_fin_plan_types_pub as
2 /* $Header: PAFTYPPB.pls 120.1 2005/08/19 16:32:22 mwasowic noship $ */
3
4 procedure delete
5 (p_fin_plan_type_id IN pa_fin_plan_types_b.fin_plan_type_id%type,
6 p_record_version_number IN pa_fin_plan_types_b.record_version_number%type,
7 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
8 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
9 x_msg_data OUT NOCOPY VARCHAR2) is --File.Sql.39 bug 4440895
10 l_msg_count NUMBER;
11 l_msg_index_out NUMBER;
12 l_data VARCHAR2(2000);
13 l_msg_data VARCHAR2(2000);
14 l_return_status VARCHAR2(2000);
15 begin
16
17 /* Only the FIN_PLAN_TYPE_ID and RECORD_VERSION_NUMBER parameters are
18 required for LOCK_ROW to work. Others are retained for the finplan
19 types setup pages to work since the page is based on the _VL entity
20 and OA expects the spec to comply to standards to work properly */
21
22 Begin
23 pa_fin_plan_types_pkg.lock_row
24 ( X_FIN_PLAN_TYPE_ID => p_fin_plan_type_id,
25 X_FIN_PLAN_TYPE_CODE => null,
26 X_PRE_DEFINED_FLAG => null,
27 X_GENERATED_FLAG => null,
28 X_EDIT_GENERATED_AMT_FLAG => null,
29 X_USED_IN_BILLING_FLAG => null,
30 X_ENABLE_WF_FLAG => null,
31 X_START_DATE_ACTIVE => null,
32 X_END_DATE_ACTIVE => null,
33 X_RECORD_VERSION_NUMBER => p_record_version_number,
34 X_NAME => null,
35 X_DESCRIPTION => null);
36 Exception
37 When Others Then
38 x_return_status := FND_API.G_RET_STS_ERROR;
39 x_msg_count := 1;
40 x_msg_data := nvl(FND_MESSAGE.GET_ENCODED,SQLERRM);
41 FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FIN_PLAN_TYPES_PUB',
42 p_procedure_name => 'delete');
43 RETURN;
44 End;
45
46 pa_fin_plan_types_utils.delete_val
47 ( P_FIN_PLAN_TYPE_ID => p_fin_plan_type_id,
48 X_RETURN_STATUS => x_return_status,
49 X_MSG_COUNT => x_msg_count,
50 X_MSG_DATA => x_msg_data);
51
52 l_msg_count := FND_MSG_PUB.count_msg;
53
54 if l_msg_count > 0 then
55 if l_msg_count = 1 then
56 PA_INTERFACE_UTILS_PUB.get_messages
57 (p_encoded => FND_API.G_TRUE,
58 p_msg_index => 1,
59 p_msg_count => l_msg_count,
60 p_msg_data => l_msg_data,
61 p_data => l_data,
62 p_msg_index_out => l_msg_index_out);
63 x_msg_data := l_data;
64 x_msg_count := l_msg_count;
65 else
66 x_msg_count := l_msg_count;
67 end if;
68 return;
69 else
70 pa_fin_plan_types_pkg.delete_row
71 ( X_FIN_PLAN_TYPE_ID => p_fin_plan_type_id);
72
73 DELETE
74 FROM pa_pt_co_impl_statuses
75 WHERE fin_plan_type_id=p_fin_plan_type_id;
76
77 x_return_status := FND_API.G_RET_STS_SUCCESS;
78
79 end if;
80
81 Exception
82 when OTHERS then
83 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
84 x_msg_count := 1;
85 x_msg_data := SQLERRM;
86 FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FIN_PLAN_TYPES_PUB',
87 p_procedure_name => 'delete');
88 raise FND_API.G_EXC_UNEXPECTED_ERROR;
89 end delete;
90
91 END pa_fin_plan_types_pub;