[Home] [Help]
Skip to content
PACKAGE BODY: APPS.OKC_REP_UDA_FUNCTIONS
Source
1 PACKAGE BODY OKC_REP_UDA_FUNCTIONS AS
2 /* $Header: OKCVRUDAFB.pls 120.0.12020000.3 2013/04/10 12:39:31 aksgoyal noship $ */
3
4 FUNCTION getPoLineAmount(p_po_header_id NUMBER,
5 p_po_line_id NUMBER,
6 p_po_draft_id NUMBER) RETURN NUMBER
7 IS
8
9 l_proc_name CONSTANT VARCHAR2(50) := 'sbcr_source_doc_default';
10 l_api_name CONSTANT VARCHAR2(100):= g_pkg_name ||'.'||l_proc_name;
11
12 l_line_amount NUMBER := 0;
13 l_currency_code po_headers_draft_all.currency_code%type;
14 l_precision gl_currencies.precision%TYPE;
15 l_ext_precision gl_currencies.extended_precision%TYPE;
16 l_min_unit gl_currencies.minimum_accountable_unit%TYPE;
17
18 BEGIN
19
20 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
21 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Entered OKC_REP_UDA_FUNCTIONS.getPoLineAmount procedure');
22 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter p_po_header_id: ' || p_po_header_id);
23 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter p_po_line_id: ' || p_po_line_id);
24 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter p_po_draft_id: ' || p_po_draft_id);
25 END IF;
26
27 SELECT currency_code INTO l_currency_code
28 FROM po_headers_draft_all
29 WHERE po_header_id = p_po_header_id AND draft_id = p_po_draft_id;
30
31 fnd_currency.get_info(l_currency_code, l_precision, l_ext_precision, l_min_unit);
32
33 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
34 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'l_currency_code: ' || l_currency_code);
35 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'l_precision: ' || l_precision);
36 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'l_ext_precision: ' || l_ext_precision);
37 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'l_min_unit: ' || l_min_unit);
38 END IF;
39
40 SELECT DECODE(matching_basis, 'AMOUNT', amount, nvl2(l_min_unit, round(quantity*unit_price/l_min_unit) * l_min_unit, round((quantity*unit_price),l_precision)) ) -- Bug# 5378134
41 INTO l_line_amount
42 FROM po_lines_merge_v
43 WHERE po_line_id = p_po_line_id AND draft_id = p_po_draft_id;
44
45 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
46 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'l_line_amount: ' || l_line_amount);
47 END IF;
48
49 IF(l_line_amount IS NULL ) THEN
50 l_line_amount := 0;
51 END IF;
52
53 RETURN l_line_amount;
54 EXCEPTION
55 WHEN OTHERS THEN
56 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
57 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while getting po line amount. Error:' || sqlerrm);
58 END IF;
59 RETURN -1;
60 END getPoLineAmount;
61
62 PROCEDURE sbcr_source_doc_default(p_contract_id IN NUMBER
63 ,p_source_doc_id IN VARCHAR2
64 ,p_source_doc_type IN VARCHAR2
65 ,x_buyer_name IN OUT NOCOPY VARCHAR2
66 ,x_issuing_off_symbol IN OUT NOCOPY VARCHAR2
67 ,x_total_amount IN OUT NOCOPY NUMBER
71 ,x_fsc_svc_code IN OUT NOCOPY VARCHAR2
68 ,x_currency IN OUT NOCOPY VARCHAR2
69 ,x_naics_code IN OUT NOCOPY VARCHAR2
70 ,x_size_standard IN OUT NOCOPY VARCHAR2
72 ,x_item_long_desc IN OUT NOCOPY VARCHAR2
73 ,x_return_status OUT NOCOPY VARCHAR2
74 ,x_errorcode OUT NOCOPY VARCHAR2
75 ,x_msg_count OUT NOCOPY VARCHAR2
76 ,x_msg_data OUT NOCOPY VARCHAR2)
77 IS
78
79 l_proc_name CONSTANT VARCHAR2(50) := 'sbcr_source_doc_default';
80 l_api_name CONSTANT VARCHAR2(100):= g_pkg_name ||'.'||l_proc_name;
81
82 l_auc_line_num pon_auction_item_prices_all.line_number%TYPE;
83 l_po_line_id po_lines_all.po_line_id%TYPE;
84 l_fsc_svc_codes PO_TBL_VARCHAR4000; --for IDV wihtout lines document fsc svc is a multi row attribute. For fetching them we will be using this variable
85
86 BEGIN
87
88 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
89 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Entered OKC_REP_UDA_FUNCTIONS.sbcr_source_doc_default procedure');
90 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter p_contract_id: ' || p_contract_id);
91 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter p_source_doc_id: ' || p_source_doc_id);
92 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter p_source_doc_type: ' || p_source_doc_type);
93 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter x_buyer_name: ' || x_buyer_name);
94 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter x_issuing_off_symbol: ' || x_issuing_off_symbol);
95 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter x_total_amount: ' || x_total_amount);
96 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter x_currency: ' || x_currency);
97 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter x_naics_code: ' || x_naics_code);
98 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter x_size_standard: ' || x_size_standard);
99 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter x_fsc_svc_code: ' || x_fsc_svc_code);
100 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Input Parameter x_item_long_desc: ' || x_item_long_desc);
101 END IF;
102
103 IF p_source_doc_id IS NULL OR p_source_doc_type IS NULL THEN
104 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
105 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Leaving the procedure as the source documents are not filled properly');
106 END IF;
107
108 RETURN; --returning if source document details are not found
109 END IF;
110
111 --storing the lineinformation which has maximum amount value.
112 --For the values which will be coming at line level, the line which has maiximum amount willbe taken and defaulted
113 BEGIN
114 IF p_source_doc_type = 'SOLICITATION' THEN
115 SELECT line_number INTO l_auc_line_num
116 FROM (SELECT line_number FROM pon_auction_item_prices_all WHERE auction_header_id = p_source_doc_id
117 ORDER BY clm_amount DESC, item_description ASC)
118 WHERE rownum = 1;
119
120 ELSIF p_source_doc_type = 'PO_STANDARD_MOD' OR p_source_doc_type = 'PA_BLANKET_MOD' THEN
121 --for doc types PO_STANDARD_MOD, PA_BLANKET_MOD (PA_CONTRACT_MOD doesn't have lines)
122 SELECT po_line_id INTO l_po_line_id
123 FROM (SELECT po_line_id FROM po_lines_draft_all WHERE draft_id = p_source_doc_id
124 ORDER BY getPoLineAmount(po_header_id, po_line_id, draft_id) DESC, item_description ASC)
125 WHERE rownum = 1;
126 END IF;
127 EXCEPTION
128 WHEN OTHERS THEN
129 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
130 x_errorcode := '-3';
131 x_msg_count := '1';
132 x_msg_data := 'Exception in getting line details with maximum amount';
133 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
134
135 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
136 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while getting line details with maximum amount. Error:' || sqlerrm);
137 END IF;
138 END;
139
140 /*
141 --BUYER NAME DEFAULTING
142 */
143 -- IF x_buyer_name IS NULL THEN
144 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
145 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulting Buyer Name from source document ');
146 END IF;
147 BEGIN
148 IF p_source_doc_type = 'SOLICITATION' THEN
149 SELECT PO_UDA_PUB.get_address_attr_value(uda_template_id, NULL, auction_header_id, NULL, NULL, NULL, NULL, NULL, 'addresses', NULL, 'contact', 'ISSUING_OFFICE', 'DISPLAY_VALUE')
150 INTO x_buyer_name
151 FROM pon_auction_headers_all
152 WHERE auction_header_id = p_source_doc_id;
153 ELSE --for doc types PO_STANDARD_MOD, PA_BLANKET_MOD, PA_CONTRACT_MOD
154 SELECT PO_UDA_PUB.get_address_attr_value(uda_template_id, NULL, po_header_id, draft_id, NULL, NULL, NULL, NULL, 'addresses', NULL, 'contact', 'ISSUING_OFFICE', 'DISPLAY_VALUE')
155 INTO x_buyer_name
156 FROM po_headers_draft_all
157 WHERE draft_id = p_source_doc_id;
158 END IF;
159
160 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
161 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulted buyer name value to :' || x_buyer_name);
162 END IF;
163 EXCEPTION
164 WHEN OTHERS THEN
168 x_msg_data := 'Exception in defaulting buyer name';
165 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
166 x_errorcode := '-4';
167 x_msg_count := '1';
169 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
170
171 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
172 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while defaulting buyer name. Error:' || sqlerrm);
173 END IF;
174 END;
175 -- END IF;
176
177 /*
178 --OFFICE SYMBOL DEFAULTING
179 */
180 -- IF x_issuing_off_symbol IS NULL THEN
181 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
182 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulting Issuing Office Symbol from source document ');
183 END IF;
184
185 BEGIN
186 IF p_source_doc_type = 'SOLICITATION' THEN
187 SELECT PO_UDA_PUB.get_address_attr_value(uda_template_id, NULL, auction_header_id, NULL, NULL, NULL, NULL, NULL, 'addresses', NULL, 'addresscode', 'ISSUING_OFFICE', 'DISPLAY_VALUE')
188 INTO x_issuing_off_symbol
189 FROM pon_auction_headers_all
190 WHERE auction_header_id = p_source_doc_id;
191 ELSE --for doc types PO_STANDARD_MOD, PA_BLANKET_MOD, PA_CONTRACT_MOD
192 SELECT PO_UDA_PUB.get_address_attr_value(uda_template_id, NULL, po_header_id, draft_id, NULL, NULL, NULL, NULL, 'addresses', NULL, 'addresscode', 'ISSUING_OFFICE', 'DISPLAY_VALUE')
193 INTO x_issuing_off_symbol
194 FROM po_headers_draft_all
195 WHERE draft_id = p_source_doc_id;
196 END IF;
197
198 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
199 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulted issuing office symbol value to :' || x_issuing_off_symbol);
200 END IF;
201 EXCEPTION
202 WHEN OTHERS THEN
203 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
204 x_errorcode := '-5';
205 x_msg_count := '1';
206 x_msg_data := 'Exception in defaulting issuing office symbol';
207 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
208
209 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
210 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while defaulting issuing office symbol. Error:' || sqlerrm);
211 END IF;
212 END;
213 -- END IF;
214
215 /*
216 --TOTAL ESTIMATED VALUE DEFAULTING
217 */
218 -- IF x_total_amount IS NULL THEN
219 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
220 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulting Total Estimated value from source document ');
221 END IF;
222
223 BEGIN
224 IF p_source_doc_type = 'SOLICITATION' THEN
225 SELECT Sum(Nvl(clm_amount, 0)) INTO x_total_amount
226 FROM pon_auction_item_prices_all
227 WHERE auction_header_id = p_source_doc_id;
228 ELSE --for doc types PO_STANDARD_MOD, PA_BLANKET_MOD, PA_CONTRACT_MOD
229 SELECT changed_amt INTO x_total_amount
230 FROM po_drafts
231 WHERE draft_id = p_source_doc_id;
232 END IF;
233
234 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
235 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulted Total Estimated value to :' || x_total_amount);
236 END IF;
237 EXCEPTION
238 WHEN OTHERS THEN
239 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
240 x_errorcode := '-6';
241 x_msg_count := '1';
242 x_msg_data := 'Exception in defaulting Total Estimated value';
243 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
244
245 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
246 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while defaulting Total Estimated value. Error:' || sqlerrm);
247 END IF;
248 END;
249 -- END IF;
250
251 /*
252 --CURRENCY DEFAULTING
253 */
254 -- IF x_currency IS NULL THEN
255 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
256 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulting currency from source document ');
257 END IF;
258
259 BEGIN
260 IF p_source_doc_type = 'SOLICITATION' THEN
261 SELECT currency_code INTO x_currency
262 FROM pon_auction_headers_all
263 WHERE auction_header_id = p_source_doc_id;
264 ELSE --for doc types PO_STANDARD_MOD, PA_BLANKET_MOD, PA_CONTRACT_MOD
265 SELECT currency_code INTO x_currency
266 FROM po_headers_draft_all
267 WHERE draft_id = p_source_doc_id;
268 END IF;
269
270 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
271 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulted currency value to :' || x_currency);
272 END IF;
273 EXCEPTION
274 WHEN OTHERS THEN
275 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
276 x_errorcode := '-7';
277 x_msg_count := '1';
278 x_msg_data := 'Exception in defaulting currency';
279 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
280
281 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
282 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while defaulting currency. Error:' || sqlerrm);
286
283 END IF;
284 END;
285 -- END IF;
287 /*
288 -- NAICS CODE DEFAULTING
289 */
290 -- IF x_naics_code IS NULL THEN
291 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
292 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulting Naics code from source document ');
293 END IF;
294
295 BEGIN
296 IF p_source_doc_type = 'SOLICITATION' THEN
297 x_naics_code := PO_UDA_PUB.get_single_attr_value(p_entity_code => 'PON_AUC_PRICES_EXT_ATTRS',
298 pk1_value => p_source_doc_id,
299 pk2_value => l_auc_line_num,
300 p_attr_grp_int_name => 'FED_CUST_DESG',
301 p_attr_int_name => 'NAICS');
302
303 ELSIF p_source_doc_type = 'PA_CONTRACT_MOD' THEN
304 --for IDV without lines document, there will nto be lines, getting the value from header
305 SELECT PO_UDA_PUB.get_single_attr_value(uda_template_id, NULL, po_header_id, draft_id, NULL, NULL, NULL, NULL, 'SET_ASIDE_INFO', NULL, 'NAICS', 'INTERNAL_VALUE' )
306 INTO x_naics_code
307 FROM po_headers_draft_all
308 WHERE draft_id = p_source_doc_id;
309
310 ELSE -- for doc types PO_STANDARD_MOD, PA_BLANKET_MOD
311 x_naics_code := PO_UDA_PUB.get_single_attr_value(p_entity_code => 'PO_LINE_EXT_ATTRS',
312 pk1_value => l_po_line_id,
313 pk2_value => p_source_doc_id,
314 p_attr_grp_int_name => 'FED_CUST_DESG',
315 p_attr_int_name => 'NAICS');
316 END IF;
317
318 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
319 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulted Naics code value to :' || x_naics_code);
320 END IF;
321 EXCEPTION
322 WHEN OTHERS THEN
323 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
324 x_errorcode := '-8';
325 x_msg_count := '1';
326 x_msg_data := 'Exception in defaulting Naics code';
327 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
328
329 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
330 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while defaulting Naics code. Error:' || sqlerrm);
331 END IF;
332 END;
333 -- END IF;
334
335 /*
336 -- SIZE STANDARD DEFAULTING
337 */
338 -- IF x_size_standard IS NULL THEN
339 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
340 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulting Size Standard from source document ');
341 END IF;
342
343 BEGIN
344 IF p_source_doc_type = 'SOLICITATION' THEN
345 SELECT PO_UDA_PUB.get_single_attr_value(uda_template_id, NULL, auction_header_id, NULL, NULL, NULL, NULL, NULL, 'SET_ASIDE_INFO', NULL, 'SIZE_STANDARD', 'INTERNAL_VALUE')
346 INTO x_size_standard
347 FROM pon_auction_headers_all
348 WHERE auction_header_id = p_source_doc_id;
349 ELSE --for doc types PO_STANDARD_MOD, PA_BLANKET_MOD, PA_CONTRACT_MOD
350 SELECT PO_UDA_PUB.get_single_attr_value(uda_template_id, NULL, po_header_id, draft_id, NULL, NULL, NULL, NULL, 'SET_ASIDE_INFO', NULL, 'SIZE_STANDARD', 'INTERNAL_VALUE')
351 INTO x_size_standard
352 FROM po_headers_draft_all
353 WHERE draft_id = p_source_doc_id;
354 END IF;
355
356 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
357 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulted Size Standard value to :' || x_size_standard);
358 END IF;
359 EXCEPTION
360 WHEN OTHERS THEN
361 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
362 x_errorcode := '-9';
363 x_msg_count := '1';
364 x_msg_data := 'Exception in defaulting Size Standard';
365 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
366
367 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
368 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while defaulting Size Standard. Error:' || sqlerrm);
369 END IF;
370 END;
371 -- END IF;
372
373 /*
374 -- FSC/SVC CODE DEFAULTING
375 */
376 -- IF x_fsc_svc_code IS NULL THEN
377 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
378 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulting FSC/SVC Code from source document ');
379 END IF;
380
381 BEGIN
382 IF p_source_doc_type = 'SOLICITATION' THEN
383 x_fsc_svc_code := PO_UDA_PUB.get_single_attr_value(p_entity_code => 'PON_AUC_PRICES_EXT_ATTRS',
384 pk1_value => p_source_doc_id,
385 pk2_value => l_auc_line_num,
386 p_attr_grp_int_name => 'FED_CUST_DESG',
387 p_attr_int_name => 'FSC_PSC');
388
389 ELSIF p_source_doc_type = 'PA_CONTRACT_MOD' THEN
390 --for IDV without lines document, there will nto be lines, getting the value from header
394 WHERE draft_id = p_source_doc_id;
391 SELECT PO_UDA_PUB.get_multi_attr_value(uda_template_id, NULL, po_header_id, draft_id, NULL, NULL, NULL, NULL, 'FSC_PSC', NULL, 'FSC_PSC', NULL, 'INTERNAL_VALUE')
392 INTO l_fsc_svc_codes
393 FROM po_headers_draft_all
395
396 IF l_fsc_svc_codes IS NOT NULL AND l_fsc_svc_codes.COUNT > 0 THEN
397 x_fsc_svc_code := l_fsc_svc_codes(1);
398 END IF;
399
400 ELSE -- for doc types PO_STANDARD_MOD, PA_BLANKET_MOD
401 x_fsc_svc_code := PO_UDA_PUB.get_single_attr_value(p_entity_code => 'PO_LINE_EXT_ATTRS',
402 pk1_value => l_po_line_id,
403 pk2_value => p_source_doc_id,
404 p_attr_grp_int_name => 'FED_CUST_DESG',
405 p_attr_int_name => 'FSC_PSC');
406 END IF;
407
408 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
409 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulted FSC/SVC Code value to :' || x_fsc_svc_code);
410 END IF;
411 EXCEPTION
412 WHEN OTHERS THEN
413 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
414 x_errorcode := '-10';
415 x_msg_count := '1';
416 x_msg_data := 'Exception in defaulting FSC/SVC Code';
417 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
418
419 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
420 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while defaulting FSC/SVC Code. Error:' || sqlerrm);
421 END IF;
422 END;
423 -- END IF;
424
425 /*
426 -- ITEM DESCRIPTION DEFAULTING
427 */
428 -- IF x_item_long_desc IS NULL THEN
429 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
430 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulting Item Description from source document ');
431 END IF;
432
433 BEGIN
434 IF p_source_doc_type = 'SOLICITATION' THEN
435 x_item_long_desc := PO_UDA_PUB.get_single_attr_value(p_entity_code => 'PON_AUC_PRICES_EXT_ATTRS',
436 pk1_value => p_source_doc_id,
437 pk2_value => l_auc_line_num,
438 p_attr_grp_int_name => 'ADD_ITEM_INFO',
439 p_attr_int_name => 'EXTND_DESC');
440
441 ELSIF p_source_doc_type = 'PO_STANDARD_MOD' OR p_source_doc_type = 'PA_BLANKET_MOD' THEN
442 --for doc types PO_STANDARD_MOD, PA_BLANKET_MOD (PA_CONTRACT_MOD doesn't have lines)
443 x_item_long_desc := PO_UDA_PUB.get_single_attr_value(p_entity_code => 'PO_LINE_EXT_ATTRS',
444 pk1_value => l_po_line_id,
445 pk2_value => p_source_doc_id,
446 p_attr_grp_int_name => 'ADD_ITEM_INFO',
447 p_attr_int_name => 'EXTND_DESC');
448 END IF;
449
450 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
451 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Defaulted Item long Description value to :' || x_item_long_desc);
452 END IF;
453 EXCEPTION
454 WHEN OTHERS THEN
455 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
456 x_errorcode := '-11';
457 x_msg_count := '1';
458 x_msg_data := 'Exception in defaulting Item Description';
459 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
460
461 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
462 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured while defaulting Item Description. Error:' || sqlerrm);
463 END IF;
464 END;
465 -- END IF;
466
467 x_return_status := FND_API.G_RET_STS_SUCCESS;
468 x_errorcode := '0';
469 x_msg_count := '1';
470 x_msg_data := 'SUCCESS';
471
472 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
473 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Entered OKC_REP_UDA_FUNCTIONS.sbcr_source_doc_default procedure');
474 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_buyer_name: ' || x_buyer_name);
475 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_issuing_off_symbol: ' || x_issuing_off_symbol);
476 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_total_amount: ' || x_total_amount);
477 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_currency: ' || x_currency);
478 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_naics_code: ' || x_naics_code);
479 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_size_standard: ' || x_size_standard);
480 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_fsc_svc_code: ' || x_fsc_svc_code);
481 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_item_long_desc: ' || x_item_long_desc);
482 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_return_status: ' || x_return_status);
483 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_errorcode: ' || x_errorcode);
484 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_msg_count: ' || x_msg_count);
485 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_msg_data: ' || x_msg_data);
489 EXCEPTION
486 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Leaving OKC_REP_UDA_FUNCTIONS.sbcr_source_doc_default procedure.');
487 END IF;
488
490 WHEN OTHERS THEN
491 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
492 x_errorcode := '-2';
493 x_msg_count := '1';
494 x_msg_data := 'Exception occured in SBCR UDA defaulting function SBCR_SOURCE_DOC_DEFAULT';
495 fnd_msg_pub.Add_Exc_Msg(g_pkg_name, l_proc_name, x_msg_data);
496
497 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
498 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Exception occured in SBCR UDA defaulting function SBCR_SOURCE_DOC_DEFAULT:' || sqlerrm);
499 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Entered OKC_REP_UDA_FUNCTIONS.sbcr_source_doc_default procedure');
500 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_buyer_name: ' || x_buyer_name);
501 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_issuing_off_symbol: ' || x_issuing_off_symbol);
502 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_total_amount: ' || x_total_amount);
503 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_currency: ' || x_currency);
504 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_naics_code: ' || x_naics_code);
505 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_size_standard: ' || x_size_standard);
506 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_fsc_svc_code: ' || x_fsc_svc_code);
507 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_item_long_desc: ' || x_item_long_desc);
508 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_return_status: ' || x_return_status);
509 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_errorcode: ' || x_errorcode);
510 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_msg_count: ' || x_msg_count);
511 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Output Parameter x_msg_data: ' || x_msg_data);
512 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_api_name, 'Leaving OKC_REP_UDA_FUNCTIONS.sbcr_source_doc_default procedure.');
513 END IF;
514 END sbcr_source_doc_default;
515
516 END OKC_REP_UDA_FUNCTIONS;