1 PACKAGE BODY PO_ASL_DOCUMENTS_THS2 as
2 /* $Header: POXABLSB.pls 115.2 2003/10/29 09:45:44 zxzhang ship $ */
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_sequence_num NUMBER,
14 x_document_type_code VARCHAR2,
15 x_document_header_id NUMBER,
16 x_document_line_id NUMBER,
17 x_attribute_category VARCHAR2,
18 x_attribute1 VARCHAR2,
19 x_attribute2 VARCHAR2,
20 x_attribute3 VARCHAR2,
21 x_attribute4 VARCHAR2,
22 x_attribute5 VARCHAR2,
23 x_attribute6 VARCHAR2,
24 x_attribute7 VARCHAR2,
25 x_attribute8 VARCHAR2,
26 x_attribute9 VARCHAR2,
27 x_attribute10 VARCHAR2,
28 x_attribute11 VARCHAR2,
29 x_attribute12 VARCHAR2,
30 x_attribute13 VARCHAR2,
31 x_attribute14 VARCHAR2,
32 x_attribute15 VARCHAR2) is
33
34 cursor asl_row is SELECT *
35 FROM po_asl_documents
36 WHERE rowid = x_row_id
37 FOR UPDATE of asl_id NOWAIT;
38
39 recinfo asl_row%rowtype;
40
41 begin
42
43 OPEN asl_row;
44 FETCH asl_row INTO recinfo;
45 if (asl_row%notfound) then
46 CLOSE asl_row;
47 fnd_message.set_name('FND','FORM_RECORD_DELETED');
48 app_exception.raise_exception;
49 end if;
50 CLOSE asl_row;
51
52 if (
53 (recinfo.asl_id = x_asl_id)
54 AND (recinfo.using_organization_id = x_using_organization_id)
55 AND (recinfo.sequence_num = x_sequence_num)
56 AND (recinfo.document_type_code = x_document_type_code)
57 AND (recinfo.document_header_id = x_document_header_id)
58 -- <FPJ Advanced Price START>
59 AND ((recinfo.document_line_id = x_document_line_id) OR
60 ((recinfo.document_line_id is null) AND
61 (x_document_line_id is null)))
62 -- <FPJ Advanced Price END>
63 AND ((recinfo.attribute_category = x_attribute_category) OR
64 ((recinfo.attribute_category is null) AND
65 (x_attribute_category is null)))
66 AND ((recinfo.attribute1 = x_attribute1) OR
67 ((recinfo.attribute1 is null) AND
68 (x_attribute1 is null)))
69 AND ((recinfo.attribute2 = x_attribute2) OR
70 ((recinfo.attribute2 is null) AND
71 (x_attribute2 is null)))
72 AND ((recinfo.attribute3 = x_attribute3) OR
73 ((recinfo.attribute3 is null) AND
74 (x_attribute3 is null)))
75 AND ((recinfo.attribute4 = x_attribute4) OR
76 ((recinfo.attribute4 is null) AND
77 (x_attribute4 is null)))
78 AND ((recinfo.attribute5 = x_attribute5) OR
79 ((recinfo.attribute5 is null) AND
80 (x_attribute5 is null)))
81 AND ((recinfo.attribute6 = x_attribute6) OR
82 ((recinfo.attribute6 is null) AND
83 (x_attribute6 is null)))
84 AND ((recinfo.attribute7 = x_attribute7) OR
85 ((recinfo.attribute7 is null) AND
86 (x_attribute7 is null)))
87 AND ((recinfo.attribute8 = x_attribute8) OR
88 ((recinfo.attribute8 is null) AND
89 (x_attribute8 is null)))
90 AND ((recinfo.attribute9 = x_attribute9) OR
91 ((recinfo.attribute9 is null) AND
92 (x_attribute9 is null)))
93 AND ((recinfo.attribute10 = x_attribute10) OR
94 ((recinfo.attribute10 is null) AND
95 (x_attribute10 is null)))
96 AND ((recinfo.attribute11 = x_attribute11) OR
97 ((recinfo.attribute11 is null) AND
98 (x_attribute11 is null)))
99 AND ((recinfo.attribute12 = x_attribute12) OR
100 ((recinfo.attribute12 is null) AND
101 (x_attribute12 is null)))
102 AND ((recinfo.attribute13 = x_attribute13) OR
103 ((recinfo.attribute13 is null) AND
104 (x_attribute13 is null)))
105 AND ((recinfo.attribute14 = x_attribute14) OR
106 ((recinfo.attribute14 is null) AND
107 (x_attribute14 is null)))
108 AND ((recinfo.attribute15 = x_attribute15) OR
109 ((recinfo.attribute15 is null) AND
110 (x_attribute15 is null)))
111 ) then
112 return;
113 else
114 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
115 app_exception.raise_exception;
116 end if;
117
118
119 end lock_row;
120
121 END PO_ASL_DOCUMENTS_THS2;