DBA Data[Home] [Help]

APPS.GMIVLOT dependencies on IC_ITEM_MST

Line 26: | p_ic_item_mst_row IN ic_item_mst%ROWTYPE |

22: | PARAMETERS |
23: | p_api_version IN NUMBER - Api Version |
24: | p_validation_level IN VARCHAR2 - Validation Level Indicator |
25: | p_lot_rec IN GMIGAPI.lot_rec_typ - Lot Master details |
26: | p_ic_item_mst_row IN ic_item_mst%ROWTYPE |
27: | p_ic_item_cpg_row IN ic_item_cpg%ROWTYPE |
28: | x_ic_lots_mst_row OUT NOCOPY ic_lots_mst%ROWTYPE |
29: | x_ic_lots_cpg_row OUT NOCOPY ic_lots_cpg%ROWTYPE |
30: | x_return_status OUT NOCOPY VARCHAR2 - Return Status |

Line 93: , p_ic_item_mst_row IN ic_item_mst%ROWTYPE

89: PROCEDURE Validate_Lot
90: ( p_api_version IN NUMBER
91: , p_validation_level IN VARCHAR2 := FND_API.G_VALID_LEVEL_FULL
92: , p_lot_rec IN GMIGAPI.lot_rec_typ
93: , p_ic_item_mst_row IN ic_item_mst%ROWTYPE
94: , p_ic_item_cpg_row IN ic_item_cpg%ROWTYPE
95: , x_ic_lots_mst_row OUT NOCOPY ic_lots_mst%ROWTYPE
96: , x_ic_lots_cpg_row OUT NOCOPY ic_lots_cpg%ROWTYPE
97: , x_return_status OUT NOCOPY VARCHAR2

Line 108: l_item_no ic_item_mst.item_no%TYPE := p_ic_item_mst_row.item_no;

104: l_msg_data VARCHAR2(2000);
105: l_return_status VARCHAR2(1);
106: --BUG#3115930 James
107: --Initialized the variables.
108: l_item_no ic_item_mst.item_no%TYPE := p_ic_item_mst_row.item_no;
109: l_lot_no ic_lots_mst.lot_no%TYPE := p_lot_rec.lot_no;
110: l_sublot_no ic_lots_mst.sublot_no%TYPE:= p_lot_rec.sublot_no;
111: l_qc_grade ic_lots_mst.qc_grade%TYPE;
112: l_expaction_code ic_lots_mst.expaction_code%TYPE;

Line 168: x_ic_lots_cpg_row.item_id := p_ic_item_mst_row.item_id;

164: x_ic_lots_mst_row.last_update_login:= GMIGUTL.DEFAULT_LOGIN;
165:
166: -- Jatinder B3158806 - Removed check for SY$CPG_INSTALL
167: /* Set up values for ic_lots_cpg. */
168: x_ic_lots_cpg_row.item_id := p_ic_item_mst_row.item_id;
169: x_ic_lots_cpg_row.lot_id := NULL;
170: x_ic_lots_cpg_row.created_by := GMIGUTL.DEFAULT_USER_ID;
171: x_ic_lots_cpg_row.last_updated_by := GMIGUTL.DEFAULT_USER_ID;
172: x_ic_lots_cpg_row.creation_date:= x_ic_lots_mst_row.creation_date;

Line 192: x_ic_lots_mst_row.lot_desc := p_ic_item_mst_row.item_no;

188: x_ic_lots_mst_row.lot_desc := NULL;
189: -- If it is set to one then item_no goes into the lot description
190: ELSIF (l_def_lot_desc = 1)
191: THEN
192: x_ic_lots_mst_row.lot_desc := p_ic_item_mst_row.item_no;
193: -- If it is set to three then item_no from whse_item goes into the descr
194: ELSIF (l_def_lot_desc = 3)
195: THEN
196: SELECT item_no

Line 198: FROM ic_item_mst

194: ELSIF (l_def_lot_desc = 3)
195: THEN
196: SELECT item_no
197: INTO x_ic_lots_mst_row.lot_desc
198: FROM ic_item_mst
199: WHERE item_id = (SELECT whse_item_id
200: FROM ic_item_mst
201: WHERE item_id = p_ic_item_mst_row.item_id);
202: -- If it is set to 2 (or anything else) then use item_desc for lot desc

Line 200: FROM ic_item_mst

196: SELECT item_no
197: INTO x_ic_lots_mst_row.lot_desc
198: FROM ic_item_mst
199: WHERE item_id = (SELECT whse_item_id
200: FROM ic_item_mst
201: WHERE item_id = p_ic_item_mst_row.item_id);
202: -- If it is set to 2 (or anything else) then use item_desc for lot desc
203: ELSE
204: x_ic_lots_mst_row.lot_desc := SUBSTRB(p_ic_item_mst_row.item_desc1,1,40);

Line 201: WHERE item_id = p_ic_item_mst_row.item_id);

