DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_SPEC_RESULTS_PVT

Source


1 PACKAGE BODY GMD_SPEC_RESULTS_PVT AS
2 /* $Header: GMDVSRSB.pls 115.4 2002/12/03 11:10:41 hverddin ship $ */
3 
4 -- Start of comments
5 --+==========================================================================+
6 --|                   Copyright (c) 1998 Oracle Corporation                  |
7 --|                          Redwood Shores, CA, USA                         |
8 --|                            All rights reserved.                          |
9 --+==========================================================================+
10 --| File Name          : GMDVSREB.pls                                        |
11 --| Package Name       : GMD_SPEC_RESULTS_PVT                                |
12 --| Type               : Private                                             |
13 --|                                                                          |
14 --| Notes                                                                    |
15 --|    This package contains private layer APIs for Results                  |
16 --|                                                                          |
17 --| HISTORY                                                                  |
18 --|    Chetan Nagar     09-Aug-2002     Created.                             |
19 --|                                                                          |
20 --+==========================================================================+
21 -- End of comments
22 
23 
24 FUNCTION insert_row (p_spec_results IN  GMD_SPEC_RESULTS%ROWTYPE)
25 RETURN BOOLEAN IS
26 BEGIN
27 
28   INSERT INTO GMD_SPEC_RESULTS
29    (
30     EVENT_SPEC_DISP_ID
31    ,RESULT_ID
32    ,IN_SPEC_IND
33    ,EVALUATION_IND
34    ,ACTION_CODE
35    ,UPDATE_INSTANCE_ID
36    ,VALUE_IN_REPORT_PRECISION
37    ,ADDITIONAL_TEST_IND
38    ,WF_RESPONSE
39    ,DELETE_MARK
40    ,CREATION_DATE
41    ,CREATED_BY
42    ,LAST_UPDATE_DATE
43    ,LAST_UPDATED_BY
44    ,LAST_UPDATE_LOGIN
45    )
46    VALUES
47    (
48     p_spec_results.EVENT_SPEC_DISP_ID
49    ,p_spec_results.RESULT_ID
50    ,p_spec_results.IN_SPEC_IND
51    ,p_spec_results.EVALUATION_IND
52    ,p_spec_results.ACTION_CODE
53    ,p_spec_results.UPDATE_INSTANCE_ID
54    ,p_spec_results.VALUE_IN_REPORT_PRECISION
55    ,p_spec_results.ADDITIONAL_TEST_IND
56    ,p_spec_results.WF_RESPONSE
57    ,p_spec_results.DELETE_MARK
58    ,p_spec_results.CREATION_DATE
59    ,p_spec_results.CREATED_BY
60    ,p_spec_results.LAST_UPDATE_DATE
61    ,p_spec_results.LAST_UPDATED_BY
62    ,p_spec_results.LAST_UPDATE_LOGIN
63    )
64    ;
65 
66   IF SQL%FOUND THEN
67     RETURN TRUE;
68   ELSE
69     RETURN FALSE;
70   END IF;
71 
72 EXCEPTION
73   WHEN OTHERS THEN
74     fnd_msg_pub.add_exc_msg ('GMD_SPEC_RESULTS_PVT', 'INSERT_ROW');
75     RETURN FALSE;
76 
77 END insert_row;
78 
79 
80 
81 
82 
83 FUNCTION delete_row
84 (
85   p_event_spec_disp_id IN NUMBER
86 , p_result_id          IN NUMBER
87 )
88 RETURN BOOLEAN IS
89 
90   dummy       PLS_INTEGER;
91 
92   locked_by_other_user          EXCEPTION;
93   PRAGMA EXCEPTION_INIT         (locked_by_other_user,-54);
94 
95 BEGIN
96   IF p_event_spec_disp_id IS NOT NULL AND
97      p_result_id          IS NOT NULL THEN
98     SELECT 1
99     INTO   dummy
100     FROM   gmd_spec_results
101     WHERE  event_spec_disp_id = p_event_spec_disp_id
102     AND    result_id          = p_result_id
103     FOR UPDATE NOWAIT;
104 
105     UPDATE gmd_spec_results
106     SET    delete_mark = 1
107     WHERE  event_spec_disp_id = p_event_spec_disp_id
108     AND    result_id          = p_result_id
109     ;
110   ELSE
111     GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SPEC_RESULTS');
112     RETURN FALSE;
113   END IF;
114 
115   IF (SQL%FOUND) THEN
116     RETURN TRUE;
117   ELSE
118     GMD_API_PUB.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SPEC_RESULTS');
119     RETURN FALSE;
120   END IF;
121 
122 EXCEPTION
123   WHEN locked_by_other_user THEN
124     GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
125                             'TABLE_NAME', 'GMD_SPEC_RESULTS',
126                             'RECORD','Result',
127                             'KEY', p_event_spec_disp_id);
128     RETURN FALSE;
129 
130   WHEN OTHERS THEN
131      fnd_msg_pub.add_exc_msg ('GMD_SPEC_RESULTS_PVT', 'DELETE_ROW');
132       RETURN FALSE;
133 
134 END delete_row;
135 
136 
137 
138 
139 FUNCTION lock_row
140 (
141   p_event_spec_disp_id IN NUMBER
142 , p_result_id          IN NUMBER
143 )
144 RETURN BOOLEAN IS
145 
146   dummy       PLS_INTEGER;
147 
148   locked_by_other_user          EXCEPTION;
149   PRAGMA EXCEPTION_INIT         (locked_by_other_user,-54);
150 
151 BEGIN
152   IF p_event_spec_disp_id IS NOT NULL AND
153      p_result_id          IS NOT NULL THEN
154     SELECT 1
155     INTO   dummy
156     FROM   gmd_spec_results
157     WHERE  event_spec_disp_id = p_event_spec_disp_id
158     AND    result_id          = p_result_id
159     FOR UPDATE NOWAIT;
160   ELSE
161     GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SPEC_RESULTS');
162     RETURN FALSE;
163   END IF;
164 
165   RETURN TRUE;
166 
167 EXCEPTION
168   WHEN locked_by_other_user THEN
169     GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
170                             'TABLE_NAME', 'GMD_SPEC_RESULTS',
171                             'RECORD','Result',
172                             'KEY', p_event_spec_disp_id);
173     RETURN FALSE;
174 
175   WHEN OTHERS THEN
176      fnd_msg_pub.add_exc_msg ('GMD_SPEC_RESULTS_PVT', 'DELETE_ROW');
177       RETURN FALSE;
178 
179 END lock_row;
180 
181 
182 
183 FUNCTION fetch_row (
184   p_spec_results IN  gmd_spec_results%ROWTYPE
185 , x_spec_results OUT NOCOPY gmd_spec_results%ROWTYPE
186 )
187 RETURN BOOLEAN
188 IS
189 BEGIN
190 
191   IF p_spec_results.event_spec_disp_id IS NOT NULL AND
192      p_spec_results.result_id          IS NOT NULL THEN
193     SELECT *
194     INTO   x_spec_results
195     FROM   gmd_spec_results
196     WHERE  event_spec_disp_id = p_spec_results.event_spec_disp_id
197     AND    result_id          = p_spec_results.result_id
198     ;
199   ELSE
200     gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SPEC_RESULTS');
201     RETURN FALSE;
202   END IF;
203 
204  -- BUG 2690469
205  -- Added Missing Return Statement.
206 
207  RETURN TRUE;
208 
209 EXCEPTION
210  WHEN NO_DATA_FOUND
211    THEN
212      gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SPEC_RESULTS');
213      RETURN FALSE;
214  WHEN OTHERS
215    THEN
216      fnd_msg_pub.add_exc_msg ('GMD_SPEC_RESULTS_PVT', 'FETCH_ROW');
217      RETURN FALSE;
218 
219 END fetch_row;
220 
221 END GMD_SPEC_RESULTS_PVT;