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