[Home] [Help]
PACKAGE BODY: APPS.GMD_WIP_SPEC_VRS_PVT
Source
1 PACKAGE BODY GMD_WIP_SPEC_VRS_PVT AS
2 /* $Header: GMDVWVRB.pls 120.3 2006/08/18 14:53:54 ragsriva noship $ */
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 : GMDVWVRB.pls |
11 --| Package Name : GMD_WIP_SPEC_VRS_PVT |
12 --| Type : Private |
13 --| |
14 --| Notes |
15 --| This package contains private layer APIs for WIP VR. |
16 --| |
17 --| HISTORY |
18 --| Chetan Nagar 07-Aug-2002 Created. |
19 --| |
20 --|SaiKiran Vankadari 13-Apr-2004 BUG# 3464772 |
21 --| Added column AUTO_SAMPLE_IND in the INSERT statement |
22 --| |
23 --|SaiKiran Vankadari 04-May-2004 ENHANCEMENT#3476560 |
24 --| Added column DELAYED_LOT_ENTRY in the INSERT |
25 --| statement. |
26 --|SaiKiran Vankadari 13-Apr-2005 Convergence Changes |
27 --|SaiKiran Vankadari 04-Oct-2005 Added migrated_ind to the insert statement|
28 --|S. Feinstein 18-Oct-2005 Added material_detail_id to samples and vr
29 --+==========================================================================+
30 -- End of comments
31
32 FUNCTION insert_row (
33 p_wip_spec_vrs IN GMD_WIP_SPEC_VRS%ROWTYPE
34 , x_wip_spec_vrs OUT NOCOPY GMD_WIP_SPEC_VRS%ROWTYPE) RETURN BOOLEAN IS
35 BEGIN
36
37 x_wip_spec_vrs := p_wip_spec_vrs;
38
39 INSERT INTO GMD_WIP_SPEC_VRS
40 (
41 SPEC_VR_ID
42 ,SPEC_ID
43 ,ORGANIZATION_ID
44 ,BATCH_ID
45 ,RECIPE_ID
46 ,RECIPE_NO
47 ,RECIPE_VERSION
48 ,FORMULA_ID
49 ,FORMULALINE_ID
50 ,MATERIAL_DETAIL_ID
51 ,FORMULA_NO
52 ,FORMULA_VERS
53 ,ROUTING_ID
54 ,ROUTING_NO
55 ,ROUTING_VERS
56 ,STEP_ID
57 ,STEP_NO
58 ,OPRN_ID
59 ,OPRN_NO
60 ,OPRN_VERS
61 ,CHARGE
62 ,SPEC_VR_STATUS
63 ,START_DATE
64 ,END_DATE
65 ,SAMPLING_PLAN_ID
66 ,SAMPLE_INV_TRANS_IND
67 ,LOT_OPTIONAL_ON_SAMPLE
68 ,CONTROL_LOT_ATTRIB_IND
69 ,OUT_OF_SPEC_LOT_STATUS_ID
70 ,IN_SPEC_LOT_STATUS_ID
71 ,COA_TYPE
72 ,CONTROL_BATCH_STEP_IND
73 ,COA_AT_SHIP_IND
74 ,COA_AT_INVOICE_IND
75 ,COA_REQ_FROM_SUPL_IND
76 ,DELETE_MARK
77 ,TEXT_CODE
78 ,ATTRIBUTE_CATEGORY
79 ,ATTRIBUTE1
80 ,ATTRIBUTE2
81 ,ATTRIBUTE3
82 ,ATTRIBUTE4
83 ,ATTRIBUTE5
84 ,ATTRIBUTE6
85 ,ATTRIBUTE7
86 ,ATTRIBUTE8
87 ,ATTRIBUTE9
88 ,ATTRIBUTE10
89 ,ATTRIBUTE11
90 ,ATTRIBUTE12
91 ,ATTRIBUTE13
92 ,ATTRIBUTE14
93 ,ATTRIBUTE15
94 ,ATTRIBUTE16
95 ,ATTRIBUTE17
96 ,ATTRIBUTE18
97 ,ATTRIBUTE19
98 ,ATTRIBUTE20
99 ,ATTRIBUTE21
100 ,ATTRIBUTE22
101 ,ATTRIBUTE23
102 ,ATTRIBUTE24
103 ,ATTRIBUTE25
104 ,ATTRIBUTE26
105 ,ATTRIBUTE27
106 ,ATTRIBUTE28
107 ,ATTRIBUTE29
108 ,ATTRIBUTE30
109 ,CREATION_DATE
110 ,CREATED_BY
111 ,LAST_UPDATED_BY
112 ,LAST_UPDATE_DATE
113 ,LAST_UPDATE_LOGIN
114 ,AUTO_SAMPLE_IND
115 ,DELAYED_LOT_ENTRY
116 ,AUTO_COMPLETE_BATCH_STEP -- Bug# 5440347
117 ,MIGRATED_IND --To differentiate R12 data from previous data during migration
118 )
119 VALUES
120 (
121 gmd_qc_spec_vr_id_s.NEXTVAL
122 ,x_wip_spec_vrs.SPEC_ID
123 ,x_wip_spec_vrs.ORGANIZATION_ID
124 ,x_wip_spec_vrs.BATCH_ID
125 ,x_wip_spec_vrs.RECIPE_ID
126 ,x_wip_spec_vrs.RECIPE_NO
127 ,x_wip_spec_vrs.RECIPE_VERSION
128 ,x_wip_spec_vrs.FORMULA_ID
129 ,x_wip_spec_vrs.FORMULALINE_ID
130 ,x_wip_spec_vrs.MATERIAL_DETAIL_ID
131 ,x_wip_spec_vrs.FORMULA_NO
132 ,x_wip_spec_vrs.FORMULA_VERS
133 ,x_wip_spec_vrs.ROUTING_ID
134 ,x_wip_spec_vrs.ROUTING_NO
135 ,x_wip_spec_vrs.ROUTING_VERS
136 ,x_wip_spec_vrs.STEP_ID
137 ,x_wip_spec_vrs.STEP_NO
138 ,x_wip_spec_vrs.OPRN_ID
139 ,x_wip_spec_vrs.OPRN_NO
140 ,x_wip_spec_vrs.OPRN_VERS
141 ,x_wip_spec_vrs.CHARGE
142 ,x_wip_spec_vrs.SPEC_VR_STATUS
143 ,x_wip_spec_vrs.START_DATE
144 ,x_wip_spec_vrs.END_DATE
145 ,x_wip_spec_vrs.SAMPLING_PLAN_ID
146 ,x_wip_spec_vrs.SAMPLE_INV_TRANS_IND
147 ,x_wip_spec_vrs.LOT_OPTIONAL_ON_SAMPLE
148 ,x_wip_spec_vrs.CONTROL_LOT_ATTRIB_IND
149 ,x_wip_spec_vrs.OUT_OF_SPEC_LOT_STATUS_ID
150 ,x_wip_spec_vrs.IN_SPEC_LOT_STATUS_ID
151 ,x_wip_spec_vrs.COA_TYPE
152 ,x_wip_spec_vrs.CONTROL_BATCH_STEP_IND
153 ,x_wip_spec_vrs.COA_AT_SHIP_IND
154 ,x_wip_spec_vrs.COA_AT_INVOICE_IND
155 ,x_wip_spec_vrs.COA_REQ_FROM_SUPL_IND
156 ,x_wip_spec_vrs.DELETE_MARK
157 ,x_wip_spec_vrs.TEXT_CODE
158 ,x_wip_spec_vrs.ATTRIBUTE_CATEGORY
159 ,x_wip_spec_vrs.ATTRIBUTE1
160 ,x_wip_spec_vrs.ATTRIBUTE2
161 ,x_wip_spec_vrs.ATTRIBUTE3
162 ,x_wip_spec_vrs.ATTRIBUTE4
163 ,x_wip_spec_vrs.ATTRIBUTE5
164 ,x_wip_spec_vrs.ATTRIBUTE6
165 ,x_wip_spec_vrs.ATTRIBUTE7
166 ,x_wip_spec_vrs.ATTRIBUTE8
167 ,x_wip_spec_vrs.ATTRIBUTE9
168 ,x_wip_spec_vrs.ATTRIBUTE10
169 ,x_wip_spec_vrs.ATTRIBUTE11
170 ,x_wip_spec_vrs.ATTRIBUTE12
171 ,x_wip_spec_vrs.ATTRIBUTE13
172 ,x_wip_spec_vrs.ATTRIBUTE14
173 ,x_wip_spec_vrs.ATTRIBUTE15
174 ,x_wip_spec_vrs.ATTRIBUTE16
175 ,x_wip_spec_vrs.ATTRIBUTE17
176 ,x_wip_spec_vrs.ATTRIBUTE18
177 ,x_wip_spec_vrs.ATTRIBUTE19
178 ,x_wip_spec_vrs.ATTRIBUTE20
179 ,x_wip_spec_vrs.ATTRIBUTE21
180 ,x_wip_spec_vrs.ATTRIBUTE22
181 ,x_wip_spec_vrs.ATTRIBUTE23
182 ,x_wip_spec_vrs.ATTRIBUTE24
183 ,x_wip_spec_vrs.ATTRIBUTE25
184 ,x_wip_spec_vrs.ATTRIBUTE26
185 ,x_wip_spec_vrs.ATTRIBUTE27
186 ,x_wip_spec_vrs.ATTRIBUTE28
187 ,x_wip_spec_vrs.ATTRIBUTE29
188 ,x_wip_spec_vrs.ATTRIBUTE30
189 ,x_wip_spec_vrs.CREATION_DATE
190 ,x_wip_spec_vrs.CREATED_BY
191 ,x_wip_spec_vrs.LAST_UPDATED_BY
192 ,x_wip_spec_vrs.LAST_UPDATE_DATE
193 ,x_wip_spec_vrs.LAST_UPDATE_LOGIN
194 ,x_wip_spec_vrs.AUTO_SAMPLE_IND
195 ,x_wip_spec_vrs.DELAYED_LOT_ENTRY
196 ,x_wip_spec_vrs.AUTO_COMPLETE_BATCH_STEP -- Bug# 5440347
197 ,0
198 )
199 RETURNING spec_vr_id INTO x_wip_spec_vrs.spec_vr_id
200 ;
201
202 IF SQL%FOUND THEN
203 RETURN TRUE;
204 ELSE
205 RETURN FALSE;
206 END IF;
207
208 EXCEPTION
209 WHEN OTHERS THEN
210 fnd_msg_pub.add_exc_msg ('GMD_WIP_SPEC_VRS_PVT', 'INSERT_ROW');
211 RETURN FALSE;
212
213 END insert_row;
214
215
216
217
218
219 FUNCTION delete_row (p_spec_vr_id IN NUMBER,
220 p_last_update_date IN DATE ,
221 p_last_updated_by IN NUMBER ,
222 p_last_update_login IN NUMBER )
223 RETURN BOOLEAN IS
224
225 dummy PLS_INTEGER;
226
227 locked_by_other_user EXCEPTION;
228 PRAGMA EXCEPTION_INIT (locked_by_other_user,-54);
229
230 BEGIN
231 IF p_spec_vr_id IS NOT NULL THEN
232 SELECT 1
233 INTO dummy
234 FROM gmd_wip_spec_vrs
235 WHERE spec_vr_id = p_spec_vr_id
236 FOR UPDATE NOWAIT;
237
238 UPDATE gmd_wip_spec_vrs
239 SET delete_mark = 1,
240 last_update_date = NVL(p_last_update_date,SYSDATE),
241 last_updated_by = NVL(p_last_updated_by,FND_GLOBAL.USER_ID),
242 last_update_login = NVL(p_last_update_login,FND_GLOBAL.LOGIN_ID)
243 WHERE spec_vr_id = p_spec_vr_id
244 ;
245 ELSE
246 GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_WIP_SPEC_VRS');
247 RETURN FALSE;
248 END IF;
249
250 IF (SQL%FOUND) THEN
251 RETURN TRUE;
252 ELSE
253 GMD_API_PUB.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_WIP_SPEC_VRS');
254 RETURN FALSE;
255 END IF;
256
257 EXCEPTION
258 WHEN locked_by_other_user THEN
259 GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
260 'TABLE_NAME', 'GMD_WIP_SPEC_VRS',
261 'RECORD','WIP Spec Validity Rule',
262 'KEY', p_spec_vr_id);
263 RETURN FALSE;
264
265 WHEN OTHERS THEN
266 fnd_msg_pub.add_exc_msg ('GMD_WIP_SPEC_VRS_PVT', 'DELETE_ROW');
267 RETURN FALSE;
268
269 END delete_row;
270
271
272
273
274 FUNCTION lock_row (p_spec_vr_id IN NUMBER)
275 RETURN BOOLEAN IS
276
277 dummy PLS_INTEGER;
278
279 locked_by_other_user EXCEPTION;
280 PRAGMA EXCEPTION_INIT (locked_by_other_user,-54);
281
282 BEGIN
283 IF p_spec_vr_id IS NOT NULL THEN
284 SELECT 1
285 INTO dummy
286 FROM gmd_wip_spec_vrs
287 WHERE spec_vr_id = p_spec_vr_id
288 FOR UPDATE NOWAIT;
289 ELSE
290 GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_WIP_SPEC_VRS');
291 RETURN FALSE;
292 END IF;
293
294 RETURN TRUE;
295
296 EXCEPTION
297 WHEN locked_by_other_user THEN
298 GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
299 'TABLE_NAME', 'GMD_WIP_SPEC_VRS',
300 'RECORD','WIP Spec Validity Rule',
301 'KEY', p_spec_vr_id);
302 RETURN FALSE;
303
304 WHEN OTHERS THEN
305 fnd_msg_pub.add_exc_msg ('GMD_WIP_SPEC_VRS_PVT', 'DELETE_ROW');
306 RETURN FALSE;
307
308 END lock_row;
309
310
311
312 FUNCTION fetch_row (
313 p_wip_spec_vrs IN gmd_wip_spec_vrs%ROWTYPE
314 , x_wip_spec_vrs OUT NOCOPY gmd_wip_spec_vrs%ROWTYPE
315 )
316 RETURN BOOLEAN
317 IS
318 BEGIN
319
320 IF (p_wip_spec_vrs.spec_vr_id IS NOT NULL) THEN
321 SELECT *
322 INTO x_wip_spec_vrs
323 FROM gmd_wip_spec_vrs
324 WHERE spec_vr_id = p_wip_spec_vrs.spec_vr_id
325 ;
326 ELSE
327 gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_WIP_SPEC_VRS');
328 RETURN FALSE;
329 END IF;
330
331 RETURN TRUE;
332
333 EXCEPTION
334 WHEN NO_DATA_FOUND
335 THEN
336 gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_WIP_SPEC_VRS');
337 RETURN FALSE;
338 WHEN OTHERS
339 THEN
340 fnd_msg_pub.add_exc_msg ('GMD_WIP_SPEC_VRS_PVT', 'FETCH_ROW');
341 RETURN FALSE;
342
343 END fetch_row;
344
345 END GMD_WIP_SPEC_VRS_PVT;