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