DBA Data[Home] [Help]

PACKAGE BODY: APPS.PNT_PROPERTIES_PKG

Source


1 PACKAGE BODY PNT_PROPERTIES_PKG AS
2 /* $Header: PNTPROPB.pls 120.2 2005/12/01 08:29:15 appldev ship $ */
3 
4 --------------------------------------------------------------------------------
5 --  NAME         : check_unique_property_code
6 --  DESCRIPTION  : checks if property code is UNIQUE in the same OU
7 --  INVOKED FROM : pld
8 --  ARGUMENTS    : x_return_status, x_property_id, x_property_code, x_org_id
9 --  REFERENCE    : PN_COMMON.debug()
10 --  HISTORY      :
11 --  28-may-05  sdmahesh  o Bug 4284035 - Rewrote for MOAC
12 --------------------------------------------------------------------------------
13 PROCEDURE check_unique_property_code (x_return_status IN OUT NOCOPY VARCHAR2,
14                                       x_property_id                 NUMBER,
15                                       x_property_code               VARCHAR2,
16                                       x_org_id                      NUMBER)
17 IS
18    DUP_PROP_CODE EXCEPTION;
19    l_prop_ID NUMBER;
20    CURSOR dup_prop_code1 IS
21       SELECT property_ID
22       INTO   l_prop_ID
23       FROM   pn_properties_all
24       WHERE  property_code = x_property_code
25       AND    org_ID = x_org_id;
26 
27    CURSOR dup_prop_code2 IS
28       SELECT property_ID
29       INTO   l_prop_ID
30       FROM   pn_properties_all
31       WHERE  property_code = x_property_code
32       AND    property_id <> x_property_id
33       AND    org_ID = x_org_id;
34 
35 BEGIN
36 
37    PNP_DEBUG_PKG.debug ('PNT_PROPERTIES_PKG.check_unique_property_code (+)');
38 
39    /* check for duplication */
40    IF x_property_id IS NULL THEN
41       FOR i IN dup_prop_code1 LOOP
42         RAISE DUP_PROP_CODE;
43       END LOOP;
44    ELSE
45       FOR i IN dup_prop_code2 LOOP
46         RAISE DUP_PROP_CODE;
47       END LOOP;
48    END IF;
49 
50    PNP_DEBUG_PKG.debug ('PNT_PROPERTIES_PKG.check_unique_property_code (-)');
51 
52 EXCEPTION
53    WHEN DUP_PROP_CODE THEN
54       fnd_message.set_name ('PN','PN_DUP_PROPERTY_CODE');
55       fnd_message.set_token('PROPERTY_CODE', x_property_code);
56       x_return_status := 'E';
57 
58 END check_unique_property_code;
59 
60 -------------------------------------------------------------------------------
61 -- PROCDURE     : INSERT_ROW
62 -- INVOKED FROM : insert_row procedure
63 -- PURPOSE      : inserts the row
64 -- HISTORY      :
65 -- 22-MAY-02  ftanudja  o added x_org_id for shared serv. enh.
66 -- 13-Jul-05  sdmahesh  o Replaced PN_PROPERTIES with _ALL tables.Also modified
67 --                        arguments for check_unique_property_code
68 -- 28-NOV-05  pikhar    o fetched org_id using cursor
69 -------------------------------------------------------------------------------
70 procedure INSERT_ROW (
71                        X_ORG_ID                                NUMBER,
72                        X_ROWID                in out NOCOPY    VARCHAR2,
73                        X_PROPERTY_ID          in out NOCOPY    NUMBER,
74                        X_LAST_UPDATE_DATE                      DATE,
75                        X_LAST_UPDATED_BY                       NUMBER,
76                        X_CREATION_DATE                         DATE,
77                        X_CREATED_BY                            NUMBER,
78                        X_LAST_UPDATE_LOGIN                     NUMBER,
79                        X_PROPERTY_NAME                         VARCHAR2,
80                        X_PROPERTY_CODE                         VARCHAR2,
81                        X_LOCATION_PARK_ID                      NUMBER,
82                        X_ZONE                                  VARCHAR2,
83                        X_DISTRICT                              VARCHAR2,
84                        X_COUNTRY                               VARCHAR2,
85                        X_DESCRIPTION                           VARCHAR2,
86                        X_PORTFOLIO                             VARCHAR2,
87                        X_TENURE                                VARCHAR2,
88                        X_CLASS                                 VARCHAR2,
89                        X_PROPERTY_STATUS                       VARCHAR2,
90                        X_CONDITION                             VARCHAR2,
91                        X_ACTIVE_PROPERTY                       VARCHAR2,
92                        X_ATTRIBUTE_CATEGORY                    VARCHAR2,
93                        X_ATTRIBUTE1                            VARCHAR2,
94                        X_ATTRIBUTE2                            VARCHAR2,
95                        X_ATTRIBUTE3                            VARCHAR2,
96                        X_ATTRIBUTE4                            VARCHAR2,
97                        X_ATTRIBUTE5                            VARCHAR2,
98                        X_ATTRIBUTE6                            VARCHAR2,
99                        X_ATTRIBUTE7                            VARCHAR2,
100                        X_ATTRIBUTE8                            VARCHAR2,
101                        X_ATTRIBUTE9                            VARCHAR2,
102                        X_ATTRIBUTE10                           VARCHAR2,
103                        X_ATTRIBUTE11                           VARCHAR2,
104                        X_ATTRIBUTE12                           VARCHAR2,
105                        X_ATTRIBUTE13                           VARCHAR2,
106                        X_ATTRIBUTE14                           VARCHAR2,
107                        X_ATTRIBUTE15                           VARCHAR2
108 )
109 IS
110 
111    CURSOR properties IS
112       SELECT ROWID
113       FROM PN_PROPERTIES_ALL
114       WHERE PROPERTY_ID = X_PROPERTY_ID;
115 
116    l_return_status VARCHAR2(20) := NULL;
117 
118 BEGIN
119 
120    PNP_DEBUG_PKG.debug ('PNT_PROPERTIES_PKG.INSERT_ROW (+)');
121 
122    /* Call CHECK_UNIQUE_LOCATION_CODE to check if the property code is unique. */
123    l_return_status := NULL;
124    check_unique_property_code (
125                        l_return_status
126                       ,x_property_id
127                       ,x_property_code
128                       ,x_org_id);
129    IF (l_return_status IS NOT NULL) THEN
130       APP_EXCEPTION.Raise_Exception;
131    END IF;
132 
133    /* Select the nextval for Property Id */
134    IF ( X_PROPERTY_ID IS NULL) THEN
135       l_return_status := NULL;
136 
137       SELECT  pn_properties_s.NEXTVAL
138       INTO    X_PROPERTY_ID
139       FROM    dual;
140 
141       INSERT INTO PN_PROPERTIES_ALL
142       (
143        ORG_ID,
144        PROPERTY_ID,
145        LAST_UPDATE_DATE,
146        LAST_UPDATED_BY,
147        CREATION_DATE,
148        CREATED_BY,
149        LAST_UPDATE_LOGIN,
150        PROPERTY_NAME,
151        PROPERTY_CODE,
152        LOCATION_PARK_ID,
153        ZONE,
154        DISTRICT,
155        COUNTRY,
156        DESCRIPTION,
157        PORTFOLIO,
158        TENURE,
159        CLASS,
160        PROPERTY_STATUS,
161        CONDITION,
162        ACTIVE_PROPERTY,
163        ATTRIBUTE_CATEGORY,
164        ATTRIBUTE1,
165        ATTRIBUTE2,
166        ATTRIBUTE3,
167        ATTRIBUTE4,
168        ATTRIBUTE5,
169        ATTRIBUTE6,
170        ATTRIBUTE7,
171        ATTRIBUTE8,
172        ATTRIBUTE9,
173        ATTRIBUTE10,
174        ATTRIBUTE11,
175        ATTRIBUTE12,
176        ATTRIBUTE13,
177        ATTRIBUTE14,
178        ATTRIBUTE15
179       )
180       VALUES
181       (
182        X_ORG_ID,
183        X_PROPERTY_ID,
184        X_LAST_UPDATE_DATE,
185        X_LAST_UPDATED_BY,
186        X_CREATION_DATE,
187        X_CREATED_BY,
188        X_LAST_UPDATE_LOGIN,
189        X_PROPERTY_NAME,
190        X_PROPERTY_CODE,
191        X_LOCATION_PARK_ID,
192        X_ZONE,
193        X_DISTRICT,
194        X_COUNTRY,
195        X_DESCRIPTION,
196        X_PORTFOLIO,
197        X_TENURE,
198        X_CLASS,
199        X_PROPERTY_STATUS,
200        X_CONDITION,
201        X_ACTIVE_PROPERTY,
202        X_ATTRIBUTE_CATEGORY,
203        X_ATTRIBUTE1,
204        X_ATTRIBUTE2,
205        X_ATTRIBUTE3,
206        X_ATTRIBUTE4,
207        X_ATTRIBUTE5,
208        X_ATTRIBUTE6,
209        X_ATTRIBUTE7,
210        X_ATTRIBUTE8,
211        X_ATTRIBUTE9,
212        X_ATTRIBUTE10,
213        X_ATTRIBUTE11,
214        X_ATTRIBUTE12,
215        X_ATTRIBUTE13,
216        X_ATTRIBUTE14,
217        X_ATTRIBUTE15
218       );
219 
220       OPEN properties;
221       FETCH properties INTO X_ROWID;
222       IF (properties%NOTFOUND) THEN
223          CLOSE properties;
224          RAISE NO_DATA_FOUND;
225       END IF;
226       CLOSE properties;
227 
228    END IF;
229 
230   PNP_DEBUG_PKG.debug ('PNT_PROPERTIES_PKG.INSERT_ROW(-)');
231 
232 END INSERT_ROW;
233 
234  -------------------------------------------------------------------------------
235 -- PROCDURE     : LOCK_ROW
236 -- INVOKED FROM : LOCK_ROW procedure
237 -- PURPOSE      : locks the row
238 -- HISTORY      :
239 -- 17-JUL-02 ftanudja o modified control logic to follow new standards
240 -- 21-JUN-05 sdmahesh o Bug 4284035 - Replaced PN_PROPERTIES with _ALL table.
241 -------------------------------------------------------------------------------
242 PROCEDURE LOCK_ROW (
243                        X_PROPERTY_ID                           NUMBER,
244                        X_PROPERTY_NAME                         VARCHAR2,
245                        X_PROPERTY_CODE                         VARCHAR2,
246                        X_LOCATION_PARK_ID                      NUMBER,
247                        X_ZONE                                  VARCHAR2,
248                        X_DISTRICT                              VARCHAR2,
249                        X_COUNTRY                               VARCHAR2,
250                        X_DESCRIPTION                           VARCHAR2,
251                        X_PORTFOLIO                             VARCHAR2,
252                        X_TENURE                                VARCHAR2,
253                        X_CLASS                                 VARCHAR2,
254                        X_PROPERTY_STATUS                       VARCHAR2,
255                        X_CONDITION                             VARCHAR2,
256                        X_ACTIVE_PROPERTY                       VARCHAR2,
257                        X_ATTRIBUTE_CATEGORY                    VARCHAR2,
258                        X_ATTRIBUTE1                            VARCHAR2,
259                        X_ATTRIBUTE2                            VARCHAR2,
260                        X_ATTRIBUTE3                            VARCHAR2,
261                        X_ATTRIBUTE4                            VARCHAR2,
262                        X_ATTRIBUTE5                            VARCHAR2,
263                        X_ATTRIBUTE6                            VARCHAR2,
264                        X_ATTRIBUTE7                            VARCHAR2,
265                        X_ATTRIBUTE8                            VARCHAR2,
266                        X_ATTRIBUTE9                            VARCHAR2,
267                        X_ATTRIBUTE10                           VARCHAR2,
268                        X_ATTRIBUTE11                           VARCHAR2,
269                        X_ATTRIBUTE12                           VARCHAR2,
270                        X_ATTRIBUTE13                           VARCHAR2,
271                        X_ATTRIBUTE14                           VARCHAR2,
272                        X_ATTRIBUTE15                           VARCHAR2
273 ) IS
274 
275 CURSOR c IS
276    SELECT *
277    FROM PN_PROPERTIES_ALL
278    WHERE PROPERTY_ID = X_PROPERTY_ID
279    FOR UPDATE OF property_id NOWAIT;
280 
281 tlinfo c%ROWTYPE;
282 
283 BEGIN
284 
285     PNP_DEBUG_PKG.debug ('PNT_PROPERTIES_PKG.LOCK_ROW (+)');
286 
287     OPEN c;
288     FETCH c INTO tlinfo;
289     IF (c%notfound) THEN
290        CLOSE c;
291        RETURN;
292     END IF;
293     CLOSE c;
294 
295     IF NOT ((tlinfo.PROPERTY_NAME = X_PROPERTY_NAME)
296            OR ((tlinfo.PROPERTY_NAME is null) AND (X_PROPERTY_NAME is null))) THEN
297        pn_var_rent_pkg.lock_row_exception('PROPERTY_NAME', tlinfo.property_name);
298     END IF;
299 
300     IF NOT (tlinfo.PROPERTY_CODE = X_PROPERTY_CODE) THEN
301        pn_var_rent_pkg.lock_row_exception('PROPERTY_CODE', tlinfo.property_code);
302     END IF;
303 
304     IF NOT ((tlinfo.LOCATION_PARK_ID = X_LOCATION_PARK_ID)
305             OR ((tlinfo.LOCATION_PARK_ID is null) AND (X_LOCATION_PARK_ID is null))) THEN
306        pn_var_rent_pkg.lock_row_exception('LOCATION_PARK_ID',tlinfo.location_park_id);
307     END IF;
308 
309     IF NOT ((tlinfo.ZONE = X_ZONE)
310             OR ((tlinfo.ZONE is null) AND (X_ZONE is null))) THEN
311        pn_var_rent_pkg.lock_row_exception('ZONE',tlinfo.zone);
312     END IF;
313 
314     IF NOT ((tlinfo.DISTRICT = X_DISTRICT)
315             OR ((tlinfo.DISTRICT is null) AND (X_DISTRICT is null))) THEN
316        pn_var_rent_pkg.lock_row_exception('DISTRICT',tlinfo.district);
317     END IF;
318 
319     IF NOT ((tlinfo.COUNTRY = X_COUNTRY)
320             OR ((tlinfo.COUNTRY is null) AND (X_COUNTRY is null))) THEN
321        pn_var_rent_pkg.lock_row_exception('COUNTRY',tlinfo.country);
322     END IF;
323 
324     IF NOT ((tlinfo.DESCRIPTION = X_DESCRIPTION)
325             OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null))) THEN
326        pn_var_rent_pkg.lock_row_exception('DESCRIPTION',tlinfo.description);
327     END IF;
328 
329     IF NOT ((tlinfo.PORTFOLIO = X_PORTFOLIO)
330            OR ((tlinfo.PORTFOLIO is null) AND (X_PORTFOLIO is null))) THEN
331        pn_var_rent_pkg.lock_row_exception('PORTFOLIO',tlinfo.portfolio);
332     END IF;
333 
334     IF NOT (tlinfo.TENURE = X_TENURE) THEN
335        pn_var_rent_pkg.lock_row_exception('TENURE',tlinfo.tenure);
336     END IF;
337 
338     IF NOT ((tlinfo.CLASS = X_CLASS)
339             OR ((tlinfo.CLASS is null) AND (X_CLASS is null))) THEN
340        pn_var_rent_pkg.lock_row_exception('CLASS',tlinfo.class);
341     END IF;
342 
343     IF NOT ((tlinfo.PROPERTY_STATUS = X_PROPERTY_STATUS)
344             OR ((tlinfo.PROPERTY_STATUS is null) AND (X_PROPERTY_STATUS is null))) THEN
345        pn_var_rent_pkg.lock_row_exception('PROPERTY_STATUS',tlinfo.property_status);
346     END IF;
347 
348     IF NOT ((tlinfo.CONDITION = X_CONDITION)
349            OR ((tlinfo.CONDITION is null) AND (X_CONDITION is null))) THEN
350        pn_var_rent_pkg.lock_row_exception('CONDITION',tlinfo.condition);
351     END IF;
352 
353     IF NOT ((tlinfo.ACTIVE_PROPERTY = X_ACTIVE_PROPERTY)
354             OR ((tlinfo.ACTIVE_PROPERTY is null) AND (X_ACTIVE_PROPERTY is null))) THEN
355        pn_var_rent_pkg.lock_row_exception('ACTIVE_PROPERTY',tlinfo.active_property);
356     END IF;
357 
358     IF NOT ((tlinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
359             OR ((tlinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))THEN
360        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE_CATEGORY', tlinfo.attribute_category);
361     END IF;
362 
363     IF NOT ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
364             OR ((tlinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null))) THEN
365        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE1', tlinfo.attribute1);
366     END IF;
367 
368     IF NOT ((tlinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
369             OR ((tlinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null))) THEN
370        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE2', tlinfo.attribute2);
371     END IF;
372 
373     IF NOT ((tlinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
374             OR ((tlinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null))) THEN
375        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE3', tlinfo.attribute3);
376     END IF;
377 
378     IF NOT ((tlinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
379             OR ((tlinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null))) THEN
380        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE4', tlinfo.attribute4);
381     END IF;
382 
383     IF NOT ((tlinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
384             OR ((tlinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null))) THEN
385        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE5', tlinfo.attribute5);
386     END IF;
387 
388     IF NOT ((tlinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
389             OR ((tlinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null))) THEN
390        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE6', tlinfo.attribute6);
391     END IF;
392 
393     IF NOT ((tlinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
394             OR ((tlinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null))) THEN
395        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE7', tlinfo.attribute7);
396     END IF;
397 
398     IF NOT ((tlinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
399             OR ((tlinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null))) THEN
400        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE8', tlinfo.attribute8);
401     END IF;
402 
403     IF NOT ((tlinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
404             OR ((tlinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null))) THEN
405        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE9', tlinfo.attribute9);
406     END IF;
407 
408     IF NOT ((tlinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
409             OR ((tlinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null))) THEN
410        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE10', tlinfo.attribute10);
411     END IF;
412 
413     IF NOT ((tlinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
414             OR ((tlinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null))) THEN
415        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE11', tlinfo.attribute11);
416     END IF;
417 
418     IF NOT ((tlinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
419             OR ((tlinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null))) THEN
420        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE12', tlinfo.attribute12);
421     END IF;
422 
423     IF NOT ((tlinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
424             OR ((tlinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null))) THEN
425        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE13', tlinfo.attribute13);
426     END IF;
427 
428     IF NOT ((tlinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
429             OR ((tlinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null))) THEN
430        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE14', tlinfo.attribute14);
431     END IF;
432 
433     IF NOT ((tlinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
434             OR ((tlinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null))) THEN
435        pn_var_rent_pkg.lock_row_exception('ATTRIBUTE15', tlinfo.attribute15);
436     END IF;
437 
438 
439     PNP_DEBUG_PKG.debug ('PNT_PROPERTIES_PKG.LOCK_ROW (-)');
440 
441 END LOCK_ROW;
442 
443 
444  -------------------------------------------------------------------------------
445 -- PROCDURE     : UPDATE_ROW
446 -- INVOKED FROM : UPDATE_ROW procedure
447 -- PURPOSE      : upadtes the row
448 -- HISTORY      :
449 -- 21-JUN-05  sdmahesh o Bug 4284035 - Replaced PN_PROPERTIES with _ALL table.
450 -------------------------------------------------------------------------------
451 procedure UPDATE_ROW (
452                        X_PROPERTY_ID                           NUMBER,
453                        X_LAST_UPDATE_DATE                      DATE,
454                        X_LAST_UPDATED_BY                       NUMBER,
455                        X_LAST_UPDATE_LOGIN                     NUMBER,
456                        X_PROPERTY_NAME                         VARCHAR2,
457                        X_PROPERTY_CODE                         VARCHAR2,
458                        X_LOCATION_PARK_ID                      NUMBER,
459                        X_ZONE                                  VARCHAR2,
460                        X_DISTRICT                              VARCHAR2,
461                        X_COUNTRY                               VARCHAR2,
462                        X_DESCRIPTION                           VARCHAR2,
463                        X_PORTFOLIO                             VARCHAR2,
464                        X_TENURE                                VARCHAR2,
465                        X_CLASS                                 VARCHAR2,
466                        X_PROPERTY_STATUS                       VARCHAR2,
467                        X_CONDITION                             VARCHAR2,
468                        X_ACTIVE_PROPERTY                       VARCHAR2,
469                        X_ATTRIBUTE_CATEGORY                    VARCHAR2,
470                        X_ATTRIBUTE1                            VARCHAR2,
471                        X_ATTRIBUTE2                            VARCHAR2,
472                        X_ATTRIBUTE3                            VARCHAR2,
473                        X_ATTRIBUTE4                            VARCHAR2,
474                        X_ATTRIBUTE5                            VARCHAR2,
475                        X_ATTRIBUTE6                            VARCHAR2,
476                        X_ATTRIBUTE7                            VARCHAR2,
477                        X_ATTRIBUTE8                            VARCHAR2,
478                        X_ATTRIBUTE9                            VARCHAR2,
479                        X_ATTRIBUTE10                           VARCHAR2,
480                        X_ATTRIBUTE11                           VARCHAR2,
481                        X_ATTRIBUTE12                           VARCHAR2,
482                        X_ATTRIBUTE13                           VARCHAR2,
483                        X_ATTRIBUTE14                           VARCHAR2,
484                        X_ATTRIBUTE15                           VARCHAR2
485 )
486 IS
487 
488 BEGIN
489 
490    PNP_DEBUG_PKG.debug ('PNT_PROPERTIES_PKG.UPDATE_ROW (+)');
491 
492    UPDATE PN_PROPERTIES_ALL
493    SET
494       LAST_UPDATE_DATE   = X_LAST_UPDATE_DATE,
495       LAST_UPDATED_BY    = X_LAST_UPDATED_BY,
496       LAST_UPDATE_LOGIN  = X_LAST_UPDATE_LOGIN,
497       PROPERTY_NAME      = X_PROPERTY_NAME,
498       PROPERTY_CODE      = X_PROPERTY_CODE,
499       LOCATION_PARK_ID   = X_LOCATION_PARK_ID,
500       ZONE               = X_ZONE,
501       DISTRICT           = X_DISTRICT,
502       COUNTRY            = X_COUNTRY,
503       DESCRIPTION        = X_DESCRIPTION,
504       PORTFOLIO          = X_PORTFOLIO,
505       TENURE             = X_TENURE,
506       CLASS              = X_CLASS,
507       PROPERTY_STATUS    = X_PROPERTY_STATUS,
508       CONDITION          = X_CONDITION,
509       ACTIVE_PROPERTY    = X_ACTIVE_PROPERTY,
510       ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
511       ATTRIBUTE1         = X_ATTRIBUTE1,
512       ATTRIBUTE2         = X_ATTRIBUTE2,
513       ATTRIBUTE3         = X_ATTRIBUTE3,
514       ATTRIBUTE4         = X_ATTRIBUTE4,
515       ATTRIBUTE5         = X_ATTRIBUTE5,
516       ATTRIBUTE6         = X_ATTRIBUTE6,
517       ATTRIBUTE7         = X_ATTRIBUTE7,
518       ATTRIBUTE8         = X_ATTRIBUTE8,
519       ATTRIBUTE9         = X_ATTRIBUTE9,
520       ATTRIBUTE10        = X_ATTRIBUTE10,
521       ATTRIBUTE11        = X_ATTRIBUTE11,
522       ATTRIBUTE12        = X_ATTRIBUTE12,
523       ATTRIBUTE13        = X_ATTRIBUTE13,
524       ATTRIBUTE14        = X_ATTRIBUTE14,
525       ATTRIBUTE15        = X_ATTRIBUTE15
526    WHERE PROPERTY_ID = X_PROPERTY_ID;
527 
528    IF (SQL%NOTFOUND) THEN
529       RAISE NO_DATA_FOUND;
530    END IF;
531 
532    PNP_DEBUG_PKG.debug ('PNT_PROPERTIES_PKG.UPDATE_ROW (-)');
533 
534 END UPDATE_ROW;
535 
536 END  PNT_PROPERTIES_PKG;