1 PACKAGE BODY PO_ASL_THS2 as
2 /* $Header: POXA4LSB.pls 115.1 99/07/17 01:33:53 porting sh $ */
3
4 /*=============================================================================
5
6 PROCEDURE NAME: lock_row()
7
8 ===============================================================================*/
9 procedure lock_row(
10 x_row_id VARCHAR2,
11 x_asl_id NUMBER,
12 x_using_organization_id NUMBER,
13 x_owning_organization_id NUMBER,
14 x_vendor_business_type VARCHAR2,
15 x_asl_status_id NUMBER,
16 x_manufacturer_id NUMBER,
17 x_vendor_id NUMBER,
18 x_item_id NUMBER,
19 x_category_id NUMBER,
20 x_vendor_site_id NUMBER,
21 x_primary_vendor_item VARCHAR2,
22 x_manufacturer_asl_id NUMBER,
23 x_comments VARCHAR2,
24 x_review_by_date DATE,
25 x_attribute_category VARCHAR2,
26 x_attribute1 VARCHAR2,
27 x_attribute2 VARCHAR2,
28 x_attribute3 VARCHAR2,
29 x_attribute4 VARCHAR2,
30 x_attribute5 VARCHAR2,
31 x_attribute6 VARCHAR2,
32 x_attribute7 VARCHAR2,
33 x_attribute8 VARCHAR2,
34 x_attribute9 VARCHAR2,
35 x_attribute10 VARCHAR2,
36 x_attribute11 VARCHAR2,
37 x_attribute12 VARCHAR2,
38 x_attribute13 VARCHAR2,
39 x_attribute14 VARCHAR2,
40 x_attribute15 VARCHAR2,
41 x_disable_flag VARCHAR2) is
42
43 cursor asl_row is SELECT *
44 FROM po_approved_supplier_list
45 WHERE rowid = x_row_id
46 FOR UPDATE of asl_id NOWAIT;
47
48 recinfo asl_row%rowtype;
49
50 begin
51
52 OPEN asl_row;
53 FETCH asl_row INTO recinfo;
54 if (asl_row%notfound) then
55 CLOSE asl_row;
56 fnd_message.set_name('FND','FORM_RECORD_DELETED');
57 app_exception.raise_exception;
58 end if;
59 CLOSE asl_row;
60
61 if (
62 (recinfo.asl_id = x_asl_id)
63 AND (recinfo.using_organization_id = x_using_organization_id)
64 AND (recinfo.owning_organization_id = x_owning_organization_id)
65 AND (recinfo.vendor_business_type = x_vendor_business_type)
66 AND (recinfo.asl_status_id = x_asl_status_id)
67 AND ((recinfo.manufacturer_id = x_manufacturer_id) OR
68 ((recinfo.manufacturer_id is null) AND
69 (x_manufacturer_id is null)))
70 AND ((recinfo.vendor_id = x_vendor_id) OR
71 ((recinfo.vendor_id is null) AND
72 (x_vendor_id is null)))
73 AND ((recinfo.item_id = x_item_id) OR
74 ((recinfo.item_id is null) AND
75 (x_item_id is null)))
76 AND ((recinfo.category_id = x_category_id) OR
77 ((recinfo.category_id is null) AND
78 (x_category_id is null)))
79 AND ((recinfo.vendor_site_id = x_vendor_site_id) OR
80 ((recinfo.vendor_site_id is null) AND
81 (x_vendor_site_id is null)))
82 AND ((recinfo.primary_vendor_item = x_primary_vendor_item) OR
83 ((recinfo.primary_vendor_item is null) AND
84 (x_primary_vendor_item is null)))
85 AND ((recinfo.manufacturer_asl_id = x_manufacturer_asl_id) OR
86 ((recinfo.manufacturer_asl_id is null) AND
87 (x_manufacturer_asl_id is null)))
88 AND ((recinfo.comments = x_comments) OR
89 ((recinfo.comments is null) AND
90 (x_comments is null)))
91 AND ((recinfo.review_by_date = x_review_by_date) OR
92 ((recinfo.review_by_date is null) AND
93 (x_review_by_date is null)))
94 AND ((recinfo.attribute_category = x_attribute_category) OR
95 ((recinfo.attribute_category is null) AND
96 (x_attribute_category is null)))
97 AND ((recinfo.attribute1 = x_attribute1) OR
98 ((recinfo.attribute1 is null) AND
99 (x_attribute1 is null)))
100 AND ((recinfo.attribute2 = x_attribute2) OR
101 ((recinfo.attribute2 is null) AND
102 (x_attribute2 is null)))
103 AND ((recinfo.attribute3 = x_attribute3) OR
104 ((recinfo.attribute3 is null) AND
105 (x_attribute3 is null)))
106 AND ((recinfo.attribute4 = x_attribute4) OR
107 ((recinfo.attribute4 is null) AND
108 (x_attribute4 is null)))
109 AND ((recinfo.attribute5 = x_attribute5) OR
110 ((recinfo.attribute5 is null) AND
111 (x_attribute5 is null)))
112 AND ((recinfo.attribute6 = x_attribute6) OR
113 ((recinfo.attribute6 is null) AND
114 (x_attribute6 is null)))
115 AND ((recinfo.attribute7 = x_attribute7) OR
116 ((recinfo.attribute7 is null) AND
117 (x_attribute7 is null)))
118 AND ((recinfo.attribute8 = x_attribute8) OR
119 ((recinfo.attribute8 is null) AND
120 (x_attribute8 is null)))
121 AND ((recinfo.attribute9 = x_attribute9) OR
122 ((recinfo.attribute9 is null) AND
123 (x_attribute9 is null)))
124 AND ((recinfo.attribute10 = x_attribute10) OR
125 ((recinfo.attribute10 is null) AND
126 (x_attribute10 is null)))
127 AND ((recinfo.attribute11 = x_attribute11) OR
128 ((recinfo.attribute11 is null) AND
129 (x_attribute11 is null)))
130 AND ((recinfo.attribute12 = x_attribute12) OR
131 ((recinfo.attribute12 is null) AND
132 (x_attribute12 is null)))
133 AND ((recinfo.attribute13 = x_attribute13) OR
134 ((recinfo.attribute13 is null) AND
135 (x_attribute13 is null)))
136 AND ((recinfo.attribute14 = x_attribute14) OR
137 ((recinfo.attribute14 is null) AND
138 (x_attribute14 is null)))
139 AND ((recinfo.attribute15 = x_attribute15) OR
140 ((recinfo.attribute15 is null) AND
141 (x_attribute15 is null)))
142 AND ((recinfo.disable_flag = x_disable_flag) OR
143 ((recinfo.disable_flag is null) AND
144 (x_disable_flag is null)))
145 ) then
146 return;
147 else
148 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
149 app_exception.raise_exception;
150 end if;
151
152 end lock_row;
153
154 END PO_ASL_THS2;