DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_ITR_CHARGE_CENTER_SS_PKG

Source


1 PACKAGE BODY IGI_ITR_CHARGE_CENTER_SS_PKG as
2 -- $Header: igiitrlb.pls 120.5.12000000.1 2007/09/12 10:31:48 mbremkum ship $
3 --
4 
5   l_debug_level number	:=	FND_LOG.G_CURRENT_RUNTIME_LEVEL;
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 
14   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
15                        X_Charge_Center_Id               NUMBER,
16                        X_Name                           VARCHAR2,
17                        X_Set_Of_Books_Id                NUMBER,
18          	       X_Start_Date_Active              DATE,
19                        X_End_Date_Active                DATE,
20                        X_Description                     VARCHAR2,
21                        X_Creation_Date                  DATE,
22                        X_Created_By                     NUMBER,
23                        X_Last_Update_Login              NUMBER,
24                        X_Last_Update_Date               DATE,
25                        X_Last_Updated_By                NUMBER
26   ) IS
27     CURSOR C IS SELECT rowid FROM IGI_itr_charge_center
28                  WHERE charge_center_id = X_Charge_Center_Id;
29 
30    BEGIN
31        INSERT INTO IGI_itr_charge_center(
32                        Charge_Center_Id,
33                        Name,
34                        Set_Of_Books_Id,
35 		       Start_Date_Active,
36 		       End_Date_Active,
37                        Description,
38                        Creation_Date,
39                        Created_By,
40                        Last_Update_Login,
41                        Last_Update_Date,
42                        Last_Updated_By
43 					   )
44 		VALUES (
45 		       X_Charge_Center_Id,
46 		       X_Name,
47 		       X_Set_Of_Books_Id,
48 		       X_Start_Date_Active,
49                        X_End_Date_Active,
50                        X_Description,
51                        X_Creation_Date,
52                        X_Created_By,
53                        X_Last_Update_Login,
54                        X_Last_Update_Date,
55                        X_Last_Updated_By             );
56 
57     OPEN C;
58     FETCH C INTO X_Rowid;
59     if (C%NOTFOUND) then
60       CLOSE C;
61       Raise NO_DATA_FOUND;
62     end if;
63     CLOSE C;
64   END Insert_Row;
65 
66 
67   PROCEDURE Lock_Row(  X_Rowid                          VARCHAR2,
68                        X_Charge_Center_Id               NUMBER,
69                        X_Name                           VARCHAR2,
70                        X_Set_Of_Books_Id                NUMBER,
71          	       X_Start_Date_Active              DATE,
72                        X_End_Date_Active                DATE,
73                        X_Description                    VARCHAR2
74   ) IS
75     CURSOR C IS
76         SELECT *
77         FROM   IGI_itr_charge_center
78         WHERE  rowid = X_Rowid
79         FOR UPDATE of Charge_Center_Id NOWAIT;
80     Recinfo C%ROWTYPE;
81 
82   BEGIN
83     OPEN C;
84     FETCH C INTO Recinfo;
85     if (C%NOTFOUND) then
86       CLOSE C;
87       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
88 
89 	IF( l_excep_level >=  l_debug_level) THEN
90   	      FND_LOG.MESSAGE(l_excep_level,'igi.plsql.igiitrlb.IGI_ITR_CHARGE_CENTER_SS.lock_row.msg1', FALSE);
91 	END IF;
92 
93       APP_EXCEPTION.Raise_Exception;
94     end if;
95     CLOSE C;
96     if (
97 	           (Recinfo.charge_center_id 	    =  X_Charge_Center_Id)
98                    AND (Recinfo.name                =  X_Name)
99                    AND (Recinfo.set_Of_books_id     =  X_Set_Of_Books_Id)
100 		   AND (Recinfo.start_date_active   =  X_Start_Date_Active)
101 		   AND (  (Recinfo.end_date_active     =  X_End_Date_Active)
102                        OR (    (Recinfo.end_date_active IS NULL)
103                            AND (X_End_Date_Active IS NULL)))
104 		   AND (  (Recinfo.description         =  X_Description)
105                         OR (    (Recinfo.description IS NULL)
106                             AND (X_Description IS NULL)))
107       ) then
108       return;
109     else
110       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
111 
112 	IF( l_excep_level >=  l_debug_level) THEN
113   	      FND_LOG.MESSAGE(l_excep_level,'igi.plsql.igiitrlb.IGI_ITR_CHARGE_CENTER_SS.lock_row.msg2', FALSE);
114 	END IF;
115 
116       APP_EXCEPTION.Raise_Exception;
117     end if;
118   END Lock_Row;
119 
120 
121 
122   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
123                        X_Charge_Center_Id               NUMBER,
124                        X_Name                           VARCHAR2,
125                        X_Set_Of_Books_Id                NUMBER,
126 		       X_Start_Date_Active              DATE,
127                        X_End_Date_Active                DATE,
128                        X_Description                    VARCHAR2,
129                        X_Last_Update_Login              NUMBER,
130                        X_Last_Update_Date               DATE,
131                        X_Last_Updated_By                NUMBER
132   ) IS
133 
134   BEGIN
135     UPDATE IGI_itr_charge_center
136     SET
137 
138 	          charge_center_id   = 		X_Charge_Center_Id,
139 	          name               =  	X_Name,
140 	          set_of_books_id    =          X_Set_Of_Books_Id,
141 	          start_date_active  =          X_Start_Date_Active,
142 	          end_date_Active    =           X_End_Date_Active,
143 	          description        =          X_Description ,
144 	          last_update_login  =          X_Last_Update_Login ,
145 	          last_update_date   =          X_Last_Update_Date ,
146                   last_updated_by    =          X_Last_Updated_By
147 
148     WHERE rowid = X_Rowid;
149 
150     if (SQL%NOTFOUND) then
151       Raise NO_DATA_FOUND;
152     end if;
153   END Update_Row;
154 
155 
156   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
157   BEGIN
158     DELETE FROM IGI_itr_charge_center
159     WHERE rowid = X_Rowid;
160     if (SQL%NOTFOUND) then
161       Raise NO_DATA_FOUND;
162     end if;
163   END Delete_Row;
164 
165 
166 
167   PROCEDURE check_unique_cc( x_rowid           VARCHAR2,
168                              x_name            VARCHAR2,
169                              x_set_of_books_id NUMBER) IS
170 
171     CURSOR c_dup IS
172       SELECT 'Duplicate'
173       FROM   igi_itr_charge_center cc
174       WHERE  cc.name = x_name
175       AND    cc.set_of_books_id = x_set_of_books_id
176       AND    (x_rowid IS NULL
177               OR
178               cc.rowid <> x_rowid);
179 
180      dummy VARCHAR2(100);
181 
182    BEGIN
183 
184      OPEN c_dup;
185      FETCH c_dup INTO dummy;
186 
187      IF c_dup%FOUND THEN
188        CLOSE c_dup;
189        fnd_message.set_name('IGI','IGI_ITR_DPL_CC_NAME');
190 
191 	IF( l_error_level >=  l_debug_level) THEN
192   	      FND_LOG.MESSAGE(l_error_level,'igi.plsql.igiitrlb.IGI_ITR_CHARGE_CENTER_SS_PKG.check_unique_cc.msg3', FALSE);
193 	END IF;
194 
195        app_exception.raise_exception;
196      END IF;
197 
198      CLOSE c_dup;
199 
200   END check_unique_cc;
201 
202 END IGI_ITR_CHARGE_CENTER_SS_PKG;