DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_RPI_UPDATE_HDR_PKG

Source


1 PACKAGE BODY IGI_RPI_UPDATE_HDR_PKG as
2 --- $Header: igiruphb.pls 120.4.12000000.1 2007/08/31 05:53:59 mbremkum ship $
3 
4   l_debug_level number:=FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5 
6   l_state_level number:=FND_LOG.LEVEL_STATEMENT;
7   l_proc_level number:=FND_LOG.LEVEL_PROCEDURE;
8   l_event_level number:=FND_LOG.LEVEL_EVENT;
9   l_excep_level number:=FND_LOG.LEVEL_EXCEPTION;
10   l_error_level number:=FND_LOG.LEVEL_ERROR;
11   l_unexp_level number:=FND_LOG.LEVEL_UNEXPECTED;
12 
13   PROCEDURE Insert_Row(
14       X_Rowid                IN OUT NOCOPY VARCHAR2,
15 	/*MOAC Impact Bug No 5905216*/
16       X_org_id		     NUMBER,
17       X_run_id         	     NUMBER,
18       X_item_id_from         NUMBER,
19       X_item_id_to           NUMBER,
20       X_effective_date       DATE,
21       X_option_flag          VARCHAR2,
22       X_amount               NUMBER,
23       X_percentage_amount    NUMBER,
24       X_status               VARCHAR2,
25       X_process_id           NUMBER,
26       X_Created_By           NUMBER,
27       X_Creation_Date        DATE,
28       X_Last_Updated_By      NUMBER,
29       X_Last_Update_Date     DATE,
30       X_Last_Update_Login    NUMBER,
31       X_Incr_Decr_Flag       VARCHAR2
32   ) IS
33     CURSOR C IS SELECT rowid FROM igi_rpi_update_hdr
34                 WHERE run_id = X_run_id;
35 
36    BEGIN
37 
38 
39    INSERT INTO igi_rpi_update_hdr (
40       run_id,
41       org_id,
42       item_id_from,
43       item_id_to,
44       effective_date,
45       option_flag,
46       amount,
47       percentage_amount,
48       status,
49       process_id,
50       Created_By,
51       Creation_Date,
52       Last_Updated_by,
53       Last_Update_Date,
54       Last_Update_Login ,
55       Incr_decr_flag
56 )
57    VALUES (
58       X_run_id,
59       X_org_id,
60       X_item_id_from,
61       X_item_id_to,
62       X_effective_date,
63       X_option_flag,
64       X_amount,
65       X_percentage_amount,
66       X_status,
67       X_process_id,
68       X_Created_By,
69       X_Creation_Date,
70       X_Last_Updated_By,
71       X_Last_Update_Date,
72       X_Last_Update_Login,
73       X_Incr_Decr_Flag);
74 
75     OPEN C;
76     FETCH C INTO X_Rowid;
77     if (C%NOTFOUND) then
78       CLOSE C;
79       Raise NO_DATA_FOUND;
80     end if;
81     CLOSE C;
82   END Insert_Row;
83 
84 
85   PROCEDURE Lock_Row(
86       X_Rowid                IN OUT NOCOPY VARCHAR2,
87       X_run_id         	     NUMBER,
88       X_item_id_from         NUMBER,
89       X_item_id_to           NUMBER,
90       X_effective_date       DATE,
91       X_option_flag          VARCHAR2,
92       X_amount               NUMBER,
93       X_percentage_amount    NUMBER,
94       X_status               VARCHAR2,
95       X_process_id           NUMBER,
96       X_Incr_decr_flag       VARCHAR2
97   ) IS
98     CURSOR C IS
99         SELECT *
100         FROM   igi_rpi_update_hdr
101         WHERE  rowid = X_Rowid
102         FOR UPDATE of run_id NOWAIT;
103     Recinfo C%ROWTYPE;
104   BEGIN
105     OPEN C;
106     FETCH C INTO Recinfo;
107     if (C%NOTFOUND) then
108       CLOSE C;
109       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
110       --Bug 3199481 (start)
111       If (l_unexp_level >= l_debug_level) then
112          FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_rpi_update_hdr_pkg.lock_row.Msg1',FALSE);
113       End if;
114       --Bug 3199481 (end)
115       APP_EXCEPTION.Raise_Exception;
116     end if;
117     CLOSE C;
118     if (
119            (Recinfo.run_id                 =  X_run_id)
120            AND (Recinfo.item_id_from       =  X_item_id_from)
121            AND (Recinfo.item_id_to         =  X_item_id_to)
122            AND (Recinfo.effective_date     =  X_effective_date)
123            AND (Recinfo.option_flag        =  rtrim(X_option_flag) )
124            AND ((Recinfo.amount            =  X_amount)
125                 OR ((Recinfo.amount is null) AND (X_amount is null) ) )
126            AND ((Recinfo.percentage_amount =  X_percentage_amount)
127                 OR ((Recinfo.percentage_amount is null)
128                      AND (X_percentage_amount is null) ) )
129            AND ((Recinfo.status            =  rtrim(X_status))
130                 OR ((Recinfo.status is null) AND (X_status is null) ) )
131            AND ((Recinfo.process_id        =  X_process_id)
132                 OR ((Recinfo.process_id is null) AND (X_process_id is null) )  )
133            AND ((Recinfo.Incr_decr_flag    =  X_Incr_decr_flag)
134                 OR ((Recinfo.Incr_decr_flag is null) AND (X_Incr_decr_flag is null) )  )
135       ) then
136       return;
137     else
138       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
139       --Bug 3199481 (start)
140       If (l_unexp_level >= l_debug_level) then
141          FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_rpi_update_hdr_pkg.lock_row.Msg2',FALSE);
142       End if;
143       --Bug 3199481 (end)
144       APP_EXCEPTION.Raise_Exception;
145     end if;
146   END Lock_Row;
147 
148   PROCEDURE Update_Row(
149       X_Rowid                IN OUT NOCOPY VARCHAR2,
150       X_run_id         	     NUMBER,
151       X_item_id_from         NUMBER,
152       X_item_id_to           NUMBER,
153       X_effective_date       DATE,
154       X_option_flag          VARCHAR2,
155       X_amount               NUMBER,
156       X_percentage_amount    NUMBER,
157       X_status               VARCHAR2,
158       X_process_id           NUMBER,
159       X_Last_Updated_By      NUMBER,
160       X_Last_Update_Date     DATE,
161       X_Last_Update_Login    NUMBER,
162       X_Incr_Decr_Flag       VARCHAR2
163   ) IS
164   BEGIN
165     UPDATE igi_rpi_update_hdr
166     SET
167       run_id         	   = X_run_id,
168       item_id_from         = X_item_id_from,
169       item_id_to           = X_item_id_to,
170       effective_date       = X_effective_date,
171       option_flag          = X_option_flag,
172       amount               = X_amount,
173       percentage_amount    = X_percentage_amount,
174       status               = X_status,
175       process_id           = X_process_id,
176       Last_Updated_By      = X_Last_Updated_By,
177       Last_Update_Date     = X_Last_Update_Date,
178       Last_Update_Login    = X_Last_Update_Login ,
179       Incr_Decr_Flag	   = X_Incr_Decr_Flag
180 WHERE rowid = X_Rowid;
181 
182     if (SQL%NOTFOUND) then
183       Raise NO_DATA_FOUND;
184     end if;
185   END Update_Row;
186 
187   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
188   BEGIN
189     DELETE FROM igi_rpi_update_hdr
190     WHERE rowid = X_Rowid;
191 
192     if (SQL%NOTFOUND) then
193       Raise NO_DATA_FOUND;
194     end if;
195   END Delete_Row;
196 
197 
198 END IGI_RPI_UPDATE_HDR_PKG;