DBA Data[Home] [Help]

PACKAGE BODY: APPS.FND_OBJECT_DEFINITIONS_PKG

Source


1 package body FND_OBJECT_DEFINITIONS_PKG as
2 /* $Header: AFOBDEFB.pls 120.1.12010000.3 2009/08/26 13:15:37 vsoolapa noship $*/
3 
4 procedure INSERT_ROW (
5   X_OBJECT_DEFINITION_ID in NUMBER,
6   X_APPLICATION_ID in NUMBER,
7   X_OBJECT_ID in NUMBER,
8   X_OBJECT_DEFINITION_TYPE in VARCHAR2,
9   X_OBJECT_VERSION in VARCHAR2,
10   X_OBJECT_EXTENSION_VERSION in VARCHAR2,
11   X_STATUS in VARCHAR2,
12   X_ENABLED_FLAG in VARCHAR2,
13   X_START_DATE_ACTIVE in DATE,
14   X_END_DATE_ACTIVE in DATE,
15   X_CREATION_DATE in DATE,
16   X_CREATED_BY in NUMBER,
17   X_LAST_UPDATE_DATE in DATE,
18   X_LAST_UPDATED_BY in NUMBER,
19   X_LAST_UPDATE_LOGIN in NUMBER,
20   X_OBJECT_DEFINITION in XMLTYPE,
21   X_OBJECT_REFERENCE in XMLTYPE
22 ) is
23 begin
24 
25   insert into FND_OBJECT_DEFINITIONS (
26     OBJECT_DEFINITION_ID,
27     APPLICATION_ID,
28     OBJECT_ID,
29     OBJECT_DEFINITION_TYPE,
30     OBJECT_VERSION,
31     OBJECT_EXTENSION_VERSION,
32     STATUS,
33     ENABLED_FLAG,
34     START_DATE_ACTIVE,
35     END_DATE_ACTIVE,
36     CREATION_DATE,
37     CREATED_BY,
38     LAST_UPDATE_DATE,
39     LAST_UPDATED_BY,
40     LAST_UPDATE_LOGIN,
41     OBJECT_DEFINITION,
42     OBJECT_REFERENCE
43   ) values (
44     X_OBJECT_DEFINITION_ID,
45     X_APPLICATION_ID,
46     X_OBJECT_ID,
47     X_OBJECT_DEFINITION_TYPE,
48     X_OBJECT_VERSION,
49     X_OBJECT_EXTENSION_VERSION,
50     X_STATUS,
51     X_ENABLED_FLAG,
52     X_START_DATE_ACTIVE,
53     X_END_DATE_ACTIVE,
54     X_CREATION_DATE,
55     X_CREATED_BY,
56     X_LAST_UPDATE_DATE,
57     X_LAST_UPDATED_BY,
58     X_LAST_UPDATE_LOGIN,
59     X_OBJECT_DEFINITION,
60     X_OBJECT_REFERENCE
61   );
62 
63 end INSERT_ROW;
64 
65 procedure UPDATE_ROW (
66   X_APPLICATION_ID in NUMBER,
67   X_OBJECT_ID in NUMBER,
68   X_OBJECT_DEFINITION_TYPE in VARCHAR2,
69   X_OBJECT_VERSION in VARCHAR2,
70   X_OBJECT_EXTENSION_VERSION in VARCHAR2,
71   X_STATUS in VARCHAR2,
72   X_ENABLED_FLAG in VARCHAR2,
73   X_START_DATE_ACTIVE in DATE,
74   X_END_DATE_ACTIVE in DATE,
75   X_CREATION_DATE in DATE,
76   X_CREATED_BY in NUMBER,
77   X_LAST_UPDATE_DATE in DATE,
78   X_LAST_UPDATED_BY in NUMBER,
79   X_LAST_UPDATE_LOGIN in NUMBER,
80   X_OBJECT_DEFINITION in XMLTYPE,
81   X_OBJECT_REFERENCE in XMLTYPE
82 ) is
83 begin
84 
85   update FND_OBJECT_DEFINITIONS set
86     APPLICATION_ID = X_APPLICATION_ID,
87     OBJECT_DEFINITION_TYPE = X_OBJECT_DEFINITION_TYPE,
88     OBJECT_VERSION = X_OBJECT_VERSION,
89     OBJECT_EXTENSION_VERSION = X_OBJECT_EXTENSION_VERSION,
90     STATUS = X_STATUS,
91     ENABLED_FLAG = X_ENABLED_FLAG,
92     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
93     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
94     CREATION_DATE = X_CREATION_DATE,
95     CREATED_BY = X_CREATED_BY,
96     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
97     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
98     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
99     OBJECT_DEFINITION = X_OBJECT_DEFINITION,
100     OBJECT_REFERENCE = X_OBJECT_REFERENCE
101   where OBJECT_ID = X_OBJECT_ID;
102 
103   if (sql%notfound) then
104     raise no_data_found;
105   end if;
106 
107 end UPDATE_ROW;
108 
109 -- LOAD_ROW is called from Modeler code.
110 procedure LOAD_ROW (
111   X_OBJ_NAME in VARCHAR2,
112   X_APPLICATION_ID in NUMBER,
113   X_OBJECT_DEFINITION_TYPE in VARCHAR2,
114   X_OBJECT_EXTENSION_VERSION in VARCHAR2,
115   X_STATUS in VARCHAR2,
116   X_ENABLED_FLAG in VARCHAR2,
117   X_START_DATE_ACTIVE in DATE,
118   X_END_DATE_ACTIVE in DATE,
119   X_CREATION_DATE in DATE,
120   X_CREATED_BY in NUMBER,
121   X_LAST_UPDATE_DATE in DATE,
122   X_LAST_UPDATED_BY in NUMBER,
123   X_LAST_UPDATE_LOGIN in NUMBER,
124   X_OBJECT_DEFINITION in XMLTYPE,
125   X_OBJECT_REFERENCE in XMLTYPE
126 ) is
127  app_id     number;
128  obj_id     number;
129  obj_def_id number;
130  row_id     varchar2(64);
131  f_luby     number;  -- entity owner in file
132  f_ludate   date;    -- entity update date in file
133  db_luby    number;  -- entity owner in db
134  db_ludate  date;    -- entity update date in db
135 begin
136 
137   select object_id, last_updated_by, last_update_date
138   into obj_id, db_luby, db_ludate
139   from fnd_objects
140   where obj_name = X_OBJ_NAME;
141 
142   fnd_object_definitions_pkg.UPDATE_ROW (
143       X_APPLICATION_ID             => X_APPLICATION_ID,
144       X_OBJECT_ID                  => obj_id,
145       X_OBJECT_DEFINITION_TYPE     => X_OBJECT_DEFINITION_TYPE,
146       X_OBJECT_VERSION             => '12.0',
147       X_OBJECT_EXTENSION_VERSION   => X_OBJECT_EXTENSION_VERSION,
148       X_STATUS                     => X_STATUS,
149       X_ENABLED_FLAG               => X_ENABLED_FLAG,
150       X_START_DATE_ACTIVE          => X_START_DATE_ACTIVE,
151       X_END_DATE_ACTIVE            => '',
152       X_CREATION_DATE              => X_CREATION_DATE,
153       X_CREATED_BY                 => X_CREATED_BY,
154       X_LAST_UPDATE_DATE           => X_LAST_UPDATE_DATE,
155       X_LAST_UPDATED_BY            => X_LAST_UPDATED_BY,
156       X_LAST_UPDATE_LOGIN          => X_LAST_UPDATE_LOGIN,
157       X_OBJECT_DEFINITION          => X_OBJECT_DEFINITION,
158       X_OBJECT_REFERENCE           => X_OBJECT_REFERENCE);
159 
160 exception
161   when NO_DATA_FOUND then
162 
163   select fnd_object_definitions_s.nextval into obj_def_id from dual;
164 
165   fnd_object_definitions_pkg.INSERT_ROW (
166       X_OBJECT_DEFINITION_ID       => obj_def_id,
167       X_APPLICATION_ID             => X_APPLICATION_ID,
168       X_OBJECT_ID                  => obj_id,
169       X_OBJECT_DEFINITION_TYPE     => X_OBJECT_DEFINITION_TYPE,
170       X_OBJECT_VERSION             => '12.0',
171       X_OBJECT_EXTENSION_VERSION   => X_OBJECT_EXTENSION_VERSION,
172       X_STATUS                     => X_STATUS,
173       X_ENABLED_FLAG               => X_ENABLED_FLAG,
174       X_START_DATE_ACTIVE          => X_START_DATE_ACTIVE,
175       X_END_DATE_ACTIVE            => '',
176       X_CREATION_DATE              => X_CREATION_DATE,
177       X_CREATED_BY                 => X_CREATED_BY,
178       X_LAST_UPDATE_DATE           => X_LAST_UPDATE_DATE,
179       X_LAST_UPDATED_BY            => X_LAST_UPDATED_BY,
180       X_LAST_UPDATE_LOGIN          => X_LAST_UPDATE_LOGIN,
181       X_OBJECT_DEFINITION          => X_OBJECT_DEFINITION,
182       X_OBJECT_REFERENCE           => X_OBJECT_REFERENCE);
183 
184 end LOAD_ROW;
185 
186 -- LOAD_ROW is called from afsearch.lct
187 procedure LOAD_ROW (
188   X_OBJ_NAME in VARCHAR2,
189   X_APPLICATION_ID in NUMBER,
190   X_OBJECT_DEFINITION_TYPE in VARCHAR2,
191   X_OBJECT_EXTENSION_VERSION in VARCHAR2,
192   X_STATUS in VARCHAR2,
193   X_ENABLED_FLAG in VARCHAR2,
194   X_START_DATE_ACTIVE in DATE,
195   X_END_DATE_ACTIVE in DATE,
196   X_CREATION_DATE in DATE,
197   X_CREATED_BY in NUMBER,
198   X_LAST_UPDATE_DATE in DATE,
199   X_LAST_UPDATED_BY in NUMBER,
200   X_LAST_UPDATE_LOGIN in NUMBER,
201   X_OBJECT_DEFINITION in XMLTYPE,
202   X_OBJECT_REFERENCE in XMLTYPE,
203   X_CUSTOM_MODE in VARCHAR2
204 ) is
205  app_id     number;
206  obj_id     number;
207  obj_def_id number;
208  row_id     varchar2(64);
209  f_luby     number;  -- entity owner in file
210  f_ludate   date;    -- entity update date in file
211  db_luby    number;  -- entity owner in db
212  db_ludate  date;    -- entity update date in db
213 begin
214 
215   select fo.object_id, fod.last_updated_by, fod.last_update_date
216   into obj_id, db_luby, db_ludate
217   from fnd_objects fo, fnd_object_definitions fod
218   where obj_name = X_OBJ_NAME
219   and fo.object_id = fod.object_id(+);
220 
221   f_luby := X_LAST_UPDATED_BY;
222   f_ludate := nvl(X_LAST_UPDATE_DATE, sysdate);
223 
224   if (db_luby is null OR db_ludate is null) then
225 
226   select fnd_object_definitions_s.nextval into obj_def_id from dual;
227 
228   fnd_object_definitions_pkg.INSERT_ROW (
229       X_OBJECT_DEFINITION_ID       => obj_def_id,
230       X_APPLICATION_ID             => X_APPLICATION_ID,
231       X_OBJECT_ID                  => obj_id,
232       X_OBJECT_DEFINITION_TYPE     => X_OBJECT_DEFINITION_TYPE,
233       X_OBJECT_VERSION             => '12.0',
234       X_OBJECT_EXTENSION_VERSION   => X_OBJECT_EXTENSION_VERSION,
235       X_STATUS                     => X_STATUS,
236       X_ENABLED_FLAG               => X_ENABLED_FLAG,
237       X_START_DATE_ACTIVE          => X_START_DATE_ACTIVE,
238       X_END_DATE_ACTIVE            => '',
239       X_CREATION_DATE              => X_CREATION_DATE,
240       X_CREATED_BY                 => X_CREATED_BY,
241       X_LAST_UPDATE_DATE           => X_LAST_UPDATE_DATE,
242       X_LAST_UPDATED_BY            => X_LAST_UPDATED_BY,
243       X_LAST_UPDATE_LOGIN          => X_LAST_UPDATE_LOGIN,
244       X_OBJECT_DEFINITION          => X_OBJECT_DEFINITION,
245       X_OBJECT_REFERENCE           => X_OBJECT_REFERENCE);
246 
247   elsif (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
248                                 db_ludate, X_CUSTOM_MODE)) then
249   fnd_object_definitions_pkg.UPDATE_ROW (
250       X_APPLICATION_ID             => X_APPLICATION_ID,
251       X_OBJECT_ID                  => obj_id,
252       X_OBJECT_DEFINITION_TYPE     => X_OBJECT_DEFINITION_TYPE,
253       X_OBJECT_VERSION             => '12.0',
254       X_OBJECT_EXTENSION_VERSION   => X_OBJECT_EXTENSION_VERSION,
255       X_STATUS                     => X_STATUS,
256       X_ENABLED_FLAG               => X_ENABLED_FLAG,
257       X_START_DATE_ACTIVE          => X_START_DATE_ACTIVE,
258       X_END_DATE_ACTIVE            => '',
259       X_CREATION_DATE              => X_CREATION_DATE,
260       X_CREATED_BY                 => X_CREATED_BY,
261       X_LAST_UPDATE_DATE           => X_LAST_UPDATE_DATE,
262       X_LAST_UPDATED_BY            => X_LAST_UPDATED_BY,
263       X_LAST_UPDATE_LOGIN          => X_LAST_UPDATE_LOGIN,
264       X_OBJECT_DEFINITION          => X_OBJECT_DEFINITION,
265       X_OBJECT_REFERENCE           => X_OBJECT_REFERENCE);
266   end if;
267 
268 end LOAD_ROW;
269 
270 end FND_OBJECT_DEFINITIONS_PKG;