DBA Data[Home] [Help]

PACKAGE BODY: APPS.ENG_ICMDB_APIS_UTIL

Source


1 PACKAGE BODY ENG_ICMDB_APIS_UTIL  AS
2 /* $Header: ENGUICMB.pls 120.3 2006/11/08 08:24:00 asjohal noship $ */
3 
4 
5         PLSQL_COMPILE_ERROR EXCEPTION;
6         PRAGMA EXCEPTION_INIT(PLSQL_COMPILE_ERROR, -6550);
7 
8 PROCEDURE create_lines(
9                      p_change_id in number,
10                      x_return_status out nocopy varchar2,
11                      x_msg_count out nocopy number,
12                      x_msg_data out nocopy varchar2) IS
13 
14 l_return_status      VARCHAR2(1);
15 l_msg_count          NUMBER;
16 l_msg_data           VARCHAR2(2000);
17 l_pls_block          VARCHAR2(5000);
18 
19 BEGIN
20 
21          l_pls_block :=    ' BEGIN '
22                         || '  amw_create_lines_pkg.create_lines '
23                         || '  ( p_change_id   => :a             '
24                         || '   ,x_return_status  => :b          '
25                         || '   ,x_msg_count =>:c                '
26                         || '   ,x_msg_data => :d                '
27                         || ' ); '
28                         || ' END; ';
29 
30     EXECUTE IMMEDIATE l_pls_block USING
31              p_change_id,
32              OUT l_return_status,
33              OUT l_msg_count,
34              OUT l_msg_data;
35 
36 
37     x_return_status := l_return_status;
38     x_msg_count := l_msg_count;
39     x_msg_data := l_msg_data;
40 
41 
42 
43 EXCEPTION
44     WHEN PLSQL_COMPILE_ERROR THEN
45         -- Assuming AMW is not installed
46         x_return_status := NULL;
47         x_msg_count := 0;
48         x_msg_data := NULL;
49 
50 
51    WHEN OTHERS THEN
52         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
53 
54         FND_MSG_PUB.Add_Exc_Msg
55         ( p_pkg_name            => 'AMW_CM_EVENT_LISTNER_PKG' ,
56           p_procedure_name      => 'UPDATE_APPROVAL_STATUS',
57           p_error_text          => Substr(To_Char(SQLCODE)||'/'||SQLERRM,1,240)
58         );
59 
60 
61         FND_MSG_PUB.Count_And_Get
62         ( p_count => x_msg_count ,
63           p_data  => x_msg_data
64         );
65 
66 END create_lines ;
67 
68 
69 PROCEDURE update_approval_status(
70                      p_change_id IN NUMBER,
71                      p_base_change_mgmt_type_code  IN VARCHAR2 ,
72                      p_new_approval_status_cde IN NUMBER ,
73                      p_workflow_status_code IN VARCHAR2,
74                      x_return_status OUT NOCOPY VARCHAR2,
75                      x_msg_count OUT NOCOPY NUMBER,
76                      x_msg_data OUT NOCOPY VARCHAR2)
77 IS
78 
79 l_return_status      VARCHAR2(1);
80 l_msg_count          NUMBER;
81 l_msg_data           VARCHAR2(2000);
82 l_pls_block          VARCHAR2(5000);
83 
84 BEGIN
85 
86     x_return_status := FND_API.G_RET_STS_SUCCESS ;
87 
88     l_pls_block :=    ' BEGIN '
89                         || '  AMW_CM_EVENT_LISTNER_PKG.UPDATE_APPROVAL_STATUS'
90                         || '  ( p_change_id   => :a '
91                         || '   ,p_base_change_mgmt_type_code => :b '
92                         || '   ,p_new_approval_status_code   => :c '
93                         || '   ,p_workflow_status_code   => :d '
94                         || '   ,x_return_status  => :e '
95                         || '   ,x_msg_count =>:f '
96                         || '   ,x_msg_data => :g '
97                         || ' ); '
98                         || ' END; ';
99 
100     EXECUTE IMMEDIATE l_pls_block USING
101              p_change_id,
102              p_base_change_mgmt_type_code,
103              p_new_approval_status_cde,
104              p_workflow_status_code,
105              OUT l_return_status,
106              OUT l_msg_count,
107              OUT l_msg_data;
108 
109 
110     x_return_status := l_return_status;
111     x_msg_count := l_msg_count;
112     x_msg_data := l_msg_data;
113 
114 EXCEPTION
115     WHEN PLSQL_COMPILE_ERROR THEN
116         -- Assuming AMW is not installed
117         x_return_status := NULL;
118         x_msg_count := 0;
119         x_msg_data := NULL;
120 
121    WHEN OTHERS THEN
122 
123         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
124 
125         FND_MSG_PUB.Add_Exc_Msg
126         ( p_pkg_name            => 'AMW_CM_EVENT_LISTNER_PKG' ,
127           p_procedure_name      => 'UPDATE_APPROVAL_STATUS',
128           p_error_text          => Substr(To_Char(SQLCODE)||'/'||SQLERRM,1,240)
129         );
130 
131 
132         FND_MSG_PUB.Count_And_Get
133         ( p_count => x_msg_count ,
134           p_data  => x_msg_data
135         );
136 
137 END update_approval_status;
138 
139 
140 
141 END ENG_ICMDB_APIS_UTIL;