1: PACKAGE BODY WMS_DEPLOY AS
2: /* $Header: WMSDEPLB.pls 120.0.12010000.12 2010/01/25 14:35:33 abasheer noship $ */
3:
4: -- Global constant holding package name
5: g_pkg_name constant varchar2(50) := 'WMS_DEPLOY';
1: PACKAGE BODY WMS_DEPLOY AS
2: /* $Header: WMSDEPLB.pls 120.0.12010000.12 2010/01/25 14:35:33 abasheer noship $ */
3:
4: -- Global constant holding package name
5: g_pkg_name constant varchar2(50) := 'WMS_DEPLOY';
6: -- g_item_flex_delimiter caches the item flexfield delimiter
7: g_item_flex_delimiter VARCHAR2(2);
8: -- g_item_segment_count caches the count of item flexfield segments
9: g_item_segment_count NUMBER;
12: --g_client_code caches the ct code of g_item_id.
13: g_client_code mtl_client_parameters.client_code%TYPE;
14:
15:
16: /* function returns the deployment mode based on the profile WMS_DEPLOYMENT_MODE
17: * 'I' - Integrated Deployment
18: * 'D' - Distributed (Standalone) Deployment
19: * 'L' - LSP Deployment
20: */
17: * 'I' - Integrated Deployment
18: * 'D' - Distributed (Standalone) Deployment
19: * 'L' - LSP Deployment
20: */
21: FUNCTION wms_deployment_mode RETURN VARCHAR2
22: IS
23: BEGIN
24: IF WMS_DEPLOY.g_wms_deployment_mode IS NULL THEN
25:
20: */
21: FUNCTION wms_deployment_mode RETURN VARCHAR2
22: IS
23: BEGIN
24: IF WMS_DEPLOY.g_wms_deployment_mode IS NULL THEN
25:
26: CASE NVL(FND_PROFILE.VALUE('WMS_DEPLOYMENT_MODE'), 1)
27: WHEN 1 THEN g_wms_deployment_mode := 'I'; -- Integrated Mode
28: WHEN 2 THEN g_wms_deployment_mode := 'D'; -- Distributed Mode
22: IS
23: BEGIN
24: IF WMS_DEPLOY.g_wms_deployment_mode IS NULL THEN
25:
26: CASE NVL(FND_PROFILE.VALUE('WMS_DEPLOYMENT_MODE'), 1)
27: WHEN 1 THEN g_wms_deployment_mode := 'I'; -- Integrated Mode
28: WHEN 2 THEN g_wms_deployment_mode := 'D'; -- Distributed Mode
29: WHEN 3 THEN g_wms_deployment_mode := 'L'; -- LSP Mode
30: ELSE g_wms_deployment_mode := 'I';
23: BEGIN
24: IF WMS_DEPLOY.g_wms_deployment_mode IS NULL THEN
25:
26: CASE NVL(FND_PROFILE.VALUE('WMS_DEPLOYMENT_MODE'), 1)
27: WHEN 1 THEN g_wms_deployment_mode := 'I'; -- Integrated Mode
28: WHEN 2 THEN g_wms_deployment_mode := 'D'; -- Distributed Mode
29: WHEN 3 THEN g_wms_deployment_mode := 'L'; -- LSP Mode
30: ELSE g_wms_deployment_mode := 'I';
31: END CASE;
24: IF WMS_DEPLOY.g_wms_deployment_mode IS NULL THEN
25:
26: CASE NVL(FND_PROFILE.VALUE('WMS_DEPLOYMENT_MODE'), 1)
27: WHEN 1 THEN g_wms_deployment_mode := 'I'; -- Integrated Mode
28: WHEN 2 THEN g_wms_deployment_mode := 'D'; -- Distributed Mode
29: WHEN 3 THEN g_wms_deployment_mode := 'L'; -- LSP Mode
30: ELSE g_wms_deployment_mode := 'I';
31: END CASE;
32: END IF;
25:
26: CASE NVL(FND_PROFILE.VALUE('WMS_DEPLOYMENT_MODE'), 1)
27: WHEN 1 THEN g_wms_deployment_mode := 'I'; -- Integrated Mode
28: WHEN 2 THEN g_wms_deployment_mode := 'D'; -- Distributed Mode
29: WHEN 3 THEN g_wms_deployment_mode := 'L'; -- LSP Mode
30: ELSE g_wms_deployment_mode := 'I';
31: END CASE;
32: END IF;
33:
26: CASE NVL(FND_PROFILE.VALUE('WMS_DEPLOYMENT_MODE'), 1)
27: WHEN 1 THEN g_wms_deployment_mode := 'I'; -- Integrated Mode
28: WHEN 2 THEN g_wms_deployment_mode := 'D'; -- Distributed Mode
29: WHEN 3 THEN g_wms_deployment_mode := 'L'; -- LSP Mode
30: ELSE g_wms_deployment_mode := 'I';
31: END CASE;
32: END IF;
33:
34: RETURN g_wms_deployment_mode;
30: ELSE g_wms_deployment_mode := 'I';
31: END CASE;
32: END IF;
33:
34: RETURN g_wms_deployment_mode;
35: END wms_deployment_mode;
36:
37: FUNCTION get_item_flex_delimiter
38: RETURN VARCHAR2 AS
31: END CASE;
32: END IF;
33:
34: RETURN g_wms_deployment_mode;
35: END wms_deployment_mode;
36:
37: FUNCTION get_item_flex_delimiter
38: RETURN VARCHAR2 AS
39: BEGIN
78: FUNCTION Costed_Txn (p_in_txn_rec IN t_in_txn_rec) RETURN VARCHAR2
79: IS
80: costed_flag VARCHAR2(1) := 'Y';
81: BEGIN
82: CASE wms_deployment_mode
83: WHEN 'I' THEN -- for Integration mode, always return 'Y'
84: RETURN costed_flag;
85: WHEN 'D' THEN -- for Distributed mode, transactions should never be costed
86: costed_flag := 'N';
129:
130: BEGIN
131: x_return_status := FND_API.G_RET_STS_SUCCESS;
132:
133: CASE wms_deployment_mode
134: WHEN 'I' THEN
135: x_client_rec.client_id := NULL;
136: x_client_rec.client_name := NULL;
137: WHEN 'D' THEN
196: )IS
197: BEGIN
198: x_return_status := FND_API.G_RET_STS_SUCCESS;
199:
200: CASE wms_deployment_mode
201: WHEN 'I' THEN
202: x_item_category_id := NULL; --API will not return anything in Integrated Mode
203: WHEN 'D' THEN
204: x_item_category_id := NULL; --API will not return anything in Distributed Mode
231: l_delimiter VARCHAR2(1);
232: l_client_code mtl_client_parameters.client_code%TYPE := NULL;
233: l_item_name mtl_system_items_b_kfv.concatenated_segments%TYPE;
234: begin
235: IF wms_deployment_mode = 'L' THEN
236: IF g_item_id = p_item_id THEN
237: -- returned the cached value
238: RETURN g_client_code;
239: ELSE
261: END IF;
262: end if;
263: end if;
264: END if; -- end IF g_item_id = p_item_id
265: end if; --end if wms_deployment_mode = 'L'
266: return l_client_code;
267: END get_client_code;
268:
269: /* ==================================================================================*
350: EXCEPTION
351: WHEN OTHERS THEN
352: l_item_name := NULL;
353: END;
354: IF wms_deployment_mode='L' THEN
355: IF l_item_name IS NOT NULL THEN
356: l_delimiter := get_item_flex_delimiter;
357: IF l_delimiter IS NOT NULL THEN
358: l_item_name := SUBSTR(l_item_name, 1, INSTR(l_item_name,l_delimiter,-1)-1);
368: l_client_code mtl_client_parameters.client_code%TYPE;
369: l_client_name varchar2(360);
370: l_return_status VARCHAR2(1);
371: BEGIN
372: IF wms_deployment_mode='L' THEN
373: IF p_item_id IS NOT NULL THEN
374: l_client_code:=get_client_code(p_item_id);
375: get_client_details(l_client_id,l_client_code,l_client_name,l_return_status);
376: END IF;
383: l_append varchar(2):='';
384: l_delimiter varchar2(1);
385: l_segcount number(2);
386: BEGIN
387: IF wms_deployment_mode ='L' THEN
388: l_delimiter := get_item_flex_delimiter;
389: l_segcount := get_item_flex_segment_count;
390: IF (LENGTH(p_concatenated_segments)-LENGTH(REPLACE(p_concatenated_segments,l_delimiter,''))) < (l_segcount -1) THEN
391: l_append := l_delimiter||'%';
413: WHEN OTHERS THEN
414: l_po_name := NULL;
415: END;
416:
417: IF wms_deployment_mode='L' then
418: IF l_po_name IS NOT NULL THEN
419: /* Bug 9255222: Deriving l_delimiter from Item KFF */
420:
421: l_delimiter := get_item_flex_delimiter;
437: l_client_code mtl_client_parameters.client_code%TYPE;
438: l_client_name VARCHAR2(360):='';
439: l_return_status VARCHAR2(1);
440: BEGIN
441: IF wms_deployment_mode='L' THEN
442: IF p_po_header_id IS NOT NULL THEN
443: l_client_code := get_po_client_code(p_po_header_id);
444: get_client_details(l_client_id,l_client_code,l_client_name,l_return_status);
445: END IF;
456: ) IS
457:
458: BEGIN
459: x_item_name := NULL;
460: IF wms_deployment_mode='L' then
461: x_item_name := get_client_item(x_item_id,x_org_id);
462: END IF;
463:
464: EXCEPTION
484: EXCEPTION
485: WHEN OTHERS THEN
486: l_po_num := NULL;
487: END;
488: IF wms_deployment_mode='L' THEN
489: IF l_po_num IS NOT NULL THEN
490: l_delimiter := get_item_flex_delimiter;
491: IF l_delimiter IS NOT NULL THEN
492: l_po_num := SUBSTR(l_po_num, 1, INSTR(l_po_num,l_delimiter,-1)-1);
502: ) IS
503:
504: BEGIN
505: x_po_num := NULL;
506: IF wms_deployment_mode='L' then
507: x_po_num := get_client_po_num(x_po_header_id);
508: ELSE SELECT segment1
509: INTO x_po_num
510: FROM po_headers_all
530: l_delimiter VARCHAR2(1);
531: l_client_code mtl_client_parameters.client_code%TYPE;
532: l_po_number NUMBER;
533: BEGIN
534: IF wms_deployment_mode = 'L' THEN
535:
536: l_delimiter := wms_deploy.get_item_flex_delimiter;
537:
538: IF INSTR(p_segment1,l_delimiter) = 0 THEN
532: l_po_number NUMBER;
533: BEGIN
534: IF wms_deployment_mode = 'L' THEN
535:
536: l_delimiter := wms_deploy.get_item_flex_delimiter;
537:
538: IF INSTR(p_segment1,l_delimiter) = 0 THEN
539:
540: l_po_number := to_number(p_segment1);
571: /*
572: **End of bug 9274233
573: */
574:
575: end WMS_DEPLOY;