DBA Data[Home] [Help]

PACKAGE BODY: APPS.WSH_DELIVERIES_PKG

Source


1 PACKAGE BODY WSH_DELIVERIES_PKG as
2 /* $Header: WSHDELHB.pls 115.2 99/08/11 19:22:52 porting s $ */
3 
4   -- The procedure insert_row can possibly return 2 kinds of exceptions
5   -- 1. WSH_DEL_DUP_NAME : This the for the case that default delivery name
6   --                       generated by wsh_external_custom.delivery_name
7   --                       is duplicate in table wsh_deliveries
8   -- 2. WSH_DEL_NULL_NAME : This is for the case that default delivery name
9   --                        generated by wsh_external_custom.delivery_name
10   -- 			    is NULL.
11 
12 
13   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
14                        X_Organization_Id                NUMBER,
15                        X_Delivery_Id                    NUMBER,
16                        X_Name                    IN OUT VARCHAR2,
17                        X_Source_Code                    VARCHAR2,
18                        X_Planned_Departure_Id           NUMBER,
19                        X_Actual_Departure_Id            NUMBER,
20                        X_Status_Code                    VARCHAR2,
21                        X_Loading_Order_Flag             VARCHAR2,
22                        X_Date_Closed                    DATE,
23                        X_Report_Set_Id                  NUMBER,
24                        X_Sequence_Number                NUMBER,
25                        X_Customer_Id                    NUMBER,
26                        X_Ultimate_Ship_To_Id            NUMBER,
27                        X_Intermediate_Ship_To_Id        NUMBER,
28                        X_Pooled_Ship_To_Id              NUMBER,
29                        X_Waybill                        VARCHAR2,
30                        X_Gross_Weight                   NUMBER,
31                        X_Weight_Uom_Code                VARCHAR2,
32                        X_Volume                         NUMBER,
33                        X_Volume_Uom_Code                VARCHAR2,
34                        X_Picked_By_Id                   NUMBER,
35                        X_Packed_By_Id                   NUMBER,
36                        X_Expected_Arrival_Date          DATE,
37                        X_Asn_Date_Sent                  DATE,
38                        X_Asn_Seq_Number                 NUMBER,
39                        X_Freight_Carrier_Code           VARCHAR2,
40                        X_Freight_Terms_Code             VARCHAR2,
41                        X_Currency_Code                  VARCHAR2,
42                        X_Fob_Code                       VARCHAR2,
43                        X_Attribute_Category             VARCHAR2,
44                        X_Attribute1                     VARCHAR2,
45                        X_Attribute2                     VARCHAR2,
46                        X_Attribute3                     VARCHAR2,
47                        X_Attribute4                     VARCHAR2,
48                        X_Attribute5                     VARCHAR2,
49                        X_Attribute6                     VARCHAR2,
50                        X_Attribute7                     VARCHAR2,
51                        X_Attribute8                     VARCHAR2,
52                        X_Attribute9                     VARCHAR2,
53                        X_Attribute10                    VARCHAR2,
54                        X_Attribute11                    VARCHAR2,
55                        X_Attribute12                    VARCHAR2,
56                        X_Attribute13                    VARCHAR2,
57                        X_Attribute14                    VARCHAR2,
58                        X_Attribute15                    VARCHAR2,
59                        X_Global_Attribute_Category      VARCHAR2 default null,
60                        X_Global_Attribute1              VARCHAR2 default null,
61                        X_Global_Attribute2              VARCHAR2 default null,
62                        X_Global_Attribute3              VARCHAR2 default null,
63                        X_Global_Attribute4              VARCHAR2 default null,
64                        X_Global_Attribute5              VARCHAR2 default null,
65                        X_Global_Attribute6              VARCHAR2 default null,
66                        X_Global_Attribute7              VARCHAR2 default null,
67                        X_Global_Attribute8              VARCHAR2 default null,
68                        X_Global_Attribute9              VARCHAR2 default null,
69                        X_Global_Attribute10             VARCHAR2 default null,
70                        X_Global_Attribute11             VARCHAR2 default null,
71                        X_Global_Attribute12             VARCHAR2 default null,
72                        X_Global_Attribute13             VARCHAR2 default null,
73                        X_Global_Attribute14             VARCHAR2 default null,
74                        X_Global_Attribute15             VARCHAR2 default null,
75                        X_Global_Attribute16             VARCHAR2 default null,
76                        X_Global_Attribute17             VARCHAR2 default null,
77                        X_Global_Attribute18             VARCHAR2 default null,
78                        X_Global_Attribute19             VARCHAR2 default null,
79                        X_Global_Attribute20             VARCHAR2 default null,
80                        X_Last_Update_Date               DATE,
81                        X_Last_Updated_By                NUMBER,
82                        X_Last_Update_Login              NUMBER
83   ) IS
84     dname 		wsh_deliveries.name%TYPE;
85     CURSOR C2 IS SELECT wsh_deliveries_s.nextval FROM sys.dual;
86     CURSOR C3 (del_name   VARCHAR2) IS
87       SELECT COUNT(*) FROM wsh_deliveries
88       WHERE name = del_name;
89     temp 		NUMBER;
90     temp_id		NUMBER;
91     duplicate_name	EXCEPTION;
92     null_name		EXCEPTION;
93   BEGIN
94 
95     IF (X_Name IS NULL) THEN
96       dname := wsh_external_custom.delivery_name(X_Delivery_Id);
97 
98       IF ( dname IS NULL ) THEN
99         RAISE null_name;
100       -- shipping default make sure the delivery name is not duplicate
101       ELSIF ( dname = TO_CHAR(X_Delivery_Id) ) THEN
102         temp_id := X_Delivery_Id;
103         OPEN C2;
104 
105         LOOP
106           dname := TO_CHAR(temp_id);
107           OPEN C3( dname);
108           FETCH C3 INTO temp;
109           CLOSE C3;
110           IF ( temp = 0 ) THEN
111             EXIT;
112           END IF;
113 
114           FETCH C2 INTO temp_id;
115         END LOOP;
116         CLOSE C2;
117       ELSE  -- name is generated from wsh_external_custom.delivery_name
118           OPEN C3( dname);
119           FETCH C3 INTO temp;
120           CLOSE C3;
121           IF ( temp > 0 ) THEN
122             RAISE duplicate_name;
123           END IF;
124 
125         END IF;
126         X_Name := dname;
127     END IF;
128 
132        delivery_id                     =     X_Delivery_Id,
129     UPDATE wsh_deliveries
130     SET
131        organization_id                 =     X_Organization_Id,
133        name                            =     X_Name,
134        source_code                     =     X_Source_Code,
135        planned_departure_id            =     X_Planned_Departure_Id,
136        actual_departure_id             =     X_Actual_Departure_Id,
137        status_code                     =     X_Status_Code,
138        loading_order_flag              =     X_Loading_Order_Flag,
139        date_closed                     =     X_Date_Closed,
140        report_set_id                   =     X_Report_Set_Id,
141        sequence_number                 =     X_Sequence_Number,
142        customer_id                     =     X_Customer_Id,
143        ultimate_ship_to_id             =     X_Ultimate_Ship_To_Id,
144        intermediate_ship_to_id         =     X_Intermediate_Ship_To_Id,
145        pooled_ship_to_id               =     X_Pooled_Ship_To_Id,
146        waybill                         =     X_Waybill,
147        gross_weight                    =     X_Gross_Weight,
148        weight_uom_code                 =     X_Weight_Uom_Code,
149        volume                          =     X_Volume,
150        volume_uom_code                 =     X_Volume_Uom_Code,
151        picked_by_id                    =     X_Picked_By_Id,
152        packed_by_id                    =     X_Packed_By_Id,
153        expected_arrival_date           =     X_Expected_Arrival_Date,
154        asn_date_sent                   =     X_Asn_Date_Sent,
155        asn_seq_number                  =     X_Asn_Seq_Number,
156        freight_carrier_code            =     X_Freight_Carrier_Code,
157        freight_terms_code              =     X_Freight_Terms_Code,
158        currency_code                   =     X_Currency_Code,
159        fob_code                        =     X_Fob_Code,
160        attribute_category              =     X_Attribute_Category,
161        attribute1                      =     X_Attribute1,
162        attribute2                      =     X_Attribute2,
163        attribute3                      =     X_Attribute3,
164        attribute4                      =     X_Attribute4,
165        attribute5                      =     X_Attribute5,
166        attribute6                      =     X_Attribute6,
167        attribute7                      =     X_Attribute7,
168        attribute8                      =     X_Attribute8,
169        attribute9                      =     X_Attribute9,
170        attribute10                     =     X_Attribute10,
171        attribute11                     =     X_Attribute11,
172        attribute12                     =     X_Attribute12,
173        attribute13                     =     X_Attribute13,
174        attribute14                     =     X_Attribute14,
175        attribute15                     =     X_Attribute15,
176        global_attribute_category       =     X_Global_Attribute_Category,
177        global_attribute1               =     X_Global_Attribute1,
178        global_attribute2               =     X_Global_Attribute2,
179        global_attribute3               =     X_Global_Attribute3,
180        global_attribute4               =     X_Global_Attribute4,
181        global_attribute5               =     X_Global_Attribute5,
182        global_attribute6               =     X_Global_Attribute6,
183        global_attribute7               =     X_Global_Attribute7,
184        global_attribute8               =     X_Global_Attribute8,
185        global_attribute9               =     X_Global_Attribute9,
186        global_attribute10              =     X_Global_Attribute10,
187        global_attribute11              =     X_Global_Attribute11,
188        global_attribute12              =     X_Global_Attribute12,
189        global_attribute13              =     X_Global_Attribute13,
190        global_attribute14              =     X_Global_Attribute14,
191        global_attribute15              =     X_Global_Attribute15,
192        global_attribute16              =     X_Global_Attribute16,
193        global_attribute17              =     X_Global_Attribute17,
194        global_attribute18              =     X_Global_Attribute18,
195        global_attribute19              =     X_Global_Attribute19,
196        global_attribute20              =     X_Global_Attribute20,
197        last_update_date                =     X_Last_Update_Date,
198        last_updated_by                 =     X_Last_Updated_By,
202     if (SQL%NOTFOUND) then
199        last_update_login               =     X_Last_Update_Login
200     WHERE rowid = X_Rowid;
201 
203       Raise NO_DATA_FOUND;
204     end if;
205   END Update_Row;
206 
207 
208 
209  PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
210                      X_Organization_Id                  NUMBER,
211                      X_Delivery_Id                      NUMBER,
212                      X_Name                             VARCHAR2,
213                      X_Source_Code                      VARCHAR2,
214                      X_Planned_Departure_Id             NUMBER,
215                      X_Actual_Departure_Id              NUMBER,
216                      X_Status_Code                      VARCHAR2,
217                      X_Loading_Order_Flag               VARCHAR2,
218                      X_Date_Closed                      DATE,
219                      X_Report_Set_Id                    NUMBER,
220                      X_Sequence_Number                  NUMBER,
221                      X_Customer_Id                      NUMBER,
222                      X_Ultimate_Ship_To_Id              NUMBER,
223                      X_Intermediate_Ship_To_Id          NUMBER,
224                      X_Pooled_Ship_To_Id                NUMBER,
225                      X_Waybill                          VARCHAR2,
226                      X_Gross_Weight                     NUMBER,
227                      X_Weight_Uom_Code                  VARCHAR2,
228                      X_Volume                           NUMBER,
229                      X_Volume_Uom_Code                  VARCHAR2,
230                      X_Picked_By_Id                     NUMBER,
231                      X_Packed_By_Id                     NUMBER,
232                      X_Expected_Arrival_Date            DATE,
233                      X_Asn_Date_Sent                    DATE,
234                      X_Asn_Seq_Number                   NUMBER,
235                      X_Freight_Carrier_Code             VARCHAR2,
236                      X_Freight_Terms_Code               VARCHAR2,
237                      X_Currency_Code                    VARCHAR2,
238                      X_Fob_Code                         VARCHAR2,
239                      X_Attribute_Category               VARCHAR2,
240                      X_Attribute1                       VARCHAR2,
241                      X_Attribute2                       VARCHAR2,
242                      X_Attribute3                       VARCHAR2,
246                      X_Attribute7                       VARCHAR2,
243                      X_Attribute4                       VARCHAR2,
244                      X_Attribute5                       VARCHAR2,
245                      X_Attribute6                       VARCHAR2,
247                      X_Attribute8                       VARCHAR2,
248                      X_Attribute9                       VARCHAR2,
249                      X_Attribute10                      VARCHAR2,
250                      X_Attribute11                      VARCHAR2,
251                      X_Attribute12                      VARCHAR2,
252                      X_Attribute13                      VARCHAR2,
253                      X_Attribute14                      VARCHAR2,
254                      X_Attribute15                      VARCHAR2,
255                      X_Global_Attribute_Category        VARCHAR2 default null,
256                      X_Global_Attribute1                VARCHAR2 default null,
257                      X_Global_Attribute2                VARCHAR2 default null,
258                      X_Global_Attribute3                VARCHAR2 default null,
259                      X_Global_Attribute4                VARCHAR2 default null,
260                      X_Global_Attribute5                VARCHAR2 default null,
261                      X_Global_Attribute6                VARCHAR2 default null,
262                      X_Global_Attribute7                VARCHAR2 default null,
263                      X_Global_Attribute8                VARCHAR2 default null,
264                      X_Global_Attribute9                VARCHAR2 default null,
265                      X_Global_Attribute10               VARCHAR2 default null,
266                      X_Global_Attribute11               VARCHAR2 default null,
270                      X_Global_Attribute15               VARCHAR2 default null,
267                      X_Global_Attribute12               VARCHAR2 default null,
268                      X_Global_Attribute13               VARCHAR2 default null,
269                      X_Global_Attribute14               VARCHAR2 default null,
271                      X_Global_Attribute16               VARCHAR2 default null,
272                      X_Global_Attribute17               VARCHAR2 default null,
273                      X_Global_Attribute18               VARCHAR2 default null,
274                      X_Global_Attribute19               VARCHAR2 default null,
275                      X_Global_Attribute20               VARCHAR2 default null
276   ) IS
277     CURSOR C IS
278         SELECT *
279         FROM   wsh_deliveries
280         WHERE  rowid = X_Rowid
281         FOR UPDATE of Delivery_Id NOWAIT;
282     Recinfo C%ROWTYPE;
283 
284 
285   BEGIN
286     OPEN C;
287     FETCH C INTO Recinfo;
288     if (C%NOTFOUND) then
289       CLOSE C;
290       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
291       APP_EXCEPTION.Raise_Exception;
292     end if;
293     CLOSE C;
294     if (
295                (Recinfo.organization_id =  X_Organization_Id)
296            AND (Recinfo.delivery_id =  X_Delivery_Id)
297            AND (Recinfo.name =  X_Name)
298            AND (Recinfo.source_code =  X_Source_Code)
299            AND (   (Recinfo.planned_departure_id =  X_Planned_Departure_Id)
300                 OR (    (Recinfo.planned_departure_id IS NULL)
301                     AND (X_Planned_Departure_Id IS NULL)))
302            AND (   (Recinfo.actual_departure_id =  X_Actual_Departure_Id)
303                 OR (    (Recinfo.actual_departure_id IS NULL)
304                     AND (X_Actual_Departure_Id IS NULL)))
305            AND (Recinfo.status_code =  X_Status_Code)
306            AND (   (Recinfo.loading_order_flag =  X_Loading_Order_Flag)
307                 OR (    (Recinfo.loading_order_flag IS NULL)
308                     AND (X_Loading_Order_Flag IS NULL)))
309            AND (   (Recinfo.date_closed =  X_Date_Closed)
310                 OR (    (Recinfo.date_closed IS NULL)
311                     AND (X_Date_Closed IS NULL)))
312            AND (   (Recinfo.report_set_id =  X_Report_Set_Id)
313                 OR (    (Recinfo.report_set_id IS NULL)
314                     AND (X_Report_Set_Id IS NULL)))
315            AND (   (Recinfo.sequence_number =  X_Sequence_Number)
316                 OR (    (Recinfo.sequence_number IS NULL)
317                     AND (X_Sequence_Number IS NULL)))
318            AND (Recinfo.customer_id =  X_Customer_Id)
319            AND (Recinfo.ultimate_ship_to_id =  X_Ultimate_Ship_To_Id)
320            AND (   (Recinfo.intermediate_ship_to_id =  X_Intermediate_Ship_To_Id)
321                 OR (    (Recinfo.intermediate_ship_to_id IS NULL)
322                     AND (X_Intermediate_Ship_To_Id IS NULL)))
323            AND (   (Recinfo.pooled_ship_to_id =  X_Pooled_Ship_To_Id)
324                 OR (    (Recinfo.pooled_ship_to_id IS NULL)
325                     AND (X_Pooled_Ship_To_Id IS NULL)))
326            AND (   (Recinfo.waybill =  X_Waybill)
327                 OR (    (Recinfo.waybill IS NULL)
328                     AND (X_Waybill IS NULL)))
329            AND (   (Recinfo.gross_weight =  X_Gross_Weight)
330                 OR (    (Recinfo.gross_weight IS NULL)
331                     AND (X_Gross_Weight IS NULL)))
332            AND (   (Recinfo.weight_uom_code =  X_Weight_Uom_Code)
333                 OR (    (Recinfo.weight_uom_code IS NULL)
334                     AND (X_Weight_Uom_Code IS NULL)))
335            AND (   (Recinfo.volume =  X_Volume)
336                 OR (    (Recinfo.volume IS NULL)
337                     AND (X_Volume IS NULL)))
338            AND (   (Recinfo.volume_uom_code =  X_Volume_Uom_Code)
339                 OR (    (Recinfo.volume_uom_code IS NULL)
340                     AND (X_Volume_Uom_Code IS NULL)))
341            AND (   (Recinfo.picked_by_id =  X_Picked_By_Id)
342                 OR (    (Recinfo.picked_by_id IS NULL)
343                     AND (X_Picked_By_Id IS NULL)))
344            AND (   (Recinfo.packed_by_id =  X_Packed_By_Id)
345                 OR (    (Recinfo.packed_by_id IS NULL)
346                     AND (X_Packed_By_Id IS NULL)))
347            AND (   (Recinfo.expected_arrival_date =  X_Expected_Arrival_Date)
348                 OR (    (Recinfo.expected_arrival_date IS NULL)
349                     AND (X_Expected_Arrival_Date IS NULL)))
350            AND (   (Recinfo.asn_date_sent =  X_Asn_Date_Sent)
351                 OR (    (Recinfo.asn_date_sent IS NULL)
352                     AND (X_Asn_Date_Sent IS NULL)))
353            AND (   (Recinfo.asn_seq_number =  X_Asn_Seq_Number)
354                 OR (    (Recinfo.asn_seq_number IS NULL)
355                     AND (X_Asn_Seq_Number IS NULL)))
356            AND (   (Recinfo.freight_carrier_code =  X_Freight_Carrier_Code)
357                 OR (    (Recinfo.freight_carrier_code IS NULL)
358                     AND (X_Freight_Carrier_Code IS NULL)))
362            AND (   (Recinfo.currency_code =  X_Currency_Code)
359            AND (   (Recinfo.freight_terms_code =  X_Freight_Terms_Code)
360                 OR (    (Recinfo.freight_terms_code IS NULL)
361                     AND (X_Freight_Terms_Code IS NULL)))
363                 OR (    (Recinfo.currency_code IS NULL)
364                     AND (X_Currency_Code IS NULL)))
365            AND (   (Recinfo.fob_code =  X_Fob_Code)
366                 OR (    (Recinfo.fob_code IS NULL)
367                     AND (X_Fob_Code IS NULL)))
368            AND (   (Recinfo.attribute_category =  X_Attribute_Category)
369                 OR (    (Recinfo.attribute_category IS NULL)
370                     AND (X_Attribute_Category IS NULL)))
371            AND (   (Recinfo.attribute1 =  X_Attribute1)
372                 OR (    (Recinfo.attribute1 IS NULL)
373                     AND (X_Attribute1 IS NULL)))
374            AND (   (Recinfo.attribute2 =  X_Attribute2)
375                 OR (    (Recinfo.attribute2 IS NULL)
376                     AND (X_Attribute2 IS NULL)))
377            AND (   (Recinfo.attribute3 =  X_Attribute3)
378                 OR (    (Recinfo.attribute3 IS NULL)
379                     AND (X_Attribute3 IS NULL)))
380            AND (   (Recinfo.attribute4 =  X_Attribute4)
381                 OR (    (Recinfo.attribute4 IS NULL)
382                     AND (X_Attribute4 IS NULL)))
383            AND (   (Recinfo.attribute5 =  X_Attribute5)
384                 OR (    (Recinfo.attribute5 IS NULL)
385                     AND (X_Attribute5 IS NULL)))
386            AND (   (Recinfo.attribute6 =  X_Attribute6)
387                 OR (    (Recinfo.attribute6 IS NULL)
388                     AND (X_Attribute6 IS NULL)))
389            AND (   (Recinfo.attribute7 =  X_Attribute7)
390                 OR (    (Recinfo.attribute7 IS NULL)
391                     AND (X_Attribute7 IS NULL)))
392            AND (   (Recinfo.attribute8 =  X_Attribute8)
393                 OR (    (Recinfo.attribute8 IS NULL)
394                     AND (X_Attribute8 IS NULL)))
395            AND (   (Recinfo.attribute9 =  X_Attribute9)
396                 OR (    (Recinfo.attribute9 IS NULL)
397                     AND (X_Attribute9 IS NULL)))
398            AND (   (Recinfo.attribute10 =  X_Attribute10)
399                 OR (    (Recinfo.attribute10 IS NULL)
400                     AND (X_Attribute10 IS NULL)))
401            AND (   (Recinfo.attribute11 =  X_Attribute11)
402                 OR (    (Recinfo.attribute11 IS NULL)
403                     AND (X_Attribute11 IS NULL)))
404            AND (   (Recinfo.attribute12 =  X_Attribute12)
405                 OR (    (Recinfo.attribute12 IS NULL)
406                     AND (X_Attribute12 IS NULL)))
407            AND (   (Recinfo.attribute13 =  X_Attribute13)
408                 OR (    (Recinfo.attribute13 IS NULL)
409                     AND (X_Attribute13 IS NULL)))
410            AND (   (Recinfo.attribute14 =  X_Attribute14)
411                 OR (    (Recinfo.attribute14 IS NULL)
412                     AND (X_Attribute14 IS NULL)))
413            AND (   (Recinfo.attribute15 =  X_Attribute15)
414                 OR (    (Recinfo.attribute15 IS NULL)
415                     AND (X_Attribute15 IS NULL)))
416 	   AND (   (Recinfo.global_attribute_category =  X_Global_Attribute_Category)
417                 OR (    (Recinfo.global_attribute_category IS NULL)
418                     AND (X_Global_Attribute_Category IS NULL)))
419            AND (   (Recinfo.global_attribute1 =  X_Global_Attribute1)
420                 OR (    (Recinfo.global_attribute1 IS NULL)
421                     AND (X_Global_Attribute1 IS NULL)))
422            AND (   (Recinfo.global_attribute2 =  X_Global_Attribute2)
423                 OR (    (Recinfo.global_attribute2 IS NULL)
424                     AND (X_Global_Attribute2 IS NULL)))
425            AND (   (Recinfo.global_attribute3 =  X_Global_Attribute3)
426                 OR (    (Recinfo.global_attribute3 IS NULL)
427                     AND (X_Global_Attribute3 IS NULL)))
428            AND (   (Recinfo.global_attribute4 =  X_Global_Attribute4)
429                 OR (    (Recinfo.global_attribute4 IS NULL)
430                     AND (X_Global_Attribute4 IS NULL)))
431            AND (   (Recinfo.global_attribute5 =  X_Global_Attribute5)
432                 OR (    (Recinfo.global_attribute5 IS NULL)
433                     AND (X_Global_Attribute5 IS NULL)))
434            AND (   (Recinfo.global_attribute6 =  X_Global_Attribute6)
435                 OR (    (Recinfo.global_attribute6 IS NULL)
436                     AND (X_Global_Attribute6 IS NULL)))
437            AND (   (Recinfo.global_attribute7 =  X_Global_Attribute7)
438                 OR (    (Recinfo.global_attribute7 IS NULL)
439                     AND (X_Global_Attribute7 IS NULL)))
440            AND (   (Recinfo.global_attribute8 =  X_Global_Attribute8)
441                 OR (    (Recinfo.global_attribute8 IS NULL)
442                     AND (X_Global_Attribute8 IS NULL)))
443            AND (   (Recinfo.global_attribute9 =  X_Global_Attribute9)
444                 OR (    (Recinfo.global_attribute9 IS NULL)
445                     AND (X_Global_Attribute9 IS NULL)))
446            AND (   (Recinfo.global_attribute10 =  X_Global_Attribute10)
447                 OR (    (Recinfo.global_attribute10 IS NULL)
448                     AND (X_Global_Attribute10 IS NULL)))
449            AND (   (Recinfo.global_attribute11 =  X_Global_Attribute11)
450                 OR (    (Recinfo.global_attribute11 IS NULL)
451                     AND (X_Global_Attribute11 IS NULL)))
452            AND (   (Recinfo.global_attribute12 =  X_Global_Attribute12)
453                 OR (    (Recinfo.global_attribute12 IS NULL)
454                     AND (X_Global_Attribute12 IS NULL)))
455            AND (   (Recinfo.global_attribute13 =  X_Global_Attribute13)
456                 OR (    (Recinfo.global_attribute13 IS NULL)
460                     AND (X_Global_Attribute14 IS NULL)))
457                     AND (X_Global_Attribute13 IS NULL)))
458            AND (   (Recinfo.global_attribute14 =  X_Global_Attribute14)
459                 OR (    (Recinfo.global_attribute14 IS NULL)
461            AND (   (Recinfo.global_attribute15 =  X_Global_Attribute15)
462                 OR (    (Recinfo.global_attribute15 IS NULL)
463                     AND (X_Attribute15 IS NULL)))
464            AND (   (Recinfo.global_attribute16 =  X_Global_Attribute16)
465                 OR (    (Recinfo.global_attribute16 IS NULL)
466                     AND (X_Global_Attribute16 IS NULL)))
467            AND (   (Recinfo.global_attribute17 =  X_Global_Attribute17)
468                 OR (    (Recinfo.global_attribute17 IS NULL)
469                     AND (X_Global_Attribute17 IS NULL)))
470            AND (   (Recinfo.global_attribute18 =  X_Global_Attribute18)
471                 OR (    (Recinfo.global_attribute18 IS NULL)
472                     AND (X_Global_Attribute18 IS NULL)))
473            AND (   (Recinfo.global_attribute19 =  X_Global_Attribute19)
474                 OR (    (Recinfo.global_attribute19 IS NULL)
475                     AND (X_Global_Attribute19 IS NULL)))
476            AND (   (Recinfo.global_attribute20 =  X_Global_Attribute20)
477                 OR (    (Recinfo.global_attribute20 IS NULL)
478                     AND (X_global_Attribute20 IS NULL)))
479       ) then
480       return;
481     else
482       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
483       APP_EXCEPTION.Raise_Exception;
484     end if;
485   END Lock_Row;
486 
487 
488 
489   PROCEDURE Update_Row_new(X_Rowid                          VARCHAR2,
490                        X_Organization_Id                NUMBER,
491                        X_Delivery_Id                    NUMBER,
492                        X_Name                    IN OUT VARCHAR2,
493                        X_Source_Code                    VARCHAR2,
494                        X_Planned_Departure_Id           NUMBER,
495                        X_Actual_Departure_Id            NUMBER,
496                        X_Status_Code                    VARCHAR2,
497                        X_Loading_Order_Flag             VARCHAR2,
498                        X_Date_Closed                    DATE,
499                        X_Report_Set_Id                  NUMBER,
500                        X_Sequence_Number                NUMBER,
501                        X_Customer_Id                    NUMBER,
502                        X_Ultimate_Ship_To_Id            NUMBER,
503                        X_Intermediate_Ship_To_Id        NUMBER,
504                        X_Pooled_Ship_To_Id              NUMBER,
505                        X_Waybill                        VARCHAR2,
506                        X_Gross_Weight                   NUMBER,
507 				   X_Net_Weight                     NUMBER,
508                        X_Weight_Uom_Code                VARCHAR2,
509                        X_Volume                         NUMBER,
510                        X_Volume_Uom_Code                VARCHAR2,
511                        X_Picked_By_Id                   NUMBER,
512                        X_Packed_By_Id                   NUMBER,
513                        X_Expected_Arrival_Date          DATE,
514                        X_Asn_Date_Sent                  DATE,
515                        X_Asn_Seq_Number                 NUMBER,
516                        X_Freight_Carrier_Code           VARCHAR2,
517                        X_Freight_Terms_Code             VARCHAR2,
518                        X_Currency_Code                  VARCHAR2,
519                        X_Fob_Code                       VARCHAR2,
520                        X_Attribute_Category             VARCHAR2,
521                        X_Attribute1                     VARCHAR2,
522                        X_Attribute2                     VARCHAR2,
523                        X_Attribute3                     VARCHAR2,
524                        X_Attribute4                     VARCHAR2,
525                        X_Attribute5                     VARCHAR2,
526                        X_Attribute6                     VARCHAR2,
527                        X_Attribute7                     VARCHAR2,
528                        X_Attribute8                     VARCHAR2,
529                        X_Attribute9                     VARCHAR2,
530                        X_Attribute10                    VARCHAR2,
531                        X_Attribute11                    VARCHAR2,
532                        X_Attribute12                    VARCHAR2,
533                        X_Attribute13                    VARCHAR2,
534                        X_Attribute14                    VARCHAR2,
535                        X_Attribute15                    VARCHAR2,
536                        X_Global_Attribute_Category      VARCHAR2 default null,
537                        X_Global_Attribute1              VARCHAR2 default null,
538                        X_Global_Attribute2              VARCHAR2 default null,
539                        X_Global_Attribute3              VARCHAR2 default null,
540                        X_Global_Attribute4              VARCHAR2 default null,
541                        X_Global_Attribute5              VARCHAR2 default null,
542                        X_Global_Attribute6              VARCHAR2 default null,
543                        X_Global_Attribute7              VARCHAR2 default null,
544                        X_Global_Attribute8              VARCHAR2 default null,
545                        X_Global_Attribute9              VARCHAR2 default null,
546                        X_Global_Attribute10             VARCHAR2 default null,
547                        X_Global_Attribute11             VARCHAR2 default null,
548                        X_Global_Attribute12             VARCHAR2 default null,
549                        X_Global_Attribute13             VARCHAR2 default null,
550                        X_Global_Attribute14             VARCHAR2 default null,
551                        X_Global_Attribute15             VARCHAR2 default null,
555                        X_Global_Attribute19             VARCHAR2 default null,
552                        X_Global_Attribute16             VARCHAR2 default null,
553                        X_Global_Attribute17             VARCHAR2 default null,
554                        X_Global_Attribute18             VARCHAR2 default null,
556                        X_Global_Attribute20             VARCHAR2 default null,
557                        X_Last_Update_Date               DATE,
558                        X_Last_Updated_By                NUMBER,
559                        X_Last_Update_Login              NUMBER
560   ) IS
561     dname 		wsh_deliveries.name%TYPE;
562     CURSOR C2 IS SELECT wsh_deliveries_s.nextval FROM sys.dual;
563     CURSOR C3 (del_name   VARCHAR2) IS
564       SELECT COUNT(*) FROM wsh_deliveries
565       WHERE name = del_name;
566     temp 		NUMBER;
567     temp_id		NUMBER;
568     duplicate_name	EXCEPTION;
569     null_name		EXCEPTION;
570   BEGIN
571 
572     IF (X_Name IS NULL) THEN
573       dname := wsh_external_custom.delivery_name(X_Delivery_Id);
574 
575       IF ( dname IS NULL ) THEN
576         RAISE null_name;
577       -- shipping default make sure the delivery name is not duplicate
578       ELSIF ( dname = TO_CHAR(X_Delivery_Id) ) THEN
579         temp_id := X_Delivery_Id;
580         OPEN C2;
581 
582         LOOP
583           dname := TO_CHAR(temp_id);
584           OPEN C3( dname);
585           FETCH C3 INTO temp;
586           CLOSE C3;
587           IF ( temp = 0 ) THEN
588             EXIT;
589           END IF;
590 
591           FETCH C2 INTO temp_id;
592         END LOOP;
593         CLOSE C2;
594       ELSE  -- name is generated from wsh_external_custom.delivery_name
595           OPEN C3( dname);
596           FETCH C3 INTO temp;
600           END IF;
597           CLOSE C3;
598           IF ( temp > 0 ) THEN
599             RAISE duplicate_name;
601 
602         END IF;
603         X_Name := dname;
604     END IF;
605 
606     UPDATE wsh_deliveries
607     SET
608        organization_id                 =     X_Organization_Id,
609        delivery_id                     =     X_Delivery_Id,
610        name                            =     X_Name,
611        source_code                     =     X_Source_Code,
612        planned_departure_id            =     X_Planned_Departure_Id,
613        actual_departure_id             =     X_Actual_Departure_Id,
614        status_code                     =     X_Status_Code,
615        loading_order_flag              =     X_Loading_Order_Flag,
616        date_closed                     =     X_Date_Closed,
617        report_set_id                   =     X_Report_Set_Id,
618        sequence_number                 =     X_Sequence_Number,
619        customer_id                     =     X_Customer_Id,
620        ultimate_ship_to_id             =     X_Ultimate_Ship_To_Id,
621        intermediate_ship_to_id         =     X_Intermediate_Ship_To_Id,
622        pooled_ship_to_id               =     X_Pooled_Ship_To_Id,
623        waybill                         =     X_Waybill,
624        gross_weight                    =     X_Gross_Weight,
625 	  net_weight                      =     X_Net_Weight,
626        weight_uom_code                 =     X_Weight_Uom_Code,
627        volume                          =     X_Volume,
628        volume_uom_code                 =     X_Volume_Uom_Code,
629        picked_by_id                    =     X_Picked_By_Id,
630        packed_by_id                    =     X_Packed_By_Id,
631        expected_arrival_date           =     X_Expected_Arrival_Date,
632        asn_date_sent                   =     X_Asn_Date_Sent,
633        asn_seq_number                  =     X_Asn_Seq_Number,
634        freight_carrier_code            =     X_Freight_Carrier_Code,
635        freight_terms_code              =     X_Freight_Terms_Code,
636        currency_code                   =     X_Currency_Code,
637        fob_code                        =     X_Fob_Code,
638        attribute_category              =     X_Attribute_Category,
639        attribute1                      =     X_Attribute1,
640        attribute2                      =     X_Attribute2,
641        attribute3                      =     X_Attribute3,
642        attribute4                      =     X_Attribute4,
643        attribute5                      =     X_Attribute5,
644        attribute6                      =     X_Attribute6,
645        attribute7                      =     X_Attribute7,
646        attribute8                      =     X_Attribute8,
647        attribute9                      =     X_Attribute9,
648        attribute10                     =     X_Attribute10,
649        attribute11                     =     X_Attribute11,
650        attribute12                     =     X_Attribute12,
651        attribute13                     =     X_Attribute13,
652        attribute14                     =     X_Attribute14,
653        attribute15                     =     X_Attribute15,
657        global_attribute3               =     X_Global_Attribute3,
654        global_attribute_category       =     X_Global_Attribute_Category,
655        global_attribute1               =     X_Global_Attribute1,
656        global_attribute2               =     X_Global_Attribute2,
658        global_attribute4               =     X_Global_Attribute4,
659        global_attribute5               =     X_Global_Attribute5,
660        global_attribute6               =     X_Global_Attribute6,
661        global_attribute7               =     X_Global_Attribute7,
662        global_attribute8               =     X_Global_Attribute8,
663        global_attribute9               =     X_Global_Attribute9,
664        global_attribute10              =     X_Global_Attribute10,
665        global_attribute11              =     X_Global_Attribute11,
666        global_attribute12              =     X_Global_Attribute12,
667        global_attribute13              =     X_Global_Attribute13,
668        global_attribute14              =     X_Global_Attribute14,
669        global_attribute15              =     X_Global_Attribute15,
670        global_attribute16              =     X_Global_Attribute16,
671        global_attribute17              =     X_Global_Attribute17,
672        global_attribute18              =     X_Global_Attribute18,
673        global_attribute19              =     X_Global_Attribute19,
674        global_attribute20              =     X_Global_Attribute20,
675        last_update_date                =     X_Last_Update_Date,
676        last_updated_by                 =     X_Last_Updated_By,
677        last_update_login               =     X_Last_Update_Login
678     WHERE rowid = X_Rowid;
679 
680     if (SQL%NOTFOUND) then
681       Raise NO_DATA_FOUND;
682     end if;
683   END Update_Row_new;
684 
685 
686 
687  PROCEDURE Lock_Row_new(X_Rowid                            VARCHAR2,
688                      X_Organization_Id                  NUMBER,
689                      X_Delivery_Id                      NUMBER,
690                      X_Name                             VARCHAR2,
691                      X_Source_Code                      VARCHAR2,
692                      X_Planned_Departure_Id             NUMBER,
693                      X_Actual_Departure_Id              NUMBER,
694                      X_Status_Code                      VARCHAR2,
695                      X_Loading_Order_Flag               VARCHAR2,
696                      X_Date_Closed                      DATE,
697                      X_Report_Set_Id                    NUMBER,
698                      X_Sequence_Number                  NUMBER,
699                      X_Customer_Id                      NUMBER,
700                      X_Ultimate_Ship_To_Id              NUMBER,
701                      X_Intermediate_Ship_To_Id          NUMBER,
702                      X_Pooled_Ship_To_Id                NUMBER,
703                      X_Waybill                          VARCHAR2,
704                      X_Gross_Weight                     NUMBER,
705 				 X_Net_Weight                       NUMBER,
706                      X_Weight_Uom_Code                  VARCHAR2,
707                      X_Volume                           NUMBER,
708                      X_Volume_Uom_Code                  VARCHAR2,
709                      X_Picked_By_Id                     NUMBER,
710                      X_Packed_By_Id                     NUMBER,
711                      X_Expected_Arrival_Date            DATE,
712                      X_Asn_Date_Sent                    DATE,
713                      X_Asn_Seq_Number                   NUMBER,
714                      X_Freight_Carrier_Code             VARCHAR2,
715                      X_Freight_Terms_Code               VARCHAR2,
716                      X_Currency_Code                    VARCHAR2,
720                      X_Attribute2                       VARCHAR2,
717                      X_Fob_Code                         VARCHAR2,
718                      X_Attribute_Category               VARCHAR2,
719                      X_Attribute1                       VARCHAR2,
721                      X_Attribute3                       VARCHAR2,
722                      X_Attribute4                       VARCHAR2,
723                      X_Attribute5                       VARCHAR2,
724                      X_Attribute6                       VARCHAR2,
725                      X_Attribute7                       VARCHAR2,
726                      X_Attribute8                       VARCHAR2,
727                      X_Attribute9                       VARCHAR2,
728                      X_Attribute10                      VARCHAR2,
729                      X_Attribute11                      VARCHAR2,
730                      X_Attribute12                      VARCHAR2,
731                      X_Attribute13                      VARCHAR2,
732                      X_Attribute14                      VARCHAR2,
733                      X_Attribute15                      VARCHAR2,
734                      X_Global_Attribute_Category        VARCHAR2 default null,
735                      X_Global_Attribute1                VARCHAR2 default null,
736                      X_Global_Attribute2                VARCHAR2 default null,
737                      X_Global_Attribute3                VARCHAR2 default null,
738                      X_Global_Attribute4                VARCHAR2 default null,
739                      X_Global_Attribute5                VARCHAR2 default null,
740                      X_Global_Attribute6                VARCHAR2 default null,
741                      X_Global_Attribute7                VARCHAR2 default null,
742                      X_Global_Attribute8                VARCHAR2 default null,
743                      X_Global_Attribute9                VARCHAR2 default null,
744                      X_Global_Attribute10               VARCHAR2 default null,
745                      X_Global_Attribute11               VARCHAR2 default null,
746                      X_Global_Attribute12               VARCHAR2 default null,
747                      X_Global_Attribute13               VARCHAR2 default null,
748                      X_Global_Attribute14               VARCHAR2 default null,
749                      X_Global_Attribute15               VARCHAR2 default null,
750                      X_Global_Attribute16               VARCHAR2 default null,
751                      X_Global_Attribute17               VARCHAR2 default null,
752                      X_Global_Attribute18               VARCHAR2 default null,
753                      X_Global_Attribute19               VARCHAR2 default null,
754                      X_Global_Attribute20               VARCHAR2 default null
755   ) IS
756     CURSOR C IS
757         SELECT *
758         FROM   wsh_deliveries
759         WHERE  rowid = X_Rowid
760         FOR UPDATE of Delivery_Id NOWAIT;
761     Recinfo C%ROWTYPE;
762 
763 
764   BEGIN
765     OPEN C;
766     FETCH C INTO Recinfo;
767     if (C%NOTFOUND) then
768       CLOSE C;
769       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
770       APP_EXCEPTION.Raise_Exception;
771     end if;
772     CLOSE C;
773     if (
774                (Recinfo.organization_id =  X_Organization_Id)
775            AND (Recinfo.delivery_id =  X_Delivery_Id)
776            AND (Recinfo.name =  X_Name)
777            AND (Recinfo.source_code =  X_Source_Code)
778            AND (   (Recinfo.planned_departure_id =  X_Planned_Departure_Id)
779                 OR (    (Recinfo.planned_departure_id IS NULL)
780                     AND (X_Planned_Departure_Id IS NULL)))
781            AND (   (Recinfo.actual_departure_id =  X_Actual_Departure_Id)
782                 OR (    (Recinfo.actual_departure_id IS NULL)
783                     AND (X_Actual_Departure_Id IS NULL)))
784            AND (Recinfo.status_code =  X_Status_Code)
785            AND (   (Recinfo.loading_order_flag =  X_Loading_Order_Flag)
786                 OR (    (Recinfo.loading_order_flag IS NULL)
787                     AND (X_Loading_Order_Flag IS NULL)))
788            AND (   (Recinfo.date_closed =  X_Date_Closed)
789                 OR (    (Recinfo.date_closed IS NULL)
790                     AND (X_Date_Closed IS NULL)))
791            AND (   (Recinfo.report_set_id =  X_Report_Set_Id)
792                 OR (    (Recinfo.report_set_id IS NULL)
793                     AND (X_Report_Set_Id IS NULL)))
794            AND (   (Recinfo.sequence_number =  X_Sequence_Number)
795                 OR (    (Recinfo.sequence_number IS NULL)
799            AND (   (Recinfo.intermediate_ship_to_id =  X_Intermediate_Ship_To_Id)
796                     AND (X_Sequence_Number IS NULL)))
797            AND (Recinfo.customer_id =  X_Customer_Id)
798            AND (Recinfo.ultimate_ship_to_id =  X_Ultimate_Ship_To_Id)
800                 OR (    (Recinfo.intermediate_ship_to_id IS NULL)
801                     AND (X_Intermediate_Ship_To_Id IS NULL)))
802            AND (   (Recinfo.pooled_ship_to_id =  X_Pooled_Ship_To_Id)
803                 OR (    (Recinfo.pooled_ship_to_id IS NULL)
804                     AND (X_Pooled_Ship_To_Id IS NULL)))
805            AND (   (Recinfo.waybill =  X_Waybill)
806                 OR (    (Recinfo.waybill IS NULL)
807                     AND (X_Waybill IS NULL)))
808            AND (   (Recinfo.gross_weight =  X_Gross_Weight)
809                 OR (    (Recinfo.gross_weight IS NULL)
810                     AND (X_Gross_Weight IS NULL)))
811            AND (   (Recinfo.net_weight =  X_Net_Weight)
812 		      OR (    (Recinfo.net_weight IS NULL)
813 			     AND (X_Net_Weight IS NULL)))
814            AND (   (Recinfo.weight_uom_code =  X_Weight_Uom_Code)
815                 OR (    (Recinfo.weight_uom_code IS NULL)
816                     AND (X_Weight_Uom_Code IS NULL)))
817            AND (   (Recinfo.volume =  X_Volume)
818                 OR (    (Recinfo.volume IS NULL)
819                     AND (X_Volume IS NULL)))
820            AND (   (Recinfo.volume_uom_code =  X_Volume_Uom_Code)
821                 OR (    (Recinfo.volume_uom_code IS NULL)
822                     AND (X_Volume_Uom_Code IS NULL)))
823            AND (   (Recinfo.picked_by_id =  X_Picked_By_Id)
824                 OR (    (Recinfo.picked_by_id IS NULL)
825                     AND (X_Picked_By_Id IS NULL)))
826            AND (   (Recinfo.packed_by_id =  X_Packed_By_Id)
827                 OR (    (Recinfo.packed_by_id IS NULL)
828                     AND (X_Packed_By_Id IS NULL)))
829            AND (   (Recinfo.expected_arrival_date =  X_Expected_Arrival_Date)
830                 OR (    (Recinfo.expected_arrival_date IS NULL)
831                     AND (X_Expected_Arrival_Date IS NULL)))
835            AND (   (Recinfo.asn_seq_number =  X_Asn_Seq_Number)
832            AND (   (Recinfo.asn_date_sent =  X_Asn_Date_Sent)
833                 OR (    (Recinfo.asn_date_sent IS NULL)
834                     AND (X_Asn_Date_Sent IS NULL)))
836                 OR (    (Recinfo.asn_seq_number IS NULL)
837                     AND (X_Asn_Seq_Number IS NULL)))
838            AND (   (Recinfo.freight_carrier_code =  X_Freight_Carrier_Code)
839                 OR (    (Recinfo.freight_carrier_code IS NULL)
840                     AND (X_Freight_Carrier_Code IS NULL)))
841            AND (   (Recinfo.freight_terms_code =  X_Freight_Terms_Code)
842                 OR (    (Recinfo.freight_terms_code IS NULL)
843                     AND (X_Freight_Terms_Code IS NULL)))
844            AND (   (Recinfo.currency_code =  X_Currency_Code)
845                 OR (    (Recinfo.currency_code IS NULL)
846                     AND (X_Currency_Code IS NULL)))
847            AND (   (Recinfo.fob_code =  X_Fob_Code)
848                 OR (    (Recinfo.fob_code IS NULL)
849                     AND (X_Fob_Code IS NULL)))
850            AND (   (Recinfo.attribute_category =  X_Attribute_Category)
851                 OR (    (Recinfo.attribute_category IS NULL)
852                     AND (X_Attribute_Category IS NULL)))
853            AND (   (Recinfo.attribute1 =  X_Attribute1)
854                 OR (    (Recinfo.attribute1 IS NULL)
855                     AND (X_Attribute1 IS NULL)))
856            AND (   (Recinfo.attribute2 =  X_Attribute2)
857                 OR (    (Recinfo.attribute2 IS NULL)
858                     AND (X_Attribute2 IS NULL)))
859            AND (   (Recinfo.attribute3 =  X_Attribute3)
860                 OR (    (Recinfo.attribute3 IS NULL)
861                     AND (X_Attribute3 IS NULL)))
862            AND (   (Recinfo.attribute4 =  X_Attribute4)
863                 OR (    (Recinfo.attribute4 IS NULL)
864                     AND (X_Attribute4 IS NULL)))
865            AND (   (Recinfo.attribute5 =  X_Attribute5)
866                 OR (    (Recinfo.attribute5 IS NULL)
867                     AND (X_Attribute5 IS NULL)))
868            AND (   (Recinfo.attribute6 =  X_Attribute6)
869                 OR (    (Recinfo.attribute6 IS NULL)
870                     AND (X_Attribute6 IS NULL)))
871            AND (   (Recinfo.attribute7 =  X_Attribute7)
872                 OR (    (Recinfo.attribute7 IS NULL)
873                     AND (X_Attribute7 IS NULL)))
874            AND (   (Recinfo.attribute8 =  X_Attribute8)
875                 OR (    (Recinfo.attribute8 IS NULL)
876                     AND (X_Attribute8 IS NULL)))
877            AND (   (Recinfo.attribute9 =  X_Attribute9)
878                 OR (    (Recinfo.attribute9 IS NULL)
879                     AND (X_Attribute9 IS NULL)))
880            AND (   (Recinfo.attribute10 =  X_Attribute10)
881                 OR (    (Recinfo.attribute10 IS NULL)
882                     AND (X_Attribute10 IS NULL)))
886            AND (   (Recinfo.attribute12 =  X_Attribute12)
883            AND (   (Recinfo.attribute11 =  X_Attribute11)
884                 OR (    (Recinfo.attribute11 IS NULL)
885                     AND (X_Attribute11 IS NULL)))
887                 OR (    (Recinfo.attribute12 IS NULL)
888                     AND (X_Attribute12 IS NULL)))
889            AND (   (Recinfo.attribute13 =  X_Attribute13)
890                 OR (    (Recinfo.attribute13 IS NULL)
891                     AND (X_Attribute13 IS NULL)))
892            AND (   (Recinfo.attribute14 =  X_Attribute14)
893                 OR (    (Recinfo.attribute14 IS NULL)
894                     AND (X_Attribute14 IS NULL)))
895            AND (   (Recinfo.attribute15 =  X_Attribute15)
896                 OR (    (Recinfo.attribute15 IS NULL)
897                     AND (X_Attribute15 IS NULL)))
898 	   AND (   (Recinfo.global_attribute_category =  X_Global_Attribute_Category)
899                 OR (    (Recinfo.global_attribute_category IS NULL)
900                     AND (X_Global_Attribute_Category IS NULL)))
901            AND (   (Recinfo.global_attribute1 =  X_Global_Attribute1)
902                 OR (    (Recinfo.global_attribute1 IS NULL)
903                     AND (X_Global_Attribute1 IS NULL)))
904            AND (   (Recinfo.global_attribute2 =  X_Global_Attribute2)
905                 OR (    (Recinfo.global_attribute2 IS NULL)
906                     AND (X_Global_Attribute2 IS NULL)))
907            AND (   (Recinfo.global_attribute3 =  X_Global_Attribute3)
908                 OR (    (Recinfo.global_attribute3 IS NULL)
909                     AND (X_Global_Attribute3 IS NULL)))
910            AND (   (Recinfo.global_attribute4 =  X_Global_Attribute4)
911                 OR (    (Recinfo.global_attribute4 IS NULL)
912                     AND (X_Global_Attribute4 IS NULL)))
913            AND (   (Recinfo.global_attribute5 =  X_Global_Attribute5)
914                 OR (    (Recinfo.global_attribute5 IS NULL)
915                     AND (X_Global_Attribute5 IS NULL)))
916            AND (   (Recinfo.global_attribute6 =  X_Global_Attribute6)
917                 OR (    (Recinfo.global_attribute6 IS NULL)
918                     AND (X_Global_Attribute6 IS NULL)))
919            AND (   (Recinfo.global_attribute7 =  X_Global_Attribute7)
920                 OR (    (Recinfo.global_attribute7 IS NULL)
921                     AND (X_Global_Attribute7 IS NULL)))
922            AND (   (Recinfo.global_attribute8 =  X_Global_Attribute8)
923                 OR (    (Recinfo.global_attribute8 IS NULL)
924                     AND (X_Global_Attribute8 IS NULL)))
925            AND (   (Recinfo.global_attribute9 =  X_Global_Attribute9)
926                 OR (    (Recinfo.global_attribute9 IS NULL)
927                     AND (X_Global_Attribute9 IS NULL)))
928            AND (   (Recinfo.global_attribute10 =  X_Global_Attribute10)
929                 OR (    (Recinfo.global_attribute10 IS NULL)
930                     AND (X_Global_Attribute10 IS NULL)))
931            AND (   (Recinfo.global_attribute11 =  X_Global_Attribute11)
932                 OR (    (Recinfo.global_attribute11 IS NULL)
933                     AND (X_Global_Attribute11 IS NULL)))
934            AND (   (Recinfo.global_attribute12 =  X_Global_Attribute12)
935                 OR (    (Recinfo.global_attribute12 IS NULL)
936                     AND (X_Global_Attribute12 IS NULL)))
937            AND (   (Recinfo.global_attribute13 =  X_Global_Attribute13)
938                 OR (    (Recinfo.global_attribute13 IS NULL)
939                     AND (X_Global_Attribute13 IS NULL)))
940            AND (   (Recinfo.global_attribute14 =  X_Global_Attribute14)
941                 OR (    (Recinfo.global_attribute14 IS NULL)
942                     AND (X_Global_Attribute14 IS NULL)))
943            AND (   (Recinfo.global_attribute15 =  X_Global_Attribute15)
944                 OR (    (Recinfo.global_attribute15 IS NULL)
945                     AND (X_Attribute15 IS NULL)))
949            AND (   (Recinfo.global_attribute17 =  X_Global_Attribute17)
946            AND (   (Recinfo.global_attribute16 =  X_Global_Attribute16)
947                 OR (    (Recinfo.global_attribute16 IS NULL)
948                     AND (X_Global_Attribute16 IS NULL)))
950                 OR (    (Recinfo.global_attribute17 IS NULL)
951                     AND (X_Global_Attribute17 IS NULL)))
952            AND (   (Recinfo.global_attribute18 =  X_Global_Attribute18)
953                 OR (    (Recinfo.global_attribute18 IS NULL)
954                     AND (X_Global_Attribute18 IS NULL)))
955            AND (   (Recinfo.global_attribute19 =  X_Global_Attribute19)
956                 OR (    (Recinfo.global_attribute19 IS NULL)
957                     AND (X_Global_Attribute19 IS NULL)))
958            AND (   (Recinfo.global_attribute20 =  X_Global_Attribute20)
959                 OR (    (Recinfo.global_attribute20 IS NULL)
960                     AND (X_global_Attribute20 IS NULL)))
961       ) then
962       return;
963     else
964       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
968 
965       APP_EXCEPTION.Raise_Exception;
966     end if;
967   END Lock_Row_new;
969 
970 
971 
972 END WSH_DELIVERIES_PKG;