[Home] [Help]
PACKAGE: APPS.MSC_ATP_SUBST
Source
1 PACKAGE MSC_ATP_SUBST AS
2 /* $Header: MSCSUBAS.pls 120.2 2007/12/12 10:40:33 sbnaik ship $ */
3
4 --- new data types
5 -- holds org and item/org specific information
6 TYPE ATP_Org_Info_Rec_Typ is RECORD (
7 Organization_Id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(), --- organizaton_id
8 Parent_Org_Idx MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(), ---index for parent org in supply chain
9 Requested_ship_date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(), -- requested ship date in org
10 Request_Date_Quantity MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(), -- request date quantity
11 demand_quantity MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(), -- demand quantity in the org
12 Demand_Pegging_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(), -- pegging id for demand in current org
13 Supply_pegging_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(), -- supply pegging id
14 PO_pegging_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(), -- peggeing id for PO in parent Org
15 Demand_ID MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(), -- demand id in msc_demand table
16 org_code MRP_ATP_PUB.char7_arr := MRP_ATP_PUB.char7_arr(),
17 Lead_time MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
18 Quantity_from_children MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
19 atp_flag MRP_ATP_PUB.char1_arr := MRP_ATP_PUB.char1_arr(),
20 atp_comp_flag MRP_ATP_PUB.char1_arr := MRP_ATP_PUB.char1_arr(),
21 post_pro_lt MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
22 plan_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
23 assign_set_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
24 location_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
25 demand_class MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr(),
26 steal_qty MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
27
28 -- dsting diagnostic atp
29 fixed_lt MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
30 variable_lt MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
31 pre_pro_lt MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
32 ship_method MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr(),
33 plan_name MRP_ATP_PUB.char10_arr := MRP_ATP_PUB.char10_arr(),
34 rounding_flag MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
35 unit_weight MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
36 weight_uom MRP_ATP_PUB.char3_arr := MRP_ATP_PUB.char3_arr(),
37 unit_volume MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
38 volume_uom MRP_ATP_PUB.char3_arr := MRP_ATP_PUB.char3_arr(),
39 ptf_date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(),
40 substitution_window MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
41 allocation_rule MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr(),
42 infinite_time_fence MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(),
43 atp_rule_name MRP_ATP_PUB.char80_arr := MRP_ATP_PUB.char80_arr(),
44 constraint_type MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
45 constraint_date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(),
46 -- dsting 2754446
47 conversion_rate MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
48 primary_uom MRP_ATP_PUB.char3_arr := MRP_ATP_PUB.char3_arr(),
49 req_date_unadj_qty MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
50 rnding_leftover MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
51
52 -- time_phased_atp
53 Family_sr_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
54 Family_dest_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
55 Family_item_name MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr(),
56 Atf_Date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(),
57 Atf_Date_Quantity MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
58
59 -- ship_rec_cal
60 shipping_cal_code MRP_ATP_PUB.char14_arr := MRP_ATP_PUB.char14_arr(),
61 receiving_cal_code MRP_ATP_PUB.char14_arr := MRP_ATP_PUB.char14_arr(),
62 intransit_cal_code MRP_ATP_PUB.char14_arr := MRP_ATP_PUB.char14_arr(),
63 manufacturing_cal_code MRP_ATP_PUB.char14_arr := MRP_ATP_PUB.char14_arr(),
64 new_ship_date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(),
65 new_dock_date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(),
66 new_start_date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(), -- Bug 3241766
67 new_order_date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr() -- Bug 3241766
68 );
69
70 Type Item_Info_Rec_Typ is Record( inventory_item_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
71 sr_inventory_item_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
72 highest_revision_item_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
73 item_name MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr(),
74 End_pegging_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
75 request_date_quantity MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
76 partial_fulfillment_flag MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
77 period_detail_begin_idx MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
78 period_detail_end_idx MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
79 sd_detail_begin_idx MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
80 sd_detail_end_idx MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
81 CTP_PRD_DETL_BEGIN_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
82 CTP_PRD_DETL_END_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
83 CTP_SD_DETL_BEGIN_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
84 CTP_SD_DETL_END_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
85 FUT_CTP_PRD_DETL_BEGIN_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
86 FUT_CTP_PRD_DETL_END_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
87 FUT_CTP_SD_DETL_BEGIN_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
88 FUT_CTP_SD_DETL_END_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
89 atp_flag MRP_ATP_PUB.char1_arr := MRP_ATP_PUB.char1_arr(),
90 atp_comp_flag MRP_ATP_PUB.char1_arr := MRP_ATP_PUB.char1_arr(),
91 pre_pro_lt MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
92 post_pro_lt MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
93 fixed_lt MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
94 variable_lt MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
95 create_supply_flag MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
96 substitution_window MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
97 plan_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
98 ASSIGN_SET_ID MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
99 future_atp_date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(),
100 atp_date_quantity MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
101 demand_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
102 FUT_ATP_PRD_DETL_BEGIN_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
103 FUT_ATP_PRD_DETL_END_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
104 FUT_ATP_SD_DETL_BEGIN_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
105 FUT_ATP_SD_DETL_END_IDX MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
106 future_supply_peg_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
107 demand_class MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr(),
108 ---forward steal
109 fwd_steal_peg_begin_idx MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
110 fwd_steal_peg_end_idx MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
111
112 -- dsting diagnostic atp
113 rounding_control_type MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
114 unit_weight MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
115 weight_uom MRP_ATP_PUB.char3_arr := MRP_ATP_PUB.char3_arr(),
116 unit_volume MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
117 volume_uom MRP_ATP_PUB.char3_arr := MRP_ATP_PUB.char3_arr(),
118 plan_name MRP_ATP_PUB.char10_arr := MRP_ATP_PUB.char10_arr(),
119
120 -- time_phased_atp
121 Family_sr_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
122 Family_dest_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
123 Family_item_name MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr(),
124 Atf_Date MRP_ATP_PUB.date_arr := MRP_ATP_PUB.date_arr(),
125 Atf_Date_Quantity MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
126 used_available_quantity MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr() --bug3467631 New_time_phase_logic
127 );
128
129 --G_Org_Availability_Info ATP_Info_Details_Rec_Typ;
130 --Item_Availability_Info Item_Info_Rec_Typ;
131
132 G_TOP_LAST_PO_PEGGING NUMBER;
133 G_TOP_LAST_PO_QTY NUMBER;
134
135 ---Constants
136 ALL_OR_NOTHING CONSTANT INTEGER := 1;
137 MIXED CONSTANT INTEGER := 2;
138 ITEM_ATTRIBUTE CONSTANT INTEGER := 3;
139 NO_SUBSTITUTION CONSTANT INTEGER := 4;
140 G_FUTURE_PEGGING_ID NUMBER;
141 --- default to demanded item if this profile option is not set
142 G_CREATE_SUPPLY_FLAG NUMBER := NVL( FND_PROFILE.value('MSC_ITEM_CHOICE_FOR_SUBSTITUTE'), 701);
143
144 G_REQ_ITEM_SR_INV_ID NUMBER;
145
146 G_DEMANDED_ITEM CONSTANT INTEGER := 701;
147 G_HIGHEST_REV_ITEM CONSTANT INTEGER := 702;
148 G_ITEM_ATTRIBUTE CONSTANT INTEGER := 703;
149
150 PROCEDURE Extend_Org_Avail_Info_Rec (
151 p_org_avail_info IN OUT NOCOPY MSC_ATP_SUBST.ATP_Org_Info_Rec_Typ,
152 x_return_status OUT NoCopy VARCHAR2);
153
154 Procedure Extend_Item_Info_Rec_Typ(
155 p_item_avail_info IN OUT NOCOPY MSC_ATP_SUBST.Item_Info_Rec_Typ,
156 x_return_status OUT NoCopy VARCHAR2);
157
158 PROCEDURE ATP_Check_Subst
159 (p_atp_record IN OUT NoCopy MRP_ATP_PVT.AtpRec,
160 p_item_substitute_rec IN Item_Info_Rec_Typ,
161 p_requested_ship_date IN DATE,
162 p_plan_id IN NUMBER,
163 p_level IN NUMBER,
164 p_scenario_id IN NUMBER,
165 p_search IN NUMBER,
166 p_refresh_number IN NUMBER,
167 p_parent_pegging_id IN NUMBER,
168 p_assign_set_id IN NUMBER,
169 x_atp_period OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
170 x_atp_supply_demand OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
171 x_return_status OUT NoCopy VARCHAR2
172 );
173
174 Procedure Get_Item_Substitutes(p_inventory_item_id IN NUMBER,
175 p_item_table IN OUT NoCopy MSC_ATP_SUBST.Item_Info_Rec_Typ,
176 p_instance_id IN NUMBER,
177 p_plan_id IN NUMBER,
178 p_customer_id IN NUMBER,
179 p_customer_site_id IN NUMBER,
180 p_request_date IN DATE,
181 p_organization_id IN NUMBER);
182
183 Procedure Update_demand(p_demand_id number,
184 p_plan_id number,
185 p_quantity number);
186
187 Procedure Delete_demand_subst(p_demand_id number,
188 p_plan_id number);
189
190 PROCEDURE Add_Pegging(
191 p_pegging_rec IN mrp_atp_details_temp%ROWTYPE
192 );
193
194 PROCEDURE Details_Output (
195 p_atp_period IN MRP_ATP_PUB.ATP_Period_Typ,
196 p_atp_supply_demand IN MRP_ATP_PUB.ATP_Supply_Demand_Typ,
197 p_begin_period_idx IN NUMBER,
198 p_end_period_idx IN NUMBER,
199 p_begin_sd_idx IN NUMBER,
200 p_end_sd_idx IN NUMBER,
201 x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
202 x_atp_supply_demand IN OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
203 x_return_status OUT NoCopy VARCHAR2
204 );
205
206 Procedure Copy_Item_Info_Rec(p_parent_item_info IN MSC_ATP_SUBST.Item_Info_Rec_Typ,
207 p_child_item_info IN OUT NoCopy MSC_ATP_SUBST.Item_Info_Rec_Typ,
208 p_index IN NUMBER);
209 /* time_phased_atp
210 PROCEDURE Add_Mat_Demand(
211 p_atp_rec IN MRP_ATP_PVT.AtpRec ,
212 p_plan_id IN NUMBER ,
213 p_dc_flag IN NUMBER,
214 x_demand_id OUT NoCopy NUMBER
215 );
216 */
217
218 END MSC_ATP_SUBST;