1 package body DOM_DOCUMENT_UTIL as
2 /*$Header: DOMPDUTB.pls 120.16 2011/06/02 08:00:02 evwang ship $ */
3 -- Global constant holding the package name
4
5 G_PKG_NAME CONSTANT VARCHAR2(30) := 'DOM_DOCUMENT_UTIL' ;
6
7
8 /********************************************************************
9 * API Type : Local APIs
10 * Purpose : Those APIs are Local
11 *********************************************************************/
12
13 PROCEDURE Get_Document_LC_Info( p_lc_tracking_id IN NUMBER
14 , p_route_id IN NUMBER
15 , x_document_id OUT NOCOPY NUMBER
16 , x_document_revision_id OUT NOCOPY NUMBER
17 , x_checkout_status OUT NOCOPY VARCHAR2
18 , x_lc_sequence_number OUT NOCOPY NUMBER
19 , x_lc_phase_code OUT NOCOPY NUMBER
20 , x_lc_phase_type OUT NOCOPY NUMBER
21 , x_lc_phase_display_name OUT NOCOPY VARCHAR2
22 )
23 IS
24
25
26
27 BEGIN
28 NULL;
29 END Get_Document_LC_Info ;
30
31
32
33
34 /********************************************************************
35 * API Type : Private APIs
36 * Purpose : Those APIs are private
37 *********************************************************************/
38
39
40 Procedure Change_Doc_LC_Phase
41 ( p_api_version IN NUMBER --
42 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE --
43 ,p_commit IN VARCHAR2 := FND_API.G_FALSE --
44 ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
45 ,p_change_id IN NUMBER
46 ,p_lc_phase_code IN NUMBER
47 ,p_action_type IN VARCHAR2-- 'PROMOTE' or 'DEMOTE'
48 ,p_api_caller IN VARCHAR2
49 ,x_return_status OUT NOCOPY VARCHAR2 --
50 ,x_msg_count OUT NOCOPY NUMBER --
51 ,x_msg_data OUT NOCOPY VARCHAR2
52 )
53 IS
54
55
56 BEGIN
57 --Null out the method,as part of 12.2 Document Management Deprecation
58 x_return_status := FND_API.G_RET_STS_SUCCESS ;
59 x_msg_count := 0;
60 x_msg_data := NULL ;
61
62 END Change_Doc_LC_Phase;
63
64
65 Procedure Update_Approval_Status
66 ( p_api_version IN NUMBER --
67 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE --
68 ,p_commit IN VARCHAR2 := FND_API.G_FALSE --
69 ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
70 ,p_change_id IN NUMBER
71 ,p_approval_status IN NUMBER
72 ,p_wf_route_status IN VARCHAR2
73 ,p_api_caller IN VARCHAR2
74 ,x_return_status OUT NOCOPY VARCHAR2 --
75 ,x_msg_count OUT NOCOPY NUMBER --
76 ,x_msg_data OUT NOCOPY VARCHAR2
77 )
78 IS
79
80
81 BEGIN
82 --Null out the method,as part of 12.2 Document Management Deprecation
83 x_return_status := FND_API.G_RET_STS_SUCCESS ;
84 x_msg_count := 0;
85 x_msg_data := NULL ;
86
87 END Update_Approval_Status;
88
89
90
91
92 --
93 -- Start DOC LC Phase Workflow to integrate CM Worklfow
94 -- This API is called when starting Doc LC Phase Workflow
95 -- We can put validation logic here
96 --
97 Procedure Start_Doc_LC_Phase_WF
98 ( p_api_version IN NUMBER --
99 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE --
100 ,p_commit IN VARCHAR2 := FND_API.G_FALSE --
101 ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
102 ,x_return_status OUT NOCOPY VARCHAR2 --
103 ,x_msg_count OUT NOCOPY NUMBER --
104 ,x_msg_data OUT NOCOPY VARCHAR2
105 ,p_change_id IN NUMBER
106 ,p_route_id IN NUMBER
107 ,p_lc_phase_code IN NUMBER := NULL
108 ,p_api_caller IN VARCHAR2
109 )
110 IS
111
112 BEGIN
113 --Null out the method,as part of 12.2 Document Management Deprecation
114 x_return_status := FND_API.G_RET_STS_SUCCESS ;
115 x_msg_count := 0;
116 x_msg_data := NULL ;
117
118 END Start_Doc_LC_Phase_WF ;
119
120
121 --
122 --
123 -- Abort DOC LC Phase Workflow to integrate CM Worklfow
124 -- This API is called when starting Doc LC Phase Workflow
125 -- We can put validation logic here
126 --
127 Procedure Abort_Doc_LC_Phase_WF
128 ( p_api_version IN NUMBER --
129 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE --
130 ,p_commit IN VARCHAR2 := FND_API.G_FALSE --
131 ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
132 ,x_return_status OUT NOCOPY VARCHAR2 --
133 ,x_msg_count OUT NOCOPY NUMBER --
134 ,x_msg_data OUT NOCOPY VARCHAR2
135 ,p_change_id IN NUMBER
136 ,p_route_id IN NUMBER
137 ,p_lc_phase_code IN NUMBER := NULL
138 ,p_api_caller IN VARCHAR2
139 )
140 IS
141
142
143 BEGIN
144 --Null out the method,as part of 12.2 Document Management Deprecation
145 x_return_status := FND_API.G_RET_STS_SUCCESS ;
146 x_msg_count := 0;
147 x_msg_data := NULL ;
148
149 END Abort_Doc_LC_Phase_WF ;
150
151
152
153
154 -- -----------------------------------------------------------------------------
155 -- API Name: Generate_Seq_For_Doc_Category
156 --
157 -- Description:
158 -- Create sequences for Document categories for Number and Revision generation
159 -- -----------------------------------------------------------------------------
160 PROCEDURE Generate_Seq_For_Doc_Category (
161 p_doc_category_id IN NUMBER
162 ,p_seq_start_num IN NUMBER
163 ,p_seq_increment_by IN NUMBER
164 ,x_return_status OUT NOCOPY VARCHAR2
165 ,x_errorcode OUT NOCOPY NUMBER
166 ,x_msg_count OUT NOCOPY NUMBER
167 ,x_msg_data OUT NOCOPY VARCHAR2
168 ,p_num_rev_type IN VARCHAR2
169 )IS
170
171
172 BEGIN
173
174 --Null out the method,as part of 12.2 Document Management Deprecation
175 x_return_status := FND_API.G_RET_STS_SUCCESS ;
176 x_msg_count := 0;
177 x_msg_data := NULL ;
178
179 END Generate_Seq_For_Doc_Category;
180
181 ----------------------------------------------------------------------
182 -- -----------------------------------------------------------------------------
183 -- API Name: Drop_Sequence_For_Category
184 --
185 -- Description:
186 -- Drops the Sequence For Number Generation or Revision Generation
187 -- -----------------------------------------------------------------------------
188 PROCEDURE Drop_Sequence_For_Category (
189 p_doc_category_seq_name IN VARCHAR2
190 ,x_return_status OUT NOCOPY VARCHAR2
191 ,x_errorcode OUT NOCOPY NUMBER
192 ,x_msg_count OUT NOCOPY NUMBER
193 ,x_msg_data OUT NOCOPY VARCHAR2)
194 IS
195
196 BEGIN
197 --Null out the method,as part of 12.2 Document Management Deprecation
198 x_return_status := FND_API.G_RET_STS_SUCCESS ;
199 x_msg_count := 0;
200 x_msg_data := NULL ;
201
202 END Drop_Sequence_For_Category;
203 --------------------------------------------------------------------------------------
204
205 -- API Name: GET_DOC_NUM_SCHEME
206 --
207 -- Description:
208 -- to get effective num generation scheme
209 -- -----------------------------------------------------------------------------
210 FUNCTION GET_DOC_NUM_SCHEME
211 ( P_CATEGORY_ID IN NUMBER
212 ) RETURN VARCHAR2
213 IS
214
215 BEGIN
216 RETURN null;
217
218 END GET_DOC_NUM_SCHEME;
219 --------------------------------------------------------------------------------------
220 -- -----------------------------------------------------------------------------
221 -- API Name: rowtocol
222 -- Srinivas Chintamani
223 -- Description:
224 -- Generic function to convert rows returned by arbitrary SQL into
225 -- a list using the passed in seperator character.
226 -- -----------------------------------------------------------------------------
227 FUNCTION rowtocol
228 ( p_slct IN VARCHAR2,
229 p_dlmtr IN VARCHAR2 DEFAULT ','
230 ) RETURN VARCHAR2 is
231
232 /*
233 1) Column should be character type.
234 2) If it is non-character type, column has to be converted into character type.
235 3) If the returned rows should in a specified order, put that ORDER BY CLASS in the SELECT statement argument.
236 4) If the SQL statement happened to return duplicate values, and if you don't want that to happen, put DISTINCT in the SELECT statement argument.
237 */
238
239 TYPE c_refcur IS REF CURSOR;
240 lc_str VARCHAR2(4000);
241 lc_colval VARCHAR2(4000);
242 c_dummy c_refcur;
243 l number;
244
245 BEGIN
246 OPEN c_dummy FOR p_slct;
247 LOOP
248 FETCH c_dummy INTO lc_colval;
249 EXIT WHEN c_dummy%NOTFOUND;
250 lc_str := lc_str || p_dlmtr || lc_colval;
251 END LOOP;
252
253 CLOSE c_dummy;
254 RETURN SUBSTR(lc_str,2);
255
256 EXCEPTION
257 WHEN OTHERS THEN
258 lc_str := SQLERRM;
259 IF c_dummy%ISOPEN THEN
260 CLOSE c_dummy;
261 END IF;
262 RETURN lc_str;
263 END rowtocol;
264 --------------------------------------------------------------------------------------
265
266 END DOM_DOCUMENT_UTIL;