[Home] [Help]
PACKAGE BODY: APPS.CN_TABLE_MAP_OBJECTS_PKG
Source
1 PACKAGE BODY cn_table_map_objects_pkg as
2 /* $Header: cntmobjb.pls 120.4 2005/09/21 20:50:55 sjustina noship $ */
3 PROCEDURE insert_row (
4 X_rowid IN OUT NOCOPY VARCHAR2,
5 X_table_map_object_id IN OUT NOCOPY NUMBER,
6 X_tm_object_type IN VARCHAR2,
7 X_table_map_id IN NUMBER,
8 X_object_id IN NUMBER,
9 X_creation_date IN DATE,
10 X_created_by IN NUMBER,
11 X_org_id IN NUMBER
12 ) IS
13 CURSOR c IS SELECT rowid FROM cn_table_map_objects
14 WHERE table_map_object_id = x_table_map_object_id
15 AND org_id = X_org_id;
16
17 BEGIN
18 IF x_table_map_object_id IS NULL THEN
19 SELECT cn_table_map_objects_s.NEXTVAL
20 INTO x_table_map_object_id
21 FROM dual;
22 END IF;
23
24 INSERT INTO cn_table_map_objects (
25 table_map_object_id,
26 tm_object_type,
27 table_map_id,
28 object_id,
29 created_by,
30 creation_date,
31 org_id,
32 object_version_number
33 ) VALUES (
34 x_table_map_object_id,
35 x_tm_object_type,
36 x_table_map_id,
37 x_object_id,
38 x_created_by,
39 x_creation_date,
40 X_org_id,
41 1);
42
43 OPEN c;
44 FETCH c INTO x_rowid;
45 IF (C%NOTFOUND) THEN
46 CLOSE c;
47 RAISE NO_DATA_FOUND;
48 END IF;
49 CLOSE c;
50
51 END insert_row;
52
53 PROCEDURE lock_row (
54 X_table_map_object_id IN NUMBER,
55 X_tm_object_type in VARCHAR2,
56 X_table_map_id IN NUMBER,
57 X_object_id IN NUMBER
58 ) IS
59 CURSOR c1 IS SELECt
60 tm_object_type,
61 table_map_id,
62 object_id
63 FROM cn_table_map_objects
64 WHERE table_map_object_id = x_table_map_object_id
65 FOR UPDATE OF table_map_object_id NOWAIT;
66
67 tlinfo c1%ROWTYPE;
68 BEGIN
69 OPEN c1;
70 FETCH c1 INTO tlinfo;
71
72 IF tlinfo.table_map_id = x_table_map_id
73 AND tlinfo.tm_object_type = x_tm_object_type
74 AND tlinfo.object_id = x_object_id
75 THEN
76 NULL;
77 ELSE
78 CLOSE c1;
79 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
80 app_exception.raise_exception;
81 END IF;
82 CLOSE c1;
83 RETURN;
84 END lock_row;
85
86 PROCEDURE update_row (
87 X_table_map_object_id IN NUMBER,
88 X_tm_object_type in VARCHAR2,
89 X_table_map_id IN NUMBER,
90 X_object_id IN NUMBER,
91 X_last_update_date IN DATE,
92 X_last_updated_by IN NUMBER,
93 X_last_update_login IN NUMBER,
94 x_org_id IN NUMBER,
95 x_object_version_number IN OUT NOCOPY NUMBER
96 ) IS
97
98 -- Added Cursor For R12 MOAC
99
100 CURSOR l_ovn_csr IS
101 SELECT object_version_number
102 FROM cn_table_map_objects
103 WHERE table_map_id = X_table_map_id
104 AND org_id = x_org_id;
105
106 l_object_version_number cn_table_map_objects.object_version_number%TYPE;
107
108 BEGIN
109
110 OPEN l_ovn_csr;
111 FETCH l_ovn_csr INTO l_object_version_number;
112 CLOSE l_ovn_csr;
113
114 if (l_object_version_number <> x_object_version_number) THEN
115
116 IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_error)
117 THEN
118 fnd_message.set_name('CN', 'CL_INVALID_OVN');
119 fnd_msg_pub.add;
120 END IF;
121 RAISE FND_API.G_EXC_ERROR;
122
123 end if;
124
125
126
127 UPDATE cn_table_map_objects SET
128 tm_object_type = x_tm_object_type,
129 table_map_id = x_table_map_id,
130 object_id = x_object_id,
131 last_update_date = x_last_update_date,
132 last_updated_by = x_last_updated_by,
133 last_update_login = x_last_update_login,
134 object_version_number = l_object_version_number + 1
135 WHERE table_map_object_id = x_table_map_object_id
136 AND org_id = x_org_id;
137
138 x_object_version_number := l_object_version_number + 1;
139
140 IF (SQL%NOTFOUND) THEN
141 RAISE NO_DATA_FOUND;
142 END IF;
143 END update_row;
144
145 PROCEDURE delete_row (
146 X_table_map_object_id IN NUMBER,
147 X_ORG_ID IN NUMBER
148 ) IS
149 BEGIN
150 DELETE FROM cn_table_map_objects
151 WHERE table_map_object_id = x_table_map_object_id
152 AND org_id = X_ORG_ID;
153
154 IF (SQL%NOTFOUND) THEN
155 RAISE NO_DATA_FOUND;
156 END IF;
157
158 END delete_row;
159
160
161 PROCEDURE load_row(x_TABLE_MAP_OBJECT_ID in varchar2,
162 x_ORG_ID in varchar2,
163 x_TM_OBJECT_TYPE in varchar2,
164 x_TABLE_MAP_ID in varchar2,
165 x_OBJECT_ID in varchar2,
166 x_LAST_UPDATE_DATE in varchar2,
167 x_LAST_UPDATED_BY in varchar2,
168 x_CREATION_DATE in varchar2,
169 x_CREATED_BY in varchar2,
170 x_LAST_UPDATE_LOGIN in varchar2,
171 x_SECURITY_GROUP_ID in varchar2,
172 x_OBJECT_VERSION_NUMBER in varchar2,
173 x_APPLICATION_SHORT_NAME in varchar2,
174 x_OWNER in varchar2)
175 IS
176 USER_ID NUMBER;
177 BEGIN
178 if (x_TABLE_MAP_OBJECT_ID is NOT NULL) then
179
180 -- Check whether SEED Data or Custom Data you are uploading
181 IF (X_OWNER IS NOT NULL) AND (X_OWNER = 'SEED') THEN
182 USER_ID := 1;
183 ELSE
184 USER_ID := 0;
185 END IF;
186
187 update cn_table_map_objects_all set
188 ORG_ID = to_number(x_ORG_ID),
189 TM_OBJECT_TYPE = x_TM_OBJECT_TYPE,
190 TABLE_MAP_ID = to_number(x_TABLE_MAP_ID),
191 OBJECT_ID = to_number(x_OBJECT_ID),
192 LAST_UPDATE_DATE = to_date(x_LAST_UPDATE_DATE, 'DD-MM-YYYY'),
193 LAST_UPDATED_BY = to_number(x_LAST_UPDATED_BY),
194 CREATION_DATE = to_date(x_CREATION_DATE, 'DD-MM-YYYY'),
195 CREATED_BY = to_number(x_CREATED_BY),
196 LAST_UPDATE_LOGIN = to_number(x_LAST_UPDATE_LOGIN),
197 SECURITY_GROUP_ID = to_number(x_SECURITY_GROUP_ID),
198 OBJECT_VERSION_NUMBER = to_number(x_OBJECT_VERSION_NUMBER)
199 where TABLE_MAP_OBJECT_ID = x_TABLE_MAP_OBJECT_ID
200 and ORG_ID = x_ORG_ID;
201
202 IF (SQL%NOTFOUND) THEN
203 -- Insert new record to CN_OBJECTS_TABLE table
204 insert into cn_table_map_objects_all
205 (TABLE_MAP_OBJECT_ID,
206 ORG_ID,
207 TM_OBJECT_TYPE,
208 TABLE_MAP_ID,
209 OBJECT_ID,
210 LAST_UPDATE_DATE,
211 LAST_UPDATED_BY,
212 CREATION_DATE,
213 CREATED_BY,
214 LAST_UPDATE_LOGIN,
215 SECURITY_GROUP_ID,
216 OBJECT_VERSION_NUMBER
217 )
218 values
219 (to_number(x_TABLE_MAP_OBJECT_ID),
220 to_number(x_ORG_ID),
221 x_TM_OBJECT_TYPE,
222 to_number(x_TABLE_MAP_ID),
223 to_number(x_OBJECT_ID),
224 to_date(x_LAST_UPDATE_DATE, 'DD-MM-YYYY'),
225 to_number(x_LAST_UPDATED_BY),
226 to_date(x_CREATION_DATE, 'DD-MM-YYYY'),
227 to_number(x_CREATED_BY),
228 to_number(x_LAST_UPDATE_LOGIN),
229 to_number(x_SECURITY_GROUP_ID),
230 to_number(x_OBJECT_VERSION_NUMBER)
231 );
232 end if;
233 end if;
234 END load_row;
235
236 PROCEDURE load_seed_row(x_UPLOAD_MODE in varchar2,
237 x_TABLE_MAP_OBJECT_ID in varchar2,
238 x_ORG_ID in varchar2,
239 x_TM_OBJECT_TYPE in varchar2,
240 x_TABLE_MAP_ID in varchar2,
241 x_OBJECT_ID in varchar2,
242 x_LAST_UPDATE_DATE in varchar2,
243 x_LAST_UPDATED_BY in varchar2,
244 x_CREATION_DATE in varchar2,
245 x_CREATED_BY in varchar2,
246 x_LAST_UPDATE_LOGIN in varchar2,
247 x_SECURITY_GROUP_ID in varchar2,
248 x_OBJECT_VERSION_NUMBER in varchar2,
249 x_APPLICATION_SHORT_NAME in varchar2,
250 x_OWNER in varchar2)
251 IS
252 BEGIN
253 if (x_upload_mode = 'NLS') then
254 --CN_TABLE_MAP_OBJECTS_PKG.TRANSLATE_ROW(x_owner);
255 -- As this ldt is not required to loaded translated data, you could leave it blank.
256 null;
257 else
258 CN_TABLE_MAP_OBJECTS_PKG.load_row(x_TABLE_MAP_OBJECT_ID,
259 x_ORG_ID,
260 x_TM_OBJECT_TYPE,
261 x_TABLE_MAP_ID,
262 x_OBJECT_ID,
263 x_LAST_UPDATE_DATE,
264 x_LAST_UPDATED_BY,
265 x_CREATION_DATE,
266 x_CREATED_BY,
267 x_LAST_UPDATE_LOGIN,
268 x_SECURITY_GROUP_ID,
269 x_OBJECT_VERSION_NUMBER,
270 x_APPLICATION_SHORT_NAME,
271 x_OWNER);
272 null;
273 end if;
274 END load_seed_row;
275
276 END cn_table_map_objects_pkg ;