1 PACKAGE ams_copyactivities_pvt AUTHID CURRENT_USER AS
2 /* $Header: amsvcpas.pls 120.1 2007/12/26 09:34:44 spragupa ship $ */
3
4 -- Start Of Comments
5 --
6 -- Name:
7 -- Ams_CopyActivities_PVT
8 --
9 -- Purpose:
10 -- This is the specification for copying the different activities in Oracle Marketing.
11 -- such as promotions,campaigns,media,channels,events,etc while copying them. These
12 -- procedures will be called from the forms to copy the main marketing activities from an existing one
13 -- and create a new one.
14 --Procedures:
15 -- copy_event_headers
16 -- copy_event_offering
17 -- copy_deliv_header
18 -- copy_campaign
19 -- copy_campaign_schedules
20 -- Notes:
21 --
22 -- History:
23 -- 01/17/2000 Mumu Pande Created ([email protected])
24 -- 07/11/2000 Satish Karumuri
25 -- Added tasks and partners in camp_elements_rec_type
26 -- Removed code from rosetta generated wrapper.
27 -- Included over loaded procedure instead to handle logging
28 -- Messages. Added 4 wrapper procedures
29 -- 05-oct-2003 sodixit Added p_TGRP and p_COLT attributes to schedule_attr_rec_type for 11.5.10
30 -- 24-Dec-2007 spragupa ER - 6467510 - Extend Copy functionality to include TASKS for campaign schedules/activities
31 -- End Of Comments
32 --
33
34
35
36 TYPE camp_elements_rec_type IS RECORD(
37 p_access VARCHAR2(1) := 'N',
38 p_geo_areas VARCHAR2(1) := 'N',
39 p_products VARCHAR2(1) := 'N',
40 p_sub_camp VARCHAR2(1) := 'N',
41 p_offers VARCHAR2(1) := 'N',
42 p_attachments VARCHAR2(1) := 'N',
43 p_messages VARCHAR2(1) := 'N',
44 p_obj_asso VARCHAR2(1) := 'N',
45 p_segments VARCHAR2(1) := 'N',
46 p_resources VARCHAR2(1) := 'N',
47 p_tasks VARCHAR2(1) := 'N',
48 p_partners VARCHAR2(1) := 'N',
49 p_camp_sch VARCHAR2(1) := 'N');
50
51 -- A pl/sql record type to hold the flags of yes or no. These flags passed by the user will specify if that
52 -- particular element of event header would be copied or not. This record is passed in the copy_event_headers
53 -- procedure
54
55 TYPE eveh_elements_rec_type IS RECORD(
56 p_products VARCHAR2(1) := 'Y',
57 p_sub_eveh VARCHAR2(1) := 'Y',
58 p_attachments VARCHAR2(1) := 'Y',
59 p_offers VARCHAR2(1) := 'Y',
60 p_messages VARCHAR2(1) := 'Y',
61 p_resources VARCHAR2(1) := 'Y',
62 p_obj_asso VARCHAR2(1) := 'Y',
63 p_geo_areas VARCHAR2(1) := 'Y',
64 p_event_offer VARCHAR2(1) := 'Y',
65 p_segments VARCHAR2(1) := 'Y');
66 -- A pl/sql record type to hold the flags of yes or no. These flags passed by the user will specify if that
67 -- particular element of event header would be copied or not. This record is passed in the copy_event_headers
68 -- procedure
69
70 TYPE eveo_elements_rec_type IS RECORD(
71 p_geo_areas VARCHAR2(1) := 'Y',
72 p_products VARCHAR2(1) := 'Y',
73 p_segments VARCHAR2(1) := 'Y',
74 p_sub_eveo VARCHAR2(1) := 'Y',
75 p_attachments VARCHAR2(1) := 'Y',
76 p_resources VARCHAR2(1) := 'Y',
77 p_offers VARCHAR2(1) := 'Y',
78 p_messages VARCHAR2(1) := 'Y',
79 p_obj_asso VARCHAR2(1) := 'Y');
80 -- A pl/sql record type to hold the flags of yes or no. These flags passed by the user will specify if that
81 -- particular element of deliverable offering would be copied or not. This record is passed in the
82 -- copy_deliv_offerings procedure
83
84 TYPE deli_elements_rec_type IS RECORD(
85 p_attachments VARCHAR2(1) := 'Y',
86 p_kitflag VARCHAR2(1) := 'Y',
87 p_access VARCHAR2(1) := 'N',
88 p_products VARCHAR2(1) := 'N',
89 p_offers VARCHAR2(1) := 'N',
90 p_obj_asso VARCHAR2(1) := 'Y',
91 p_bus_party VARCHAR2(1) := 'N',
92 p_geo_areas VARCHAR2(1) := 'N',
93 p_categories VARCHAR2(1) := 'N');
94
95 -- A PL/SQL record type to hold the flags of yes or no, for copying schedule attributes to a new schedule.
96 -- added new attribute p_TASK by spragupa on 23-nov-2007 for ER 6467510 -
97 -- For extending COPY functionality for TASKS
98 TYPE schedule_attr_rec_type IS RECORD(
99 p_AGEN VARCHAR2(1) := 'N',
100 p_ATCH VARCHAR2(1) := 'N',
101 p_CATG VARCHAR2(1) := 'N',
102 p_CELL VARCHAR2(1) := 'N',
103 p_DELV VARCHAR2(1) := 'N',
104 p_MESG VARCHAR2(1) := 'N',
105 p_PROD VARCHAR2(1) := 'N',
106 p_PTNR VARCHAR2(1) := 'N',
107 p_REGS VARCHAR2(1) := 'N',
108 p_CONTENT VARCHAR2(1) := 'N',
109 p_TGRP VARCHAR2(1) := 'N',
110 p_COLT VARCHAR2(1) := 'N',
111 p_TASK VARCHAR2(1) := 'N'
112 );
113
114
115
116 PROCEDURE copy_campaign(
117 p_api_version IN NUMBER,
118 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
119 x_return_status OUT NOCOPY VARCHAR2,
120 x_msg_count OUT NOCOPY NUMBER,
121 x_msg_data OUT NOCOPY VARCHAR2,
122 x_campaign_id OUT NOCOPY NUMBER,
123 p_src_camp_id IN NUMBER,
124 p_new_camp_name IN VARCHAR2 := NULL,
125 p_par_camp_id IN NUMBER := NULL,
126 p_source_code IN VARCHAR2 := NULL,
127 p_camp_elements_rec IN camp_elements_rec_type,
128 p_end_date IN DATE := FND_API.G_MISS_DATE,
129 p_start_date IN DATE := FND_API.G_MISS_DATE);
130
131 PROCEDURE copy_campaign(
132 p_api_version IN NUMBER,
133 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
134 x_return_status OUT NOCOPY VARCHAR2,
135 x_msg_count OUT NOCOPY NUMBER,
136 x_msg_data OUT NOCOPY VARCHAR2,
137 x_campaign_id OUT NOCOPY NUMBER,
138 p_src_camp_id IN NUMBER,
139 p_new_camp_name IN VARCHAR2 := NULL,
140 p_par_camp_id IN NUMBER := NULL,
141 p_source_code IN VARCHAR2 := NULL,
142 p_camp_elements_rec IN camp_elements_rec_type,
143 p_end_date IN DATE := NULL,
144 p_start_date IN DATE := NULL,
145 x_transaction_id OUT NOCOPY NUMBER);
146
147 -- This is a procedure to copy a event header.
148 -- IN Parameters:
149 -- p_src_header_id : Source header ID from which it is going to copy
150 -- p_main_header_id : An event header can be a child of another event header . This parameter if passed then
151 -- the current header would be a child of this parent header.
152 -- p_event_header_name : A new header name
153 -- p_eveh_elements_rec : A record type which provides from the user what elements of the event header we need to copy
154 -- p_eveh_elements_rec : A record type which provides from the user what elements of the event offering associated
155 -- with the event header we need to copy
156 --
157
158 PROCEDURE copy_event_header(
159 p_api_version IN NUMBER,
160 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
161 x_return_status OUT NOCOPY VARCHAR2,
162 x_msg_count OUT NOCOPY NUMBER,
163 x_msg_data OUT NOCOPY VARCHAR2,
164 x_eveh_id OUT NOCOPY NUMBER,
165 p_src_eveh_id IN NUMBER,
166 p_new_eveh_name IN VARCHAR2,
167 p_par_eveh_id IN NUMBER := NULL,
168 p_eveh_elements_rec IN eveh_elements_rec_type,
169 p_start_date IN DATE := NULL,
170 p_end_date IN DATE := NULL,
171 p_source_code IN VARCHAR2 := NULL);
172
173 PROCEDURE copy_event_offer(
174 p_api_version IN NUMBER,
175 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
176 x_return_status OUT NOCOPY VARCHAR2,
177 x_msg_count OUT NOCOPY NUMBER,
178 x_msg_data OUT NOCOPY VARCHAR2,
179 x_eveo_id OUT NOCOPY NUMBER,
180 p_src_eveo_id IN NUMBER,
181 p_event_header_id IN NUMBER,
182 p_new_eveo_name IN VARCHAR2 := NULL,
183 p_par_eveo_id IN NUMBER := NULL,
184 p_eveo_elements_rec IN eveo_elements_rec_type,
185 p_start_date IN DATE := NULL,
186 p_end_date IN DATE := NULL,
187 p_source_code IN VARCHAR2 := NULL);
188
189 PROCEDURE copy_deliverables(
190 p_api_version IN NUMBER,
191 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
192 x_return_status OUT NOCOPY VARCHAR2,
193 x_msg_count OUT NOCOPY NUMBER,
194 x_msg_data OUT NOCOPY VARCHAR2,
195 x_deliverable_id OUT NOCOPY NUMBER,
196 p_src_deliv_id IN NUMBER,
197 p_new_deliv_name IN VARCHAR2,
198 p_new_deliv_code IN VARCHAR2 := NULL,
199 p_deli_elements_rec IN deli_elements_rec_type,
200 p_new_version IN VARCHAR2);
201
202 PROCEDURE copy_event_header(
203 p_api_version IN NUMBER,
204 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
205 x_return_status OUT NOCOPY VARCHAR2,
206 x_msg_count OUT NOCOPY NUMBER,
207 x_msg_data OUT NOCOPY VARCHAR2,
208 x_eveh_id OUT NOCOPY NUMBER,
209 p_src_eveh_id IN NUMBER,
210 p_new_eveh_name IN VARCHAR2,
211 p_par_eveh_id IN NUMBER,
212 p_eveh_elements_rec IN eveh_elements_rec_type,
213 p_start_date IN DATE := NULL,
214 p_end_date IN DATE := NULL,
215 x_transaction_id OUT NOCOPY NUMBER,
216 p_source_code IN VARCHAR2 := NULL);
217
218 PROCEDURE copy_event_offer(
219 p_api_version IN NUMBER,
220 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
221 x_return_status OUT NOCOPY VARCHAR2,
222 x_msg_count OUT NOCOPY NUMBER,
223 x_msg_data OUT NOCOPY VARCHAR2,
224 x_eveo_id OUT NOCOPY NUMBER,
225 p_src_eveo_id IN NUMBER,
226 p_event_header_id IN NUMBER,
227 p_new_eveo_name IN VARCHAR2 := NULL,
228 p_par_eveo_id IN NUMBER := NULL,
229 p_eveo_elements_rec IN eveo_elements_rec_type,
230 p_start_date IN DATE := NULL,
231 p_end_date IN DATE := NULL,
232 x_transaction_id OUT NOCOPY NUMBER,
233 p_source_code IN VARCHAR2 := NULL);
234
235 PROCEDURE copy_deliverables(
236 p_api_version IN NUMBER,
237 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
238 x_return_status OUT NOCOPY VARCHAR2,
239 x_msg_count OUT NOCOPY NUMBER,
240 x_msg_data OUT NOCOPY VARCHAR2,
241 x_deliverable_id OUT NOCOPY NUMBER,
242 p_src_deliv_id IN NUMBER,
243 p_new_deliv_name IN VARCHAR2,
244 p_new_deliv_code IN VARCHAR2 := NULL,
245 p_deli_elements_rec IN deli_elements_rec_type,
246 p_new_version IN VARCHAR2,
247 x_transaction_id OUT NOCOPY NUMBER);
248
249
250
251 --
252 -- Create by soagrawa on 03-May-2001
253 -- Copy attributes of a source schedule to a new target schedule
254 --
255 PROCEDURE copy_schedule_attributes (
256 p_api_version IN NUMBER,
257 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
258 p_commit IN VARCHAR2 := FND_API.G_FALSE,
259 x_return_status OUT NOCOPY VARCHAR2,
260 x_msg_count OUT NOCOPY NUMBER,
261 x_msg_data OUT NOCOPY VARCHAR2,
262 p_object_type IN VARCHAR2,
263 p_src_object_id IN NUMBER,
264 p_tar_object_id IN NUMBER,
265 p_attr_list IN schedule_attr_rec_type
266 );
267
268 --
269 -- Added by rrajesh on 15-Aug-2001
270 -- Copy the attributes of a source campaign to a new campaign
271 --
272 PROCEDURE copy_campaign_new(
273 p_api_version IN NUMBER,
274 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
275 p_commit IN VARCHAR2 := FND_API.G_FALSE,
276 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
277 x_return_status OUT NOCOPY VARCHAR2,
278 x_msg_count OUT NOCOPY NUMBER,
279 x_msg_data OUT NOCOPY VARCHAR2,
280 p_source_object_id IN NUMBER,
281 p_attributes_table IN AMS_CpyUtility_PVT.copy_attributes_table_type,
282 p_copy_columns_table IN AMS_CpyUtility_PVT.copy_columns_table_type,
283 x_new_object_id OUT NOCOPY NUMBER,
284 x_custom_setup_id OUT NOCOPY NUMBER
285 );
286
287 --
288 -- Added by rrajesh on 05-Sep-2001
289 -- Log function
290 --
291 PROCEDURE WRITE_TO_ACT_LOG(p_msg_data in VARCHAR2,
292 p_arc_log_used_by in VARCHAR2 DEFAULT 'CAMP',
293 p_log_used_by_id in number);
294 END ;