DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_GEN_PLSQL

Source


1 PACKAGE BODY HZ_GEN_PLSQL AS
2 /*$Header: ARHGENPB.pls 115.4 2003/02/10 21:33:29 rrangan noship $ */
3 
4 FUNCTION getstrlenb(str IN VARCHAR2, max IN NUMBER)
5   RETURN NUMBER;
6 
7 PROCEDURE new(
8     name 	IN	VARCHAR2,
9     obtype 	IN  	VARCHAR2
10 ) IS
11 BEGIN
12   m_name := name;
13   m_type := obtype;
14   m_array.DELETE;
15   m_idx := 0;
16 END;
17 
18 PROCEDURE add_line(
19    line IN VARCHAR2,
20    newline boolean default true) IS
21 
22 l_string varchar2(32767) := line;
23 l_len    number;
24 BEGIN
25   LOOP
26     EXIT WHEN l_string IS NULL;
27     m_idx := m_idx + 1;
28     l_len := getstrlenb(l_string, 255);
29     m_array(m_idx) :=  substrb( l_string, 1, l_len );
30     l_string := substrb( l_string, l_len+1 );
31   END LOOP;
32 
33   IF LENGTH( m_array(m_idx) ) = 255 THEN
34     m_idx := m_idx + 1;
35     m_array(m_idx) :='';
36   END IF;
37 
38   IF newline THEN
39     m_array(m_idx) := m_array(m_idx) || fnd_global.local_chr(10);
40   END IF;
41 END;
42 
43 PROCEDURE compile_code IS
44 
45 l_status VARCHAR2(255);
46 cur_hdl INT;
47 n NUMBER;
48 
49 BEGIN
50 
51   cur_hdl := dbms_sql.open_cursor;
52   dbms_sql.parse(cur_hdl, m_array, 1, m_idx, false, dbms_sql.native);
53   n := dbms_sql.execute(cur_hdl);
54 
55   BEGIN
56     SELECT STATUS INTO l_status FROM USER_OBJECTS
57     WHERE OBJECT_NAME = m_name
58     AND   OBJECT_TYPE = m_type;
59 
60     IF l_status <> 'VALID' THEN
61       --dbms_output.put_line('Error compiling package');
62       FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_COMPILE_PKG_ERROR');
63       FND_MESSAGE.SET_TOKEN('NAME', m_name);
64       FND_MESSAGE.SET_TOKEN('ERROR', 'Compilation Errors');
65       FND_MSG_PUB.ADD;
66       RAISE FND_API.G_EXC_ERROR;
67     END IF;
68   EXCEPTION
69     WHEN NO_DATA_FOUND THEN
70       --dbms_output.put_line('Package not created');
71       FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_COMPILE_PKG_ERROR');
72       FND_MESSAGE.SET_TOKEN('NAME', m_name);
73       FND_MESSAGE.SET_TOKEN('ERROR', 'Package not created');
74       FND_MSG_PUB.ADD;
75       RAISE FND_API.G_EXC_ERROR;
76   END;
77 EXCEPTION
78   WHEN FND_API.G_EXC_ERROR THEN
79     RAISE FND_API.G_EXC_ERROR;
80   WHEN OTHERS THEN
81     FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_COMPILE_PKG_ERROR');
82     FND_MESSAGE.SET_TOKEN('NAME', m_name);
83     FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
84     FND_MSG_PUB.ADD;
85     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
86 END compile_code;
87 
88 FUNCTION getstrlenb(str IN VARCHAR2, max IN NUMBER)
89   RETURN NUMBER IS
90 BEGIN
91   IF length(str) > 255 THEN
92     RETURN 255;
93   ELSE
94     RETURN length(str);
95   END IF;
96 END;
97 
98 
99 
100 END HZ_GEN_PLSQL;