DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_SAMPLE_SPEC_DISP_PVT

Source


1 PACKAGE BODY GMD_SAMPLE_SPEC_DISP_PVT AS
2 /* $Header: GMDVSSDB.pls 115.3 2002/11/04 11:05:16 kxhunt 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          : GMDVSSDB.pls                                        |
11 --| Package Name       : GMD_SAMPLE_SPEC_DISP_PVT                            |
12 --| Type               : Private                                             |
13 --|                                                                          |
14 --| Notes                                                                    |
15 --|    This package contains private layer APIs for Sample Spec Disposition  |
16 --|                                                                          |
17 --| HISTORY                                                                  |
18 --|    Chetan Nagar     14-Aug-2002     Created.                             |
19 --|                                                                          |
20 --+==========================================================================+
21 -- End of comments
22 
23 
24 FUNCTION insert_row (p_sample_spec_disp IN  GMD_SAMPLE_SPEC_DISP%ROWTYPE)
25 RETURN BOOLEAN IS
26 BEGIN
27 
28     INSERT INTO GMD_SAMPLE_SPEC_DISP
29      (
30       EVENT_SPEC_DISP_ID
31      ,SAMPLE_ID
32      ,DISPOSITION
33      ,DELETE_MARK
34      ,CREATION_DATE
35      ,CREATED_BY
36      ,LAST_UPDATE_DATE
37      ,LAST_UPDATED_BY
38      ,LAST_UPDATE_LOGIN
39      )
40      VALUES
41      (
42       p_sample_spec_disp.EVENT_SPEC_DISP_ID
43      ,p_sample_spec_disp.SAMPLE_ID
44      ,p_sample_spec_disp.DISPOSITION
45      ,p_sample_spec_disp.DELETE_MARK
46      ,p_sample_spec_disp.CREATION_DATE
47      ,p_sample_spec_disp.CREATED_BY
48      ,p_sample_spec_disp.LAST_UPDATE_DATE
49      ,p_sample_spec_disp.LAST_UPDATED_BY
50      ,p_sample_spec_disp.LAST_UPDATE_LOGIN
51      )
52      ;
53 
54     IF SQL%FOUND THEN
55       RETURN TRUE;
56     ELSE
57       RETURN FALSE;
58     END IF;
59 
60   EXCEPTION
61     WHEN OTHERS THEN
62       fnd_msg_pub.add_exc_msg ('GMD_SAMPLE_SPEC_DISP_PVT', 'INSERT_ROW');
63       RETURN FALSE;
64 
65 END insert_row;
66 
67 
68 
69 
70 
71 FUNCTION delete_row
72 (
73   p_event_spec_disp_id IN NUMBER
74 , p_sample_id          IN NUMBER
75 )
76 RETURN BOOLEAN IS
77 
78   dummy       PLS_INTEGER;
79 
80   locked_by_other_user          EXCEPTION;
81   PRAGMA EXCEPTION_INIT         (locked_by_other_user,-54);
82 
83 BEGIN
84   IF p_event_spec_disp_id IS NOT NULL AND
85      p_sample_id          IS NOT NULL THEN
86     SELECT 1
87     INTO   dummy
88     FROM   gmd_sample_spec_disp
89     WHERE  event_spec_disp_id = p_event_spec_disp_id
90     AND    sample_id          = p_sample_id
91     FOR UPDATE NOWAIT;
92 
93     UPDATE gmd_sample_spec_disp
94     SET    delete_mark = 1
95     WHERE  event_spec_disp_id = p_event_spec_disp_id
96     AND    sample_id          = p_sample_id
97     ;
98   ELSE
99     GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SAMPLE_SPEC_DISP');
100     RETURN FALSE;
101   END IF;
102 
103   IF (SQL%FOUND) THEN
104     RETURN TRUE;
105   ELSE
106     GMD_API_PUB.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SAMPLE_SPEC_DISP');
107     RETURN FALSE;
108   END IF;
109 
110 EXCEPTION
111   WHEN locked_by_other_user THEN
112     GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
113                             'TABLE_NAME', 'GMD_SAMPLE_SPEC_DISP',
114                             'RECORD','Result',
115                             'KEY', p_event_spec_disp_id);
116     RETURN FALSE;
117 
118   WHEN OTHERS THEN
119      fnd_msg_pub.add_exc_msg ('GMD_SAMPLE_SPEC_DISP_PVT', 'DELETE_ROW');
120       RETURN FALSE;
121 
122 END delete_row;
123 
124 
125 
126 
127 FUNCTION lock_row
128 (
129   p_event_spec_disp_id IN NUMBER
130 , p_sample_id          IN NUMBER
131 )
132 RETURN BOOLEAN IS
133 
134   dummy       PLS_INTEGER;
135 
136   locked_by_other_user          EXCEPTION;
137   PRAGMA EXCEPTION_INIT         (locked_by_other_user,-54);
138 
139 BEGIN
140   IF p_event_spec_disp_id IS NOT NULL AND
141      p_sample_id          IS NOT NULL THEN
142     SELECT 1
143     INTO   dummy
144     FROM   gmd_sample_spec_disp
145     WHERE  event_spec_disp_id = p_event_spec_disp_id
146     AND    sample_id          = p_sample_id
147     FOR UPDATE NOWAIT;
148   ELSE
149     GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SAMPLE_SPEC_DISP');
150     RETURN FALSE;
151   END IF;
152 
153   RETURN TRUE;
154 
155 EXCEPTION
156   WHEN locked_by_other_user THEN
157     GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
158                             'TABLE_NAME', 'GMD_SAMPLE_SPEC_DISP',
159                             'RECORD','Result',
160                             'KEY', p_event_spec_disp_id);
161     RETURN FALSE;
162 
163   WHEN OTHERS THEN
164      fnd_msg_pub.add_exc_msg ('GMD_SAMPLE_SPEC_DISP_PVT', 'DELETE_ROW');
165       RETURN FALSE;
166 
167 END lock_row;
168 
169 
170 
171 FUNCTION fetch_row (
172   p_sample_spec_disp IN  gmd_sample_spec_disp%ROWTYPE
173 , x_sample_spec_disp OUT NOCOPY gmd_sample_spec_disp%ROWTYPE
174 )
175 RETURN BOOLEAN
176 IS
177 BEGIN
178 
179   IF p_sample_spec_disp.event_spec_disp_id IS NOT NULL AND
180      p_sample_spec_disp.sample_id          IS NOT NULL THEN
181     SELECT *
182     INTO   x_sample_spec_disp
183     FROM   gmd_sample_spec_disp
184     WHERE  event_spec_disp_id = p_sample_spec_disp.event_spec_disp_id
185     AND    sample_id          = p_sample_spec_disp.sample_id
186     ;
187       RETURN TRUE;
188   ELSE
189     gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SAMPLE_SPEC_DISP');
190     RETURN FALSE;
191   END IF;
192 
193   RETURN TRUE;
194 
195 EXCEPTION
196  WHEN NO_DATA_FOUND
197    THEN
198      gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SAMPLE_SPEC_DISP');
199      RETURN FALSE;
200  WHEN OTHERS
201    THEN
202      fnd_msg_pub.add_exc_msg ('GMD_SAMPLE_SPEC_DISP_PVT', 'FETCH_ROW');
203      RETURN FALSE;
204 
205 END fetch_row;
206 
207 END GMD_SAMPLE_SPEC_DISP_PVT;