[Home] [Help]
PACKAGE BODY: APPS.AME_PRODUCTION_ACTIONS_API
Source
1 package BODY AME_PRODUCTION_ACTIONS_API as
2 /* $Header: amepaapi.pkb 120.1 2005/10/14 04:13 ubhat noship $ */
3 procedure KEY_TO_IDS
4 (X_ACTION_TYPE_NAME in varchar2
5 ,X_ACTION_TYPE_ID out nocopy number
6 ) as
7 begin
8 begin
9 select AAT.ACTION_TYPE_ID
10 into X_ACTION_TYPE_ID
11 from AME_ACTION_TYPES AAT
12 where AAT.NAME = X_ACTION_TYPE_NAME
13 and sysdate between AAT.START_DATE and nvl(AAT.END_DATE - (1/86400),sysdate);
14 exception
15 when no_data_found then
16 raise_application_error(-20001,'AME Action Type ' || X_ACTION_TYPE_NAME || ' not found');
17 end;
18 end KEY_TO_IDS;
19
20 procedure VALIDATE_ROW
21 (X_ACTION_TYPE_NAME in varchar2
22 ) as
23 begin
24 if X_ACTION_TYPE_NAME <> 'production rule' then
25 raise_application_error(-20001,'AME is trying to upload an unsupported production action');
26 end if;
27 end VALIDATE_ROW;
28
29 procedure INSERT_ROW
30 (X_ACTION_TYPE_ID in number
31 ,X_PARAMETER in varchar2
32 ,X_PARAMETER_TWO in varchar2
33 ,X_DESCRIPTION in varchar2
34 ,X_START_DATE in date
35 ,X_END_DATE in date
36 ,X_CREATED_BY in number
37 ,X_CREATION_DATE in date
38 ,X_LAST_UPDATED_BY in number
39 ,X_LAST_UPDATE_DATE in date
40 ,X_LAST_UPDATE_LOGIN in number
41 ,X_OBJECT_VERSION_NUMBER in number
42 ) as
43 X_ACTION_ID number;
44 begin
45 select AME_ACTIONS_S.NEXTVAL
46 into X_ACTION_ID
47 from dual;
48
49 insert into AME_ACTIONS
50 (ACTION_ID
51 ,ACTION_TYPE_ID
52 ,PARAMETER
53 ,PARAMETER_TWO
54 ,DESCRIPTION
55 ,START_DATE
56 ,END_DATE
57 ,CREATED_BY
58 ,CREATION_DATE
59 ,LAST_UPDATED_BY
60 ,LAST_UPDATE_DATE
61 ,LAST_UPDATE_LOGIN
62 ,OBJECT_VERSION_NUMBER
63 ) select X_ACTION_ID,
64 X_ACTION_TYPE_ID,
65 X_PARAMETER,
66 X_PARAMETER_TWO,
67 X_DESCRIPTION,
68 X_START_DATE,
72 X_LAST_UPDATED_BY,
69 X_END_DATE,
70 X_CREATED_BY,
71 X_CREATION_DATE,
73 X_LAST_UPDATE_DATE,
74 X_LAST_UPDATE_LOGIN,
75 X_OBJECT_VERSION_NUMBER
76 from dual
77 where not exists (select null
78 from AME_ACTIONS
79 where ACTION_TYPE_ID = X_ACTION_TYPE_ID
80 and PARAMETER = X_PARAMETER
81 and PARAMETER_TWO = X_PARAMETER_TWO
82 and sysdate between START_DATE and nvl(END_DATE - (1/86400), sysdate));
83
84 if not AME_SEED_UTILITY.MLS_ENABLED then
85 return;
86 end if;
87
88 insert into AME_ACTIONS_TL
89 (ACTION_ID
90 ,DESCRIPTION
91 ,CREATED_BY
92 ,CREATION_DATE
93 ,LAST_UPDATED_BY
94 ,LAST_UPDATE_DATE
95 ,LAST_UPDATE_LOGIN
96 ,LANGUAGE
97 ,SOURCE_LANG
98 ) select X_ACTION_ID,
102 X_LAST_UPDATED_BY,
99 X_DESCRIPTION,
100 X_CREATED_BY,
101 X_CREATION_DATE,
103 X_LAST_UPDATE_DATE,
104 X_LAST_UPDATE_LOGIN,
105 L.LANGUAGE_CODE,
106 userenv('LANG')
107 from FND_LANGUAGES L
108 where L.INSTALLED_FLAG in ('I', 'B')
109 and not exists (select null
110 from AME_ACTIONS_TL T
111 where T.ACTION_ID = X_ACTION_ID
112 and T.LANGUAGE = L.LANGUAGE_CODE);
113
114 end INSERT_ROW;
115
116 procedure UPDATE_ROW
117 (X_ACTION_ID in number
118 ,X_ACTION_TYPE_ID in number
119 ,X_PARAMETER in varchar2
125 ,X_CREATION_DATE in date
120 ,X_PARAMETER_TWO in varchar2
121 ,X_DESCRIPTION in varchar2
122 ,X_START_DATE in date
123 ,X_END_DATE in date
124 ,X_CREATED_BY in number
126 ,X_LAST_UPDATE_DATE in date
127 ,X_LAST_UPDATED_BY in number
128 ,X_LAST_UPDATE_LOGIN in number
129 ,X_OBJECT_VERSION_NUMBER in number
130 ) as
131 X_LOCK_HANDLE varchar2(500);
132 X_RETURN_VALUE number;
133 begin
137 ,LOCKHANDLE => X_LOCK_HANDLE
134
135 DBMS_LOCK.ALLOCATE_UNIQUE
136 (LOCKNAME =>'AME_ACTIONS.'||X_ACTION_ID
138 );
139 X_RETURN_VALUE := DBMS_LOCK.REQUEST
140 (LOCKHANDLE => X_LOCK_HANDLE
141 ,TIMEOUT => 0
142 ,RELEASE_ON_COMMIT => true);
143
144 if X_RETURN_VALUE = 0 then
145 update AME_ACTIONS ACT
146 set ACT.END_DATE = X_START_DATE
147 where ACT.ACTION_ID = X_ACTION_ID
148 and sysdate between ACT.START_DATE and nvl(ACT.END_DATE - (1/86400),sysdate);
149
150 insert into AME_ACTIONS
151 (ACTION_ID
152 ,ACTION_TYPE_ID
153 ,PARAMETER
154 ,PARAMETER_TWO
155 ,DESCRIPTION
156 ,START_DATE
157 ,END_DATE
158 ,CREATED_BY
159 ,CREATION_DATE
160 ,LAST_UPDATED_BY
161 ,LAST_UPDATE_DATE
162 ,LAST_UPDATE_LOGIN
163 ,OBJECT_VERSION_NUMBER
164 ) values
165 (X_ACTION_ID
166 ,X_ACTION_TYPE_ID
167 ,X_PARAMETER
168 ,X_PARAMETER_TWO
169 ,X_DESCRIPTION
170 ,X_START_DATE
171 ,X_END_DATE
172 ,X_CREATED_BY
173 ,X_CREATION_DATE
174 ,X_LAST_UPDATED_BY
175 ,X_LAST_UPDATE_DATE
176 ,X_LAST_UPDATE_LOGIN
177 ,X_OBJECT_VERSION_NUMBER
178 );
179
180 if not AME_SEED_UTILITY.MLS_ENABLED then
181 return;
182 end if;
183
184 update AME_ACTIONS_TL
185 set DESCRIPTION = X_DESCRIPTION,
189 LAST_UPDATE_LOGIN = 0
186 SOURCE_LANG = userenv('LANG'),
187 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
188 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
190 where ACTION_ID = X_ACTION_ID
191 and userenv('LANG') in (LANGUAGE,SOURCE_LANG);
192 end if;
193 end UPDATE_ROW;
194
195 procedure FORCE_UPDATE_ROW (
196 X_ROWID in VARCHAR2,
197 X_DESCRIPTION in VARCHAR2,
198 X_CREATED_BY in NUMBER,
199 X_CREATION_DATE in DATE,
200 X_LAST_UPDATED_BY in NUMBER,
201 X_LAST_UPDATE_DATE in DATE,
202 X_LAST_UPDATE_LOGIN in NUMBER,
203 X_START_DATE in DATE,
204 X_END_DATE in DATE,
205 X_OBJECT_VERSION_NUMBER in NUMBER
206 ) is
207 begin
208 update AME_ACTIONS
209 set DESCRIPTION = X_DESCRIPTION,
210 CREATED_BY = X_CREATED_BY,
211 CREATION_DATE = X_CREATION_DATE,
212 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
213 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
214 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
215 START_DATE = X_START_DATE,
216 END_DATE = X_END_DATE,
217 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
218 where ROWID = X_ROWID;
219 end FORCE_UPDATE_ROW;
220
221 procedure LOAD_ROW
222 (X_ACTION_TYPE_NAME in varchar2
223 ,X_PARAMETER in varchar2
224 ,X_PARAMETER_TWO in varchar2
225 ,X_DESCRIPTION in varchar2
226 ,X_OWNER in varchar2
227 ,X_LAST_UPDATE_DATE in varchar2
228 ,X_CUSTOM_MODE in varchar2
229 ) as
230 L_ACTION_TYPE_ID number;
231 L_ACTION_ID number;
232 L_END_DATE date;
233 L_PARAMETER AME_ACTIONS.PARAMETER%TYPE;
234 L_PARAMETER_TWO AME_ACTIONS.PARAMETER_TWO%TYPE;
235 L_DESCRIPTION AME_ACTIONS_TL.DESCRIPTION%TYPE;
236 L_ACTION_TYPE_NAME AME_ACTION_TYPES.NAME%TYPE;
242 L_ACTION_TYPE_NAME := X_ACTION_TYPE_NAME;
237 L_OWNER varchar2(100);
238 L_LAST_UPDATE_DATE varchar2(19);
239 L_OBJECT_VERSION_NUMBER number;
240 L_ROWID ROWID;
241 begin
243 L_PARAMETER := X_PARAMETER;
244 L_PARAMETER_TWO := X_PARAMETER_TWO;
245 L_DESCRIPTION := X_DESCRIPTION;
246 L_OWNER := X_OWNER;
247 L_LAST_UPDATE_DATE := X_LAST_UPDATE_DATE;
248 L_END_DATE := AME_SEED_UTILITY.GET_DEFAULT_END_DATE;
249
250 VALIDATE_ROW
251 (X_ACTION_TYPE_NAME => L_ACTION_TYPE_NAME);
252
253 KEY_TO_IDS
254 (X_ACTION_TYPE_NAME => L_ACTION_TYPE_NAME
255 ,X_ACTION_TYPE_ID => L_ACTION_TYPE_ID
256 );
257
258 begin
259 select ACT.ACTION_ID,
263 L_OBJECT_VERSION_NUMBER,
260 nvl(ACT.OBJECT_VERSION_NUMBER,1),
261 ACT.ROWID
262 into L_ACTION_ID,
264 L_ROWID
265 from AME_ACTIONS ACT
266 where ACT.ACTION_TYPE_ID = L_ACTION_TYPE_ID
267 and ACT.PARAMETER = L_PARAMETER
268 and ACT.PARAMETER_TWO = L_PARAMETER_TWO
269 and sysdate between ACT.START_DATE and nvl(ACT.END_DATE - (1/86400),sysdate);
270
271 if X_CUSTOM_MODE = 'FORCE' then
272 FORCE_UPDATE_ROW
273 (X_ROWID => L_ROWID
274 ,X_DESCRIPTION => L_DESCRIPTION
275 ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
276 ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
277 ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
278 ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
279 ,X_LAST_UPDATE_LOGIN => 0
280 ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
281 ,X_END_DATE => L_END_DATE
282 ,X_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER + 1
283 );
284 else
285 UPDATE_ROW
286 (X_ACTION_ID => L_ACTION_ID
287 ,X_ACTION_TYPE_ID => L_ACTION_TYPE_ID
288 ,X_PARAMETER => L_PARAMETER
289 ,X_PARAMETER_TWO => L_PARAMETER_TWO
290 ,X_DESCRIPTION => L_DESCRIPTION
291 ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
292 ,X_END_DATE => L_END_DATE
293 ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
294 ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
295 ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
296 ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
297 ,X_LAST_UPDATE_LOGIN => 0
298 ,X_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER + 1
299 );
300 end if;
301 exception
302 when no_data_found then
303 INSERT_ROW
304 (X_ACTION_TYPE_ID => L_ACTION_TYPE_ID
305 ,X_PARAMETER => L_PARAMETER
306 ,X_PARAMETER_TWO => L_PARAMETER_TWO
307 ,X_DESCRIPTION => L_DESCRIPTION
308 ,X_START_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
309 ,X_END_DATE => L_END_DATE
310 ,X_CREATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
311 ,X_CREATION_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
312 ,X_LAST_UPDATED_BY => AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER)
313 ,X_LAST_UPDATE_DATE => AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE)
314 ,X_LAST_UPDATE_LOGIN => 0
315 ,X_OBJECT_VERSION_NUMBER => 1
316 );
317 end;
318 end LOAD_ROW;
319
323 ,X_PARAMETER_TWO in varchar2
320 procedure TRANSLATE_ROW
321 (X_ACTION_TYPE_NAME in varchar2
322 ,X_PARAMETER in varchar2
324 ,X_DESCRIPTION in varchar2
325 ,X_OWNER in varchar2
326 ,X_LAST_UPDATE_DATE in varchar2
327 ) as
328 L_ACTION_TYPE_ID number;
329 L_ACTION_ID number;
330 L_PARAMETER AME_ACTIONS.PARAMETER%TYPE;
331 L_PARAMETER_TWO AME_ACTIONS.PARAMETER_TWO%TYPE;
332 L_DESCRIPTION AME_ACTIONS_TL.DESCRIPTION%TYPE;
333 L_ACTION_TYPE_NAME AME_ACTION_TYPES.NAME%TYPE;
334 L_OWNER varchar2(100);
335 L_LAST_UPDATE_DATE varchar2(19);
336 begin
337 if not AME_SEED_UTILITY.MLS_ENABLED then
338 return;
339 end if;
340
341 L_ACTION_TYPE_NAME := X_ACTION_TYPE_NAME;
342 L_PARAMETER := X_PARAMETER;
343 L_PARAMETER_TWO := X_PARAMETER_TWO;
349 (X_ACTION_TYPE_NAME => L_ACTION_TYPE_NAME);
344 L_DESCRIPTION := X_DESCRIPTION;
345 L_OWNER := X_OWNER;
346 L_LAST_UPDATE_DATE := X_LAST_UPDATE_DATE;
347
348 VALIDATE_ROW
350
351 KEY_TO_IDS
352 (X_ACTION_TYPE_NAME => L_ACTION_TYPE_NAME
353 ,X_ACTION_TYPE_ID => L_ACTION_TYPE_ID
354 );
355
356 begin
357 select ACT.ACTION_ID
358 into L_ACTION_ID
359 from AME_ACTIONS_TL ACTTL,
360 AME_ACTIONS ACT
361 where ACT.ACTION_TYPE_ID = L_ACTION_TYPE_ID
362 and ACT.ACTION_ID = ACTTL.ACTION_ID
363 and ACT.PARAMETER = L_PARAMETER
364 and ACT.PARAMETER_TWO = L_PARAMETER_TWO
365 and ACTTL.LANGUAGE = userenv('LANG')
366 and sysdate between ACT.START_DATE and nvl(ACT.END_DATE - (1/86400),sysdate);
367
368 update AME_ACTIONS_TL ACTTL
369 set DESCRIPTION = nvl(L_DESCRIPTION,DESCRIPTION),
370 SOURCE_LANG = userenv('LANG'),
371 LAST_UPDATE_DATE = AME_SEED_UTILITY.DATE_AS_DATE(L_LAST_UPDATE_DATE),
372 LAST_UPDATED_BY = AME_SEED_UTILITY.OWNER_AS_INTEGER(L_OWNER),
373 LAST_UPDATE_LOGIN = 0
374 where ACTTL.ACTION_ID = L_ACTION_ID
375 and userenv('LANG') in (ACTTL.LANGUAGE,ACTTL.SOURCE_LANG);
376 exception
377 when no_data_found then
378 null;
379 end;
383 (X_ACTION_TYPE_NAME in varchar2
380 end TRANSLATE_ROW;
381
382 function MERGE_ROW_TEST
384 ,X_PARAMETER in varchar2
385 ,X_PARAMETER_TWO in varchar2
386 ,X_OWNER in varchar2
387 ,X_LAST_UPDATE_DATE in varchar2
388 ,X_UPLOAD_MODE in varchar2
389 ,X_CUSTOM_MODE in varchar2
390 ) return boolean as
391 X_CURRENT_OWNER NUMBER;
392 X_CREATED_BY varchar2(100);
393 X_CURRENT_LAST_UPDATE_DATE varchar2(19);
394 begin
395 if X_UPLOAD_MODE = 'NLS' then
396 begin
397 select ACTTL.LAST_UPDATED_BY,
398 AME_SEED_UTILITY.DATE_AS_STRING(ACTTL.LAST_UPDATE_DATE),
402 X_CREATED_BY
399 AME_SEED_UTILITY.OWNER_AS_STRING(ACTTL.CREATED_BY)
400 into X_CURRENT_OWNER,
401 X_CURRENT_LAST_UPDATE_DATE,
403 from AME_ACTIONS_TL ACTTL,
404 AME_ACTIONS ACT,
405 AME_ACTION_TYPES AAT
406 where ACT.ACTION_TYPE_ID = AAT.ACTION_TYPE_ID
407 and ACTTL.ACTION_ID = ACT.ACTION_ID
408 and AAT.NAME = X_ACTION_TYPE_NAME
409 and ACT.PARAMETER = X_PARAMETER
410 and ACT.PARAMETER_TWO = X_PARAMETER_TWO
411 and ACTTL.LANGUAGE = userenv('LANG')
412 and sysdate between ACT.START_DATE and nvl(ACT.END_DATE - (1/86400),sysdate)
413 and sysdate between AAT.START_DATE and nvl(AAT.END_DATE - (1/86400),sysdate);
414 if AME_SEED_UTILITY.IS_SEED_USER(X_CREATED_BY) then
415 return true;
416 else
417 return AME_SEED_UTILITY.TL_MERGE_ROW_TEST
418 (X_CURRENT_OWNER => X_CURRENT_OWNER
419 ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
420 ,X_OWNER => AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER)
421 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
422 ,X_CUSTOM_MODE => X_CUSTOM_MODE
423 );
424 end if;
425 exception
426 when no_data_found then
427 return true;
428 end;
429 else
430 begin
431 select ACT.LAST_UPDATED_BY,
432 AME_SEED_UTILITY.DATE_AS_STRING(ACT.LAST_UPDATE_DATE)
433 into X_CURRENT_OWNER,
434 X_CURRENT_LAST_UPDATE_DATE
435 from AME_ACTIONS ACT,
436 AME_ACTION_TYPES AAT
437 where ACT.ACTION_TYPE_ID = AAT.ACTION_TYPE_ID
438 and AAT.NAME = X_ACTION_TYPE_NAME
439 and ACT.PARAMETER = X_PARAMETER
440 and ACT.PARAMETER_TWO = X_PARAMETER_TWO
441 and sysdate between ACT.START_DATE and nvl(ACT.END_DATE - (1/86400),sysdate)
442 and sysdate between AAT.START_DATE and nvl(AAT.END_DATE - (1/86400),sysdate);
443 return AME_SEED_UTILITY.MERGE_ROW_TEST
444 (X_CURRENT_OWNER => X_CURRENT_OWNER
445 ,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
446 ,X_OWNER => AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER)
447 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
448 ,X_CUSTOM_MODE => X_CUSTOM_MODE
449 );
450 exception
451 when no_data_found then
452 return true;
453 end;
454 end if;
455 end MERGE_ROW_TEST;
456
457 procedure LOAD_SEED_ROW
458 (X_ACTION_TYPE_NAME in varchar2
459 ,X_PARAMETER in varchar2
460 ,X_PARAMETER_TWO in varchar2
461 ,X_DESCRIPTION in varchar2
462 ,X_OWNER in varchar2
463 ,X_LAST_UPDATE_DATE in varchar2
464 ,X_UPLOAD_MODE in varchar2
465 ,X_CUSTOM_MODE in varchar2
466 ) as
467 begin
468 AME_SEED_UTILITY.INIT_AME_INSTALLATION_LEVEL;
469
470 if AME_SEED_UTILITY.AME_INSTALLATION_LEVEL is null then
471 raise_application_error (-20001,'AME is trying to upload production actions to a 11.5.9 or lower instance');
472 end if;
473
474 if MERGE_ROW_TEST
475 (X_ACTION_TYPE_NAME => X_ACTION_TYPE_NAME
476 ,X_PARAMETER => X_PARAMETER
477 ,X_PARAMETER_TWO => X_PARAMETER_TWO
478 ,X_OWNER => X_OWNER
479 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
480 ,X_UPLOAD_MODE => X_UPLOAD_MODE
481 ,X_CUSTOM_MODE => X_CUSTOM_MODE
482 ) then
483 if X_UPLOAD_MODE = 'NLS' then
484 TRANSLATE_ROW
485 (X_ACTION_TYPE_NAME => X_ACTION_TYPE_NAME
486 ,X_PARAMETER => X_PARAMETER
487 ,X_PARAMETER_TWO => X_PARAMETER_TWO
488 ,X_DESCRIPTION => X_DESCRIPTION
489 ,X_OWNER => X_OWNER
490 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
491 );
495 ,X_PARAMETER => X_PARAMETER
492 else
493 LOAD_ROW
494 (X_ACTION_TYPE_NAME => X_ACTION_TYPE_NAME
496 ,X_PARAMETER_TWO => X_PARAMETER_TWO
497 ,X_DESCRIPTION => X_DESCRIPTION
498 ,X_OWNER => X_OWNER
499 ,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
500 ,X_CUSTOM_MODE => X_CUSTOM_MODE
501 );
502 end if;
503 end if;
504 end LOAD_SEED_ROW;
505
506 procedure DELETE_ROW
507 (X_ACTION_ID in number
508 ) as
509 begin
510 if AME_SEED_UTILITY.MLS_ENABLED then
511 delete from AME_ACTIONS_TL
512 where ACTION_ID = X_ACTION_ID;
513 end if;
514 delete from AME_ACTIONS
515 where ACTION_ID = X_ACTION_ID;
516 if sql%notfound then
517 raise no_data_found;
518 end if;
519 end DELETE_ROW;
520
521 end AME_PRODUCTION_ACTIONS_API;