DBA Data[Home] [Help]

PACKAGE BODY: APPS.GHG_INTERESTED_PARTIES_PKG

Source


1 PACKAGE BODY GHG_INTERESTED_PARTIES_PKG AS
2 /*$Header: ghginptb.pls 120.1 2011/10/31 08:58:23 pwaghmar noship $ */
3 
4 PROCEDURE insert_row (x_rowid                    IN OUT NOCOPY VARCHAR2,
5                       x_entity_detail_id                       NUMBER,
6                       x_facility_id                            NUMBER,
7                       x_controlling_company                    VARCHAR2,
8                       x_operational_control                    VARCHAR2,
9                       x_equity_share                           VARCHAR2,
10                       x_start_date                             DATE,
11                       x_end_date                               DATE,
12                       x_org_id                                 NUMBER,
13                       x_set_of_books_id                        NUMBER,
14                       x_created_by                             NUMBER,
15                       x_creation_date                          DATE,
16                       x_last_updated_by                        NUMBER,
17                       x_last_update_date                       DATE,
18                       x_last_update_login                      NUMBER) IS
19 
20 v_debug_info VARCHAR2(100);
21 
22 CURSOR c IS
23 SELECT ROWID
24 FROM   GHG_interested_parties_all
25 WHERE  interested_party_id = x_entity_detail_id;
26 
27 BEGIN
28 
29   v_debug_info := 'Inserting into GHG_interested_parties_all';
30 
31   INSERT INTO GHG_interested_parties_all (interested_party_id,
32                                           ghg_organization_id,
33                                           controlling_organization_id,
34                                           operational_control,
35                                           equity_share,
36                                           start_date,
37                                           end_date,
38                                           org_id,
39                                           set_of_books_id,
40                                           created_by,
41                                           creation_date,
42                                           last_updated_by,
43                                           last_update_date,
44                                           last_update_login)
45   VALUES                                 (x_entity_detail_id,
46                                           x_facility_id,
47                                           x_controlling_company,
48                                           x_operational_control,
49                                           x_equity_share,
50                                           x_start_date,
51                                           x_end_date,
52                                           x_org_id,
53                                           x_set_of_books_id,
54                                           x_created_by,
55                                           x_creation_date,
56                                           x_last_updated_by,
57                                           x_last_update_date,
58                                           x_last_update_login);
59 
60   v_debug_info := 'Open cursor c';
61   OPEN c;
62 
63   v_debug_info := 'Fetch cursor c';
64   FETCH c INTO x_rowid;
65 
66   IF (c%notfound) THEN
67     v_debug_info := 'Close cursor c - ROW NOT FOUND';
68     CLOSE c;
69     RAISE no_data_found;
70   END IF;
71 
72   v_debug_info := 'Close cursor c';
73   CLOSE c;
74 
75   EXCEPTION
76      WHEN OTHERS THEN
77          IF (SQLCODE <> -20001) THEN
78            FND_MESSAGE.SET_NAME('GHG', 'GHG_DEBUG');
79            FND_MESSAGE.SET_TOKEN('ERROR', SQLERRM);
80            FND_MESSAGE.SET_TOKEN('DEBUG_INFO', v_debug_info);
81          END IF;
82        APP_EXCEPTION.RAISE_EXCEPTION;
83 
84 END insert_row;
85 
86 PROCEDURE update_row (x_rowid                    IN OUT NOCOPY VARCHAR2,
87                       x_entity_detail_id                       NUMBER,
88                       x_facility_id                            NUMBER,
89                       x_controlling_company                    VARCHAR2,
90                       x_operational_control                    VARCHAR2,
91                       x_equity_share                           VARCHAR2,
92                       x_start_date                             DATE,
93                       x_end_date                               DATE,
94                       x_org_id                                 NUMBER,
95                       x_set_of_books_id                        NUMBER,
96                       x_created_by                             NUMBER,
97                       x_creation_date                          DATE,
98                       x_last_updated_by                        NUMBER,
99                       x_last_update_date                       DATE,
100                       x_last_update_login                      NUMBER) IS
101 
102 v_debug_info VARCHAR2(100);
103 
104 BEGIN
105 
106   v_debug_info := 'Updating GHG_interested_parties_all';
107 
108   UPDATE GHG_interested_parties_all
109   SET    interested_party_id = x_entity_detail_id,
110          ghg_organization_id = x_facility_id,
111          controlling_organization_id = x_controlling_company,
112          operational_control = x_operational_control,
113          equity_share = x_equity_share,
114          start_date = x_start_date,
115          end_date = x_end_date,
116          org_id = x_org_id,
117          set_of_books_id = x_set_of_books_id,
118          created_by = x_created_by,
119          creation_date = x_creation_date,
120          last_updated_by = x_last_updated_by,
121          last_update_date = x_last_update_date,
122          last_update_login = x_last_update_login
123   WHERE  rowid = x_rowid;
124 
125   IF (SQL%NOTFOUND) THEN
126     RAISE NO_DATA_FOUND;
127   END IF;
128 
129   EXCEPTION
130      WHEN OTHERS THEN
131          IF (SQLCODE <> -20001) THEN
132            FND_MESSAGE.SET_NAME('GHG', 'GHG_DEBUG');
133            FND_MESSAGE.SET_TOKEN('ERROR', SQLERRM);
134            FND_MESSAGE.SET_TOKEN('DEBUG_INFO', v_debug_info);
135          END IF;
136        APP_EXCEPTION.RAISE_EXCEPTION;
137 
138 END update_row;
139 
140 PROCEDURE delete_row (x_entity_detail_id NUMBER) IS
141 
142 v_row_count NUMBER(15);
143 
144 BEGIN
145 
146   DELETE FROM GHG_interested_parties_all
147   WHERE  interested_party_id = x_entity_detail_id;
148 
149   IF (sql%notfound) THEN
150     RAISE no_data_found;
151   END IF;
152 
153 END delete_row;
154 
155 PROCEDURE lock_row (x_rowid                    IN OUT NOCOPY VARCHAR2,
156                     x_entity_detail_id                       NUMBER,
157                     x_facility_id                            NUMBER,
158                     x_controlling_company                    VARCHAR2,
159                     x_operational_control                    VARCHAR2,
160                     x_equity_share                           VARCHAR2,
161                     x_start_date                             DATE,
162                     x_end_date                               DATE,
163                     x_org_id                                 NUMBER,
164                     x_set_of_books_id                        NUMBER,
165                     x_created_by                             NUMBER,
166                     x_creation_date                          DATE,
167                     x_last_updated_by                        NUMBER,
168                     x_last_update_date                       DATE,
169                     x_last_update_login                      NUMBER) IS
170 
171 v_debug_info VARCHAR2(100);
172 
173 CURSOR c IS
174 SELECT interested_party_id,
175        ghg_organization_id,
176        controlling_organization_id,
177        operational_control,
178        equity_share,
179        start_date,
180        end_date,
181        org_id,
182        set_of_books_id,
183        created_by,
184        creation_date,
185        last_updated_by,
186        last_update_date,
187        last_update_login
188 FROM   GHG_interested_parties_all
189 WHERE  rowid = x_rowid
190 FOR UPDATE of ghg_organization_id NOWAIT;
191 recinfo      C%ROWTYPE;
192 
193 BEGIN
194 
195   v_debug_info := 'Open cursor C';
196 
197   OPEN C;
198 
199   v_debug_info := 'Fetch cursor C';
200 
201   FETCH C INTO recinfo;
202 
203   IF (C%NOTFOUND) THEN
204     v_debug_info := 'Close cursor C - ROW NOT FOUND';
205     CLOSE C;
206     RAISE NO_DATA_FOUND;
207   END IF;
208 
209   v_debug_info := 'Close cursor C';
210 
211   CLOSE C;
212 
213   IF (    ((recinfo.interested_party_id = x_entity_detail_id) OR (recinfo.interested_party_id IS NULL AND x_entity_detail_id IS NULL))
214       AND ((recinfo.ghg_organization_id = x_facility_id) OR (recinfo.ghg_organization_id IS NULL AND x_facility_id IS NULL))
215       AND ((recinfo.controlling_organization_id = x_controlling_company) OR (recinfo.controlling_organization_id IS NULL AND x_controlling_company IS NULL))
216       AND ((recinfo.operational_control = x_operational_control) OR (recinfo.operational_control IS NULL AND x_operational_control IS NULL))
217       AND ((recinfo.equity_share = x_equity_share) OR (recinfo.equity_share IS NULL AND x_equity_share IS NULL))
218       AND ((recinfo.start_date = x_start_date) OR (recinfo.start_date IS NULL AND x_start_date IS NULL))
219       AND ((recinfo.end_date = x_end_date) OR (recinfo.end_date IS NULL AND x_end_date IS NULL))
220       AND ((recinfo.org_id = x_org_id) OR (recinfo.org_id IS NULL AND x_org_id IS NULL))
221       AND ((recinfo.set_of_books_id = x_set_of_books_id) OR (recinfo.set_of_books_id IS NULL AND x_set_of_books_id IS NULL))
222       AND ((recinfo.created_by = x_created_by) OR (recinfo.created_by IS NULL AND x_created_by IS NULL))
223       AND ((recinfo.creation_date = x_creation_date) OR (recinfo.creation_date IS NULL AND x_creation_date IS NULL))
224       AND ((recinfo.last_updated_by = x_last_updated_by) OR (recinfo.last_updated_by IS NULL AND x_last_updated_by IS NULL))
225       AND ((recinfo.last_update_date = x_last_update_date) OR (recinfo.last_update_date IS NULL AND x_last_update_date IS NULL))
226       AND ((recinfo.last_update_login = x_last_update_login) OR (recinfo.last_update_login IS NULL AND x_last_update_login IS NULL))  ) THEN
227         NULL;
228   ELSE
229     FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
230     APP_EXCEPTION.RAISE_EXCEPTION;
231   END IF;
232 
233   EXCEPTION
234      WHEN OTHERS THEN
235          IF (SQLCODE <> -20001) THEN
236            IF (SQLCODE = -54) THEN
237              FND_MESSAGE.SET_NAME('GHG', 'GHG_RESOURCE_BUSY');
238            ELSE
239              FND_MESSAGE.SET_NAME('GHG', 'GHG_DEBUG');
240              FND_MESSAGE.SET_TOKEN('ERROR', SQLERRM);
241              FND_MESSAGE.SET_TOKEN('DEBUG_INFO', v_debug_info);
242            END IF;
243          END IF;
244          APP_EXCEPTION.RAISE_EXCEPTION;
245 
246 END lock_row;
247 
248 END GHG_INTERESTED_PARTIES_PKG;