DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_CAPITAL_EVENTS_PKG

Source


1 PACKAGE BODY PA_CAPITAL_EVENTS_PKG as
2 /* $Header: PAXEVNTB.pls 120.2 2005/08/26 13:08:01 skannoji noship $ */
3 
4   PROCEDURE Insert_Row(X_Rowid                          IN OUT NOCOPY VARCHAR2,
5                        X_Capital_Event_Id               IN OUT NOCOPY NUMBER,
6                        X_Project_Id                     NUMBER,
7                        X_Capital_Event_Number           NUMBER,
8                        X_Event_Type                     VARCHAR2,
9                        X_Event_Name                     VARCHAR2,
10                        X_Asset_Allocation_Method        VARCHAR2,
11                        X_Event_Period                   VARCHAR2,
12                        X_Last_Update_Date               DATE,
13                        X_Last_Updated_By                NUMBER,
14                        X_Creation_Date                  DATE,
15                        X_Created_By                     NUMBER,
16                        X_Last_Update_Login              NUMBER,
17                        X_Request_Id                     NUMBER,
18                        X_Program_Application_Id         NUMBER,
19                        X_Program_Id                     NUMBER,
20                        X_Program_Update_Date            DATE
21                       ) IS
22 
23     CURSOR C IS
24         SELECT  rowid
25         FROM    pa_capital_events
26         WHERE   capital_event_id = X_Capital_Event_Id;
27 
28     CURSOR C2 IS
29         SELECT  pa_capital_events_s.nextval
30         FROM    sys.dual;
31 
32    BEGIN
33       IF (X_Capital_Event_Id IS NULL) THEN
34         OPEN C2;
35         FETCH C2 INTO X_Capital_Event_Id;
36         CLOSE C2;
37       END IF;
38 
39        INSERT INTO pa_capital_events(
40               capital_event_id,
41               project_id,
42               capital_event_number,
43               event_type,
44               event_name,
45               asset_allocation_method,
46               event_period,
47               last_update_date,
48               last_updated_by,
49               creation_date,
50               created_by,
51               last_update_login,
52               request_id,
53               program_application_id,
54               program_id,
55               program_update_date
56              ) VALUES (
57               X_Capital_Event_Id,
58               X_Project_Id,
59               X_Capital_Event_Number,
60               X_Event_Type,
61               X_Event_Name,
62               X_Asset_Allocation_Method,
63               X_Event_Period,
64               X_Last_Update_Date,
65               X_Last_Updated_By,
66               X_Creation_Date,
67               X_Created_By,
68               X_Last_Update_Login,
69               X_Request_Id,
70               X_Program_Application_Id,
71               X_Program_Id,
72               X_Program_Update_Date
73              );
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 
83   EXCEPTION
84     WHEN OTHERS THEN
85         ROLLBACK;
86         fnd_msg_pub.add_exc_msg(p_pkg_name     => 'PA_CAPITAL_EVENTS_PKG',
87                                 p_procedure_name => 'INSERT_ROW',
88                                 p_error_text => SUBSTRB(SQLERRM,1,240));
89         RAISE;
90 
91   END Insert_Row;
92 
93 
94   PROCEDURE Lock_Row(X_Rowid                          IN OUT NOCOPY VARCHAR2,
95                      X_Capital_Event_Id               IN OUT NOCOPY NUMBER,
96                      X_Project_Id                     NUMBER,
97                      X_Capital_Event_Number           NUMBER,
98                      X_Event_Type                     VARCHAR2,
99                      X_Event_Name                     VARCHAR2,
100                      X_Asset_Allocation_Method        VARCHAR2,
101                      X_Event_Period                   VARCHAR2
102                      ) IS
103 
104 	CURSOR C IS
105 	   SELECT  *
106 	   FROM    pa_capital_events
107        WHERE   pa_capital_events.rowid = X_Rowid
108        FOR UPDATE of Capital_Event_Id NOWAIT;
109 
110     Recinfo C%ROWTYPE;
111 
112 
113   BEGIN
114     OPEN C;
115     FETCH C INTO Recinfo;
116     IF (C%NOTFOUND) THEN
117       CLOSE C;
118       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
119       APP_EXCEPTION.Raise_Exception;
120     END IF;
121     CLOSE C;
122     IF (
123                (Recinfo.capital_event_id =  X_Capital_Event_Id)
124            AND (Recinfo.project_id =  X_Project_Id)
125            AND (Recinfo.capital_event_number =  X_Capital_Event_Number)
126            AND (Recinfo.event_type =  X_Event_Type)
127            AND (Recinfo.event_name =  X_Event_Name)
128            AND (Recinfo.asset_allocation_method =  X_Asset_Allocation_Method)
129            AND (   (Recinfo.event_period =  X_Event_Period)
130                 OR (    (Recinfo.event_period IS NULL)
131                     AND (X_Event_Period IS NULL)))
132                  ) THEN
133       RETURN;
134     ELSE
135       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
136       APP_EXCEPTION.Raise_Exception;
137     END IF;
138   END Lock_Row;
139 
140 
141 
142   PROCEDURE Update_Row(X_Rowid                        IN OUT NOCOPY VARCHAR2,
143                      X_Capital_Event_Id               IN OUT NOCOPY NUMBER,
144                      X_Project_Id                     NUMBER,
145                      X_Capital_Event_Number           NUMBER,
146                      X_Event_Type                     VARCHAR2,
147                      X_Event_Name                     VARCHAR2,
148                      X_Asset_Allocation_Method        VARCHAR2,
149                      X_Event_Period                   VARCHAR2,
150                      X_Last_Update_Date               DATE,
151                      X_Last_Updated_By                NUMBER,
152                      X_Last_Update_Login              NUMBER,
153                      X_Request_Id                     NUMBER,
154                      X_Program_Application_Id         NUMBER,
155                      X_Program_Id                     NUMBER,
156                      X_Program_Update_Date            DATE
157                     ) IS
158 
159   BEGIN
160     UPDATE pa_capital_events
161     SET
162        capital_event_id                =     X_Capital_Event_Id,
163        project_id                      =     X_Project_Id,
164        capital_event_number            =     X_Capital_Event_Number,
165        event_type                      =     X_Event_Type,
166        event_name                      =     X_Event_Name,
167        asset_allocation_method         =     X_Asset_Allocation_Method,
168        event_period                    =     X_Event_Period,
169        last_update_date                =     X_Last_Update_Date,
170        last_updated_by                 =     X_Last_Updated_By,
171        last_update_login               =     X_Last_Update_Login,
172        request_id                      =     X_Request_Id,
173        program_application_id          =     X_Program_Application_Id,
174        program_id                      =     X_Program_Id,
175        program_update_date             =     X_Program_Update_Date
176     WHERE rowid = X_Rowid
177     OR    capital_event_id = X_Capital_Event_Id;
178 
179     IF (SQL%NOTFOUND) THEN
180       RAISE NO_DATA_FOUND;
181     END IF;
182 
183   EXCEPTION
184     WHEN NO_DATA_FOUND THEN
185         RAISE;
186     WHEN OTHERS THEN
187         ROLLBACK;
188         fnd_msg_pub.add_exc_msg(p_pkg_name     => 'PA_CAPITAL_EVENTS_PKG',
189                                 p_procedure_name => 'UPDATE_ROW',
190                                 p_error_text => SUBSTRB(SQLERRM,1,240));
191         RAISE;
192   END Update_Row;
193 
194 
195   PROCEDURE Delete_Row(X_Rowid VARCHAR2,
196 			           X_Capital_Event_Id NUMBER) IS
197   BEGIN
198 
199     DELETE FROM pa_capital_events
200     WHERE rowid = X_Rowid;
201 
202     IF (SQL%NOTFOUND) THEN
203       RAISE NO_DATA_FOUND;
204     END IF;
205   END Delete_Row;
206 
207 
208 END PA_CAPITAL_EVENTS_PKG;