DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_DI_PRO_TYPE_ASO_PUB

Source


1 PACKAGE BODY AHL_DI_PRO_TYPE_ASO_PUB AS
2 /* $Header: AHLPPTAB.pls 120.0 2005/05/26 00:07:57 appldev noship $ */
3 --
4 G_PKG_NAME  VARCHAR2(30)  := 'AHL_DI_PRO_TYPE_ASO_PUB';
5 --
6 /*---------------------------------------------------*/
7 /* procedure name: create_doc_type_assoc             */
8 /* description :  Creates new association record     */
9 /*                for doc type and sub type code     */
10 /*                                                   */
11 /*---------------------------------------------------*/
12 --G_DEBUG 		 VARCHAR2(1):=FND_PROFILE.VALUE('AHL_API_FILE_DEBUG_ON');
13   G_DEBUG                VARCHAR2(1)   := AHL_DEBUG_PUB.is_log_enabled;
14 PROCEDURE CREATE_DOC_TYPE_ASSOC
15 (
16  p_api_version               IN     NUMBER    :=  1.0            ,
17  p_init_msg_list             IN     VARCHAR2  := FND_API.G_TRUE  ,
18  p_commit                    IN     VARCHAR2  := FND_API.G_FALSE ,
19  p_validate_only             IN     VARCHAR2  := FND_API.G_TRUE  ,
20  p_validation_level          IN     NUMBER    := FND_API.G_VALID_LEVEL_FULL,
21  p_x_doc_type_assoc_tbl      IN OUT NOCOPY doc_type_assoc_tbl    ,
22  p_module_type               IN     VARCHAR2                     ,
23  x_return_status                OUT NOCOPY VARCHAR2                     ,
24  x_msg_count                    OUT NOCOPY NUMBER                       ,
25  x_msg_data                     OUT NOCOPY VARCHAR2)
26 IS
27 --To retrieve the lookup code
28 CURSOR lookup_code_info(c_lookup_type VARCHAR2,
29                         c_lookup_code VARCHAR2)
30 IS
31 SELECT lookup_code
32   FROM FND_LOOKUP_VALUES_VL
33  WHERE lookup_type = c_lookup_type
34    AND lookup_code = c_lookup_code
35    AND sysdate between start_date_active
36    AND nvl(end_date_active,sysdate);
37 --To retrieve the lookup code
38 CURSOR lookup_code_value(c_lookup_type VARCHAR2,
39                          c_meaning VARCHAR2)
40 IS
41  SELECT lookup_code
42     FROM FND_LOOKUP_VALUES_VL
43   WHERE lookup_type = c_lookup_type
44     AND meaning     = c_meaning
45     AND sysdate between start_date_active
46     AND nvl(end_date_active,sysdate);
47 --
48  l_api_name     CONSTANT VARCHAR2(30) := 'CREATE_DOC_TYPE_ASSOC';
49  l_api_version  CONSTANT NUMBER       := 1.0;
50  l_num_rec               NUMBER;
51  l_msg_count             NUMBER;
52  l_msg_data              VARCHAR2(2000);
53  l_return_status         VARCHAR2(1);
54  l_doc_type_code         VARCHAR2(30);
55  l_doc_sub_type_code     VARCHAR2(30);
56  l_doc_type              VARCHAR2(30)  := 'AHL_DOC_TYPE';
57  l_sub_type              VARCHAR2(30)  := 'AHL_DOC_SUB_TYPE';
58  l_doc_type_assoc_tbl    AHL_DI_PRO_TYPE_ASO_PVT.doc_type_assoc_tbl;
59  l_init_msg_list          VARCHAR2(10) := FND_API.G_TRUE;
60 
61 
62 
63 BEGIN
64     -- Standard Start of API savepoint
65     SAVEPOINT create_doc_type_assoc;
66    -- Check if API is called in debug mode. If yes, enable debug.
67    IF G_DEBUG='Y' THEN
68 		  AHL_DEBUG_PUB.enable_debug;
69 
70 	END IF;
71    -- Debug info.
72    IF G_DEBUG='Y' THEN
73        IF G_DEBUG='Y' THEN
74 		  AHL_DEBUG_PUB.debug( 'enter ahl_di_pro_type_aso_pub.Create Doc Type','+DOCTY+');
75 
76 	END IF;
77     END IF;
78     -- Standard call to check for call compatibility.
79     IF FND_API.to_boolean(l_init_msg_list)
80     THEN
81        FND_MSG_PUB.initialize;
82     END IF;
83     --  Initialize API return status to success
84     x_return_status := 'S';
85     -- Initialize message list if p_init_msg_list is set to TRUE.
86     IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
87                                        p_api_version,
88                                        l_api_name,G_PKG_NAME)
89     THEN
90         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
91     END IF;
92     --Start of API Body
93    IF p_x_doc_type_assoc_tbl.count > 0
94    THEN
95      FOR i IN p_x_doc_type_assoc_tbl.FIRST..p_x_doc_type_assoc_tbl.LAST
96      LOOP
97        -- Module Type is 'JSP' then make it null
98        IF (p_module_type = 'JSP') THEN
99           p_x_doc_type_assoc_tbl(i).doc_sub_type_code := null;
100        END IF;
101 
102        -- For Doc Type Code, Description presents
103        IF p_x_doc_type_assoc_tbl(i).doc_type_desc IS NOT NULL
104          THEN
105            OPEN lookup_code_value(l_doc_type,
106                                   p_x_doc_type_assoc_tbl(i).doc_type_desc);
107            FETCH lookup_code_value INTO l_doc_type_code;
108            IF lookup_code_value%NOTFOUND
109            THEN
110             FND_MESSAGE.SET_NAME('AHL','AHL_DI_DOC_TYPE_CODE_NOT_EXIST');
111             FND_MSG_PUB.ADD;
112            ELSE
113            l_doc_type_assoc_tbl(i).doc_type_code := l_doc_type_code;
114            END IF;
115            CLOSE lookup_code_value;
116        END IF;
117        -- Doc Type Code Presents
118        IF p_x_doc_type_assoc_tbl(i).doc_type_code IS NOT NULL
119           THEN
120            l_doc_type_assoc_tbl(i).doc_type_code := p_x_doc_type_assoc_tbl(i).doc_type_code;
121        --Both missing
122        ELSE
123             FND_MESSAGE.SET_NAME('AHL','AHL_DI_DOC_TYPE_CODE_NULL');
124             FND_MSG_PUB.ADD;
125       END IF;
126 
127        --For Sub Type Code
128        IF p_x_doc_type_assoc_tbl(i).doc_sub_type_desc IS NOT NULL
129           THEN
130             OPEN lookup_code_value(l_sub_type,
131                                    p_x_doc_type_assoc_tbl(i).doc_sub_type_desc);
132             FETCH lookup_code_value INTO l_doc_sub_type_code;
133             IF lookup_code_value%NOTFOUND
134             THEN
135              FND_MESSAGE.SET_NAME('AHL','AHL_DI_DOC_SUB_CODE_NOT_EXIST');
136              FND_MESSAGE.SET_TOKEN('SUBTYPE',p_x_doc_type_assoc_tbl(i).doc_sub_type_desc);
137              FND_MSG_PUB.ADD;
138              ELSE
139              l_doc_type_assoc_tbl(i).doc_sub_type_code := l_doc_sub_type_code;
140              END IF;
141             CLOSE lookup_code_value;
142         --Sub Type Code is available
143         ELSIF p_x_doc_type_assoc_tbl(i).doc_sub_type_code IS NOT NULL
144            THEN
145             l_doc_type_assoc_tbl(i).doc_sub_type_code := p_x_doc_type_assoc_tbl(i).doc_sub_type_code;
146           -- If both missing
147          ELSE
148             FND_MESSAGE.SET_NAME('AHL','AHL_DI_DOC_SUB_TYPE_CODE_NULL');
149             FND_MSG_PUB.ADD;
150       END IF;
151 
152         l_doc_type_assoc_tbl(i).document_sub_type_id := p_x_doc_type_assoc_tbl(i).document_sub_type_id;
153         l_doc_type_assoc_tbl(i).attribute_category   := p_x_doc_type_assoc_tbl(i).attribute_category;
154         l_doc_type_assoc_tbl(i).attribute1           := p_x_doc_type_assoc_tbl(i).attribute1;
155         l_doc_type_assoc_tbl(i).attribute2           := p_x_doc_type_assoc_tbl(i).attribute2;
156         l_doc_type_assoc_tbl(i).attribute3           := p_x_doc_type_assoc_tbl(i).attribute3;
157         l_doc_type_assoc_tbl(i).attribute4           := p_x_doc_type_assoc_tbl(i).attribute4;
158         l_doc_type_assoc_tbl(i).attribute5           := p_x_doc_type_assoc_tbl(i).attribute5;
159         l_doc_type_assoc_tbl(i).attribute6           := p_x_doc_type_assoc_tbl(i).attribute6;
160         l_doc_type_assoc_tbl(i).attribute7           := p_x_doc_type_assoc_tbl(i).attribute7;
161         l_doc_type_assoc_tbl(i).attribute8           := p_x_doc_type_assoc_tbl(i).attribute8;
162         l_doc_type_assoc_tbl(i).attribute9           := p_x_doc_type_assoc_tbl(i).attribute9;
163         l_doc_type_assoc_tbl(i).attribute10          := p_x_doc_type_assoc_tbl(i).attribute10;
164         l_doc_type_assoc_tbl(i).attribute11          := p_x_doc_type_assoc_tbl(i).attribute11;
165         l_doc_type_assoc_tbl(i).attribute12          := p_x_doc_type_assoc_tbl(i).attribute12;
166         l_doc_type_assoc_tbl(i).attribute13          := p_x_doc_type_assoc_tbl(i).attribute13;
167         l_doc_type_assoc_tbl(i).attribute14          := p_x_doc_type_assoc_tbl(i).attribute14;
168         l_doc_type_assoc_tbl(i).attribute15          := p_x_doc_type_assoc_tbl(i).attribute15;
169         l_doc_type_assoc_tbl(i).delete_flag          := p_x_doc_type_assoc_tbl(i).delete_flag;
170         l_doc_type_assoc_tbl(i).object_version_number := p_x_doc_type_assoc_tbl(i).object_version_number;
171      --Standard check for messages
172      l_msg_count := FND_MSG_PUB.count_msg;
173 
174      IF l_msg_count > 0 THEN
175         X_msg_count := l_msg_count;
176       IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
177       THEN
178          X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
179          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
180       ELSE
181         X_return_status := FND_API.G_RET_STS_ERROR;
182         RAISE FND_API.G_EXC_ERROR;
183       END IF;
184      END IF;
185    END LOOP;
186   END IF;
187 
188 
189 /*------------------------------------------------------------------------- */
190 /* procedure name:	AHL_DI_PRO_TYPE_ASO_CUHK.Create_Doc_Type_Assoc_PRE  */
191 /*			AHL_DI_PRO_TYPE_ASO_VUHK.Create_Doc_Type_Assoc_PRE  */
192 /* description   :  	Added by Siddhartha to call User Hooks    	    */
193 /*      Date     : 	Dec 20 2001                                         */
194 /*--------------------------------------------------------------------------*/
195 
196 
197 IF   JTF_USR_HKS.Ok_to_Execute( 'AHL_DI_PRO_TYPE_ASO_PUB','CREATE_DOC_TYPE_ASSOC',
198 					'B', 'C' )  then
199    IF G_DEBUG='Y' THEN
200 		  AHL_DEBUG_PUB.debug( 'Start AHL_DI_PRO_TYPE_ASO_CUHK.Create_Doc_Type_Assoc_PRE');
201 
202 	END IF;
203 
204 AHL_DI_PRO_TYPE_ASO_CUHK.Create_Doc_Type_Assoc_PRE
205 (
206 	 p_x_doc_type_assoc_tbl      =>	l_doc_type_assoc_tbl ,
207 	 x_return_status             =>	l_return_status,
208 	 x_msg_count                 =>	l_msg_count   ,
209 	 x_msg_data                  =>	l_msg_data
210 );
211 
212    IF G_DEBUG='Y' THEN
213 		  AHL_DEBUG_PUB.debug( 'End AHL_DI_PRO_TYPE_ASO_CUHK.Create_Doc_Type_Assoc_PRE');
214 
215 	END IF;
216 
217   	     		IF   l_return_status = FND_API.G_RET_STS_ERROR  THEN
218     			RAISE FND_API.G_EXC_ERROR;
219              	ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR  THEN
220 			RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
221 		END IF;
222 END IF;
223 
224 IF   JTF_USR_HKS.Ok_to_Execute( 'AHL_DI_PRO_TYPE_ASO_PUB','CREATE_DOC_TYPE_ASSOC',
225 					'B', 'V' )  then
226    IF G_DEBUG='Y' THEN
227 		  AHL_DEBUG_PUB.debug( 'Start AHL_DI_PRO_TYPE_ASO_VUHK.Create_Doc_Type_Assoc_PRE');
228 
229 	END IF;
230 
231             AHL_DI_PRO_TYPE_ASO_VUHK.Create_Doc_Type_Assoc_PRE(
232 			p_x_doc_type_assoc_tbl  =>	l_doc_type_assoc_tbl,
233 			X_RETURN_STATUS        	=>	l_return_status       ,
234 			X_MSG_COUNT            	=>	l_msg_count           ,
235 			X_MSG_DATA             	=>	l_msg_data  );
236 
237 IF G_DEBUG='Y' THEN
238 		  AHL_DEBUG_PUB.debug( 'End AHL_DI_PRO_TYPE_ASO_VUHK.Create_Doc_Type_Assoc_PRE');
239 
240 	END IF;
241 
242       		IF   l_return_status = FND_API.G_RET_STS_ERROR  THEN
243     			RAISE FND_API.G_EXC_ERROR;
244              	ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR  THEN
245 			RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
246 		END IF;
247 
248 END IF;
249 
250 
251 /*---------------------------------------------------------*/
252 /*     End ; Date     : Dec 20 2001                        */
253 /*---------------------------------------------------------*/
254 
255 
256   -- Call the Private API
257    AHL_DI_PRO_TYPE_ASO_PVT.CREATE_DOC_TYPE_ASSOC
258        (
259         p_api_version          => 1.0,
260         p_init_msg_list        => l_init_msg_list,
261         p_commit               => p_commit,
262         p_validate_only        => p_validate_only,
263         p_validation_level     => p_validation_level,
264         p_x_doc_type_assoc_tbl => l_doc_type_assoc_tbl,
265         x_return_status        => l_return_status,
266         x_msg_count            => l_msg_count,
267         x_msg_data             => l_msg_data
268         );
269 
270    -- Standard check for messages assigns out variable
271    l_msg_count := FND_MSG_PUB.count_msg;
272 
273    IF l_msg_count > 0 THEN
274       X_msg_count := l_msg_count;
275       IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
276       THEN
277          X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
278          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279       ELSE
280         X_return_status := FND_API.G_RET_STS_ERROR;
281         RAISE FND_API.G_EXC_ERROR;
282       END IF;
283    ELSE
284      FOR i IN 1..l_doc_type_assoc_tbl.COUNT
285      LOOP
286         p_x_doc_type_assoc_tbl(i).document_sub_type_id := l_doc_type_assoc_tbl(i).document_sub_type_id;
287      END LOOP;
288    END IF;
289 
290 
291 /*-----------------------------------------------------------------------------	*/
292 /* procedure name: AHL_DI_PRO_TYPE_ASO_VUHK.Create_Doc_Type_Assoc_POST		*/
293 /*		   AHL_DI_PRO_TYPE_ASO_CUHK.Create_Doc_Type_Assoc_POST		*/
294 /*        									*/
295 /* description   :  Added by siddhartha to call User Hooks   			*/
296 /*      Date     : Dec 20 2001                             			*/
297 /*------------------------------------------------------------------------------*/
298 
299 
300 
301 IF   JTF_USR_HKS.Ok_to_Execute( 'AHL_DI_PRO_TYPE_ASO_PUB','CREATE_DOC_TYPE_ASSOC',
302 					'A', 'V' )  then
303    IF G_DEBUG='Y' THEN
304 		  AHL_DEBUG_PUB.debug( 'Start AHL_DI_PRO_TYPE_ASO_VUHK.Create_Doc_Type_Assoc_POST');
305 
306 	END IF;
307 
308             AHL_DI_PRO_TYPE_ASO_VUHK.Create_Doc_Type_Assoc_POST(
309 		 p_doc_type_assoc_tbl   	=>	l_doc_type_assoc_tbl,
310 			X_RETURN_STATUS        	=>	l_return_status      ,
311 			X_MSG_COUNT            	=>	l_msg_count           ,
312 			X_MSG_DATA             	=>	l_msg_data  );
313 
314    IF G_DEBUG='Y' THEN
318 
315 		  AHL_DEBUG_PUB.debug( 'End AHL_DI_PRO_TYPE_ASO_VUHK.Create_Doc_Type_Assoc_POST');
316 
317 	END IF;
319       		IF   l_return_status = FND_API.G_RET_STS_ERROR  THEN
320     			RAISE FND_API.G_EXC_ERROR;
321              	ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR  THEN
322 			RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
323 		END IF;
324 
325 
326 END IF;
327 
328 IF   JTF_USR_HKS.Ok_to_Execute( 'AHL_DI_PRO_TYPE_ASO_PUB','CREATE_DOC_TYPE_ASSOC',
329 					'A', 'C' )  then
330    IF G_DEBUG='Y' THEN
331 		  AHL_DEBUG_PUB.debug( 'Start AHL_DI_PRO_TYPE_ASO_CUHK.Create_Doc_Type_Assoc_POST');
332 
333 	END IF;
334 
335               AHL_DI_PRO_TYPE_ASO_CUHK.Create_Doc_Type_Assoc_POST(
336 
337 			p_doc_type_assoc_tbl    =>	l_doc_type_assoc_tbl,
338 			X_RETURN_STATUS        	=>	l_return_status      ,
339 			X_MSG_COUNT            	=>	l_msg_count           ,
340 			X_MSG_DATA             	=>	l_msg_data  );
341 
342    IF G_DEBUG='Y' THEN
343 		  AHL_DEBUG_PUB.debug( 'End AHL_DI_PRO_TYPE_ASO_CUHK.Create_Doc_Type_Assoc_POST');
344 
345 	END IF;
346 
347       		IF   l_return_status = FND_API.G_RET_STS_ERROR  THEN
348     			RAISE FND_API.G_EXC_ERROR;
349              	ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR  THEN
350 			RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
351 		END IF;
352 
353 END IF;
354 
355 /*---------------------------------------------------------*/
356 /*     End ; Date     : Dec 20 2001                        */
357 /*---------------------------------------------------------*/
358 
359 
360   --Standard check for commit
361    IF FND_API.TO_BOOLEAN(p_commit) THEN
362       COMMIT;
363    END IF;
364    -- Debug info
365    IF G_DEBUG='Y' THEN
366 		  AHL_DEBUG_PUB.debug( 'End of public api Create Doc Type','+DOCTY+');
367 
368 	END IF;
369    -- Check if API is called in debug mode. If yes, disable debug.
370    IF G_DEBUG='Y' THEN
371 		  AHL_DEBUG_PUB.disable_debug;
372 
373 	END IF;
374 
375 EXCEPTION
376  WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
377     ROLLBACK TO create_doc_type_assoc;
378     X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
379     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
380                                p_count => x_msg_count,
381                                p_data  => x_msg_data);
382         IF G_DEBUG='Y' THEN
383             AHL_DEBUG_PUB.log_app_messages (x_msg_count, x_msg_data, 'ERROR' );
384             AHL_DEBUG_PUB.debug( 'ahl_di_pro_type_aso_pub.Create Doc Type','+DOCTY+');
385 
386 
387         -- Check if API is called in debug mode. If yes, disable debug.
388            AHL_DEBUG_PUB.disable_debug;
389 
390 	END IF;
391 
392  WHEN FND_API.G_EXC_ERROR THEN
393     ROLLBACK TO create_doc_type_assoc;
394     X_return_status := FND_API.G_RET_STS_ERROR;
395     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
396                                p_count => x_msg_count,
397                                p_data  => X_msg_data);
398         -- Debug info.
399         IF G_DEBUG='Y' THEN
400             AHL_DEBUG_PUB.log_app_messages (x_msg_count, x_msg_data, 'UNEXPECTED ERROR' );
401             AHL_DEBUG_PUB.debug( 'ahl_di_pro_type_aso_pub.Create Doc Type','+DOCTY+');
402 
403         -- Check if API is called in debug mode. If yes, disable debug.
404            AHL_DEBUG_PUB.disable_debug;
405 
406 	END IF;
407 
408  WHEN OTHERS THEN
409     ROLLBACK TO create_doc_type_assoc;
410     X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
411     IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
412     THEN
413     fnd_msg_pub.add_exc_msg(p_pkg_name        =>  'AHL_DI_PRO_TYPE_ASO_PUB',
414                             p_procedure_name  =>  'CREATE_DOC_TYPE_ASSOC',
415                             p_error_text      => SUBSTR(SQLERRM,1,240));
416     END IF;
417     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
418                                p_count => x_msg_count,
419                                p_data  => X_msg_data);
420 
421         -- Debug info.
422         IF G_DEBUG='Y' THEN
423             AHL_DEBUG_PUB.log_app_messages (x_msg_count, x_msg_data, 'SQL ERROR' );
424             AHL_DEBUG_PUB.debug( 'ahl_di_pro_type_aso_pub.Create Doc Type','+DOCTY+');
425 
426 
427         -- Check if API is called in debug mode. If yes, disable debug.
428             AHL_DEBUG_PUB.disable_debug;
429 
430 	END IF;
431 
432 END CREATE_DOC_TYPE_ASSOC;
433 
434 /*---------------------------------------------------*/
435 /* procedure name: modify_doc_type_assoc             */
436 /* description :  Updates the existing association   */
437 /*                record, and removes as well        */
438 /*                                                   */
439 /*---------------------------------------------------*/
440 PROCEDURE MODIFY_DOC_TYPE_ASSOC
441 (
442  p_api_version               IN     NUMBER    :=  1.0              ,
443  p_init_msg_list             IN     VARCHAR2  := FND_API.G_TRUE    ,
444  p_commit                    IN     VARCHAR2  := FND_API.G_FALSE   ,
445  p_validate_only             IN     VARCHAR2  := FND_API.G_TRUE    ,
446  p_validation_level          IN     NUMBER    := FND_API.G_VALID_LEVEL_FULL,
450  x_msg_count                    OUT NOCOPY NUMBER                         ,
447  p_x_doc_type_assoc_tbl      IN OUT NOCOPY doc_type_assoc_tbl      ,
448  p_module_type               IN     VARCHAR2                       ,
449  x_return_status                OUT NOCOPY VARCHAR2                       ,
451  x_msg_data                     OUT NOCOPY VARCHAR2
452 )
453 IS
454 CURSOR lookup_code_info(c_lookup_type VARCHAR2,
455                         c_lookup_code VARCHAR2)
456  IS
457 SELECT lookup_code
458   FROM FND_LOOKUP_VALUES_VL
459  WHERE lookup_type = c_lookup_type
460    AND lookup_code = c_lookup_code
461    AND sysdate between start_date_active
462    AND nvl(end_date_active,sysdate);
463 -- To retrieve lookup code
464 CURSOR lookup_code_value(c_lookup_type VARCHAR2,
465                          c_meaning VARCHAR2)
466  IS
467  SELECT lookup_code
468     FROM FND_LOOKUP_VALUES_VL
469   WHERE lookup_type = c_lookup_type
470     AND meaning     = c_meaning
471     AND sysdate between start_date_active
472     AND nvl(end_date_active,sysdate);
473 
474  l_api_name     CONSTANT VARCHAR2(30) := 'MODIFY_DOC_TYPE_ASSOC';
475  l_api_version  CONSTANT NUMBER       := 1.0;
476  l_num_rec               NUMBER;
477  l_msg_count             NUMBER;
478  l_msg_data              VARCHAR2(2000);
479  l_return_status         VARCHAR2(1);
480  l_doc_type_code         VARCHAR2(30);
481  l_doc_sub_type_code     VARCHAR2(30);
482  l_doc_type              VARCHAR2(30)  := 'AHL_DOC_TYPE';
483  l_sub_type              VARCHAR2(30)  := 'AHL_DOC_SUB_TYPE';
484  l_doc_type_assoc_tbl    AHL_DI_PRO_TYPE_ASO_PVT.doc_type_assoc_tbl;
485  l_init_msg_list          VARCHAR2(10) := FND_API.G_TRUE;
486 
487 
488 
489 BEGIN
490    -- Standard Start of API savepoint
491    SAVEPOINT modify_doc_type_assoc;
492    -- Check if API is called in debug mode. If yes, enable debug.
493    IF G_DEBUG='Y' THEN
494 		  AHL_DEBUG_PUB.enable_debug;
495 
496 	END IF;
497    -- Debug info.
498    IF G_DEBUG='Y' THEN
499        IF G_DEBUG='Y' THEN
500 		  AHL_DEBUG_PUB.debug( 'enter ahl_di_pro_type_aso_pub.Modify Doc Type','+DOCTY+');
501 
502 	END IF;
503     END IF;
504    -- Standard call to check for call compatibility.
505    IF FND_API.to_boolean(l_init_msg_list)
506    THEN
507      FND_MSG_PUB.initialize;
508    END IF;
509    --  Initialize API return status to success
510     x_return_status := 'S';
511    -- Initialize message list if p_init_msg_list is set to TRUE.
512    IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
513                                       p_api_version,
514                                       l_api_name,G_PKG_NAME)
515    THEN
516        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517    END IF;
518    --Start of API Body
519    IF p_x_doc_type_assoc_tbl.count > 0
520    THEN
521      FOR i IN p_x_doc_type_assoc_tbl.FIRST..p_x_doc_type_assoc_tbl.LAST
522      LOOP
523        -- If module type is 'JSP' then make it null
524        IF (p_module_type = 'JSP') THEN
525           p_x_doc_type_assoc_tbl(i).doc_type_desc := null;
526           p_x_doc_type_assoc_tbl(i).doc_sub_type_code := null;
527        END IF;
528        -- For Doc Type Code
529        IF p_x_doc_type_assoc_tbl(i).doc_type_code IS NOT NULL
530          THEN
531            OPEN lookup_code_info(l_doc_type,
532                                   p_x_doc_type_assoc_tbl(i).doc_type_code);
533            FETCH lookup_code_info INTO l_doc_type_code;
534            IF lookup_code_info%NOTFOUND
535            THEN
536             FND_MESSAGE.SET_NAME('AHL','AHL_DI_DOC_TYPE_CODE_NOT_EXIST');
537             FND_MSG_PUB.ADD;
538            ELSE
539            l_doc_type_assoc_tbl(i).doc_type_code := l_doc_type_code;
540            END IF;
541            CLOSE lookup_code_info;
542           -- Code is missing
543          ELSE
544            l_doc_type_assoc_tbl(i).doc_type_code := p_x_doc_type_assoc_tbl(i).doc_type_code;
545         END IF;
546 
547         --For Doc Sub Type
548         IF p_x_doc_type_assoc_tbl(i).doc_sub_type_desc IS NOT NULL
549           THEN
550             OPEN lookup_code_value(l_sub_type,
551                                    p_x_doc_type_assoc_tbl(i).doc_sub_type_desc);
552             FETCH lookup_code_value INTO l_doc_sub_type_code;
553             IF lookup_code_value%NOTFOUND
554             THEN
555              FND_MESSAGE.SET_NAME('AHL','AHL_DI_DOC_SUB_CODE_NOT_EXIST');
556              FND_MESSAGE.SET_TOKEN('SUBTYPE',p_x_doc_type_assoc_tbl(i).doc_sub_type_desc);
557              FND_MSG_PUB.ADD;
558             ELSE
559             l_doc_type_assoc_tbl(i).doc_sub_type_code := l_doc_sub_type_code;
560             END IF;
561             CLOSE lookup_code_value;
562             -- If Sub type desc missing
563          ELSIF p_x_doc_type_assoc_tbl(i).doc_sub_type_code IS NOT NULL
564              THEN
565             l_doc_type_assoc_tbl(i).doc_sub_type_code := p_x_doc_type_assoc_tbl(i).doc_sub_type_code;
566         ELSE
567             FND_MESSAGE.SET_NAME('AHL','AHL_DI_DOC_SUB_TYPE_CODE_NULL');
568             FND_MSG_PUB.ADD;
569         END IF;
570         --
571         l_doc_type_assoc_tbl(i).document_sub_type_id := p_x_doc_type_assoc_tbl(i).document_sub_type_id;
575         l_doc_type_assoc_tbl(i).attribute3           := p_x_doc_type_assoc_tbl(i).attribute3;
572         l_doc_type_assoc_tbl(i).attribute_category   := p_x_doc_type_assoc_tbl(i).attribute_category;
573         l_doc_type_assoc_tbl(i).attribute1           := p_x_doc_type_assoc_tbl(i).attribute1;
574         l_doc_type_assoc_tbl(i).attribute2           := p_x_doc_type_assoc_tbl(i).attribute2;
576         l_doc_type_assoc_tbl(i).attribute4           := p_x_doc_type_assoc_tbl(i).attribute4;
577         l_doc_type_assoc_tbl(i).attribute5           := p_x_doc_type_assoc_tbl(i).attribute5;
578         l_doc_type_assoc_tbl(i).attribute6           := p_x_doc_type_assoc_tbl(i).attribute6;
579         l_doc_type_assoc_tbl(i).attribute7           := p_x_doc_type_assoc_tbl(i).attribute7;
580         l_doc_type_assoc_tbl(i).attribute8           := p_x_doc_type_assoc_tbl(i).attribute8;
581         l_doc_type_assoc_tbl(i).attribute9           := p_x_doc_type_assoc_tbl(i).attribute9;
582         l_doc_type_assoc_tbl(i).attribute10          := p_x_doc_type_assoc_tbl(i).attribute10;
583         l_doc_type_assoc_tbl(i).attribute11          := p_x_doc_type_assoc_tbl(i).attribute11;
584         l_doc_type_assoc_tbl(i).attribute12          := p_x_doc_type_assoc_tbl(i).attribute12;
585         l_doc_type_assoc_tbl(i).attribute13          := p_x_doc_type_assoc_tbl(i).attribute13;
586         l_doc_type_assoc_tbl(i).attribute14          := p_x_doc_type_assoc_tbl(i).attribute14;
587         l_doc_type_assoc_tbl(i).attribute15          := p_x_doc_type_assoc_tbl(i).attribute15;
588         l_doc_type_assoc_tbl(i).delete_flag          := p_x_doc_type_assoc_tbl(i).delete_flag;
589         l_doc_type_assoc_tbl(i).object_version_number := p_x_doc_type_assoc_tbl(i).object_version_number;
590    --Standard check for messages
591    l_msg_count := FND_MSG_PUB.count_msg;
592 
593    IF l_msg_count > 0 THEN
594       X_msg_count := l_msg_count;
595       IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
596       THEN
597          X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
598          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
599       ELSE
600         X_return_status := FND_API.G_RET_STS_ERROR;
601         RAISE FND_API.G_EXC_ERROR;
602       END IF;
603    END IF;
604  END LOOP;
605 END IF;
606 
607 
608 
609 /*------------------------------------------------------------------------*/
610 /* procedure name: AHL_DI_PRO_TYPE_ASO_CUHK.MODIFY_DOC_TYPE_ASSOC_PRE     */
611 /*                 AHL_DI_PRO_TYPE_ASO_VUHK.MODIFY_DOC_TYPE_ASSOC_PRE     */
612 /* description   :  Added by siddhartha to call User Hooks                */
613 /* Date     : Dec 20 2001                                                 */
614 /*------------------------------------------------------------------------*/
615 
616 
617 IF   JTF_USR_HKS.Ok_to_Execute( 'AHL_DI_PRO_TYPE_ASO_PUB','MODIFY_DOC_TYPE_ASSOC',
618 					'B', 'C' )  then
619    IF G_DEBUG='Y' THEN
620 		  AHL_DEBUG_PUB.debug( 'Start AHL_DI_PRO_TYPE_ASO_CUHK.MODIFY_DOC_TYPE_ASSOC_PRE');
621 
622 	END IF;
623 
624 
625             AHL_DI_PRO_TYPE_ASO_CUHK.MODIFY_DOC_TYPE_ASSOC_PRE(
626 			p_x_doc_type_assoc_tbl =>	l_doc_type_assoc_tbl    ,
627 			X_RETURN_STATUS        	=>	l_return_status        ,
628 			X_MSG_COUNT            	=>	l_msg_count            ,
629 			X_MSG_DATA             	=>	l_msg_data             );
630 
631 IF G_DEBUG='Y' THEN
632 		  AHL_DEBUG_PUB.debug( 'End AHL_DI_PRO_TYPE_ASO_CUHK.MODIFY_DOC_TYPE_ASSOC_PRE');
633 
634 	END IF;
635 
636       		IF   l_return_status = FND_API.G_RET_STS_ERROR  THEN
637     			RAISE FND_API.G_EXC_ERROR;
638              	ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR  THEN
639 			RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
640 		END IF;
641 
642 
643 
644 END IF;
645 
646 IF   JTF_USR_HKS.Ok_to_Execute( 'AHL_DI_PRO_TYPE_ASO_PUB','MODIFY_DOC_TYPE_ASSOC',
647 					'B', 'V' )  then
648    IF G_DEBUG='Y' THEN
649 		  AHL_DEBUG_PUB.debug( 'Start AHL_DI_PRO_TYPE_ASO_VUHK.MODIFY_DOC_TYPE_ASSOC_PRE');
650 
651 	END IF;
652 
653             AHL_DI_PRO_TYPE_ASO_VUHK.MODIFY_DOC_TYPE_ASSOC_PRE(
654 			p_x_doc_type_assoc_tbl =>	l_doc_type_assoc_tbl    ,
655 			X_RETURN_STATUS        	=>	l_return_status        ,
656 			X_MSG_COUNT            	=>	l_msg_count            ,
657 			X_MSG_DATA             	=>	l_msg_data             );
658 
659    IF G_DEBUG='Y' THEN
660 		  AHL_DEBUG_PUB.debug( 'End AHL_DI_PRO_TYPE_ASO_VUHK.MODIFY_DOC_TYPE_ASSOC_PRE');
661 
662 	END IF;
663 
664       		IF   l_return_status = FND_API.G_RET_STS_ERROR  THEN
665     			RAISE FND_API.G_EXC_ERROR;
666              	ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR  THEN
667 			RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
668 		END IF;
669 END IF;
670 
671 /*---------------------------------------------------------*/
672 /*     End ; Date     : Dec 10 2001                        */
673 /*---------------------------------------------------------*/
674 
675 
676 
677   -- Call the Private API
678    AHL_DI_PRO_TYPE_ASO_PVT.MODIFY_DOC_TYPE_ASSOC
679        (
680         p_api_version          => 1.0,
681         p_init_msg_list        => l_init_msg_list,
682         p_commit               => p_commit,
683         p_validate_only        => p_validate_only,
684         p_validation_level     => p_validation_level,
685         p_x_doc_type_assoc_tbl => l_doc_type_assoc_tbl,
686         x_return_status        => l_return_status,
687         x_msg_count            => l_msg_count,
691    l_msg_count := FND_MSG_PUB.count_msg;
688         x_msg_data             => l_msg_data
689         );
690 
692 
693    IF l_msg_count > 0 THEN
694       X_msg_count := l_msg_count;
695       IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
696       THEN
697          X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
698          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
699       ELSE
700         X_return_status := FND_API.G_RET_STS_ERROR;
701         RAISE FND_API.G_EXC_ERROR;
702       END IF;
703    END IF;
704 
705 
706 /*------------------------------------------------------------------------*/
707 /* procedure name: AHL_DI_PRO_TYPE_ASO_VUHK.MODIFY_DOC_TYPE_ASSOC_POST    */
708 /*                 AHL_DI_PRO_TYPE_ASO_CUHK.MODIFY_DOC_TYPE_ASSOC_POST    */
709 /* description   :  Added by siddhartha to call User Hooks                */
710 /* Date     : Dec 20 2001                                                 */
711 /*------------------------------------------------------------------------*/
712 
713 
714 IF   JTF_USR_HKS.Ok_to_Execute( 'AHL_DI_PRO_TYPE_ASO_PUB','MODIFY_DOC_TYPE_ASSOC',
715 					'A', 'V' )  then
716    IF G_DEBUG='Y' THEN
717 		  AHL_DEBUG_PUB.debug( 'Start AHL_DI_PRO_TYPE_ASO_VUHK.MODIFY_DOC_TYPE_ASSOC_POST');
718 
719 	END IF;
720 
721             AHL_DI_PRO_TYPE_ASO_VUHK.MODIFY_DOC_TYPE_ASSOC_POST(
722 
723 			 p_doc_type_assoc_tbl  	=>	l_doc_type_assoc_tbl    ,
724 			X_RETURN_STATUS        	=>	l_return_status        ,
725 			X_MSG_COUNT            	=>	l_msg_count            ,
726 			X_MSG_DATA             	=>	l_msg_data             );
727 
728    IF G_DEBUG='Y' THEN
729 		  AHL_DEBUG_PUB.debug( 'End AHL_DI_PRO_TYPE_ASO_VUHK.MODIFY_DOC_TYPE_ASSOC_POST');
730 
731 	END IF;
732 
733       		IF   l_return_status = FND_API.G_RET_STS_ERROR  THEN
734     			RAISE FND_API.G_EXC_ERROR;
735              	ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR  THEN
736 			RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
737 		END IF;
738 
739 END IF;
740 
741 IF   JTF_USR_HKS.Ok_to_Execute( 'AHL_DI_PRO_TYPE_ASO_PUB','MODIFY_DOC_TYPE_ASSOC',
742 					'A', 'C' )  then
743    IF G_DEBUG='Y' THEN
744 		  AHL_DEBUG_PUB.debug( 'Start AHL_DI_PRO_TYPE_ASO_CUHK.MODIFY_DOC_TYPE_ASSOC_POST');
745 
746 	END IF;
747 
748             AHL_DI_PRO_TYPE_ASO_CUHK.MODIFY_DOC_TYPE_ASSOC_POST(
749 			p_doc_type_assoc_tbl  	=>	l_doc_type_assoc_tbl    ,
750 			X_RETURN_STATUS        	=>	l_return_status        ,
751 			X_MSG_COUNT            	=>	l_msg_count            ,
752 			X_MSG_DATA             	=>	l_msg_data             );
753 
754 IF G_DEBUG='Y' THEN
755 		  AHL_DEBUG_PUB.debug( 'End AHL_DI_PRO_TYPE_ASO_CUHK.MODIFY_DOC_TYPE_ASSOC_POST');
756 
757 	END IF;
758 
759       		IF   l_return_status = FND_API.G_RET_STS_ERROR  THEN
760     			RAISE FND_API.G_EXC_ERROR;
761              	ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR  THEN
762 			RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
763 		END IF;
764 
765 
766 END IF;
767 
768 
769 /*---------------------------------------------------------*/
770 /*     End ; Date     : Dec 20 2001                        */
771 /*---------------------------------------------------------*/
772 
773 
774 
775 
776    --Standard check for commit
777    IF FND_API.TO_BOOLEAN(p_commit) THEN
778       COMMIT;
779    END IF;
780    -- Debug info
781    IF G_DEBUG='Y' THEN
782 		  AHL_DEBUG_PUB.debug( 'End of public api Modify Doc Type','+DOCTY+');
783 
784 	END IF;
785    -- Check if API is called in debug mode. If yes, disable debug.
786    IF G_DEBUG='Y' THEN
787 		  AHL_DEBUG_PUB.disable_debug;
788 
789 	END IF;
790 
791 EXCEPTION
792  WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
793     ROLLBACK TO modify_doc_type_assoc;
794     X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
795     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
796                                p_count => x_msg_count,
797                                p_data  => x_msg_data);
798         IF G_DEBUG='Y' THEN
799             AHL_DEBUG_PUB.log_app_messages (x_msg_count, x_msg_data, 'ERROR' );
800             AHL_DEBUG_PUB.debug( 'ahl_di_pro_type_aso_pub.Modify Doc Type','+DOCTY+');
801 
802 
803         -- Check if API is called in debug mode. If yes, disable debug.
804            AHL_DEBUG_PUB.disable_debug;
805 
806 	END IF;
807 
808  WHEN FND_API.G_EXC_ERROR THEN
809     ROLLBACK TO modify_doc_type_assoc;
810     X_return_status := FND_API.G_RET_STS_ERROR;
811     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
812                                p_count => x_msg_count,
813                                p_data  => X_msg_data);
814         -- Debug info.
815         IF G_DEBUG='Y' THEN
816             AHL_DEBUG_PUB.log_app_messages (x_msg_count, x_msg_data, 'UNEXPECTED ERROR' );
817             AHL_DEBUG_PUB.debug( 'ahl_di_pro_type_aso_pub.Modify Doc Type','+DOCTY+');
818 
819 
820         -- Check if API is called in debug mode. If yes, disable debug.
821            AHL_DEBUG_PUB.disable_debug;
822 
823 	END IF;
824 
825  WHEN OTHERS THEN
826     ROLLBACK TO modify_doc_type_assoc;
827     X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
831                             p_procedure_name  =>  'MODIFY_DOC_TYPE_ASSOC',
828     IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
829     THEN
830     fnd_msg_pub.add_exc_msg(p_pkg_name        =>  'AHL_DI_PRO_TYPE_ASO_PUB',
832                             p_error_text      => SUBSTR(SQLERRM,1,240));
833     END IF;
834     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
835                                p_count => x_msg_count,
836                                p_data  => X_msg_data);
837 
838         -- Debug info.
839         IF G_DEBUG='Y' THEN
840             AHL_DEBUG_PUB.log_app_messages (x_msg_count, x_msg_data, 'SQL ERROR' );
841             AHL_DEBUG_PUB.debug( 'ahl_di_pro_type_aso_pub.Modify Doc Type','+DOCTY+');
842 
843 
844         -- Check if API is called in debug mode. If yes, disable debug.
845            AHL_DEBUG_PUB.disable_debug;
846 
847 	END IF;
848 
849 END MODIFY_DOC_TYPE_ASSOC;
850 
851 END AHL_DI_PRO_TYPE_ASO_PUB;
852