DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_BUD_JOURNAL_PERIODS_PKG

Source


1 PACKAGE BODY IGI_BUD_JOURNAL_PERIODS_PKG  as
2 -- $Header: igibuddb.pls 120.4 2005/10/30 05:51:39 appldev ship $
3 
4 --Bug 3199481
5 
6 l_debug_level   number := FND_LOG.G_CURRENT_RUNTIME_LEVEL ;
7 
8 l_state_level   number := FND_LOG.LEVEL_STATEMENT ;
9 l_proc_level    number := FND_LOG.LEVEL_PROCEDURE ;
10 l_event_level   number := FND_LOG.LEVEL_EVENT ;
11 l_excep_level   number := FND_LOG.LEVEL_EXCEPTION ;
12 l_error_level   number := FND_LOG.LEVEL_ERROR ;
13 l_unexp_level   number := FND_LOG.LEVEL_UNEXPECTED ;
14 
15 --Bug 3199481
16 
17   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
18                        X_Be_Batch_Id                    NUMBER,
19                        X_Be_Header_Id                   NUMBER,
20                        X_Be_Line_Num                    NUMBER,
21                        X_Period_Name                    VARCHAR2,
22                        X_Period_Number                  NUMBER,
23                        X_Period_Year                    NUMBER,
24                        X_Record_Type                    VARCHAR2,
25                        X_Entered_Dr                     NUMBER,
26                        X_Entered_Cr                     NUMBER,
27                        X_Next_Year_Budget               NUMBER,
28                        X_Creation_Date                  DATE,
29                        X_Created_By                     NUMBER,
30                        X_Last_Update_Date               DATE,
31                        X_Last_Updated_By                NUMBER,
32                        X_Last_Update_Login              NUMBER
33   ) IS
34     CURSOR C IS SELECT rowid FROM igi_bud_journal_periods
35                  WHERE be_header_id = X_Be_Header_Id
36                  AND   be_line_num = X_Be_Line_Num
37                  AND   period_name = X_Period_Name;
38 
39    BEGIN
40 
41 
42        INSERT INTO igi_bud_journal_periods(
43               be_batch_id,
44               be_header_id,
45               be_line_num,
46               period_name,
47               period_number,
48               period_year,
49               record_type,
50               entered_dr,
51               entered_cr,
52               next_year_budget,
53               creation_date,
54               created_by,
55               last_update_date,
56               last_updated_by,
57               last_update_login
58              ) VALUES (
59               X_Be_Batch_Id,
60               X_Be_Header_Id,
61               X_Be_Line_Num,
62               X_Period_Name,
63               X_Period_Number,
64               X_Period_Year,
65               X_Record_Type,
66               X_Entered_Dr,
67               X_Entered_Cr,
68               X_Next_Year_Budget,
69               X_Creation_Date,
70               X_Created_By,
71               X_Last_Update_Date,
72               X_Last_Updated_By,
73               X_Last_Update_Login
74              );
75 
76     OPEN C;
77     FETCH C INTO X_Rowid;
78     if (C%NOTFOUND) then
79       CLOSE C;
80       Raise NO_DATA_FOUND;
81     end if;
82     CLOSE C;
83   END Insert_Row;
84 
85 
86   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
87                      X_Be_Batch_Id                      NUMBER,
88                      X_Be_Header_Id                     NUMBER,
89                      X_Be_Line_Num                      NUMBER,
90                      X_Period_Name                      VARCHAR2,
91                      X_Period_Number                    NUMBER,
92                      X_Period_Year                      NUMBER,
93                      X_Record_Type                      VARCHAR2,
94                      X_Entered_Dr                       NUMBER,
95                      X_Entered_Cr                       NUMBER,
96                      X_Next_Year_Budget                 NUMBER
97   ) IS
98     CURSOR C IS
99         SELECT *
100         FROM   igi_bud_journal_periods
101         WHERE  rowid = X_Rowid
102         FOR UPDATE of Be_Header_Id NOWAIT;
103     Recinfo C%ROWTYPE;
104 
105 
106   BEGIN
107     OPEN C;
108     FETCH C INTO Recinfo;
109     if (C%NOTFOUND) then
110       CLOSE C;
111       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
112       --Bug 3199481 (start)
113       If (l_unexp_level >= l_debug_level) then
114             FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_bud_journals_periods_pkg.lock_row.Msg1',FALSE);
115       End if;
116       --Bug 3199481 (End)
117       APP_EXCEPTION.Raise_Exception;
118     end if;
119     CLOSE C;
120     if (
121                (Recinfo.be_batch_id =  X_Be_Batch_Id)
122            AND (Recinfo.be_header_id =  X_Be_Header_Id)
123            AND (Recinfo.be_line_num =  X_Be_Line_Num)
124            AND (Recinfo.period_name =  X_Period_Name)
125            AND (Recinfo.period_number =  X_Period_Number)
126            AND (Recinfo.period_year =  X_Period_Year)
127            AND (   (Recinfo.record_type =  X_Record_Type)
128                 OR (    (Recinfo.record_type IS NULL)
129                     AND (X_Record_Type IS NULL)))
130            AND (   (Recinfo.entered_dr =  X_Entered_Dr)
131                 OR (    (Recinfo.entered_dr IS NULL)
132                     AND (X_Entered_Dr IS NULL)))
133            AND (   (Recinfo.entered_cr =  X_Entered_Cr)
134                 OR (    (Recinfo.entered_cr IS NULL)
135                     AND (X_Entered_Cr IS NULL)))
136            AND (   (Recinfo.next_year_budget =  X_Next_Year_Budget)
137                 OR (    (Recinfo.next_year_budget IS NULL)
138                     AND (X_Next_Year_Budget IS NULL)))
139       ) then
140       return;
141     else
142       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
143       --Bug 3199481 (start)
144       If (l_unexp_level >= l_debug_level) then
145             FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_bud_journals_periods_pkg.lock_row.Msg2',FALSE);
146       End if;
147       --Bug 3199481 (End)
148       APP_EXCEPTION.Raise_Exception;
149     end if;
150   END Lock_Row;
151 
152 
153   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
154                        X_Be_Batch_Id                    NUMBER,
155                        X_Be_Header_Id                   NUMBER,
156                        X_Be_Line_Num                    NUMBER,
157                        X_Period_Name                    VARCHAR2,
158                        X_Period_Number                  NUMBER,
159                        X_Period_Year                    NUMBER,
160                        X_Record_Type                    VARCHAR2,
161                        X_Entered_Dr                     NUMBER,
162                        X_Entered_Cr                     NUMBER,
163                        X_Next_Year_Budget               NUMBER,
164                        X_Last_Update_Date               DATE,
165                        X_Last_Updated_By                NUMBER,
166                        X_Last_Update_Login              NUMBER
167 
168   ) IS
169   BEGIN
170     UPDATE igi_bud_journal_periods
171     SET
172        be_batch_id                     =     X_Be_Batch_Id,
173        be_header_id                    =     X_Be_Header_Id,
174        be_line_num                     =     X_Be_Line_Num,
175        period_name                     =     X_Period_Name,
176        period_number                   =     X_Period_Number,
177        period_year                     =     X_Period_Year,
178        record_type                     =     X_Record_Type,
179        entered_dr                      =     X_Entered_Dr,
180        entered_cr                      =     X_Entered_Cr,
181        next_year_budget                =     X_Next_Year_Budget,
182        last_update_date                =     X_Last_Update_Date,
183        last_updated_by                 =     X_Last_Updated_By,
184        last_update_login               =     X_Last_Update_Login
185     WHERE rowid = X_Rowid;
186 
187     if (SQL%NOTFOUND) then
188       Raise NO_DATA_FOUND;
189     end if;
190   END Update_Row;
191   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
192   BEGIN
193     DELETE FROM igi_bud_journal_periods
194     WHERE rowid = X_Rowid;
195 
196     if (SQL%NOTFOUND) then
197       Raise NO_DATA_FOUND;
198     end if;
199   END Delete_Row;
200 
201 
202 END IGI_BUD_JOURNAL_PERIODS_PKG;