1 PACKAGE BODY PO_REQUISITION_LINES_PKG4 as
2 /* $Header: POXRIL5B.pls 120.0.12020000.2 2013/02/11 00:08:22 vegajula ship $ */
3 -- Read the profile option that enables/disables the debug log
4 g_fnd_debug CONSTANT VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 c_log_head CONSTANT VARCHAR2(35) := 'po.plsql.PO_REQUISITION_LINES_PKG4.';
7
8 PROCEDURE Lock4_Row(X_Rowid VARCHAR2,
9 X_Item_Revision VARCHAR2,
10 X_Quantity_Delivered NUMBER,
11 X_Suggested_Buyer_Id NUMBER,
12 X_Encumbered_Flag VARCHAR2,
13 X_Rfq_Required_Flag VARCHAR2,
14 X_Need_By_Date DATE,
15 X_Line_Location_Id NUMBER,
16 X_Modified_By_Agent_Flag VARCHAR2,
17 X_Parent_Req_Line_Id NUMBER,
18 X_Justification VARCHAR2,
19 X_Note_To_Agent VARCHAR2,
20 X_Note_To_Receiver VARCHAR2,
21 X_Purchasing_Agent_Id NUMBER,
22 X_Document_Type_Code VARCHAR2,
23 X_Blanket_Po_Header_Id NUMBER,
24 X_Blanket_Po_Line_Num NUMBER,
25 X_Currency_Code VARCHAR2
26 ) IS
27
28 CURSOR C IS
29 SELECT *
30 FROM PO_REQUISITION_LINES
31 WHERE rowid = X_Rowid
32 FOR UPDATE of Requisition_Line_Id NOWAIT;
33
34 Recinfo C%ROWTYPE;
35 -- For debug purposes
36 l_api_name CONSTANT VARCHAR2(30) := 'Lock4_Row';
37 BEGIN
38 OPEN C;
39 FETCH C INTO Recinfo;
40 if (C%NOTFOUND) then
41 CLOSE C;
42 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
43 APP_EXCEPTION.Raise_Exception;
44 end if;
45 CLOSE C;
46 if (
47 ( (TRIM(Recinfo.item_revision) = TRIM(X_Item_Revision))
48 OR ( (TRIM(Recinfo.item_revision) IS NULL)
49 AND (TRIM(X_Item_Revision) IS NULL)))
50 AND ( (Recinfo.quantity_delivered = X_Quantity_Delivered)
51 OR ( (Recinfo.quantity_delivered IS NULL)
52 AND (X_Quantity_Delivered IS NULL)))
53 AND ( (Recinfo.suggested_buyer_id = X_Suggested_Buyer_Id)
54 OR ( (Recinfo.suggested_buyer_id IS NULL)
55 AND (X_Suggested_Buyer_Id IS NULL)))
56 AND ( (TRIM(Recinfo.encumbered_flag) = TRIM(X_Encumbered_Flag))
57 OR ( (TRIM(Recinfo.encumbered_flag) IS NULL)
58 AND (TRIM(X_Encumbered_Flag) IS NULL)))
59 AND ( (TRIM(Recinfo.rfq_required_flag) = TRIM(X_Rfq_Required_Flag))
60 OR ( (TRIM(Recinfo.rfq_required_flag) IS NULL)
61 AND (TRIM(X_Rfq_Required_Flag) IS NULL)))
62 AND ( (Recinfo.need_by_date = X_Need_By_Date)
63 OR ( (Recinfo.need_by_date IS NULL)
64 AND (X_Need_By_Date IS NULL)))
65 AND ( (Recinfo.line_location_id = X_Line_Location_Id)
66 OR ( (Recinfo.line_location_id IS NULL)
67 AND (X_Line_Location_Id IS NULL)))
68 AND ( (TRIM(Recinfo.modified_by_agent_flag) = TRIM(X_Modified_By_Agent_Flag))
69 OR ( (TRIM(Recinfo.modified_by_agent_flag) IS NULL)
70 AND (TRIM(X_Modified_By_Agent_Flag) IS NULL)))
71 AND ( (Recinfo.parent_req_line_id = X_Parent_Req_Line_Id)
72 OR ( (Recinfo.parent_req_line_id IS NULL)
73 AND (X_Parent_Req_Line_Id IS NULL)))
74 AND ( (TRIM(Recinfo.justification) = TRIM(X_Justification))
75 OR ( (TRIM(Recinfo.justification) IS NULL)
76 AND (TRIM(X_Justification) IS NULL)))
77 AND ( (TRIM(Recinfo.note_to_agent) = TRIM(X_Note_To_Agent))
78 OR ( (TRIM(Recinfo.note_to_agent) IS NULL)
79 AND (TRIM(X_Note_To_Agent) IS NULL)))
80 AND ( (TRIM(Recinfo.note_to_receiver) = TRIM(X_Note_To_Receiver))
81 OR ( (TRIM(Recinfo.note_to_receiver) IS NULL)
82 AND (TRIM(X_Note_To_Receiver) IS NULL)))
83 AND ( (Recinfo.purchasing_agent_id = X_Purchasing_Agent_Id)
84 OR ( (Recinfo.purchasing_agent_id IS NULL)
85 AND (X_Purchasing_Agent_Id IS NULL)))
86 AND ( (TRIM(Recinfo.document_type_code) = TRIM(X_Document_Type_Code))
87 OR ( (TRIM(Recinfo.document_type_code) IS NULL)
88 AND (TRIM(X_Document_Type_Code) IS NULL)))
89 AND ( (Recinfo.blanket_po_header_id = X_Blanket_Po_Header_Id)
90 OR ( (Recinfo.blanket_po_header_id IS NULL)
91 AND (X_Blanket_Po_Header_Id IS NULL)))
92 AND ( (Recinfo.blanket_po_line_num = X_Blanket_Po_Line_Num)
93 OR ( (Recinfo.blanket_po_line_num IS NULL)
94 AND (X_Blanket_Po_Line_Num IS NULL)))
95 AND ( (TRIM(Recinfo.currency_code) = TRIM(X_Currency_Code))
96 OR ( (TRIM(Recinfo.currency_code) IS NULL)
97 AND (TRIM(X_Currency_Code) IS NULL)))
98 ) then
99 return;
100 else
101 IF (g_fnd_debug = 'Y') THEN
102 IF (NVL(TRIM(X_Item_Revision),'-999') <> NVL( TRIM(Recinfo.item_revision),'-999')) THEN
103 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form item_revision '||X_Item_Revision ||' Database item_revision '||Recinfo.item_revision);
104 END IF;
105 IF (NVL(X_Quantity_Delivered,-999) <> NVL(Recinfo.quantity_delivered,-999)) THEN
106 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form quantity_delivered'||X_Quantity_Delivered ||' Database quantity_delivered '|| Recinfo.quantity_delivered);
107 END IF;
108 IF (NVL(X_Suggested_Buyer_Id,-999) <> NVL(Recinfo.suggested_buyer_id,-999)) THEN
109 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form suggested_buyer_id'||X_Suggested_Buyer_Id ||' Database suggested_buyer_id '|| Recinfo.suggested_buyer_id);
110 END IF;
111 IF (NVL(TRIM(X_Encumbered_Flag),'-999') <> NVL( TRIM(Recinfo.encumbered_flag),'-999')) THEN
112 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form encumbered_flag '||X_Encumbered_Flag ||' Database encumbered_flag '||Recinfo.encumbered_flag);
113 END IF;
114 IF (NVL(TRIM(X_Rfq_Required_Flag),'-999') <> NVL( TRIM(Recinfo.rfq_required_flag),'-999')) THEN
115 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form rfq_required_flag '||X_Rfq_Required_Flag ||' Database rfq_required_flag '||Recinfo.rfq_required_flag);
116 END IF;
117 IF (X_Need_By_Date <> Recinfo.need_by_date ) THEN
118 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form need_by_date '||X_Need_By_Date ||' Database need_by_date '||Recinfo.need_by_date);
119 END IF;
120 IF (NVL(X_Line_Location_Id,-999) <> NVL(Recinfo.line_location_id,-999)) THEN
121 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form line_location_id'||X_Line_Location_Id ||' Database line_location_id '|| Recinfo.line_location_id);
122 END IF;
123 IF (NVL(TRIM(X_Modified_By_Agent_Flag),'-999') <> NVL( TRIM(Recinfo.modified_by_agent_flag),'-999')) THEN
124 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form modified_by_agent_flag '||X_Modified_By_Agent_Flag ||' Database modified_by_agent_flag '||Recinfo.modified_by_agent_flag);
125 END IF;
126 IF (NVL(X_Parent_Req_Line_Id,-999) <> NVL(Recinfo.parent_req_line_id,-999)) THEN
127 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form parent_req_line_id'||X_Parent_Req_Line_Id ||' Database parent_req_line_id '|| Recinfo.parent_req_line_id);
128 END IF;
129 IF (NVL(TRIM(X_Justification),'-999') <> NVL( TRIM(Recinfo.justification),'-999')) THEN
130 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form justification '||X_Justification ||' Database justification '||Recinfo.justification);
131 END IF;
132 IF (NVL(TRIM(X_Note_To_Agent),'-999') <> NVL( TRIM(Recinfo.note_to_agent),'-999')) THEN
133 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form note_to_agent '||X_Note_To_Agent ||' Database note_to_agent '||Recinfo.note_to_agent);
134 END IF;
135 IF (NVL(TRIM(X_Note_To_Receiver),'-999') <> NVL( TRIM(Recinfo.note_to_receiver),'-999')) THEN
136 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form note_to_receiver '||X_Note_To_Receiver ||' Database note_to_receiver '||Recinfo.note_to_receiver);
137 END IF;
138 IF (NVL(X_Purchasing_Agent_Id,-999) <> NVL(Recinfo.purchasing_agent_id,-999)) THEN
139 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form purchasing_agent_id'||X_Purchasing_Agent_Id ||' Database purchasing_agent_id '|| Recinfo.purchasing_agent_id);
140 END IF;
141 IF (NVL(TRIM(X_Document_Type_Code),'-999') <> NVL( TRIM(Recinfo.document_type_code),'-999')) THEN
142 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form document_type_code '||X_Document_Type_Code ||' Database document_type_code '||Recinfo.document_type_code);
143 END IF;
144 IF (NVL(X_Blanket_Po_Header_Id,-999) <> NVL(Recinfo.blanket_po_header_id,-999)) THEN
145 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form blanket_po_header_id'||X_Blanket_Po_Header_Id ||' Database blanket_po_header_id '|| Recinfo.blanket_po_header_id);
146 END IF;
147 IF (NVL(X_Blanket_Po_Line_Num,-999) <> NVL(Recinfo.blanket_po_line_num,-999)) THEN
148 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form blanket_po_line_num'||X_Blanket_Po_Line_Num ||' Database blanket_po_line_num '|| Recinfo.blanket_po_line_num);
149 END IF;
150 IF (NVL(TRIM(X_Currency_Code),'-999') <> NVL( TRIM(Recinfo.currency_code),'-999')) THEN
151 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,c_log_head || l_api_name,' Form currency_code '||X_Currency_Code ||' Database currency_code '||Recinfo.currency_code);
152 END IF;
153 END IF;
154 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
155 APP_EXCEPTION.RAISE_EXCEPTION;
156 end if;
157 END Lock4_Row;
158
159 END PO_REQUISITION_LINES_PKG4;