DBA Data[Home] [Help]

PACKAGE BODY: APPS.ASO_CFG_PUB

Source


1 PACKAGE BODY aso_cfg_pub as
2 /* $Header: asopcfgb.pls 120.1 2005/06/29 12:36:30 appldev ship $ */
3 -- Start of Comments
4 -- Package name     : aso_cfg_pub
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9  --private variable declaration
10 
11 
12  G_PKG_NAME  CONSTANT VARCHAR2(30) := 'ASO_CFG_PUB';
13  G_FILE_NAME CONSTANT VARCHAR2(12) := 'asopcfgb.pls';
14 
15 
16 PROCEDURE Get_config_details(
17     P_Api_Version_Number         IN           NUMBER                               := FND_API.G_MISS_NUM,
18     P_Init_Msg_List              IN           VARCHAR2                             := FND_API.G_FALSE,
19     P_Commit                     IN           VARCHAR2                             := FND_API.G_FALSE,
20     p_control_rec                IN           aso_quote_pub.control_rec_type
21                                               := aso_quote_pub.G_MISS_control_rec,
22     p_config_rec                 IN           aso_quote_pub.qte_line_dtl_rec_type,
23     p_model_line_rec             IN           aso_quote_pub.qte_line_rec_type,
24     p_config_hdr_id              IN           NUMBER,
25     p_config_rev_nbr             IN           NUMBER,
26     p_quote_header_id            IN           NUMBER,
27     x_return_status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
28     x_msg_count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
29     x_msg_data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
30        )
31 IS
32 
33 l_qte_header_rec   aso_quote_pub.qte_header_rec_type  := aso_quote_pub.g_miss_qte_header_rec;
34 
35 BEGIN
36      l_qte_header_rec.quote_header_id := p_quote_header_id;
37 
38      get_config_details(
39           p_api_version_number         => p_api_version_number,
40           p_init_msg_list              => fnd_api.g_false,
41           p_commit                     => p_commit,
42           p_control_rec                => p_control_rec,
43           p_qte_header_rec             => l_qte_header_rec,
44           p_model_line_rec             => p_model_line_rec,
45           p_config_rec                 => p_config_rec,
46           p_config_hdr_id              => p_config_hdr_id,
47           p_config_rev_nbr             => p_config_rev_nbr,
48           x_return_status              => x_return_status,
49           x_msg_count                  => x_msg_count,
50           x_msg_data                   => x_msg_data );
51 
52 END get_config_details;
53 
54 
55 --Overloaded get_config_details procedure
56 
57 PROCEDURE get_config_details(
58     p_api_version_number  IN            NUMBER,
59     p_init_msg_list       IN            VARCHAR2                           := FND_API.G_FALSE,
60     p_commit              IN            VARCHAR2                           := FND_API.G_FALSE,
61     p_control_rec         IN            aso_quote_pub.control_rec_type
62 								:= aso_quote_pub.G_MISS_control_rec,
63     p_qte_header_rec      IN            aso_quote_pub.qte_header_rec_type,
64     p_model_line_rec      IN            aso_quote_pub.qte_line_rec_type,
65     p_config_rec          IN            aso_quote_pub.qte_line_dtl_rec_type,
66     p_config_hdr_id       IN            NUMBER,
67     p_config_rev_nbr      IN            NUMBER,
68     x_return_status       OUT NOCOPY /* file.sql.39 change */     VARCHAR2,
69     x_msg_count           OUT NOCOPY /* file.sql.39 change */     NUMBER,
70     x_msg_data            OUT NOCOPY /* file.sql.39 change */     VARCHAR2
71 )
72 
73 IS
74  l_api_name              CONSTANT   VARCHAR2(30) :=  'Get_Config_Details' ;
75  l_api_version_number    CONSTANT   NUMBER       :=  1.0;
76 
77 BEGIN
78 
79       -- Standard Start of API savepoint
80       SAVEPOINT GET_CONFIG_DETAILS_PUB;
81 
82 	 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
83 
84       -- Standard call to check for call compatibility.
85       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
86                          	             p_api_version_number,
87                                            l_api_name,
88                                            G_PKG_NAME) THEN
89 
90           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
91 
92       END IF;
93 
94 	 IF aso_debug_pub.g_debug_flag = 'Y' THEN
95           aso_debug_pub.add( 'ASO_CFG_PUB: GET_CONFIG_DETAILS start %%%%%%%%%%%%%%%%%%%', 1, 'Y' );
96       END IF;
97 
98       -- Initialize message list if p_init_msg_list is set to TRUE.
99       IF FND_API.to_Boolean( p_init_msg_list ) THEN
100           FND_MSG_PUB.initialize;
101       END IF;
102 
103       -- Initialize API return status to SUCCESS
104       x_return_status := FND_API.G_RET_STS_SUCCESS;
105 
106       ASO_CFG_INT.Get_config_details(
107           P_Api_Version_Number         => P_Api_Version_Number,
108           P_Init_Msg_List              => FND_API.G_FALSE,
109           P_Commit                     => p_commit,
110 		p_control_rec                => p_control_rec,
111           p_qte_header_rec             => p_qte_header_rec,
112           p_model_line_rec             => p_model_line_rec,
113           p_config_rec                 => p_config_rec,
114           p_config_hdr_id              => p_config_hdr_id ,
115           p_config_rev_nbr             => p_config_rev_nbr,
116           x_return_status              => x_return_status,
117           x_msg_count                  => x_msg_count,
118           x_msg_data                   => x_msg_data );
119 
120 
121       -- Check return status from the above procedure call
122 	 IF x_return_status = FND_API.G_RET_STS_ERROR then
123 	     raise FND_API.G_EXC_ERROR;
124       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
125 	     raise FND_API.G_EXC_UNEXPECTED_ERROR;
126       END IF;
127 
128 
129 
130 	 -- Standard check for p_commit
131       IF FND_API.to_Boolean( p_commit ) THEN
132          COMMIT WORK;
133       END IF;
134 
135 
136       -- Standard call to get message count and if count is 1, get message info.
137       FND_MSG_PUB.Count_And_Get(  p_count          =>   x_msg_count,
138 					         p_data           =>   x_msg_data);
139 
140 	 IF aso_debug_pub.g_debug_flag = 'Y' THEN
141           aso_debug_pub.add( 'ASO_CFG_PUB: GET_CONFIG_DETAILS End %%%%%%%%%%%%%%%%%%%', 1, 'Y' );
142       END IF;
143 
144       EXCEPTION
145 		 WHEN FND_API.G_EXC_ERROR THEN
146 	         ASO_UTILITY_PVT.HANDLE_EXCEPTIONS( P_API_NAME => L_API_NAME
147 									 ,P_PKG_NAME => G_PKG_NAME
148 								      ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
149 									 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
150 									 ,X_MSG_COUNT => X_MSG_COUNT
151 								      ,X_MSG_DATA => X_MSG_DATA
152 									 ,X_RETURN_STATUS => X_RETURN_STATUS);
153 
154            WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
155 		    ASO_UTILITY_PVT.HANDLE_EXCEPTIONS( P_API_NAME => L_API_NAME
156 									 ,P_PKG_NAME => G_PKG_NAME
157 								      ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
158 									 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
159 									 ,X_MSG_COUNT => X_MSG_COUNT
160 									 ,X_MSG_DATA => X_MSG_DATA
161 									 ,X_RETURN_STATUS => X_RETURN_STATUS);
162 
163            WHEN OTHERS THEN
164 		    ASO_UTILITY_PVT.HANDLE_EXCEPTIONS( P_API_NAME => L_API_NAME
165 									 ,P_PKG_NAME => G_PKG_NAME
166 									 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
167 									 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
168 								      ,X_MSG_COUNT => X_MSG_COUNT
169 									 ,X_MSG_DATA => X_MSG_DATA
170 									 ,X_RETURN_STATUS => X_RETURN_STATUS);
171 
172 END;
173 
174 
175 
176 
177 PROCEDURE  Pricing_Callback(    p_config_session_key    IN             VARCHAR2,
178                                 p_price_type            IN             VARCHAR2,
179                                 x_total_price           OUT NOCOPY /* file.sql.39 change */      NUMBER )
180 is
181 
182 Begin
183 
184       aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
185 
186       ASO_CFG_INT.Pricing_Callback(p_config_session_key  => p_config_session_key,
187                                    p_price_type          => p_price_type,
188                                    x_total_price         => x_total_price );
189 
190 
191 End Pricing_Callback;
192 
193 
194 
195 PROCEDURE  pricing_callback_manual( p_config_session_key    IN             VARCHAR2,
196                                     p_price_type            IN             VARCHAR2,
197                                     x_total_price           OUT NOCOPY /* file.sql.39 change */      NUMBER )
198 IS
199 
200 l_price_type           VARCHAR2(10);
201 
202 Begin
203      aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
204 
205      IF aso_debug_pub.g_debug_flag = 'Y' THEN
206 
207          aso_debug_pub.add('ASO_CFG_PUB: pricing_callback_manual: Start %%%%%%%%%%%%%%%%%%%%' , 1, 'Y' );
208          aso_debug_pub.add('pricing_callback_manual: p_config_session_key: ' || p_config_session_key);
209          aso_debug_pub.add('pricing_callback_manual: p_price_type:         ' || p_price_type);
210 
211      END IF;
212 
213      l_price_type := cz_prc_callback_util.g_prc_type_list;
214 
215      IF aso_debug_pub.g_debug_flag = 'Y' THEN
216          aso_debug_pub.add('pricing_callback_manual: l_price_type: ' || l_price_type);
217      END IF;
218 
219      pricing_callback( p_config_session_key   => p_config_session_key,
220                        p_price_type           => l_price_type,
221                        x_total_price          => x_total_price);
222 
223      IF aso_debug_pub.g_debug_flag = 'Y' THEN
224 
225          aso_debug_pub.add('ASO_CFG_PUB: pricing_callback_manual End %%%%%%%%%%%%%%%%%%%%', 1, 'Y' );
226 
227      END IF;
228 
229 End pricing_callback_manual;
230 
231 
232 End aso_cfg_pub;