197: INTO x_ic_lots_mst_row.lot_desc
198: FROM ic_item_mst
199: WHERE item_id = (SELECT whse_item_id
200: FROM ic_item_mst
201: WHERE item_id = p_ic_item_mst_row.item_id);
202: -- If it is set to 2 (or anything else) then use item_desc for lot desc
203: ELSE
204: x_ic_lots_mst_row.lot_desc := SUBSTRB(p_ic_item_mst_row.item_desc1,1,40);
205: END IF;

Line 204: x_ic_lots_mst_row.lot_desc := SUBSTRB(p_ic_item_mst_row.item_desc1,1,40);

200: FROM ic_item_mst
201: WHERE item_id = p_ic_item_mst_row.item_id);
202: -- If it is set to 2 (or anything else) then use item_desc for lot desc
203: ELSE
204: x_ic_lots_mst_row.lot_desc := SUBSTRB(p_ic_item_mst_row.item_desc1,1,40);
205: END IF;
206: ELSE /* The user has input a lot desc so use it */
207: x_ic_lots_mst_row.lot_desc := p_lot_rec.lot_desc;
208: END IF;

Line 215: x_ic_lots_mst_row.item_id := p_ic_item_mst_row.item_id;

211: -- Bug 1886611
212: -- Assign vendor_lot_no so that it is updated in ic_lots_mst.
213: x_ic_lots_mst_row.vendor_lot_no := p_lot_rec.vendor_lot_no;
214:
215: x_ic_lots_mst_row.item_id := p_ic_item_mst_row.item_id;
216: x_ic_lots_mst_row.lot_id := NULL;
217: -- x_ic_lots_mst_row.lot_desc := p_lot_rec.lot_desc; /* Bug 2343411 */
218: x_ic_lots_mst_row.expaction_date := p_lot_rec.expaction_date;
219: x_ic_lots_mst_row.expire_date := p_lot_rec.expire_date;

Line 265: x_ic_lots_mst_row.qc_grade := UPPER(p_ic_item_mst_row.qc_grade);

261: THEN
262: /* We are creating the default lot for a new item. */
263: x_ic_lots_mst_row.lot_no := GMIGUTL.IC$DEFAULT_LOT;
264: x_ic_lots_mst_row.lot_id := 0;
265: x_ic_lots_mst_row.qc_grade := UPPER(p_ic_item_mst_row.qc_grade);
266: x_ic_lots_mst_row.lot_created := p_ic_item_mst_row.creation_date;
267: -- Bug 2458413 - Need to set up default dates to avoid having them
268: -- being set to the FND_API.G_MISS_DATE
269: x_ic_lots_mst_row.expire_date := GMA_GLOBAL_GRP.SY$MAX_DATE;

Line 266: x_ic_lots_mst_row.lot_created := p_ic_item_mst_row.creation_date;

