2: /* $Header: gmiltcmb.pls 120.1 2005/10/03 12:09:47 jsrivast noship $ */
3:
4: PROCEDURE init_wf IS
5:
6: CURSOR ic_lots_mst_cursor IS
7: SELECT lot_id, lot_no , sublot_no ,expire_date ,
8: retest_date , item_id , created_by
9: FROM ic_lots_mst
10: WHERE delete_mark = 0 AND inactive_ind = 0
5:
6: CURSOR ic_lots_mst_cursor IS
7: SELECT lot_id, lot_no , sublot_no ,expire_date ,
8: retest_date , item_id , created_by
9: FROM ic_lots_mst
10: WHERE delete_mark = 0 AND inactive_ind = 0
11: FOR UPDATE; -- table is NOT updated, see NOTES section above
12:
13: l_lot_ctl ic_item_mst.lot_ctl%TYPE ;
47: IF l_expiry_interval = NULL THEN
48: l_expiry_interval := l_default_expiry_interval;
49: END IF;
50:
51: FOR ic_lots_mst_record IN ic_lots_mst_cursor
52: LOOP
53:
54: SELECT lot_ctl,grade_ctl
55: INTO l_lot_ctl,l_grade_ctl
53:
54: SELECT lot_ctl,grade_ctl
55: INTO l_lot_ctl,l_grade_ctl
56: FROM ic_item_mst
57: WHERE item_id = ic_lots_mst_record.item_id
58: AND delete_mark = 0 ;
59:
60:
61: IF (l_lot_ctl = 1) and (l_grade_ctl = 1) THEN
63:
64: SELECT nvl(lot_retest_note,0),nvl(lot_expiry_note,0)
65: INTO l_retest_interval_from_tab, l_expiry_interval_from_tab
66: FROM sy_wf_item_roles
67: WHERE item_id = ic_lots_mst_record.item_id;
68:
69: IF l_retest_interval_from_tab <> 0 then
70: l_retest_interval:= l_retest_interval_from_tab;
71: END IF;
73: l_expiry_interval:= l_expiry_interval_from_tab;
74: END IF;
75:
76:
77: IF ( ic_lots_mst_record.retest_date IS NOT NULL ) THEN
78: l_notify_date := ( ic_lots_mst_record.retest_date - l_retest_interval ) ;
79: IF ( l_date_at_start >= l_notify_date ) THEN
80: gmi_wf_lot_retest.init_wf (
81: ic_lots_mst_record.lot_id ,
74: END IF;
75:
76:
77: IF ( ic_lots_mst_record.retest_date IS NOT NULL ) THEN
78: l_notify_date := ( ic_lots_mst_record.retest_date - l_retest_interval ) ;
79: IF ( l_date_at_start >= l_notify_date ) THEN
80: gmi_wf_lot_retest.init_wf (
81: ic_lots_mst_record.lot_id ,
82: ic_lots_mst_record.lot_no ,
77: IF ( ic_lots_mst_record.retest_date IS NOT NULL ) THEN
78: l_notify_date := ( ic_lots_mst_record.retest_date - l_retest_interval ) ;
79: IF ( l_date_at_start >= l_notify_date ) THEN
80: gmi_wf_lot_retest.init_wf (
81: ic_lots_mst_record.lot_id ,
82: ic_lots_mst_record.lot_no ,
83: ic_lots_mst_record.sublot_no ,
84: ic_lots_mst_record.retest_date ,
85: ic_lots_mst_record.item_id ,
78: l_notify_date := ( ic_lots_mst_record.retest_date - l_retest_interval ) ;
79: IF ( l_date_at_start >= l_notify_date ) THEN
80: gmi_wf_lot_retest.init_wf (
81: ic_lots_mst_record.lot_id ,
82: ic_lots_mst_record.lot_no ,
83: ic_lots_mst_record.sublot_no ,
84: ic_lots_mst_record.retest_date ,
85: ic_lots_mst_record.item_id ,
86: ic_lots_mst_record.created_by);
79: IF ( l_date_at_start >= l_notify_date ) THEN
80: gmi_wf_lot_retest.init_wf (
81: ic_lots_mst_record.lot_id ,
82: ic_lots_mst_record.lot_no ,
83: ic_lots_mst_record.sublot_no ,
84: ic_lots_mst_record.retest_date ,
85: ic_lots_mst_record.item_id ,
86: ic_lots_mst_record.created_by);
87:
80: gmi_wf_lot_retest.init_wf (
81: ic_lots_mst_record.lot_id ,
82: ic_lots_mst_record.lot_no ,
83: ic_lots_mst_record.sublot_no ,
84: ic_lots_mst_record.retest_date ,
85: ic_lots_mst_record.item_id ,
86: ic_lots_mst_record.created_by);
87:
88: END IF ;
81: ic_lots_mst_record.lot_id ,
82: ic_lots_mst_record.lot_no ,
83: ic_lots_mst_record.sublot_no ,
84: ic_lots_mst_record.retest_date ,
85: ic_lots_mst_record.item_id ,
86: ic_lots_mst_record.created_by);
87:
88: END IF ;
89:
82: ic_lots_mst_record.lot_no ,
83: ic_lots_mst_record.sublot_no ,
84: ic_lots_mst_record.retest_date ,
85: ic_lots_mst_record.item_id ,
86: ic_lots_mst_record.created_by);
87:
88: END IF ;
89:
90: END IF;
88: END IF ;
89:
90: END IF;
91:
92: IF ( ic_lots_mst_record.expire_date IS NOT NULL ) THEN
93: l_notify_date := ( ic_lots_mst_record.expire_date - l_expiry_interval ) ;
94:
95: IF ( l_date_at_start >= l_notify_date ) THEN
96:
89:
90: END IF;
91:
92: IF ( ic_lots_mst_record.expire_date IS NOT NULL ) THEN
93: l_notify_date := ( ic_lots_mst_record.expire_date - l_expiry_interval ) ;
94:
95: IF ( l_date_at_start >= l_notify_date ) THEN
96:
97: gmi_wf_lot_expiry.init_wf (
94:
95: IF ( l_date_at_start >= l_notify_date ) THEN
96:
97: gmi_wf_lot_expiry.init_wf (
98: ic_lots_mst_record.lot_id ,
99: ic_lots_mst_record.lot_no ,
100: ic_lots_mst_record.sublot_no ,
101: ic_lots_mst_record.expire_date ,
102: ic_lots_mst_record.item_id ,
95: IF ( l_date_at_start >= l_notify_date ) THEN
96:
97: gmi_wf_lot_expiry.init_wf (
98: ic_lots_mst_record.lot_id ,
99: ic_lots_mst_record.lot_no ,
100: ic_lots_mst_record.sublot_no ,
101: ic_lots_mst_record.expire_date ,
102: ic_lots_mst_record.item_id ,
103: ic_lots_mst_record.created_by);
96:
97: gmi_wf_lot_expiry.init_wf (
98: ic_lots_mst_record.lot_id ,
99: ic_lots_mst_record.lot_no ,
100: ic_lots_mst_record.sublot_no ,
101: ic_lots_mst_record.expire_date ,
102: ic_lots_mst_record.item_id ,
103: ic_lots_mst_record.created_by);
104: END IF ;
97: gmi_wf_lot_expiry.init_wf (
98: ic_lots_mst_record.lot_id ,
99: ic_lots_mst_record.lot_no ,
100: ic_lots_mst_record.sublot_no ,
101: ic_lots_mst_record.expire_date ,
102: ic_lots_mst_record.item_id ,
103: ic_lots_mst_record.created_by);
104: END IF ;
105:
98: ic_lots_mst_record.lot_id ,
99: ic_lots_mst_record.lot_no ,
100: ic_lots_mst_record.sublot_no ,
101: ic_lots_mst_record.expire_date ,
102: ic_lots_mst_record.item_id ,
103: ic_lots_mst_record.created_by);
104: END IF ;
105:
106: END IF ;
99: ic_lots_mst_record.lot_no ,
100: ic_lots_mst_record.sublot_no ,
101: ic_lots_mst_record.expire_date ,
102: ic_lots_mst_record.item_id ,
103: ic_lots_mst_record.created_by);
104: END IF ;
105:
106: END IF ;
107: