[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;