DBA Data[Home] [Help]

PACKAGE BODY: APPS.AST_UWQ_MLIST_MSG_PKG

Source


1 package body AST_UWQ_MLIST_MSG_PKG AS
2 /* $Header: astummsb.pls 115.10 2003/02/25 19:29:23 jraj ship $ */
3 
4 procedure AST_UWQ_MLIST_MESSAGE
5  ( p_resource_id        	IN  NUMBER,
6    p_language           	IN  VARCHAR2 DEFAULT NULL,
7    p_source_lang        	IN  VARCHAR2 DEFAULT NULL,
8    p_action_key         	IN  VARCHAR2,
9    p_action_input_data_list 	IN system.action_input_data_nst DEFAULT null,
10    x_mesg_data_char 	 OUT NOCOPY VARCHAR2,
11    x_msg_count              OUT NOCOPY VARCHAR2,
12    x_msg_data                OUT NOCOPY VARCHAR2,
13    x_return_status           OUT NOCOPY VARCHAR2) AS
14 
15    l_description  varchar2(8200);
16 
17    l_name  varchar2(500);
18    l_value  varchar2(1996);
19 
20    l_campaign_id  number;
21    l_schedule_id  number;
22    l_camp_descr varchar2(3000);
23    l_campaign     varchar2(300);
24    l_no_campaign varchar2(2000);
25 
26    l_return_status          VARCHAR2(1);
30 
27    l_msg_count              NUMBER;
28    l_msg_data               VARCHAR2(2000);
29    l_error_msg			   VARCHAR2(100);
31    cursor c_camp_description(p_schedule_id in number) is
32      select  '< Campaign: ' || a.description  || ' >  < Schedule: ' || b.description || ' >'
33 	from    ams_campaigns_all_tl a,
34         ams_campaign_schedules_vl b
35 	where   a.campaign_id = b.campaign_id
36 	and 	a.language = userenv('LANG')
37 	and     b.schedule_id  = p_schedule_id;
38 
39 BEGIN
40 
41 	FOR I IN 1.. p_action_input_data_list.COUNT LOOP
42               l_name := p_action_input_data_list(i).name;
43               l_value := p_action_input_data_list(i).value;
44 
45               ------ Get field name and value of your records ------
46 
47 	   if     l_name = 'SCHEDULE_ID'   then
48    	        l_schedule_id :=  l_value ;
49 			exit;
50    	   elsif l_name = 'SOURCE_DESCRIPTION' then
51    	   	l_camp_descr := l_value;
52 		exit;
53 	   end if;
54 	END LOOP;
55 
56  if  p_action_key in ( 'astummsb_camp_details' , 'astummsb_camp_details_man') then  -- begin of main "if"
57 
58         if l_schedule_id is not null then
59   	  OPEN c_camp_description(l_schedule_id);
60 	    fetch c_camp_description into l_description;
61 
62 	    if c_camp_description%found then
63 		null;
64             else
65 	-- ERROR --
66 	    x_return_status := FND_API.g_ret_sts_unexp_error;
67 		  fnd_message.set_name('AST','AST_UWQ_INVALID_CAMPAIGN');
68 		  l_error_msg :=   fnd_message.get;
69             FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
70             FND_MESSAGE.Set_Token('TEXT', l_error_msg || ' ' || l_description, FALSE);
71             FND_MSG_PUB.ADD;
72             RAISE FND_API.G_EXC_ERROR;
73            end if;
74          CLOSE c_camp_description;
75        elsif l_camp_descr is not null then
76 		  fnd_message.set_name('AST','AST_CAMP');
77 		  l_campaign :=   fnd_message.get;
78        	  l_description := '< ' || l_campaign || ':' || l_camp_descr  || ' > ' ;
79 	   else
80 		  fnd_message.set_name('AST','AST_NO_CAMP_DATA');
81 		  l_no_campaign :=   fnd_message.get;
82 	       l_description := '< '|| l_no_campaign || ': > ';
83        end if;
84 
85      -- setting the OUT variables -begin
86 
87 	 x_mesg_data_char	:=l_description;
88          x_return_status	:=fnd_api.g_ret_sts_success;
89 
90 	 fnd_msg_pub.Count_And_Get(p_count => x_msg_count,
91 	                           p_data  => x_msg_data);
92 
93      -- setting the OUT variables -end
94    end if;     -- end of main "if"
95 	exception
96 
97 	when fnd_api.g_exc_error  then
98       x_return_status:=fnd_api.g_ret_sts_error;
99 
100 	when fnd_api.g_exc_unexpected_error  then
101       x_return_status:=fnd_api.g_ret_sts_unexp_error;
102 
103 	when others then
104       x_return_status:=fnd_api.g_ret_sts_unexp_error;
105 
106 	 fnd_msg_pub.Count_And_Get(p_count => x_msg_count,
107 	                           p_data  => x_msg_data);
108 
109 END AST_UWQ_MLIST_MESSAGE;
110 
111 END AST_UWQ_MLIST_MSG_PKG;