[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;