DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_COMPOSITE_SPEC_DISP_PVT

Source


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