DBA Data[Home] [Help]

PACKAGE BODY: APPS.CAC_SR_UTIL_PVT

Source


1 package body CAC_SR_UTIL_PVT as
2 /* $Header: cacsrutilvb.pls 120.2 2005/08/17 22:13:12 akaran noship $ */
3 
4 function GET_OBJECT_NAME (
5   P_OBJECT_TYPE in VARCHAR2,
6   P_OBJECT_ID in NUMBER)
7   RETURN VARCHAR2 is
8       CURSOR c_references (p_object_type_code VARCHAR2)
9       IS
10      SELECT select_id, select_name, from_table, where_clause
11        FROM jtf_objects_b
12       WHERE object_code = p_object_type_code;
13       --- Removed the reference from JTF_OBJECTS_VL to JT_OBJECTS_B.
14 
15 
16       l_id_column      jtf_objects_b.select_id%TYPE;
17       l_name_column    jtf_objects_b.select_name%TYPE;
18       l_from_clause    jtf_objects_b.from_table%TYPE;
19       l_where_clause   jtf_objects_b.where_clause%TYPE;
20       l_object_name    VARCHAR2(2000);
21       sql_stmt         VARCHAR2(2000);
22 
23    BEGIN
24     OPEN c_references(P_OBJECT_TYPE);
25     FETCH c_references
26     INTO l_id_column,
27          l_name_column,
28          l_from_clause,
29          l_where_clause;
30 
31     IF c_references%NOTFOUND
32     THEN
33      CLOSE c_references;
34      RETURN NULL;
35     END IF;
36     CLOSE c_references;
37 
38     IF (l_where_clause IS NULL)
39     THEN
40        l_where_clause := '  ';
41     ELSE
42        l_where_clause := l_where_clause || ' AND ';
43     END IF;
44 
45     sql_stmt := ' SELECT ' ||
46           l_name_column ||
47           ' from ' ||
48           l_from_clause ||
49           '  where ' ||
50           l_where_clause ||
51           l_id_column ||
52           ' = :object_id and rownum = 1';
53     EXECUTE IMMEDIATE sql_stmt
54        INTO l_object_name
55        USING p_object_id;
56 
57     RETURN l_object_name;
58 
59    EXCEPTION
60      WHEN NO_DATA_FOUND
61       THEN
62           RETURN NULL;
63      WHEN OTHERS
64       THEN
65           RETURN NULL;
66 
67 END GET_OBJECT_NAME;
68 
69 end CAC_SR_UTIL_PVT;