DBA Data[Home] [Help]

PACKAGE: APPS.MSC_ATP_PVT

Source


1 PACKAGE MSC_ATP_PVT AS
2 /* $Header: MSCGATPS.pls 120.5 2007/12/12 10:28:29 sbnaik ship $  */
3 
4 INFINITE_NUMBER         CONSTANT NUMBER := 1.0e+10;
5 -- single level stealing
6 SL_STEALING             CONSTANT NUMBER := -12345;
7 -- order type
8 ATP                     CONSTANT INTEGER := 100;
9 SOURCE11i		CONSTANT NUMBER := 3;
10 
11 --3720018
12 -- This record structure will be used to store records at request level.
13 -- These will be used to call remove_invalid_sd_rec() and delete_row()
14 -- procedures at request level in case of ATP_Inquiry
15 
16 TYPE REMOVE_REQUEST_LEVEL_REC IS RECORD (
17 REMOVE_PEGGING_ID_REQUEST                       MRP_ATP_PUB.NUMBER_ARR := MRP_ATP_PUB.number_arr(),
18 REMOVE_PLAN_ID_REQUEST                          MRP_ATP_PUB.NUMBER_ARR := MRP_ATP_PUB.number_arr(),
19 REMOVE_DC_ATP_FLAG_REQUEST                      MRP_ATP_PUB.NUMBER_ARR := MRP_ATP_PUB.number_arr()
20 );
21 
22 --3720018, new record type for returning records from  call_delete_row .
23 TYPE DELETE_ATP_REC IS RECORD (
24 time_phased_set                 VARCHAR2(1),
25 error_code                      MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
26 attribute_07                    MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr(),
27 old_plan_id                     MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
28 del_demand_ids                  MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
29 del_inv_item_ids                MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
30 del_plan_ids                    MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
31 del_identifiers                 MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
32 del_demand_source_type          MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr(),
33 del_copy_demand_ids             mrp_atp_pub.number_arr := MRP_ATP_PUB.number_arr(),
34 del_copy_demand_plan_ids        mrp_atp_pub.number_arr := MRP_ATP_PUB.number_arr(),
35 del_atp_peg_items               MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
36 del_atp_peg_demands             MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
37 del_atp_peg_supplies            MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
38 del_atp_peg_res_reqs            MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
39 atp_peg_demands_plan_ids        MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
40 atp_peg_supplies_plan_ids       MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
41 atp_peg_res_reqs_plan_ids       MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
42 off_demand_instance_id          MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
43 off_supply_instance_id          MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
44 off_res_instance_id             MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(),
45 del_ods_demand_ids              MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(), --3720018, added for support of rescheduling in ODS
46 del_ods_inv_item_ids            MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(), --3720018, added for support of rescheduling in ODS
47 del_ods_demand_src_type         MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(), --3720018, added for support of rescheduling in ODS
48 del_ods_cto_demand_ids          MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(), --3720018, added for support of rescheduling in ODS
49 del_ods_cto_inv_item_ids        MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(), --3720018, added for support of rescheduling in ODS
50 del_ods_cto_dem_src_type        MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(), --3720018, added for support of rescheduling in ODS
51 del_ods_atp_refresh_no          MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr(), --3720018, added for support of rescheduling in ODS
52 del_ods_cto_atp_refresh_no      MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.number_arr()  --3720018, added for support of rescheduling in ODS
53 );
54 ----3720018
55 
56 TYPE item_attribute_rec IS RECORD (
57        instance_id            NUMBER,
58        organization_id        NUMBER,
59        sr_inv_item_id         NUMBER,
60        atp_flag               varchar2(1),
61        atp_comp_flag          varchar2(1),
62        pre_pro_lt             number,
63        post_pro_lt            number,
64        fixed_lt               number,
65        variable_lt            number,
66        substitution_window    number,
67        create_supply_flag     number,
68        dest_inv_item_id       number,
69        item_name              varchar2(40), -- Rewind to 40 Bug 2408159
70        atp_rule_id            number,	-- To accomodate Bug 1510853
71        rounding_control_type  number,   -- For Forward Stealing
72        cto_source_org_id      number,   -- For a CTO line item, stores the source org
73        unit_volume            number,
74        unit_weight            number,
75        volume_uom             varchar2(3),
76        weight_uom             varchar2(3),
77        uom_code               VARCHAR2(3), -- added by rajjain 12/10/2002
78        inventory_item_id      NUMBER, -- added by rajjain 12/10/2002
79        processing_lt          number, -- processing lead time, full_lead_time.
80        --s_cto_rearch
81        parent_repl_ord_flag   varchar2(1),
82        parent_bom_item_type   number,
83        parent_comp_flag       varchar2(1),
84        parent_atp_flag        varchar2(1),
85        parent_item_id         number,
86        replenish_to_ord_flag  varchar2(1),
87        bom_item_type          number,
88        base_item_id           number,
89        parent_pegging_id      number,
90        --atf_date               date,   -- For time_phased_atp
91        atf_days               number, -- For time_phased_atp
92        product_family_id      number,  -- For time_phased_atp
93        --bug 3917625: Store plan id as well
94        plan_id                number,
95        lowest_level_src       number   -- For ATP4drp
96         );
97        -- For Supplier Capacity and Lead Time (SCLT) changes.
98        -- New fields introduced are processing_lt.
99 /* ship_rec_cal
100 TYPE Supplier_Info_rec IS RECORD(
101       base_item_id   number,
102       bom_item_type  number,
103       rep_ord_flag   varchar2(1));*/
104 
105 TYPE org_attribute_rec IS RECORD(
106        instance_id            NUMBER,
107        organization_id        NUMBER,
108        default_atp_rule_id    NUMBER,
109        cal_code               VARCHAR2(14),
110        cal_exception_set_id   NUMBER,
111        default_demand_class   VARCHAR2(34),
112        org_code               VARCHAR2(7),
113        org_type               NUMBER, --OPM fix bug 2865389 (ssurendr)
114        network_scheduling_method     NUMBER, --bug3601223
115        use_phantom_routings   NUMBER --4570421
116      );
117 -- New record  plan_info_rec defined for bug 2392456
118 TYPE plan_info_rec IS RECORD(
119         plan_id                 NUMBER,
120         plan_name               VARCHAR2(10),
121         assignment_set_id       NUMBER,
122         plan_start_date         DATE,  -- for future use
123         plan_cutoff_date        DATE,  -- for future use
124         summary_flag            number,  -- 24x7 atp
125         subst_flag              number, -- 24x7
126         copy_plan_id            number,  -- 24x7 atp
127         sr_instance_id          NUMBER,
128         organization_id         NUMBER,  -- Owning organization for plan.
129         curr_cutoff_date        DATE,
130         optimized_plan          NUMBER,-- 1 for constrained plan, 2 else -- 2859130
131         schedule_by_date_type   NUMBER,--for identifying request type
132 	enforce_pur_lead_time   NUMBER,	 -- Ship_Rec_Cal
133 	enforce_sup_capacity	NUMBER,	 -- Ship_Rec_Cal
134         plan_type               NUMBER,   -- ATP4drp
135         itf_horiz_days          NUMBER    -- ATP4drp
136         );
137 -- Additional Fields for Supplier Capacity and Lead Time (SCLT) Project.
138 -- Additional Fields are sr_instance_id and organization_id and curr_cutoff_date.
139 -- Existing fields now used are plan_start_date and plan_cutoff_date.
140 
141 /* changes for ship_rec_cal begin */
142 TYPE ship_arrival_date_rec_typ IS RECORD(
143        scheduled_arrival_date	DATE,
144         latest_acceptable_date	DATE,
145 	order_date_type		NUMBER,
146 	demand_id		NUMBER,
147 	instance_id		NUMBER,
148 	plan_id			NUMBER,
149 	ship_set_name		VARCHAR2(30),
150 	arrival_set_name	VARCHAR2(30),
151 	atp_override_flag	VARCHAR2(1),
152 	request_arrival_date	DATE
153         );
154 
155 G_SHIP_CAPACITY			CONSTANT INTEGER := 1;
156 G_DOCK_CAPACITY			CONSTANT INTEGER := 2;
157 G_USE_SHIP_REC_CAL              VARCHAR2(1) := NVL(FND_PROFILE.value('MSC_USE_SHIP_REC_CAL'),'N'); --Bug 3593394
158 /* changes for ship_rec_cal end */
159 
160 -- global variables
161 G_ITEM_INFO_REC         item_attribute_rec;
162 G_ORG_INFO_REC          org_attribute_rec;
163 
164 --3720018
165 G_REMOVE_REQUEST_LEVEL_REC  remove_request_level_rec;
166 
167 -- global variable for plan introduced as a part of
168 -- Supplier Capacity Lead Time (SCLT)  project.
169 G_PLAN_INFO_REC         plan_info_rec;
170 
171 G_FIND_FUTURE_DATE      VARCHAR2(1) := 'N';
172 G_PEGGING_FOR_SET       MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
173 G_DEMAND_CLASS_ATP_FLAG     MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
174 G_REQ_ATP_DATE	        MRP_ATP_PUB.date_arr:=MRP_ATP_PUB.date_arr();
175 G_REQ_DATE_QTY          MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
176 G_INV_CTP               NUMBER := FND_PROFILE.value('INV_CTP') ;
177 G_SUB_COMP              VARCHAR2(1) := NVL(FND_PROFILE.value('MRP_ATP_SUB_COMP'), 'N');
178 G_ALLOCATED_ATP         VARCHAR2(1) := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
179 -- ATP4drp use original profile to restore value after DRP to non-DRP plan switch.
180 G_ORIG_ALLOC_ATP        VARCHAR2(1) := G_ALLOCATED_ATP;
181 -- End ATP4drp
182 G_RES_CONSUME           VARCHAR2(1) := 'Y';
183 G_ASSEMBLY_LINE_ID       NUMBER;
184 G_HIERARCHY_PROFILE     NUMBER := NVL(FND_PROFILE.VALUE('MSC_CLASS_HIERARCHY'), 2);
185 G_PARTNER_ID            NUMBER;
186 G_PARTNER_SITE_ID       NUMBER;
187 G_SR_PARTY_SITE_ID      NUMBER;        --2814895
188 G_SR_CUSTOMER_COUNTRY   VARCHAR2(60);  --2814895
189 G_OPTIMIZED_PLAN        PLS_INTEGER := 2;
190 G_SESSION_ID            NUMBER;
191 G_ORDER_LINE_ID         NUMBER;
192 G_DEMAND_PEGGING_ID     NUMBER;
193 G_COMP_LINE_ID          NUMBER;
194 G_MOV_PAST_DUE_SYSDATE_PROF VARCHAR2(1) := NVL(FND_PROFILE.value('MSC_MOVE_PAST_DUE_TO_SYSDATE'), 'Y'); --6316476
195 
196 -- dsting default to 3 (11i source) since we don't read msc_apps_instances for non-distributed case
197 G_APPS_VER              NUMBER := SOURCE11i; -- 2300767
198 G_SUMMARY_FLAG          VARCHAR2(1) := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
199 G_SUMMARY_SQL           VARCHAR2(1); -- For summary enhancement
200 
201 -- Bug 2877340, 2746213
202 -- Create new global variable for Infinite Time Fence Pad
203 -- Workaround to match ASCP and ATP output.
204 -- Round the days in case user erroneously
205 -- sets fraction Number as profile calue. If user sets profile
206 -- value to be -ve,Consider it to be 0.
207 G_INF_SUP_TF_PAD        NUMBER := GREATEST(CEIL(NVL(FND_PROFILE.value('MSC_ATP_INFINITE_TF_PAD'),0)),0);
208 ---diag_atp
209 G_DIAGNOSTIC_ATP        NUMBER;
210 G_SUBSTITUTION_FLAG     VARCHAR2(1);
211 G_PLAN_SUBST_FLAG       NUMBER;
212 G_HAVE_MAKE_BUY_PARENT	NUMBER := 0;
213 G_SUBST_GOOD_PEGGING	NUMBER;
214 
215 BACKWARD_SCHEDULING     CONSTANT INTEGER := 1;
216 FORWARD_SCHEDULING      CONSTANT INTEGER := 2;
217 /************ Bug 1510853 ATP Rule Check ************/
218 G_ATP_RULE_FLAG         VARCHAR2(1); -- to capture the presence of a rule
219 
220 -- savirine added global variables G_SR_PARTNER_SITE_ID on Aug 27, 2001
221 G_SR_PARTNER_SITE_ID  NUMBER;
222 
223 -- ngoel 9/24/2001, added to identify if current line is MATO line
224 G_CTO_LINE  		VARCHAR2(1);
225 -- For bug 2259824, G_END_OF_DAY represents number of seconds in a day - 1.
226 --G_END_OF_DAY		NUMBER := 86399/86400; Bug 3343359 - changed to last minute of the day
227 G_END_OF_DAY		NUMBER := 1439/1440;
228 --- Enhance CTO Phase 1 Req #17
229 -- New global to deal with forward stealing for CTO components.
230 -- Used to store/track the Demand Pegging ID.
231 G_CTO_FORWARD_DMD_PEG   NUMBER;
232 -- For bug 2974324. Store the calling_module in global variable.
233 G_CALLING_MODULE	NUMBER;
234 
235 G_INSTANCE_ID           NUMBER; -- this variable contains value of instance id
236                                 --with which call is made
237 --plan by request date
238 G_HP_DEMAND_BUCKETING_PREF    NUMBER := NVL(FND_PROFILE.VALUE('MSC_HP_DMD_BKT_PRF'), 1);
239 -- Action code
240 G_ZERO_ALLOCATION_PERC  VARCHAR2(1) := NVL(FND_PROFILE.value('MSC_ZERO_ALLOC_PERC'),'N');--6359986
241 
242 ATPQUERY                CONSTANT INTEGER := 100;
243 DEMANDADD               CONSTANT INTEGER := 110;
244 DEMANDMODIFY            CONSTANT INTEGER := 120;
245 RSVADD                  CONSTANT INTEGER := 130;
246 RSVMODIFY               CONSTANT INTEGER := 140;
247 DMDRSVADD               CONSTANT INTEGER := 150;
248 DMDRSVXFER              CONSTANT INTEGER := 160;
249 FORCERSVADD             CONSTANT INTEGER := 170;
250 
251 -- Existing error code
252 ALLSUCCESS              CONSTANT INTEGER := 0;
253 NOREQ_DATE              CONSTANT INTEGER := 20;
254 
255 DEM_NOT_FOUND           CONSTANT INTEGER := 9;
256 GROUPEL_ERROR           CONSTANT INTEGER := 19;
257 DUPLICATE_DMD           CONSTANT INTEGER := 42;
258 ATP_NO_GROUP_DATE       CONSTANT INTEGER := 50;
259 ATP_NO_REQUESTS         CONSTANT INTEGER := 51;
260 ATP_REQ_QTY_FAIL        CONSTANT INTEGER := 52;
261 ATP_ACCEPT_FAIL         CONSTANT INTEGER := 53;
262 ATP_EXCEED_SIZE         CONSTANT INTEGER := 54;
263 ATP_NO_CALENDAR         CONSTANT INTEGER := 55;
264 ATP_MULTI_CALENDARS     CONSTANT INTEGER := 56;
265 ATP_BAD_RULE            CONSTANT INTEGER := 57;
266 ATP_REQ_QTY_FAIL_RES    CONSTANT INTEGER := 58;
267 ATP_REQ_QTY_FAIL_BOTH   CONSTANT INTEGER := 59;
268 BAD_EXPLOSION           CONSTANT INTEGER := 60;
269 ATP_NOT_APPL            CONSTANT INTEGER := 61;
270 ATP_SHORT_CAL           CONSTANT INTEGER := 62;
271 ATP_LEAD_TIME_FAIL      CONSTANT INTEGER := 63;
272 
273 -- new error code we need to add
274 ATP_MULTI_REQ_DATES     CONSTANT INTEGER := 70;
275 ATP_NO_SOURCES          CONSTANT INTEGER := 80;
276 ATP_ITEM_NOT_COLLECTED   CONSTANT INTEGER := 85;
277 ATP_NO_ASSIGN_SET       CONSTANT INTEGER := 90;
278 ATP_REQ_DATE_FAIL       CONSTANT INTEGER := 100;
279 ATP_PASS_INFINITE_DATE  CONSTANT INTEGER := 110;
280 ATP_INVALID_DATE        CONSTANT INTEGER := 99;
281 PLAN_NOT_FOUND          CONSTANT INTEGER := 120;
282 TRY_ATP_LATER           CONSTANT INTEGER := 130;
283 NO_ASSIGNMENT_SET       CONSTANT INTEGER := 135;
284 NO_MATCHING_CAL_DATE    CONSTANT INTEGER := 47;
285 SUMM_CONC_PROG_RUNNING  CONSTANT INTEGER := 160;
286 -- 2152184
287 PF_MEMBER_ITEM_NOT_ATPABLE CONSTANT INTEGER := 180;
288 RUN_POST_PLAN_ALLOC     CONSTANT INTEGER := 200;
289 -- 1873918
290 PDS_TO_ODS_SWITCH       CONSTANT INTEGER := 150;
291 
292 -- search
293 
294 --Error Handling Changes krajan
295 ATP_INVALID_OBJECTS     CONSTANT INTEGER := 220;
296 ATP_PROCESSING_ERROR    CONSTANT INTEGER := 23;
297 
298 ---diag_atp
299 DIAGNOSTIC_ATP_ENABLED  CONSTANT INTEGER := 260;
300 
301 -- 2368426 starts
302 INV_CTP_NOT_IN_SYNC     CONSTANT INTEGER := 230;
303 USE_SHIP_REC_NOT_IN_SYNC CONSTANT INTEGER := 231; --bug3593394
304 ASSIGN_SET_NOT_IN_SYNC     CONSTANT INTEGER := 240;
305 G_INV_CTP_SOURCE        NUMBER ;
306 G_SR_ASSIGN_SET         NUMBER ;
307 -- 2368426 ends
308 
309 -- ATP Override rajjain begin
310 ATP_MULTI_OVERRIDE_DATES	CONSTANT INTEGER := 250;
311 ATP_OVERRIDE_DATE_FAIL		CONSTANT INTEGER := 251;
312 -- ATP Override rajjain end
313 
314 -- rajjain 02/03/2003 Bug 2766713
315 INVALID_ITEM_ORG_COMBINATION	CONSTANT INTEGER := 270;
316 
317 -- rajjain 02/20/2003 Bug 2813095
318 INVALID_ALLOC_PROFILE_SETUP     CONSTANT INTEGER := 280;
319 INVALID_INV_CTP_PROFILE_SETUP   CONSTANT INTEGER := 281;
320 INVALID_ALLOC_ATP_OFF           CONSTANT INTEGER := 282;
321 
322 PLAN_DOWN_TIME                  CONSTANT INTEGER := 300;
323 
324 MUTUALLY_EXCLUSIVE_OSS     CONSTANT NUMBER := 350;
325 OSS_ERROR_AT_LOWER_LEVEL   CONSTANT NUMBER := 360;
326 OSS_ERROR_AT_THIS_LEVEL    CONSTANT NUMBER := 370;
327 OSS_SOURCING_ERROR             CONSTANT NUMBER := 310;
328 ERROR_WHILE_MATCHING       CONSTANT NUMBER := 320;
329 INVALID_OSS_WAREHOUSE      CONSTANT NUMBER := 330;
330 
331 CTO_OSS_ERROR              CONSTANT VARCHAR2(10) := 'CTO_Err';
332 
333 -- rajjain bug 2951786 05/13/2003
334 NO_SUPPLY_DEMAND                CONSTANT INTEGER := 175;
335 
336 DEPTH                   CONSTANT INTEGER := 1;
337 BREADTH                 CONSTANT INTEGER := 2;
338 
339 -- source type
340 TRANSFER                CONSTANT INTEGER := 1;
341 MAKE                    CONSTANT INTEGER := 2;
342 BUY                     CONSTANT INTEGER := 3;
343 
344 -- action for pegging
345 UNDO                    CONSTANT INTEGER := 1;
346 INVALID                 CONSTANT INTEGER := 2;
347 
348 --4570421
349 DISCRETE_ORG            CONSTANT INTEGER := 1;
350 OPM_ORG                 CONSTANT INTEGER := 2;
351 
352 -- 2400614: krajan:
353 -- Returned by ATP_Check.
354 -- Indicates a source mismatch
355 G_ATO_SRC_MISMATCH      VARCHAR2(1) := 'G';
356 G_ATO_UNCOLL_ITEM       VARCHAR2(1) := 'A'; -- krajan 2752705
357 G_NO_PLAN_FOUND         VARCHAR2(1) := 'P'; -- dsting 2764213
358 
359 
360 --- bug 1905037. The following variable is added so
361 --- we can return the inventory_item_id which is not collected
362 --- to schedule procedure
363 G_SR_INVENTORY_ITEM_ID number;
364 G_PLAN_COPRODUCTS VARCHAR(1) := FND_Profile.value('MSC_PLAN_COPRODUCTS');
365 G_DATABASE_LINK          VARCHAR2(128);
366 --bug 2178544
367 --G_PTF_FLAG               NUMBER; -- This flag indicates that plan is constrained by PTF or not
368 G_MSO_LEAD_TIME_FACTOR  NUMBER := NVL(FND_PROFILE.value('MSO_SCO_LEAD_TIME_FACTOR'),0);
369 G_FUTURE_ORDER_DATE     DATE;
370 G_FUTURE_START_DATE     DATE;
371 G_PTF_DATE              DATE;
372 G_PTF_DATE_THIS_LEVEL   DATE;
373 G_ALLOCATION_METHOD     NUMBER := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
374 G_FUTURE_PEGGING_ID     NUMBER;
375 
376 G_REFRESH_NUMBER        NUMBER;
377 --G_CREATE_TIME_FENCE     VARCHAR(1) := NVL(FND_Profile.value('MRP_FIRM_ORDER_TF'),'N');
378 
379 -- krajan: 2408902
380 -- Variable to store Demand Class passed in for ATO models.
381 G_ATP_DEMAND_CLASS      VARCHAR2(34);
382 
383 -- krajan: 2408696
384 -- Variable to store Phantom Profile option value
385 G_EXPLODE_PHANTOM         VARCHAR(1) := NVL(FND_Profile.value('MSC_ENABLE_PHANT_COMP'), 'N');
386 
387 -- 24x7 Support : Synchronization in progress flag
388 G_SYNC_ATP_CHECK        VARCHAR2(1);
389 --Set in case msc_item_id_lid has no records 4091487
390 G_ITEM_ID_NULL          VARCHAR2(1) := 'F';
391 --Set in case item is not collected 4091487
392 G_ITEM_NOT_COLL          VARCHAR2(1) := 'C';
393 
394 -- Set if we ever encounter downtime
395 G_DOWNTIME_HIT          VARCHAR2(1);
396 
397 ---- Exceptions
398 NO_MATCHING_DATE_IN_CAL  Exception;
399 /************ Bug 1510853 ATP Rule Check ************/
400 EXC_NO_ATP_RULE          Exception;
401 
402 -- Bug 2400614: krajan
403 G_ATO_SOURCING_MISMATCH Exception;
404 
405 -- dsting 2764213
406 EXC_NO_PLAN_FOUND       Exception;
407 
408 -- krajan : 2752705
409 G_EXC_UNCOLLECTED_ITEM Exception;
410 
411 -- rajjain 02/20/2002 Bug 2813095
412 ALLOC_ATP_INVALID_PROFILE Exception;
413 
414 --s_cto_rearch
415 INVALID_OSS_SOURCE Exception;
416 
417 --diag_atp
418 G_ALLOCATION_RULE_NAME VARCHAR2(30);
419 ORG_DEMAND             CONSTANT NUMBER := 1;
420 SUPPLIER_DEMAND        CONSTANT NUMBER := 2;
421 ATP_SUPPLY             CONSTANT NUMBER := 3;
422 MAKE_SUPPLY            CONSTANT NUMBER := 4;
423 BUY_SUPPLY             CONSTANT NUMBER := 5;
424 TRANSFER_SUPPLY        CONSTANT NUMBER := 6;
425 ATP_SUPPLIER           CONSTANT NUMBER := 7;
426 RESOURCE_DEMAND        CONSTANT NUMBER := 8;
427 RESOURCE_SUPPLY        CONSTANT NUMBER := 9;
428 
429 -- For summary enhancement
430 G_COPY_DEMAND_ID        MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
431 G_COPY_DEMAND_PLAN_ID   MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
432 --Global Variable Defined at this level just to avoid hardcoding for
433 --enhancment for Plan by request Date
434 G_SCHEDULE_SHIP_DATE_LEGEND  	CONSTANT  NUMBER :=1;
435 G_SCHEDULE_ARRIVAL_DATE_LEGEND  CONSTANT  NUMBER :=2;
436 G_REQUEST_SHIP_DATE_LEGEND      CONSTANT  NUMBER :=3;
437 G_REQUEST_ARRIVAL_DATE_LEGEND   CONSTANT  NUMBER :=4;
438 G_PROMISE_SHIP_DATE_LEGEND      CONSTANT  NUMBER :=5;
439 G_PROMISE_ARRIVAL_DATE_LEGEND   CONSTANT  NUMBER :=6;
440 
441 -- For new allocation logic for time_phased_atp
442 G_MEM_RULE_WITHIN_ATF           VARCHAR2(1);
443 G_PF_RULE_OUTSIDE_ATF           VARCHAR2(1);
444 
445 -- To support new logic for dependent demands allocation in time phased PF rule based AATP scenarios
446 G_TIME_PHASED_PF_ENABLED        VARCHAR2(1);
447 -- CTO_PF_PRJ changes for CTO PF Cross Project Impacts
448 G_CTO_PF_ATP                    VARCHAR2(1);
449 
450 --4279623 4333596
451 YES                     CONSTANT NUMBER := 1;
452 NO                      CONSTANT NUMBER := 2;
453 CHECK_ORG_IN_PLAN    	CONSTANT NUMBER := 3;
454 --4279623 4333596
455 G_ATP_CHECK_ISO					NUMBER := NVL(FND_PROFILE.VALUE('MSC_ATP_CHECK_INT_SALES_ORDERS'),NO); --6485306
456 
457 --bug 4358596
458 G_RETAIN_TIME_NON_ATP    VARCHAR(1) := NVL(FND_Profile.value('MSC_RETAIN_TIME_NON_ATP_ITEM'), 'Y');
459 G_ATP_ITEM_PRESENT_IN_SET VARCHAR(1) :='N'; --4460369
460 
461 
462 
463 PROCEDURE Schedule (
464                p_atp_table          IN    MRP_ATP_PUB.ATP_Rec_Typ,
465                p_instance_id	    IN 	  NUMBER,
466                p_assign_set_id      IN    NUMBER,
467                p_refresh_number     IN    NUMBER,
468                x_atp_table          OUT   NoCopy MRP_ATP_PUB.ATP_Rec_Typ,
469                x_return_status      OUT   NoCopy VARCHAR2,
470                x_msg_data           OUT   NoCopy VARCHAR2,
471                x_msg_count          OUT   NoCopy NUMBER,
472 	       x_atp_supply_demand  OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
473                x_atp_period         OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
474                x_atp_details        OUT NOCOPY MRP_ATP_PUB.ATP_Details_Typ
475 );
476 
477 PROCEDURE ATP_Check (p_atp_record    		IN OUT   NoCopy MRP_ATP_PVT.AtpRec,
478                p_plan_id             		IN       NUMBER,
479                p_level	             		IN       NUMBER,
480                p_scenario_id	     		IN       NUMBER,
481                p_search              		IN       NUMBER,
482                p_refresh_number      		IN       NUMBER,
483 	       p_parent_pegging_id   		IN       NUMBER,
484                p_assign_set_id       		IN       NUMBER,
485                x_atp_period          		OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
486                x_atp_supply_demand   		OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
487                x_return_status       		OUT      NoCopy VARCHAR2,
488                p_pre_processing_lead_time	IN       NUMBER :=0
489 );
490 
491 
492 PROCEDURE Call_Schedule (
493                p_session_id             IN    NUMBER,
494                p_atp_table              IN    MRP_ATP_PUB.ATP_Rec_Typ,
495                p_instance_id        	IN    NUMBER,
496                p_assign_set_id          IN    NUMBER,
497                p_refresh_number         IN    NUMBER,
498                x_atp_table          	OUT   NoCopy MRP_ATP_PUB.ATP_Rec_Typ,
499                x_return_status      	OUT   NoCopy VARCHAR2,
500                x_msg_data           	OUT   NoCopy VARCHAR2,
501                x_msg_count          	OUT   NoCopy NUMBER,
502                x_atp_supply_demand  	OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
503                x_atp_period         	OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
504                x_atp_details        	OUT NOCOPY MRP_ATP_PUB.ATP_Details_Typ
505 );
506 
507 -- p_inv_ctp added in argument of call_schedule_remote
508 -- for bug 2368426 to match source and destination INV_CTP
509 
510 --bug3940999 commenting the agruments for passing profiles
511 PROCEDURE Call_Schedule_Remote (
512                p_session_id         IN    NUMBER,
513                p_instance_id        IN    NUMBER,
514                p_assign_set_id      IN    NUMBER,
515                p_refresh_number     IN    NUMBER,
516 --               p_inv_ctp            IN    NUMBER := -1,                     --bug3940999
517                p_def_assign_set_id  IN    NUMBER := -1,
518                -- We are passing debug mode as parameter so that debug could be set as soon as we enter procedure.
519                p_atp_debug_flag     IN    VARCHAR2 := NULL,
520                --ATP Debug Workflow
521                x_session_loc_des    OUT NOCOPY  VARCHAR2,
522                x_spid_des           OUT NOCOPY  NUMBER,
523                x_trace_loc_des      OUT NOCOPY  VARCHAR2,
524 --               p_atp_workflow       IN    VARCHAR2 := NULL,                 --bug3940999
525                p_node_id            IN    NUMBER DEFAULT null  --bug3520746
526 --               p_use_ship_rec       IN    VARCHAR2 DEFAULT 'N' --bug3593394 --bug3940999
527 );
528 
529 PROCEDURE Process_Time_Stamp_Errors (l_atp_table  IN OUT NOCOPY   MRP_ATP_PUB.ATP_Rec_Typ,
530                                      i NUMBER);--4460369
531 
532 END MSC_ATP_PVT;