DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_EVENT_SPEC_DISP_PVT

Source


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