DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_IGI_ITR_CHARGE_CENTER_PKG

Source


1 PACKAGE BODY IGI_IGI_ITR_CHARGE_CENTER_PKG as
2 -- $Header: igiitreb.pls 120.5.12000000.1 2007/09/12 10:30:49 mbremkum ship $
3 --
4 
5 
6   l_debug_level number  :=      FND_LOG.G_CURRENT_RUNTIME_LEVEL;
7   l_state_level number  :=      FND_LOG.LEVEL_STATEMENT;
8   l_proc_level number   :=      FND_LOG.LEVEL_PROCEDURE;
9   l_event_level number  :=      FND_LOG.LEVEL_EVENT;
10   l_excep_level number  :=      FND_LOG.LEVEL_EXCEPTION;
11   l_error_level number  :=      FND_LOG.LEVEL_ERROR;
12   l_unexp_level number  :=      FND_LOG.LEVEL_UNEXPECTED;
13 
14 
15   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
16                        X_Charge_Center_Id               IN OUT NOCOPY NUMBER,
17                        X_Name                           VARCHAR2,
18                        X_Set_Of_Books_Id                NUMBER,
19                        X_Start_Date_Active              DATE,
20                        X_End_Date_Active                DATE,
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                  AND   set_of_books_id = X_Set_Of_Books_Id;
30       CURSOR C2 IS SELECT IGI_IGI_itr_charge_center_s.nextval FROM sys.dual;
31    BEGIN
32       if (X_Charge_Center_Id is NULL) then
33         OPEN C2;
34         FETCH C2 INTO X_Charge_Center_Id;
35         CLOSE C2;
36       end if;
37 
38        INSERT INTO IGI_ITR_CHARGE_CENTER(
39               charge_center_id,
40               name,
41               set_of_books_id,
42               start_date_active,
43               end_date_active,
44               creation_date,
45               created_by,
46               last_update_login,
47               last_update_date,
48               last_updated_by
49              ) VALUES (
50               X_Charge_Center_Id,
51               X_Name,
52               X_Set_Of_Books_Id,
53               X_Start_Date_Active,
54               X_End_Date_Active,
55               X_Creation_Date,
56               X_Created_By,
57               X_Last_Update_Login,
58               X_Last_Update_Date,
59               X_Last_Updated_By
60              );
61 
62     OPEN C;
63     FETCH C INTO X_Rowid;
64     if (C%NOTFOUND) then
65       CLOSE C;
66       Raise NO_DATA_FOUND;
67     end if;
68     CLOSE C;
69   END Insert_Row;
70 
71 
72   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
73                      X_Charge_Center_Id                 NUMBER,
74                      X_Name                             VARCHAR2,
75                      X_Set_Of_Books_Id                  NUMBER,
76                      X_Start_Date_Active                DATE,
77                      X_End_Date_Active                  DATE
78   ) IS
79 
80     CURSOR C IS
81         SELECT *
82         FROM   IGI_ITR_CHARGE_CENTER
83         WHERE  rowid = X_Rowid
84         FOR UPDATE of Charge_Center_Id NOWAIT;
85     Recinfo C%ROWTYPE;
86 
87   BEGIN
88     OPEN C;
89     FETCH C INTO Recinfo;
90     if (C%NOTFOUND) then
91       CLOSE C;
92       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
93 
94 	IF ( l_excep_level >=  l_debug_level) THEN
95   	      FND_LOG.MESSAGE(l_excep_level,'igi.plsql.igiitreb.IGI_IGI_ITR_CHARGE_CENTER_PKG.lock_row.msg1', FALSE);
96 	END IF;
97 
98 
99       APP_EXCEPTION.Raise_Exception;
100     end if;
101     CLOSE C;
102     if (
103                (Recinfo.charge_center_id =  X_Charge_Center_Id)
104            AND (Recinfo.name =  X_Name)
105            AND (Recinfo.set_of_books_id =  X_Set_Of_Books_Id)
106            AND (Recinfo.start_date_active =  X_Start_Date_Active)
107            AND (   (Recinfo.end_date_active =  X_End_Date_Active)
108                 OR (    (Recinfo.end_date_active IS NULL)
109                     AND (X_End_Date_Active IS NULL)))
110       ) then
111       return;
112     else
113       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
114 
115 	IF ( l_excep_level >=  l_debug_level) THEN
116   	      FND_LOG.MESSAGE(l_excep_level,'igi.plsql.igiitreb.IGI_IGI_ITR_CHARGE_CENTER_PKG.lock_row.msg2', FALSE);
117 	END IF;
118 
119       APP_EXCEPTION.Raise_Exception;
120     end if;
121   END Lock_Row;
122 
123 
124 
125   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
126                        X_Charge_Center_Id               NUMBER,
127                        X_Name                           VARCHAR2,
128                        X_Set_Of_Books_Id                NUMBER,
129                        X_Start_Date_Active              DATE,
130                        X_End_Date_Active                DATE,
131                        X_Last_Update_Login              NUMBER,
132                        X_Last_Update_Date               DATE,
133                        X_Last_Updated_By                NUMBER
134   ) IS
135   BEGIN
136     UPDATE IGI_ITR_CHARGE_CENTER
137     SET
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        last_update_login               =     X_Last_Update_Login,
144        last_update_date                =     X_Last_Update_Date,
145        last_updated_by                 =     X_Last_Updated_By
146     WHERE rowid = X_Rowid;
147     if (SQL%NOTFOUND) then
148       Raise NO_DATA_FOUND;
149     end if;
150   END Update_Row;
151   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
152   BEGIN
153     DELETE FROM IGI_ITR_CHARGE_CENTER
154     WHERE rowid = X_Rowid;
155     if (SQL%NOTFOUND) then
156       Raise NO_DATA_FOUND;
157     end if;
158   END Delete_Row;
159 
160 
161 END IGI_IGI_ITR_CHARGE_CENTER_PKG;