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