1922: )
1923: IS
1924: CURSOR c1 IS
1925: SELECT a.ROWID row_id, a.*
1926: FROM HZ_RELATIONSHIPS a
1927: WHERE RELATIONSHIP_TYPE = p_rel_type
1928: ORDER BY RELATIONSHIP_ID;
1929:
1930: CURSOR c2 (p_rel_type VARCHAR2,
1946: IS
1947: SELECT SUBJECT_ID,
1948: SUBJECT_TABLE_NAME,
1949: SUBJECT_TYPE
1950: FROM HZ_RELATIONSHIPS
1951: WHERE OBJECT_ID = p_child_id
1952: AND OBJECT_TABLE_NAME = p_child_table_name
1953: AND OBJECT_TYPE = p_child_object_type
1954: AND RELATIONSHIP_TYPE = p_rel_type
2025:
2026: IF p_multi_parent_allowed = 'N' THEN
2027: BEGIN
2028: SELECT 1 INTO l_count
2029: FROM HZ_RELATIONSHIPS
2030: WHERE OBJECT_ID = l_child_id
2031: AND OBJECT_TABLE_NAME = l_child_table_name
2032: AND OBJECT_TYPE = l_child_object_type
2033: AND RELATIONSHIP_TYPE = r1.relationship_type
2131:
2132: CLOSE c2;
2133:
2134: IF r2.direction_code = 'P' THEN
2135: UPDATE HZ_RELATIONSHIPS SET DIRECTION_CODE = 'P' WHERE ROWID = r1.row_id;
2136: ELSE
2137: UPDATE HZ_RELATIONSHIPS SET DIRECTION_CODE = 'C' WHERE ROWID = r1.row_id;
2138: END IF;
2139:
2133:
2134: IF r2.direction_code = 'P' THEN
2135: UPDATE HZ_RELATIONSHIPS SET DIRECTION_CODE = 'P' WHERE ROWID = r1.row_id;
2136: ELSE
2137: UPDATE HZ_RELATIONSHIPS SET DIRECTION_CODE = 'C' WHERE ROWID = r1.row_id;
2138: END IF;
2139:
2140: -- one call is to by-pass the second record which is identical but reverse one.
2141: FETCH c1 INTO r1;
2139:
2140: -- one call is to by-pass the second record which is identical but reverse one.
2141: FETCH c1 INTO r1;
2142: IF r2.direction_code = 'P' THEN
2143: UPDATE HZ_RELATIONSHIPS SET DIRECTION_CODE = 'C' WHERE ROWID = r1.row_id;
2144: ELSE
2145: UPDATE HZ_RELATIONSHIPS SET DIRECTION_CODE = 'P' WHERE ROWID = r1.row_id;
2146: END IF;
2147:
2141: FETCH c1 INTO r1;
2142: IF r2.direction_code = 'P' THEN
2143: UPDATE HZ_RELATIONSHIPS SET DIRECTION_CODE = 'C' WHERE ROWID = r1.row_id;
2144: ELSE
2145: UPDATE HZ_RELATIONSHIPS SET DIRECTION_CODE = 'P' WHERE ROWID = r1.row_id;
2146: END IF;
2147:
2148: FETCH c1 INTO r1;
2149: