DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_UMP_UF_PUB

Source


1 PACKAGE BODY AHL_UMP_UF_PUB AS
2 --/* $Header: AHLPUMFB.pls 115.2 2002/12/04 23:20:29 sikumar noship $ */
3 
4 G_PKG_NAME          CONSTANT VARCHAR2(30) := 'AHL_UMP_UF_PUB';
5 
6 ------------------------
7 -- Declare Procedures --
8 ------------------------
9 
10 -- Start of Comments --
11 --  Procedure name    : process_utilization_forecast
12 --  Type              : Public
13 --  Function          : For a given set of utilization forecast header and details, will validate and insert/update
14 --                      the utilization forecast information.
15 --  Pre-reqs    :
16 --  Parameters  :
17 --
18 --  Standard IN  Parameters :
19 --      p_api_version                   IN      NUMBER       Default  1.0
20 --      p_init_msg_list                 IN      VARCHAR2     Default  FND_API.G_TRUE
21 --      p_commit                        IN      VARCHAR2     Default  FND_API.G_FALSE
22 --      p_validation_level              IN      NUMBER       Default  FND_API.G_VALID_LEVEL_FULL
23 --  Standard OUT Parameters :
24 --      x_return_status                 OUT     VARCHAR2               Required
25 --      x_msg_count                     OUT     NUMBER                 Required
26 --      x_msg_data                      OUT     VARCHAR2               Required
27 --
28 --  p_module_type                       IN      VARCHAR2               Required.
29 --
30 --      This parameter indicates the front-end form interface. The default value is 'JSP'. If the value
31 --      is JSP, then this API clears out all id columns and validations are done using the values based
32 --      on which the Id's are populated.
33 --
34 --  process_utilization_forecast Parameters:
35 --
36 --       p_x_uf_header_rec         IN OUT  AHL_UMP_UF_PVT.uf_header_rec_type    Required
37 --         Utilization Forecast Header Details
38 --       p_x_uf_detail_tbl        IN OUT  AHL_UMP_UF_PVT.uf_detail_tbl_type   Required
39 --         Utilization Forecast details
40 --
41 --
42 --  Version :
43 --               Initial Version   1.0
44 --
45 --  End of Comments.
46 
47 PROCEDURE process_utilization_forecast (
48     p_api_version           IN              NUMBER    := 1.0,
49     p_init_msg_list         IN              VARCHAR2  := FND_API.G_TRUE,
50     p_commit                IN              VARCHAR2  := FND_API.G_FALSE,
51     p_validation_level      IN              NUMBER    := FND_API.G_VALID_LEVEL_FULL,
52     p_module_type           IN              VARCHAR2  := NULL,
53     p_x_uf_header_rec       IN OUT  NOCOPY  AHL_UMP_UF_PVT.uf_header_rec_type,
54     p_x_uf_details_tbl      IN OUT  NOCOPY  AHL_UMP_UF_PVT.uf_details_tbl_type,
55     x_return_status         OUT NOCOPY      VARCHAR2,
56     x_msg_count             OUT NOCOPY      NUMBER,
57     x_msg_data              OUT NOCOPY      VARCHAR2)  IS
58 
59   l_api_name       CONSTANT VARCHAR2(30) := 'process_utilization_forecast';
60   l_api_version    CONSTANT NUMBER       := 1.0;
61 
62 BEGIN
63 
64   -- Standard start of API savepoint
65   SAVEPOINT process_uf_Pub;
66 
67   -- Standard call to check for call compatibility
68   IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
69                                      G_PKG_NAME) THEN
70     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
71   END IF;
72 
73     -- Initialize message list if p_init_msg_list is set to TRUE
74   IF FND_API.To_Boolean(p_init_msg_list) THEN
75     FND_MSG_PUB.Initialize;
76   END IF;
77 
78   -- Initialize API return status to success
79   x_return_status := FND_API.G_RET_STS_SUCCESS;
80 
81   -- Call Private API.
82   AHL_UMP_UF_PVT.process_utilization_forecast (
83      	                      p_api_version           => 1.0,
84                               p_x_uf_header_rec       => p_x_uf_header_rec,
85                               p_x_uf_details_tbl      => p_x_uf_details_tbl,
86                               x_return_status         => x_return_status,
87                               x_msg_count             => x_msg_count,
88                               x_msg_data              => x_msg_data );
89 
90 
91 
92   IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
93     RAISE FND_API.G_EXC_ERROR;
94   ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
95     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
96   END IF;
97 
98   -- Standard check of p_commit
99   IF FND_API.To_Boolean(p_commit) THEN
100     COMMIT WORK;
101   END IF;
102 
103   -- Standard call to get message count and if count is 1, get message
104   FND_MSG_PUB.Count_And_Get
105     ( p_count => x_msg_count,
106       p_data  => x_msg_data,
107       p_encoded => fnd_api.g_false);
108 
109 --
110 EXCEPTION
111  WHEN FND_API.G_EXC_ERROR THEN
112    x_return_status := FND_API.G_RET_STS_ERROR;
113    Rollback to process_uf_Pub;
114    FND_MSG_PUB.count_and_get( p_count => x_msg_count,
115                               p_data  => x_msg_data,
116                               p_encoded => fnd_api.g_false);
117    --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
118 
119 
120  WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
121    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
122    Rollback to process_uf_Pub;
123    FND_MSG_PUB.count_and_get( p_count => x_msg_count,
124                               p_data  => x_msg_data,
125                                p_encoded => fnd_api.g_false);
126    --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
127 
128  WHEN OTHERS THEN
129     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
130     Rollback to process_uf_Pub;
131     --IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
132        fnd_msg_pub.add_exc_msg(p_pkg_name       => G_PKG_NAME,
133                                p_procedure_name => 'process_utilization_forecast',
134                                p_error_text     => SQLERRM);
135     --END IF;
136     FND_MSG_PUB.count_and_get( p_count => x_msg_count,
137                                p_data  => x_msg_data,
138                                 p_encoded => fnd_api.g_false);
139     --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
140 
141 
142 END process_utilization_forecast;
143 
144 END AHL_UMP_UF_PUB;