DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_IGI_ITR_LINES_PKG

Source


1 PACKAGE BODY IGI_IGI_ITR_LINES_PKG as
2 -- $Header: igiitrbb.pls 120.5.12000000.1 2007/09/12 10:30:26 mbremkum ship $
3 --
4   l_debug_level number  :=      FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5   l_state_level number  :=      FND_LOG.LEVEL_STATEMENT;
6   l_proc_level number   :=      FND_LOG.LEVEL_PROCEDURE;
7   l_event_level number  :=      FND_LOG.LEVEL_EVENT;
8   l_excep_level number  :=      FND_LOG.LEVEL_EXCEPTION;
9   l_error_level number  :=      FND_LOG.LEVEL_ERROR;
10   l_unexp_level number  :=      FND_LOG.LEVEL_UNEXPECTED;
11 
12 
13   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
14                        X_It_Header_Id                   NUMBER,
15                        X_It_Line_Num                    NUMBER,
16                        X_Set_Of_Books_Id                NUMBER,
17                        X_Code_Combination_Id            NUMBER,
18                        X_Charge_Center_Id               NUMBER,
19                        X_Effective_Date                 DATE,
20                        X_Entered_Dr                     NUMBER,
21                        X_Entered_Cr                     NUMBER,
22                        X_Description                    VARCHAR2,
23                        X_Status_Flag                    VARCHAR2,
24                        X_Posting_Flag                   VARCHAR2,
25                        X_Submit_Date                    DATE,
26                        X_Suggested_Amount               NUMBER,
27                        X_Rejection_Note                 VARCHAR2,
28                        X_Creation_Date                  DATE,
29                        X_Created_By                     NUMBER,
30                        X_Last_Update_Login              NUMBER,
31                        X_Last_Update_Date               DATE,
32                        X_Last_Updated_By                NUMBER
33   ) IS
34     CURSOR C IS SELECT rowid FROM IGI_itr_charge_lines
35                  WHERE it_header_id = X_It_Header_Id
36                  AND   it_line_num = X_It_Line_Num;
37 
38    BEGIN
39 
40 
41        INSERT INTO IGI_itr_charge_lines(
42               it_header_id,
43               it_line_num,
44               set_of_books_id,
45               code_combination_id,
46               charge_center_id,
47               effective_date,
48               entered_dr,
49               entered_cr,
50               description,
51               status_flag,
52               posting_flag,
53               submit_date,
54               suggested_amount,
55               rejection_note,
56               creation_date,
57               created_by,
58               last_update_login,
59               last_update_date,
60               last_updated_by
61              ) VALUES (
62               X_It_Header_Id,
63               X_It_Line_Num,
64               X_Set_Of_Books_Id,
65               X_Code_Combination_Id,
66               X_Charge_Center_Id,
67               X_Effective_Date,
68               X_Entered_Dr,
69               X_Entered_Cr,
70               X_Description,
71               X_Status_Flag,
72               X_Posting_Flag,
73               X_Submit_Date,
74               X_Suggested_Amount,
75               X_Rejection_Note,
76               X_Creation_Date,
77               X_Created_By,
78               X_Last_Update_Login,
79               X_Last_Update_Date,
80               X_Last_Updated_By
81              );
82 
83     OPEN C;
84     FETCH C INTO X_Rowid;
85     if (C%NOTFOUND) then
86       CLOSE C;
87       Raise NO_DATA_FOUND;
88     end if;
89     CLOSE C;
90   END Insert_Row;
91 
92 
93   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
94                      X_It_Header_Id                     NUMBER,
95                      X_It_Line_Num                      NUMBER,
96                      X_Set_Of_Books_Id                  NUMBER,
97                      X_Code_Combination_Id              NUMBER,
98                      X_Charge_Center_Id                 NUMBER,
99                      X_Effective_Date                   DATE,
100                      X_Entered_Dr                       NUMBER,
101                      X_Entered_Cr                       NUMBER,
102                      X_Description                      VARCHAR2,
103                      X_Status_Flag                      VARCHAR2,
104                      X_Posting_Flag                     VARCHAR2,
105                      X_Submit_Date                      DATE,
106                      X_Suggested_Amount                 NUMBER,
107                      X_Rejection_Note                   VARCHAR2
108   ) IS
109 
110     CURSOR C IS
111         SELECT *
112         FROM   IGI_itr_charge_lines
113         WHERE  rowid = X_Rowid
114         FOR UPDATE of It_Header_Id NOWAIT;
115     Recinfo C%ROWTYPE;
116 
117 
118   BEGIN
119     OPEN C;
120     FETCH C INTO Recinfo;
121     if (C%NOTFOUND) then
122       CLOSE C;
123       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
124 
125 	IF ( l_excep_level >=  l_debug_level)  THEN
126   	      FND_LOG.MESSAGE(l_excep_level,'igi.plsql.igiitrbb.IGI_IGI_ITR_LINES_PKG.lock_row.msg1', FALSE);
127 	END IF;
128 
129       APP_EXCEPTION.Raise_Exception;
130     end if;
131     CLOSE C;
132     if (
133 
134                (Recinfo.it_header_id =  X_It_Header_Id)
135            AND (Recinfo.it_line_num =  X_It_Line_Num)
136            AND (Recinfo.set_of_books_id =  X_Set_Of_Books_Id)
137            AND (Recinfo.code_combination_id =  X_Code_Combination_Id)
138            AND (Recinfo.charge_center_id =  X_Charge_Center_Id)
139            AND (Recinfo.effective_date =  X_Effective_Date)
140            AND (   (Recinfo.entered_dr =  X_Entered_Dr)
141                 OR (    (Recinfo.entered_dr IS NULL)
142                     AND (X_Entered_Dr IS NULL)))
143            AND (   (Recinfo.entered_cr =  X_Entered_Cr)
144                 OR (    (Recinfo.entered_cr IS NULL)
145                     AND (X_Entered_Cr IS NULL)))
146            AND (   (Recinfo.description =  X_Description)
147                 OR (    (Recinfo.description IS NULL)
148                     AND (X_Description IS NULL)))
149            AND (   (Recinfo.status_flag =  X_Status_Flag)
150                 OR (    (Recinfo.status_flag IS NULL)
151                     AND (X_Status_Flag IS NULL)))
152            AND (   (Recinfo.posting_flag =  X_Posting_Flag)
153                 OR (    (Recinfo.posting_flag IS NULL)
154                     AND (X_Posting_Flag IS NULL)))
155            AND (   (Recinfo.submit_date =  X_Submit_Date)
156                 OR (    (Recinfo.submit_date IS NULL)
157                     AND (X_Submit_Date IS NULL)))
158            AND (   (Recinfo.suggested_amount =  X_Suggested_Amount)
159                 OR (    (Recinfo.suggested_amount IS NULL)
160                     AND (X_Suggested_Amount IS NULL)))
161            AND (   (Recinfo.rejection_note =  X_Rejection_Note)
162                 OR (    (Recinfo.rejection_note IS NULL)
163                     AND (X_Rejection_Note IS NULL)))
164       ) then
165       return;
166     else
167       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
168 
169 	IF ( l_excep_level >=  l_debug_level)  THEN
170   	      FND_LOG.MESSAGE(l_excep_level,'igi.plsql.igiitrbb.IGI_IGI_ITR_LINES_PKG.lock_row.msg2', FALSE);
171 	END IF;
172 
173       APP_EXCEPTION.Raise_Exception;
174     end if;
175   END Lock_Row;
176 
177 
178 
179   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
180                        X_It_Header_Id                   NUMBER,
181                        X_It_Line_Num                    NUMBER,
182                        X_Set_Of_Books_Id                NUMBER,
183                        X_Code_Combination_Id            NUMBER,
184                        X_Charge_Center_Id               NUMBER,
185                        X_Effective_Date                 DATE,
186                        X_Entered_Dr                     NUMBER,
187                        X_Entered_Cr                     NUMBER,
188                        X_Description                    VARCHAR2,
189                        X_Status_Flag                    VARCHAR2,
190                        X_Posting_Flag                   VARCHAR2,
191                        X_Submit_Date                    DATE,
192                        X_Suggested_Amount               NUMBER,
193                        X_Rejection_Note                 VARCHAR2,
194                        X_Last_Update_Login              NUMBER,
195                        X_Last_Update_Date               DATE,
196                        X_Last_Updated_By                NUMBER
197   ) IS
198   BEGIN
199     UPDATE IGI_itr_charge_lines
200     SET
201        it_header_id                    =     X_It_Header_Id,
202        it_line_num                     =     X_It_Line_Num,
203        set_of_books_id                 =     X_Set_Of_Books_Id,
204        code_combination_id             =     X_Code_Combination_Id,
205        charge_center_id                =     X_Charge_Center_Id,
206        effective_date                  =     X_Effective_Date,
207        entered_dr                      =     X_Entered_Dr,
208        entered_cr                      =     X_Entered_Cr,
209        description                     =     X_Description,
210        status_flag                     =     X_Status_Flag,
211        posting_flag                    =     X_Posting_Flag,
212        submit_date                     =     X_Submit_Date,
213        suggested_amount                =     X_Suggested_Amount,
214        rejection_note                  =     X_Rejection_Note,
215        last_update_login               =     X_Last_Update_Login,
216        last_update_date                =     X_Last_Update_Date,
217        last_updated_by                 =     X_Last_Updated_By
218     WHERE rowid = X_Rowid;
219 
220     if (SQL%NOTFOUND) then
221       Raise NO_DATA_FOUND;
222     end if;
223   END Update_Row;
224 
225   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
226   BEGIN
227     DELETE FROM IGI_itr_charge_lines
228     WHERE rowid = X_Rowid;
229 
230     if (SQL%NOTFOUND) then
231       Raise NO_DATA_FOUND;
232     end if;
233   END Delete_Row;
234 
235 END IGI_IGI_ITR_LINES_PKG;