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