262: /* We are creating the default lot for a new item. */
263: x_ic_lots_mst_row.lot_no := GMIGUTL.IC$DEFAULT_LOT;
264: x_ic_lots_mst_row.lot_id := 0;
265: x_ic_lots_mst_row.qc_grade := UPPER(p_ic_item_mst_row.qc_grade);
266: x_ic_lots_mst_row.lot_created := p_ic_item_mst_row.creation_date;
267: -- Bug 2458413 - Need to set up default dates to avoid having them
268: -- being set to the FND_API.G_MISS_DATE
269: x_ic_lots_mst_row.expire_date := GMA_GLOBAL_GRP.SY$MAX_DATE;
270: x_ic_lots_mst_row.retest_date := GMA_GLOBAL_GRP.SY$MAX_DATE;

Line 280: IF p_ic_item_mst_row.item_id = 0 OR

276: x_ic_lots_cpg_row.ic_hold_date := NULL;
277: ELSE
278: /* Carry out fundamental validation. These errors will prevent any */
279: /* further validation. */
280: IF p_ic_item_mst_row.item_id = 0 OR
281: p_ic_item_mst_row.delete_mark = 1
282: THEN
283: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_ITEM_NO');
284: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_ic_item_mst_row.item_no);

Line 281: p_ic_item_mst_row.delete_mark = 1

277: ELSE
278: /* Carry out fundamental validation. These errors will prevent any */
279: /* further validation. */
280: IF p_ic_item_mst_row.item_id = 0 OR
281: p_ic_item_mst_row.delete_mark = 1
282: THEN
283: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_ITEM_NO');
284: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_ic_item_mst_row.item_no);
285: FND_MSG_PUB.Add;

Line 284: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_ic_item_mst_row.item_no);

280: IF p_ic_item_mst_row.item_id = 0 OR
281: p_ic_item_mst_row.delete_mark = 1
282: THEN
283: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_ITEM_NO');
284: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_ic_item_mst_row.item_no);
285: FND_MSG_PUB.Add;
286: RAISE FND_API.G_EXC_ERROR;
287: ELSIF p_ic_item_mst_row.inactive_ind = 1 AND
288: GMIGUTL.IC$API_ALLOW_INACTIVE = 0

Line 287: ELSIF p_ic_item_mst_row.inactive_ind = 1 AND

283: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_ITEM_NO');
284: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_ic_item_mst_row.item_no);
285: FND_MSG_PUB.Add;
286: RAISE FND_API.G_EXC_ERROR;
287: ELSIF p_ic_item_mst_row.inactive_ind = 1 AND
288: GMIGUTL.IC$API_ALLOW_INACTIVE = 0
289: THEN
290: FND_MESSAGE.SET_NAME('GMI','IC_API_INACTIVE_ITEM_NO');
291: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_ic_item_mst_row.item_no);

Line 291: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_ic_item_mst_row.item_no);

287: ELSIF p_ic_item_mst_row.inactive_ind = 1 AND
288: GMIGUTL.IC$API_ALLOW_INACTIVE = 0
289: THEN
290: FND_MESSAGE.SET_NAME('GMI','IC_API_INACTIVE_ITEM_NO');
291: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_ic_item_mst_row.item_no);
292: FND_MSG_PUB.Add;
293: RAISE FND_API.G_EXC_ERROR;
294: END IF;
295:

Line 299: IF p_ic_item_mst_row.lot_ctl = 0

295:
296: /* If we're still alive carry on with validation */
297:
298: /* Check to see if item is lot Controlled */
299: IF p_ic_item_mst_row.lot_ctl = 0
300: THEN
301: FND_MESSAGE.SET_NAME('GMI','IC_API_ITEM_NOT_LOT_CTL');
302: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
303: FND_MSG_PUB.Add;

Line 324: IF p_ic_item_mst_row.sublot_ctl = 0

320:
321: /* If item is not sublot controlled, flatten the sublot number, otherwise */
322: /* use what we are given. */
323:
324: IF p_ic_item_mst_row.sublot_ctl = 0
325: THEN
326: x_ic_lots_mst_row.sublot_no:= NULL;
327: ELSE
328: /* J. DiIorio 01/19/2001 BUG#1570046 */

Line 337: IF p_ic_item_mst_row.grade_ctl = 0

