[Home] [Help]
1: PACKAGE BODY pn_location_alias_pkg AS
2: /* $Header: PNLCALSB.pls 120.4.12020000.3 2013/02/07 09:35:08 ppenumar ship $ */
3:
4: TYPE id_tbl IS TABLE OF pn_locations.location_id%TYPE INDEX BY BINARY_INTEGER;
5: TYPE code_tbl IS TABLE OF pn_locations.location_code%TYPE INDEX BY BINARY_INTEGER;
6: TYPE alias_tbl IS TABLE OF pn_locations.location_alias%TYPE INDEX BY BINARY_INTEGER;
7:
8: ------------------------------------------------------------------------------+
1: PACKAGE BODY pn_location_alias_pkg AS
2: /* $Header: PNLCALSB.pls 120.4.12020000.3 2013/02/07 09:35:08 ppenumar ship $ */
3:
4: TYPE id_tbl IS TABLE OF pn_locations.location_id%TYPE INDEX BY BINARY_INTEGER;
5: TYPE code_tbl IS TABLE OF pn_locations.location_code%TYPE INDEX BY BINARY_INTEGER;
6: TYPE alias_tbl IS TABLE OF pn_locations.location_alias%TYPE INDEX BY BINARY_INTEGER;
7:
8: ------------------------------------------------------------------------------+
9: -- FUNCTION : get_parent_location_code
2: /* $Header: PNLCALSB.pls 120.4.12020000.3 2013/02/07 09:35:08 ppenumar ship $ */
3:
4: TYPE id_tbl IS TABLE OF pn_locations.location_id%TYPE INDEX BY BINARY_INTEGER;
5: TYPE code_tbl IS TABLE OF pn_locations.location_code%TYPE INDEX BY BINARY_INTEGER;
6: TYPE alias_tbl IS TABLE OF pn_locations.location_alias%TYPE INDEX BY BINARY_INTEGER;
7:
8: ------------------------------------------------------------------------------+
9: -- FUNCTION : get_parent_location_code
10: --
18:
19: FUNCTION get_parent_location_code(
20: p_cd_tbl IN code_tbl,
21: p_id_tbl IN id_tbl,
22: p_loc_id IN pn_locations.location_id%TYPE) RETURN VARCHAR2
23: IS
24: l_info VARCHAR2(300);
25: l_desc VARCHAR2(300) := 'pn_location_alias_pkg.get_parent_location_code';
26: l_result pn_locations.location_code%TYPE := '';
22: p_loc_id IN pn_locations.location_id%TYPE) RETURN VARCHAR2
23: IS
24: l_info VARCHAR2(300);
25: l_desc VARCHAR2(300) := 'pn_location_alias_pkg.get_parent_location_code';
26: l_result pn_locations.location_code%TYPE := '';
27: BEGIN
28: pnp_debug_pkg.debug(l_desc ||' (+)');
29:
30: l_info := 'starting loop ';
71:
72: PROCEDURE change_alias(
73: errbuf OUT NOCOPY VARCHAR2,
74: retcode OUT NOCOPY VARCHAR2,
75: p_location_type IN pn_locations.location_type_lookup_code%TYPE,
76: p_location_code IN pn_locations.location_code%TYPE,
77: p_new_alias IN pn_locations.location_alias%TYPE)
78: IS
79: CURSOR impacted_loc IS
72: PROCEDURE change_alias(
73: errbuf OUT NOCOPY VARCHAR2,
74: retcode OUT NOCOPY VARCHAR2,
75: p_location_type IN pn_locations.location_type_lookup_code%TYPE,
76: p_location_code IN pn_locations.location_code%TYPE,
77: p_new_alias IN pn_locations.location_alias%TYPE)
78: IS
79: CURSOR impacted_loc IS
80: SELECT location_id,
73: errbuf OUT NOCOPY VARCHAR2,
74: retcode OUT NOCOPY VARCHAR2,
75: p_location_type IN pn_locations.location_type_lookup_code%TYPE,
76: p_location_code IN pn_locations.location_code%TYPE,
77: p_new_alias IN pn_locations.location_alias%TYPE)
78: IS
79: CURSOR impacted_loc IS
80: SELECT location_id,
81: parent_location_id,
80: SELECT location_id,
81: parent_location_id,
82: location_code,
83: location_alias
84: FROM pn_locations_all /*sdm14jul*/
85: START WITH location_id = (SELECT location_id FROM
86: (SELECT location_id
87: FROM pn_locations_all
88: WHERE location_type_lookup_code = p_location_type
83: location_alias
84: FROM pn_locations_all /*sdm14jul*/
85: START WITH location_id = (SELECT location_id FROM
86: (SELECT location_id
87: FROM pn_locations_all
88: WHERE location_type_lookup_code = p_location_type
89: AND location_code = p_location_code
90: ORDER BY ACTIVE_START_DATE DESC)
91: WHERE ROWNUM = 1)
149:
150: --Bug#5571818
151: SELECT COUNT(1)
152: INTO l_uniq_loc_count
153: FROM pn_locations_all
154: WHERE location_code = l_new_loc_code
155: and location_code <> p_location_code; --Bug#16098151
156:
157: IF l_uniq_loc_count <> 0 THEN
161:
162:
163: l_info := 'updating table with new values ';
164: FORALL i IN 0 .. loc_id_tbl.COUNT - 1
165: UPDATE pn_locations_all /*Bug 9767441 */
166: SET location_code = new_cd_tbl(i),
167: location_alias = als_nm_tbl(i),
168: last_update_date = SYSDATE,
169: last_updated_by = nvl(fnd_profile.value('USER_ID'), -1),