DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEM_CONCURRENT_DPN_PVT

Source


1 PACKAGE BODY IEM_CONCURRENT_DPN_PVT as
2 /* $Header: iemecdpb.pls 120.2 2005/09/12 22:07:06 liangxia noship $*/
3 
4 G_PKG_NAME CONSTANT varchar2(30) :='IEM_CONCURRENT_DPN_PVT ';
5 
6 PROCEDURE StartProcess(ERRBUF   OUT NOCOPY     		VARCHAR2,
7                        RETCODE  OUT NOCOPY     		VARCHAR2,
8                        p_period_to_wake_up  		NUMBER)
9 IS
10     l_request_id              NUMBER;
11     l_Error_Message           VARCHAR2(2000);
12     l_call_status             BOOLEAN;
13     x_return_status           VARCHAR2(2000);
14     x_msg_count               NUMBER;
15     x_msg_dat                 VARCHAR2(2000);
16 
17     MAIN_WORKER_NOT_SUBMITTED EXCEPTION;
18     REPEAT_OPTIONS_NOT_SET    EXCEPTION;
19     WORKER_NOT_SUBMITTED      EXCEPTION;
20 
21 BEGIN
22 
23     fnd_file.put_line(fnd_file.log, 'p_period_to_wake_up = ' || to_char(p_period_to_wake_up));
24     fnd_file.put_line(fnd_file.log, 'Starting Processing');
25 
26 
27 
28     l_call_status := fnd_request.set_repeat_options('',p_period_to_wake_up,'HOURS','END','');
29 
30 
31     -- IEMECDPS is a wrapper for the call to the workflow notification API
32     l_request_id := fnd_request.submit_request('IEM', 'IEMECDPS', '','',FALSE);
33 
34 
35     if not l_call_status then
36         rollback;
37         raise REPEAT_OPTIONS_NOT_SET;
38     end if;
39 
40     fnd_file.put_line(fnd_file.log, ' Request Id ' || to_char(l_request_id));
41 
42     if l_request_id = 0 then
43         rollback;
44         raise WORKER_NOT_SUBMITTED;
45     else
46         commit;
47     end if;
48 
49     Commit work;
50     fnd_file.put_line(fnd_file.log, 'Controller Exited');
51 
52 EXCEPTION
53 
54         WHEN REPEAT_OPTIONS_NOT_SET THEN
55         FND_MESSAGE.SET_NAME('IEM','IEM_ADM_REPEAT_OPTIONS_NOT_SET');
56         l_Error_Message := FND_MESSAGE.GET;
57         fnd_file.put_line(fnd_file.log, l_Error_Message);
58         l_call_status := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR', l_Error_Message);
59 
60         WHEN WORKER_NOT_SUBMITTED THEN
61         FND_MESSAGE.SET_NAME('IEM','IEM_ADM_WORKER_NOT_SUBMITTED');
62         l_Error_Message := FND_MESSAGE.GET;
63         fnd_file.put_line(fnd_file.log, l_Error_Message);
64         l_call_status := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR', l_Error_Message);
65 
66         WHEN OTHERS THEN
67         FND_MESSAGE.SET_NAME('IEM','IEM_ADM_UNXP_ERROR');
68         l_Error_Message := FND_MESSAGE.GET;
69         fnd_file.put_line(fnd_file.log, l_Error_Message);
70         l_call_status := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR', l_Error_Message);
71 END StartProcess;
72 
73 END IEM_CONCURRENT_DPN_PVT;