333: /* of what was passed in. If the item is QC graded but no value was */
334: /* given, default the value from the item. If a value was passed in */
335: /* ensure it is a valid grade. */
336:
337: IF p_ic_item_mst_row.grade_ctl = 0
338: THEN
339: x_ic_lots_mst_row.qc_grade := NULL;
340: ELSE
341: /* Validate QC Grade */

Line 342: IF NVL(p_lot_rec.qc_grade, p_ic_item_mst_row.qc_grade) = p_ic_item_mst_row.qc_grade

338: THEN
339: x_ic_lots_mst_row.qc_grade := NULL;
340: ELSE
341: /* Validate QC Grade */
342: IF NVL(p_lot_rec.qc_grade, p_ic_item_mst_row.qc_grade) = p_ic_item_mst_row.qc_grade
343: THEN
344: x_ic_lots_mst_row.qc_grade := p_ic_item_mst_row.qc_grade;
345: ELSE
346: IF GMIGUTL.v_qc_grade(UPPER(p_lot_rec.qc_grade),l_qc_grad_mst_row)

Line 344: x_ic_lots_mst_row.qc_grade := p_ic_item_mst_row.qc_grade;

340: ELSE
341: /* Validate QC Grade */
342: IF NVL(p_lot_rec.qc_grade, p_ic_item_mst_row.qc_grade) = p_ic_item_mst_row.qc_grade
343: THEN
344: x_ic_lots_mst_row.qc_grade := p_ic_item_mst_row.qc_grade;
345: ELSE
346: IF GMIGUTL.v_qc_grade(UPPER(p_lot_rec.qc_grade),l_qc_grad_mst_row)
347: THEN
348: x_ic_lots_mst_row.qc_grade := l_qc_grad_mst_row.qc_grade;

Line 363: x_ic_lots_mst_row.expaction_code := p_ic_item_mst_row.expaction_code;

359:
360: /* Validate expiry action code */
361: IF p_lot_rec.expaction_code IS NULL
362: THEN
363: x_ic_lots_mst_row.expaction_code := p_ic_item_mst_row.expaction_code;
364: ELSE
365: IF GMIGUTL.v_expaction_code
366: (UPPER(p_lot_rec.expaction_code), l_qc_actn_mst_row)
367: THEN

Line 386: IF p_ic_item_mst_row.grade_ctl = 1 OR

382: -- Bug 3621870
383: -- Check if its a grade controlled item.
384: -- Assign max date to expire date for non grade ctl items.
385: -- Jatinder Gogna - 3470841 - Compute only if lot_created is specified.
386: IF p_ic_item_mst_row.grade_ctl = 1 OR
387: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.shelf_life <> 0)THEN
388: IF p_lot_rec.lot_created is not NULL THEN
389: x_ic_lots_mst_row.expire_date :=
390: x_ic_lots_mst_row.lot_created + NVL(p_ic_item_mst_row.shelf_life,0);

Line 387: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.shelf_life <> 0)THEN

383: -- Check if its a grade controlled item.
384: -- Assign max date to expire date for non grade ctl items.
385: -- Jatinder Gogna - 3470841 - Compute only if lot_created is specified.
386: IF p_ic_item_mst_row.grade_ctl = 1 OR
387: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.shelf_life <> 0)THEN
388: IF p_lot_rec.lot_created is not NULL THEN
389: x_ic_lots_mst_row.expire_date :=
390: x_ic_lots_mst_row.lot_created + NVL(p_ic_item_mst_row.shelf_life,0);
391: END IF;

Line 390: x_ic_lots_mst_row.lot_created + NVL(p_ic_item_mst_row.shelf_life,0);

386: IF p_ic_item_mst_row.grade_ctl = 1 OR
387: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.shelf_life <> 0)THEN
388: IF p_lot_rec.lot_created is not NULL THEN
389: x_ic_lots_mst_row.expire_date :=
390: x_ic_lots_mst_row.lot_created + NVL(p_ic_item_mst_row.shelf_life,0);
391: END IF;
392: ELSE
393: x_ic_lots_mst_row.expire_date := GMA_GLOBAL_GRP.SY$MAX_DATE;
394: END IF;

