DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_REQUISITION_LINES_PKG4

Source


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;