DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEM_DP_NOTIFICATION_WF_PUB

Source


1 package body IEM_DP_NOTIFICATION_WF_PUB as
2 /* $Header: iempdpnb.pls 120.4 2006/05/03 15:30:20 rtripath noship $*/
3 
4    /**********************Global Variable Declaration **********************/
5 
6    G_PKG_NAME	varchar2(30):='IEM_DP_NOTIFICATION_WF_PUB';
7 
8 
9 	PROCEDURE 	IEM_START_PROCESS(
10      			WorkflowProcess IN VARCHAR2,
11      			ItemType in VARCHAR2 ,
12 				ItemKey in number)
13 
14 			IS
15 
16           l_proc_name    varchar2(20):='IEM_STARTPROCESS';
17 		  l_ret		number;
18 		  l_ret1		number;
19  		  adhoc_role VARCHAR2(320);
20  		  adhoc_role_name VARCHAR2(360);
21 
22 begin
23 
24            wf_engine.CreateProcess( ItemType => itemtype,
25                     ItemKey  => ItemKey,
26                     process  => WorkflowProcess );
27 
28  			adhoc_role_name := 'Email Center Administor';
29 			adhoc_role := 'IEMDPNTFRECPT'||'-'||TO_CHAR(SYSDATE,'DDMMYYYYHH24MISS');
30 
31  			WF_DIRECTORY.CREATEADHOCROLE(adhoc_role,adhoc_role_name,null,null,null,'MAILHTML',null,null,null,'ACTIVE',sysdate);
32 
33  			wf_engine.SetItemAttrText (itemtype => itemtype,
34           					itemkey  => itemkey,
35          					aname      => 'IEMDPADMIN',
36          				--	avalue     => adhoc_role );
37          					avalue     =>'FND_RESP|IEM|EMAIL_CENTER_SSS|STANDARD' );
38 
39  			-- Set the From field:
40  			WF_ENGINE.SetItemAttrText(itemtype, ItemKey, 'NTFROM', 'FND_RESP|IEM|EMAIL_CENTER_SSS|STANDARD');--'Oracle Email Center'); --FND_GLOBAL.User_Name);
41                 -- invoke an instance of workflow process
42 
43 
44          	wf_engine.StartProcess( itemtype => itemtype,
45          							itemkey    => itemkey );
46 
47 
48    exception
49           when others then
50                wf_core.context(G_PKG_NAME, l_proc_name,
51                itemtype, itemkey);
52 			   G_STAT:='E';
53                raise;
54 end IEM_START_PROCESS;
55 
56 
57 
58 
59 
60 PROCEDURE IEM_LAUNCH_WF_DPNTF
61              (p_api_version_number      IN  NUMBER,
62               P_init_msg_list           IN  VARCHAR2 := null,
63               p_commit                  IN  VARCHAR2 := null,
64               x_return_status           OUT NOCOPY VARCHAR2,
65               x_msg_count               OUT NOCOPY NUMBER,
66               x_msg_data                OUT NOCOPY VARCHAR2)
67 IS
68     l_api_name		        varchar2(30):='IEM_LAUNCH_WF_DPNTF_PVT';
69     l_api_version_number    number:=1.0;
70     logMessage              varchar2(2000);
71 	l_seq_id				number;
72 
73 BEGIN
74 
75     --Standard Savepoint
76     SAVEPOINT  IEM_LAUNCH_WF_DPNTF_PUB;
77 
78     -- Standard call to check for call compatibility.
79     IF NOT FND_API.Compatible_API_Call (l_api_version_number,
80         p_api_version_number,
81         l_api_name,
82         G_PKG_NAME)
83     THEN
84         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
85     END IF;
86 
87     --Initialize the message list if p_init_msg_list is set to TRUE
88     If FND_API.to_Boolean(p_init_msg_list) THEN
89         FND_MSG_PUB.initialize;
90     END IF;
91 
92     --Initialize API status return
93     x_return_status := FND_API.G_RET_STS_SUCCESS;
94 
95 	--temp solution, modify when get real sequence
96 	SELECT IEM_DP_PROCESS_STATUS_S1.nextval
97 	INTO l_seq_id
98 	FROM dual;
99 
100 	IEM_DP_NOTIFICATION_WF_PUB.IEM_START_PROCESS(
101      		WorkflowProcess => 'SEND_DP_STUTAS_FYI',
102      		--ItemType =>'IEMDPNTF' ,
103 			ItemType =>'IEMDPNTF' ,
104 			ItemKey =>l_seq_id);
105 
106 	    -- Standard Check Of p_commit.
107 	IF FND_API.To_Boolean(p_commit) THEN
108 		COMMIT WORK;
109 	END IF;
110 
111     -- Standard callto get message count and if count is 1, get message info.
112        FND_MSG_PUB.Count_And_Get
113 			(    p_count =>  x_msg_count,
114                 p_data  =>    x_msg_data
115 			);
116 EXCEPTION
117 
118     WHEN FND_API.G_EXC_ERROR THEN
119 
120 	   ROLLBACK TO IEM_LAUNCH_WF_DPNTF_PUB;
121        x_return_status := FND_API.G_RET_STS_ERROR ;
122        FND_MSG_PUB.Count_And_Get
123 			( p_count => x_msg_count,
124                	p_data  =>      x_msg_data
125 			);
126    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
127 
128 	   ROLLBACK TO IEM_LAUNCH_WF_DPNTF_PUB;
129        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
130        FND_MSG_PUB.Count_And_Get
131 			( p_count => x_msg_count,
132             	p_data  =>      x_msg_data
133             );
134    WHEN OTHERS THEN
135 
136 	ROLLBACK TO  IEM_LAUNCH_WF_DPNTF_PUB;
137       x_return_status := FND_API.G_RET_STS_ERROR;
138 	IF 	FND_MSG_PUB.Check_Msg_Level
139 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
140 	THEN
141             		FND_MSG_PUB.Add_Exc_Msg
142     	    		(	G_PKG_NAME  	    ,
143     	    			l_api_name
144 	    		     );
145 	END IF;
146 	FND_MSG_PUB.Count_And_Get
147     		( p_count         	=>      x_msg_count ,
148         	p_data          	=>      x_msg_data
149     		);
150 
151 END	 IEM_LAUNCH_WF_DPNTF;
152 
153 
154 end IEM_DP_NOTIFICATION_WF_PUB;