Line 419: IF p_ic_item_mst_row.grade_ctl = 1 OR

415: -- Bug 3621870
416: -- Check if its a grade controlled item.
417: -- Assign max date to retest date for non grade ctl items.
418: -- Jatinder Gogna - 3470841 - Compute only if lot_created is specified.
419: IF p_ic_item_mst_row.grade_ctl = 1 OR
420: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.retest_interval <> 0) THEN
421: IF p_lot_rec.lot_created is not NULL THEN
422: x_ic_lots_mst_row.retest_date :=
423: x_ic_lots_mst_row.lot_created + NVL(p_ic_item_mst_row.retest_interval,0);

Line 420: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.retest_interval <> 0) THEN

416: -- Check if its a grade controlled item.
417: -- Assign max date to retest date for non grade ctl items.
418: -- Jatinder Gogna - 3470841 - Compute only if lot_created is specified.
419: IF p_ic_item_mst_row.grade_ctl = 1 OR
420: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.retest_interval <> 0) THEN
421: IF p_lot_rec.lot_created is not NULL THEN
422: x_ic_lots_mst_row.retest_date :=
423: x_ic_lots_mst_row.lot_created + NVL(p_ic_item_mst_row.retest_interval,0);
424: END IF;

Line 423: x_ic_lots_mst_row.lot_created + NVL(p_ic_item_mst_row.retest_interval,0);

419: IF p_ic_item_mst_row.grade_ctl = 1 OR
420: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.retest_interval <> 0) THEN
421: IF p_lot_rec.lot_created is not NULL THEN
422: x_ic_lots_mst_row.retest_date :=
423: x_ic_lots_mst_row.lot_created + NVL(p_ic_item_mst_row.retest_interval,0);
424: END IF;
425: ELSE
426: x_ic_lots_mst_row.retest_date := GMA_GLOBAL_GRP.SY$MAX_DATE;
427: END IF;

Line 450: IF p_ic_item_mst_row.grade_ctl = 1 OR

446: -- Bug 3621870
447: -- Check if its a grade controlled item.
448: -- Assign max date to expaction date for non grade ctl items.
449: -- Jatinder Gogna - 3470841 - Compute only if lot_created is specified.
450: IF p_ic_item_mst_row.grade_ctl = 1 OR
451: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.expaction_interval <> 0) THEN
452: IF p_lot_rec.lot_created is not NULL THEN
453: x_ic_lots_mst_row.expaction_date :=
454: x_ic_lots_mst_row.expire_date + NVL(p_ic_item_mst_row.expaction_interval,0);

Line 451: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.expaction_interval <> 0) THEN

447: -- Check if its a grade controlled item.
448: -- Assign max date to expaction date for non grade ctl items.
449: -- Jatinder Gogna - 3470841 - Compute only if lot_created is specified.
450: IF p_ic_item_mst_row.grade_ctl = 1 OR
451: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.expaction_interval <> 0) THEN
452: IF p_lot_rec.lot_created is not NULL THEN
453: x_ic_lots_mst_row.expaction_date :=
454: x_ic_lots_mst_row.expire_date + NVL(p_ic_item_mst_row.expaction_interval,0);
455: END IF;

Line 454: x_ic_lots_mst_row.expire_date + NVL(p_ic_item_mst_row.expaction_interval,0);

450: IF p_ic_item_mst_row.grade_ctl = 1 OR
451: (p_ic_item_mst_row.grade_ctl = 0 AND p_ic_item_mst_row.expaction_interval <> 0) THEN
452: IF p_lot_rec.lot_created is not NULL THEN
453: x_ic_lots_mst_row.expaction_date :=
454: x_ic_lots_mst_row.expire_date + NVL(p_ic_item_mst_row.expaction_interval,0);
455: END IF;
456: ELSE
457: x_ic_lots_mst_row.expaction_date := GMA_GLOBAL_GRP.SY$MAX_DATE;
458: END IF;