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