DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_ASO_INT_GRP

Source


1 PACKAGE BODY OKC_ASO_INT_GRP AS
2 /* $Header: OKCGIASOB.pls 120.0 2005/05/25 18:25:49 appldev noship $ */
3 
4 
5   ---------------------------------------------------------------------------
6   -- GLOBAL MESSAGE CONSTANTS
7   ---------------------------------------------------------------------------
8   G_FND_APP                    CONSTANT VARCHAR2(200) := OKC_API.G_FND_APP;
9   ---------------------------------------------------------------------------
10   -- GLOBAL VARIABLES
11   ---------------------------------------------------------------------------
12   G_PKG_NAME                   CONSTANT   VARCHAR2(200) := 'OKC_ASO_INT_GRP';
13   G_APP_NAME                   CONSTANT   VARCHAR2(3)   := OKC_API.G_APP_NAME;
14   G_MODULE_NAME                CONSTANT   VARCHAR2(250) := 'OKC.PLSQL.'||G_PKG_NAME||'.';
15   G_STMT_LEVEL                 CONSTANT   NUMBER        := FND_LOG.LEVEL_STATEMENT;
16   ------------------------------------------------------------------------------
17   -- GLOBAL CONSTANTS
18   ------------------------------------------------------------------------------
19   G_FALSE                      CONSTANT   VARCHAR2(1) := FND_API.G_FALSE;
20   G_TRUE                       CONSTANT   VARCHAR2(1) := FND_API.G_TRUE;
21   G_RET_STS_SUCCESS            CONSTANT   varchar2(1) := FND_API.G_RET_STS_SUCCESS;
22   G_RET_STS_ERROR              CONSTANT   varchar2(1) := FND_API.G_RET_STS_ERROR ;
23   G_RET_STS_UNEXP_ERROR        CONSTANT   varchar2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
24   G_UNEXPECTED_ERROR           CONSTANT   varchar2(200) := 'OKC_UNEXPECTED_ERROR';
25   G_SQLERRM_TOKEN              CONSTANT   varchar2(200) := 'ERROR_MESSAGE';
26   G_SQLCODE_TOKEN              CONSTANT   varchar2(200) := 'ERROR_CODE';
27 
28 
29 Procedure get_article_variable_values(
30                         p_api_version        IN  Number,
31                         p_init_msg_list		IN  Varchar2,
32                         p_doc_id	          IN  Number,
33                         p_sys_var_value_tbl  IN  OUT NOCOPY sys_var_value_tbl_type,
34                         x_return_status	     OUT NOCOPY Varchar2,
35                         x_msg_data	          OUT NOCOPY Varchar2,
36                         x_msg_count	     OUT NOCOPY Number
37                         ) IS
38 
39 l_api_version       CONSTANT NUMBER := 1;
40 l_api_name          CONSTANT VARCHAR2(30) := 'g_get_article_variable_values';
41 l_debug             Boolean;
42 l_module            VARCHAR2(250)   := G_MODULE_NAME||l_api_name;
43 
44 BEGIN
45     x_return_status := FND_API.G_RET_STS_SUCCESS;
46 
47     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
48        l_debug := true;
49     END IF;
50 
51     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
52         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'10:Entering OKC_ASO_INT_GRP.Get_Article_Variable_Values');
53         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'20:Calling OKC_XPRT_QUOTE_INT_PVT.Get_clause_Variable_Values');
54         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,' ');
55     END IF;
56 
57     OKC_XPRT_QUOTE_INT_PVT.get_clause_variable_values(
58                          p_api_version          => l_api_version,
59                          p_init_msg_list        => FND_API.G_FALSE,
60                          p_doc_id               => p_doc_id,
61                          p_sys_var_value_tbl    => p_sys_var_value_tbl,
62                          x_return_status        => x_return_status,
63                          x_msg_data             => x_msg_data,
64                          x_msg_count            => x_msg_count);
65 
66     IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
67        RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
68     ELSIF (x_return_status = G_RET_STS_ERROR) THEN
69        RAISE FND_API.G_EXC_ERROR ;
70     END IF;
71 
72     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
73         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,' ');
74         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'30:Return status from OKC_XPRT_QUOTE_INT_PVT.Get_clause_Variable_Values = '||x_return_status);
75         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'40:Leaving OKC_ASO_INT_GRP.get_article_variable_values');
76     END IF;
77 
78     FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
79 
80 EXCEPTION
81 WHEN FND_API.G_EXC_ERROR THEN
82 
83   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
84       fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'50: Leaving get_article_variable_values: OKC_API.G_EXCEPTION_ERROR Exception');
85   END IF;
86 
87   x_return_status := G_RET_STS_ERROR ;
88   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
89 
90 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
91   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
92       fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'60: Leaving get_article_variable_values: OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception');
93   END IF;
94 
95   x_return_status := G_RET_STS_UNEXP_ERROR ;
96   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
97 
98 WHEN OTHERS THEN
99   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
100        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'70: Leaving get_article_variable_values because of EXCEPTION: '||sqlerrm);
101   END IF;
102 
103   x_return_status := G_RET_STS_UNEXP_ERROR ;
104 
105   IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
106         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
107   END IF;
108   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
109 
110 END get_article_variable_values;
111 
112 
113 
114 
115 Procedure  get_item_dtl_for_expert(
116                         p_api_version        IN	Number,
117                         p_init_msg_list	     IN	Varchar2,
118                         p_doc_id	     	IN	Number,
119                         x_category_tbl       OUT NOCOPY item_tbl_type,
120                         x_item_tbl           OUT NOCOPY item_tbl_type,
121                         x_return_status	     OUT NOCOPY Varchar2,
122                         x_msg_data	     	OUT NOCOPY Varchar2,
123                         x_msg_count	     OUT NOCOPY Number
124                         ) IS
125 
126 l_api_version          CONSTANT NUMBER := 1;
127 l_api_name             CONSTANT VARCHAR2(30) := 'g_get_item_dtl_for_expert';
128 x_variables_tbl        OKC_TERMS_UTIL_GRP.item_dtl_tbl;
129 l_sys_var_value_tbl    sys_var_value_tbl_type;
130 l_cat_index            NUMBER := -1;
131 l_item_index           NUMBER := -1;
132 
133 l_debug                Boolean;
134 l_module               VARCHAR2(250)   := G_MODULE_NAME||l_api_name;
135 
136 BEGIN
137     x_return_status := FND_API.G_RET_STS_SUCCESS;
138 
139     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
140        l_debug := true;
141     END IF;
142 
143     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
144         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'80:Entering OKC_ASO_INT_GRP.get_item_dtl_for_expert');
145         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'90:Calling OKC_XPRT_QUOTE_INT_PVT.get_clause_variable_values - 2 ');
146         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,' ');
147     END IF;
148 
149     l_sys_var_value_tbl(0).variable_code :='OKC$S_ITEM_CATEGORY';
150     l_sys_var_value_tbl(1).variable_code :='OKC$S_ITEM';
151 
152     OKC_XPRT_QUOTE_INT_PVT.get_clause_variable_values(
153                          p_api_version          => l_api_version,
154                          p_init_msg_list        => FND_API.G_FALSE,
155                          p_doc_id               => p_doc_id,
156                          p_variables_tbl        => l_sys_var_value_tbl,
157                          x_line_var_value_tbl   => x_variables_tbl,
158                          x_return_status        => x_return_status,
159                          x_msg_data             => x_msg_data,
160                          x_msg_count            => x_msg_count);
161 
162     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
163        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,' ');
164        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'95:Return status from OKC_XPRT_QUOTE_INT_PVT.Get_clause_Variable_Values - 2 = '||x_return_status);
165     END IF;
166 
167     IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
168        RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
169     ELSIF (x_return_status = G_RET_STS_ERROR) THEN
170        RAISE FND_API.G_EXC_ERROR ;
171     END IF;
172 
173 
174     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
175        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'100:Category count = '||x_variables_tbl.category.COUNT);
176        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'110:Item count     = '||x_variables_tbl.item.COUNT);
177        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,' ');
178     END IF;
179 
180     -- Populate the categories
181     IF x_variables_tbl.category.COUNT > 0 THEN
182        FOR i in x_variables_tbl.category.FIRST.. x_variables_tbl.category.LAST LOOP
183            l_cat_index :=x_category_tbl.count + 1;
184            x_category_tbl(l_cat_index).name := x_variables_tbl.category(i);
185            IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
186               fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'120:x_category_tbl('||l_cat_index||').name = '||x_category_tbl(l_cat_index).name);
187            END IF;
188        END LOOP;
189     END IF;
190 
191     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
192        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,' ');
193     END IF;
194     -- Populate the Items
195 
196     IF x_variables_tbl.item.COUNT > 0 THEN
197        FOR i in x_variables_tbl.item.FIRST.. x_variables_tbl.item.LAST LOOP
198           l_item_index :=x_item_tbl.count + 1;
199           x_item_tbl(l_item_index).name := x_variables_tbl.item(i);
200           IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
201              fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'130:x_item_tbl('||l_item_index||').name = '||x_item_tbl(l_item_index).name);
202           END IF;
203        END LOOP;
204     END IF;
205 
206     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
207         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,' ');
208         fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'140:Leaving OKC_ASO_INT_GRP.g_get_item_dtl_for_expert');
209     END IF;
210 
211     FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
212 
213 EXCEPTION
214 WHEN FND_API.G_EXC_ERROR THEN
215 
216   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
217       fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'160: Leaving  get_item_dtl_for_expert: OKC_API.G_EXCEPTION_ERROR Exception');
218   END IF;
219 
220   x_return_status := G_RET_STS_ERROR ;
221   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
222 
223 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
224   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
225       fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'170: Leaving  get_item_dtl_for_expert: OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception');
226   END IF;
227 
228   x_return_status := G_RET_STS_UNEXP_ERROR ;
229   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
230 WHEN OTHERS THEN
231   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
232        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'180: Leaving  get_item_dtl_for_expert because of EXCEPTION: '||sqlerrm);
233   END IF;
234 
235   x_return_status := G_RET_STS_UNEXP_ERROR ;
236 
237   IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
238         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
239   END IF;
240   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
241 
242 END  get_item_dtl_for_expert;
243 
244 
245 
246 
247 Function ok_to_commit   (
248                         p_api_version        IN  Number,
249                         p_init_msg_list		IN  Varchar2,
250                         p_doc_id	          IN  Number,
251                         p_doc_type           IN  VARCHAR2,
252                         p_validation_string  IN  Varchar2,
253                         x_return_status	     OUT NOCOPY Varchar2,
254                         x_msg_data	          OUT NOCOPY Varchar2,
255                         x_msg_count	     OUT NOCOPY Number
256                         )
257 Return Varchar2 IS
258 
259 l_api_version                 CONSTANT NUMBER := 1;
260 l_api_name                    CONSTANT VARCHAR2(30) := 'g_ok_to_commit';
261 l_update_allowed              varchar2(1);
262 
263 l_debug             Boolean;
264 l_module            VARCHAR2(250)   := G_MODULE_NAME||l_api_name;
265 
266 BEGIN
267 
268    x_return_status := FND_API.G_RET_STS_SUCCESS;
269 
270     IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
271        l_debug := true;
272     END IF;
273 
274        l_update_allowed := ASO_CONTRACT_TERMS_PUB.ok_to_commit(
275                          p_api_version          => l_api_version,
276                          p_init_msg_list        => FND_API.G_FALSE,
277                          p_doc_id               => p_doc_id,
278                          p_doc_type             => p_doc_type,
279                          p_validation_string    => p_validation_string,
280                          x_return_status        => x_return_status,
281                          x_msg_data             => x_msg_data,
282                          x_msg_count            => x_msg_count);
283 
284             IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
285               RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
286             ELSIF (x_return_status = G_RET_STS_ERROR) THEN
287               RAISE FND_API.G_EXC_ERROR ;
288             END IF;
289 
290    FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
291 
292    return l_update_allowed;
293 
294 EXCEPTION
295 WHEN FND_API.G_EXC_ERROR THEN
296   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
297       fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'190: Leaving ok_to_commit: OKC_API.G_EXCEPTION_ERROR Exception');
298   END IF;
299 
300   x_return_status := G_RET_STS_ERROR ;
301   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
302   return FND_API.G_FALSE;
303 
304 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
305   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
306       fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'200: Leaving ok_to_commit: OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception');
307   END IF;
308 
309   x_return_status := G_RET_STS_UNEXP_ERROR ;
310   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
311   return FND_API.G_FALSE;
312 
313 WHEN OTHERS THEN
314   IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
315        fnd_log.string(FND_LOG.LEVEL_STATEMENT,l_module,'210: Leaving ok_to_commit because of EXCEPTION: '||sqlerrm);
316   END IF;
317 
318   x_return_status := G_RET_STS_UNEXP_ERROR ;
319 
320   IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
321      FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
322   END IF;
323   FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
324   return FND_API.G_FALSE;
325 
326 END ok_to_commit;
327 
328 END OKC_ASO_INT_GRP;
329