1 PACKAGE BODY MSC_WS_ATP AS
2 /* $Header: MSCWATPB.pls 120.8 2011/03/11 09:24:35 aksaxena ship $ */
3
4 -- =============================================================
5 -- Desc: Please see package spec file for description
6 -- =============================================================
7 PROCEDURE GetPromiseDate(
8 status OUT nocopy VARCHAR2,
9 InstanceId IN MscNumberArr ,
10 InventoryItemId IN MscNumberArr,
11 InventoryItemName IN MscChar40Arr,
12 SourceOrganizationId IN MscNumberArr ,
13 SourceOrganizationCode IN MscChar7Arr ,
14 OrganizationId IN MscNumberArr ,
15 Identifier IN MscNumberArr ,
16 DemandSourceHeaderId IN MscNumberArr ,
17 DemandSourceDelivery IN MscChar30Arr ,
18 DemandSourceType IN MscNumberArr ,
19 CallingModule IN MscNumberArr ,
20 CustomerId IN MscNumberArr ,
21 CustomerSiteId IN MscNumberArr ,
22 QuantityOrdered IN MscNumberArr ,
23 QuantityUOM IN MscChar3Arr ,
24 RequestedShipDate IN MscDateArr,
25 RequestedArrivalDate IN MscDateArr ,
26 LatestAcceptableDate IN MscDateArr ,
27 DeliveryLeadTime IN MscNumberArr ,
28 ShipMethod IN MscChar30Arr ,
29 DemandClass IN MscChar30Arr ,
30 ShipSetName IN MscChar30Arr ,
31 ArrivalSetName IN MscChar30Arr ,
32 OverrideFlag IN MscChar1Arr ,
33 Action IN MscNumberArr ,
34 InsertFlag IN MscNumberArr ,
35 OEFlag IN MscChar1Arr ,
36 OrderNumber IN MscNumberArr ,
37 OldSourceOrganizationId IN MscNumberArr ,
38 OldDemandClass IN MscChar30Arr ,
39 Attribute01 IN MscNumberArr ,
40 Attribute02 IN MscNumberArr ,
41 CustomerCountry IN MscChar60Arr ,
42 CustomerState IN MscChar60Arr ,
43 CustomerCity IN MscChar60Arr ,
44 CustomerPostalCode IN MscChar60Arr ,
45 SubstitutionTypeCode IN MscNumberArr ,
46 ReqItemDetailFlag IN MscNumberArr ,
47 SalesRep IN MscChar255Arr ,
48 CustomerContact IN MscChar255Arr ,
49 TopModelLineId IN MscNumberArr ,
50 ATOParentModelLineId IN MscNumberArr ,
51 ATOModelLineId IN MscNumberArr ,
52 ParentLineId IN MscNumberArr ,
53 MatchItemId IN MscNumberArr ,
54 ConfigItemLineId IN MscNumberArr ,
55 ValidationOrg IN MscNumberArr ,
56 ComponentSequenceID IN MscNumberArr ,
57 ComponentCode IN MscChar255Arr ,
58 LineNumber IN MscChar80Arr ,
59 IncludedItemFlag IN MscNumberArr ,
60 PickComponentsFlag IN MscChar1Arr ,
61 CascadeModelInfoToComp IN MscNumberArr ,
62 SequenceNumber IN MscNumberArr ,
63 InternalOrgId IN MscNumberArr ,
64 PartySiteId IN MscNumberArr ,
65 PartOfSet IN MscChar1Arr ,
66
67 InstanceIdOut OUT nocopy MscNumberArr,
68 InventoryItemIdOut OUT nocopy MscNumberArr,
69 InventoryItemNameOut OUT nocopy MscChar40Arr,
70 SourceOrganizationIdOut OUT nocopy MscNumberArr,
71 SourceOrganizationCodeOut OUT nocopy MscChar7Arr,
72 OrganizationIdOut OUT nocopy MscNumberArr,
73 IdentifierOut OUT nocopy MscNumberArr,
74 DemandSourceHeaderIdOut OUT nocopy MscNumberArr,
75 DemandSourceDeliveryOut OUT nocopy MscChar30Arr,
76 DemandSourceTypeOut OUT nocopy MscNumberArr,
77 CustomerIdOut OUT nocopy MscNumberArr,
78 CustomerSiteIdOut OUT nocopy MscNumberArr,
79 QuantityOrderedOut OUT nocopy MscNumberArr,
80 QuantityUOMOut OUT nocopy MscChar3Arr,
81 RequestedShipDateOut OUT nocopy MscDateArr,
82 RequestedArrivalDateOut OUT nocopy MscDateArr,
83 LatestAcceptableDateOut OUT nocopy MscDateArr,
84 DeliveryLeadTimeOut OUT nocopy MscNumberArr,
85 ShipMethodOut OUT nocopy MscChar30Arr,
86 DemandClassOut OUT nocopy MscChar30Arr,
87 ShipSetNameOut OUT nocopy MscChar30Arr,
88 ArrivalSetNameOut OUT nocopy MscChar30Arr,
89 OverrideFlagOut OUT nocopy MscChar1Arr,
90 ShipDateOut OUT nocopy MscDateArr,
91 ArrivalDateOut OUT nocopy MscDateArr,
92 AvailableQuantityOut OUT nocopy MscNumberArr,
93 RequestedDateQuantityOut OUT nocopy MscNumberArr,
94 GroupShipDateOut OUT nocopy MscDateArr,
95 GroupArrivalDateOut OUT nocopy MscDateArr,
96 AtpLeadTimeOut OUT nocopy MscNumberArr,
97 ErrorCodeOut OUT nocopy MscNumberArr,
98 EndPeggingIdOut OUT nocopy MscNumberArr,
99 OldSourceOrganizationIdOut OUT nocopy MscNumberArr,
100 OldDemandClassOut OUT nocopy MscChar30Arr,
101 RequestItemIdOut OUT nocopy MscNumberArr,
102 ReqItemReqDateQtyOut OUT nocopy MscNumberArr,
103 ReqItemAvailableDateOut OUT nocopy MscDateArr,
104 ReqItemAvailableDateQtyOut OUT nocopy MscNumberArr,
105 RequestItemNameOut OUT nocopy MscChar40Arr,
106 OldInventoryItemIdOut OUT nocopy MscNumberArr,
107 SubstFlagOut OUT nocopy MscNumberArr,
108 BaseModelIdOut OUT nocopy MscNumberArr,
109 OssErrorCodeOut OUT nocopy MscNumberArr,
110 MatchedItemNameOut OUT nocopy MscChar255Arr,
111 CascadeModelInfoToCompOut OUT nocopy MscNumberArr,
112 PlanIdOut OUT nocopy MscNumberArr,
113 SessionId IN NUMBER,
114 UserId IN NUMBER,
115 RespId IN NUMBER,
116 AppId IN NUMBER
117 ) is
118
119 p_atp_table MRP_ATP_PUB.ATP_Rec_Typ;
120 ln NUMBER;
121 l_session_id NUMBER :=0;
122 i NUMBER :=0;
123 x_atp_table MRP_ATP_PUB.ATP_Rec_Typ;
124 x_atp_supply_demand MRP_ATP_PUB.ATP_Supply_Demand_Typ;
125 x_atp_period MRP_ATP_PUB.ATP_Period_Typ;
126 x_atp_details MRP_ATP_PUB.ATP_Details_Typ;
127 x_return_status VARCHAR2(1);
128 x_msg_data VARCHAR2(200);
129 x_msg_count NUMBER;
130 temp_status Varchar2(40);
131 atpUnknownError EXCEPTION;
132 atpError EXCEPTION;
133 atpParameterSizeError EXCEPTION;
134 atpProfilesError EXCEPTION;
135 parameterName VARCHAR2(40);
136 error_tracking_number NUMBER :=0;
137
138
139 BEGIN
140
141 error_tracking_number := 100;
142
143 InstanceIdOut := MscNumberArr();
144 InventoryItemIdOut := MscNumberArr();
145 InventoryItemNameOut := MscChar40Arr();
146 SourceOrganizationIdOut := MscNumberArr();
147 SourceOrganizationCodeOut := MscChar7Arr();
148 OrganizationIdOut := MscNumberArr();
149 IdentifierOut := MscNumberArr();
150 DemandSourceHeaderIdOut := MscNumberArr();
151 DemandSourceDeliveryOut := MscChar30Arr();
152 DemandSourceTypeOut := MscNumberArr();
153 CustomerIdOut := MscNumberArr();
154 CustomerSiteIdOut := MscNumberArr();
155 QuantityOrderedOut := MscNumberArr();
156 QuantityUOMOut := MscChar3Arr();
157 RequestedShipDateOut := MscDateArr();
158 RequestedArrivalDateOut := MscDateArr();
159 LatestAcceptableDateOut := MscDateArr();
160 DeliveryLeadTimeOut := MscNumberArr();
161 ShipMethodOut := MscChar30Arr();
162 DemandClassOut := MscChar30Arr();
163 ShipSetNameOut := MscChar30Arr();
164 ArrivalSetNameOut := MscChar30Arr();
165 OverrideFlagOut := MscChar1Arr();
166 ShipDateOut := MscDateArr();
167 ArrivalDateOut := MscDateArr();
168 AvailableQuantityOut := MscNumberArr();
169 RequestedDateQuantityOut := MscNumberArr();
170 GroupShipDateOut := MscDateArr();
171 GroupArrivalDateOut := MscDateArr();
172 AtpLeadTimeOut := MscNumberArr();
173 ErrorCodeOut := MscNumberArr();
174 EndPeggingIdOut := MscNumberArr();
175 OldSourceOrganizationIdOut := MscNumberArr();
176 OldDemandClassOut := MscChar30Arr();
177 RequestItemIdOut := MscNumberArr();
178 ReqItemReqDateQtyOut := MscNumberArr();
179 ReqItemAvailableDateOut := MscDateArr();
180 ReqItemAvailableDateQtyOut := MscNumberArr();
181 RequestItemNameOut := MscChar40Arr();
182 OldInventoryItemIdOut := MscNumberArr();
183 SubstFlagOut := MscNumberArr();
184 BaseModelIdOut := MscNumberArr();
185 OssErrorCodeOut := MscNumberArr();
186 MatchedItemNameOut := MscChar255Arr();
187 CascadeModelInfoToCompOut := MscNumberArr();
188 PlanIdOut := MscNumberArr();
189
190 ------------ STEP 1 verify first that all mandatory params are set!
191 ln := InventoryItemId.COUNT;
192
193 IF ( InstanceId is NULL or InstanceId.COUNT =0) THEN
194 parameterName := 'InstanceId';
195 RAISE atpParameterSizeError;
196 END IF;
197 IF ( InventoryItemId is NULL or InventoryItemId.COUNT =0) THEN
198 parameterName := 'InventoryItemId';
199 RAISE atpParameterSizeError;
200 END IF;
201
202 IF ( Identifier is NULL or Identifier.COUNT =0) THEN
203 parameterName := 'Identifier';
204 RAISE atpParameterSizeError;
205 END IF;
206
207 IF ( CallingModule is NULL or CallingModule.COUNT =0) THEN
208 parameterName := 'Calling Module';
209 RAISE atpParameterSizeError;
210 END IF;
211
212 IF ( QuantityOrdered is NULL or QuantityOrdered.COUNT =0) THEN
213 parameterName := 'QuantityOrdered';
214 RAISE atpParameterSizeError;
215 END IF;
216
217 IF ( QuantityUOM is NULL or QuantityUOM.COUNT =0) THEN
218 parameterName := 'QuantityUOM';
219 RAISE atpParameterSizeError;
220 END IF;
221
222 IF (RequestedShipDate.COUNT=0 AND RequestedArrivalDate.COUNT =0 ) THEN
223 parameterName := 'Required Ship Date';
224 RAISE atpParameterSizeError;
225 END IF;
226
227 IF ( Action is NULL or Action.COUNT =0) THEN
228 parameterName := 'Action';
229 RAISE atpParameterSizeError;
230 END IF;
231
232 ----------STEP 2 -- apps initialize for system_administrator , just so we can get profiles values
233 fnd_global.apps_initialize(UserId, RespId, AppId);
234
235 error_tracking_number:= 170;
236
237 ----------- STEP 3 -- form input parameters
238 MSC_SATP_FUNC.Extend_Atp (p_atp_table, x_return_status, ln);
239 error_tracking_number:= 1180;
240
241 IF InstanceId is not NULL and InstanceId.Count <>0 THEN
242 FOR i IN 1 .. ln LOOP p_atp_table.Instance_Id(i) := InstanceId(i); END LOOP ;
243 END IF;
244
245
246 IF InventoryItemId is not NULL and InventoryItemId.Count <>0 THEN
247 FOR i IN 1 .. ln
248 LOOP
249 p_atp_table.Inventory_Item_Id (i) := InventoryItemId (i);
250 END LOOP ;
251 END IF;
252
253 IF InventoryItemName is not NULL and InventoryItemName.Count <>0 THEN
254 FOR i IN 1 .. ln LOOP p_atp_table.Inventory_Item_Name (i) := InventoryItemName (i); END LOOP ;
255 END IF;
256 IF SourceOrganizationId is not NULL and SourceOrganizationId.Count <>0 THEN
257 FOR i IN 1 .. ln LOOP p_atp_table.Source_Organization_Id (i) := SourceOrganizationId (i); END LOOP ;
258 END IF;
259 IF SourceOrganizationCode is not NULL and SourceOrganizationCode.Count <>0 THEN
260 FOR i IN 1 .. ln LOOP p_atp_table.Source_Organization_Code (i) := SourceOrganizationCode (i); END LOOP ;
261 END IF;
262 IF OrganizationId is not NULL and OrganizationId.Count <>0 THEN
263 FOR i IN 1 .. ln LOOP p_atp_table.Organization_Id (i) := OrganizationId (i); END LOOP ;
264 END IF;
265 IF Identifier is not NULL and Identifier.Count <>0 THEN
266 FOR i IN 1 .. ln LOOP p_atp_table.Identifier (i) := Identifier (i); END LOOP ;
267 END IF;
268 IF DemandSourceHeaderId is not NULL and DemandSourceHeaderId.Count <>0 THEN
269 FOR i IN 1 .. ln LOOP p_atp_table.Demand_Source_Header_Id (i) := DemandSourceHeaderId (i); END LOOP ;
270 END IF;
271 IF DemandSourceDelivery is not NULL and DemandSourceDelivery.Count <>0 THEN
272 FOR i IN 1 .. ln LOOP p_atp_table.Demand_Source_Delivery (i) := DemandSourceDelivery (i); END LOOP ;
273 END IF;
274 IF DemandSourceType is not NULL and DemandSourceType.Count <>0 THEN
275 FOR i IN 1 .. ln LOOP p_atp_table.Demand_Source_Type (i) := DemandSourceType(i); END LOOP ;
276 END IF;
277 -----------------------------------------------------------------------------------------------------------------
278
279 IF CallingModule is not NULL and CallingModule.Count <>0 THEN
280 FOR i IN 1 .. ln LOOP p_atp_table.Calling_Module (i) := CallingModule(i); END LOOP ;
281 END IF;
282 IF CustomerId is not NULL and CustomerId.Count <>0 THEN
283 FOR i IN 1 .. ln LOOP p_atp_table.Customer_Id (i) := CustomerId(i); END LOOP ;
284 END IF;
285 IF CustomerSiteId is not NULL and CustomerSiteId.Count <>0 THEN
286 FOR i IN 1 .. ln LOOP p_atp_table.Customer_Site_Id (i) := CustomerSiteId(i); END LOOP ;
287 END IF;
288 IF QuantityOrdered is not NULL and QuantityOrdered.Count <>0 THEN
289 FOR i IN 1 .. ln LOOP p_atp_table.Quantity_Ordered (i) := QuantityOrdered(i); END LOOP ;
290 END IF;
291 IF QuantityUOM is not NULL and QuantityUOM.Count <>0 THEN
292 FOR i IN 1 .. ln LOOP p_atp_table.Quantity_UOM (i) := QuantityUOM(i); END LOOP ;
293 END IF;
294 IF RequestedShipDate is not NULL and RequestedShipDate.Count <>0 THEN
295 FOR i IN 1 .. ln LOOP p_atp_table.Requested_Ship_Date (i) := RequestedShipDate(i); END LOOP ;
296 END IF;
297 IF RequestedArrivalDate is not NULL and RequestedArrivalDate.Count <>0 THEN
298 FOR i IN 1 .. ln LOOP p_atp_table.Requested_Arrival_Date (i) := RequestedArrivalDate(i); END LOOP ;
299 END IF;
300 IF LatestAcceptableDate is not NULL and LatestAcceptableDate.Count <>0 THEN
301 FOR i IN 1 .. ln LOOP p_atp_table.Latest_Acceptable_Date (i) := LatestAcceptableDate(i); END LOOP ;
302 END IF;
303 IF DeliveryLeadTime is not NULL and DeliveryLeadTime.Count <>0 THEN
304 FOR i IN 1 .. ln LOOP p_atp_table.Delivery_Lead_Time (i) := DeliveryLeadTime(i); END LOOP ;
305 END IF;
306 IF ShipMethod is not NULL and ShipMethod.Count <>0 THEN
307 FOR i IN 1 .. ln LOOP p_atp_table.Ship_Method (i) := ShipMethod(i); END LOOP ;
308 END IF;
309 -----------------------------------------------------------------------------------------------------------------
310
311 IF DemandClass is not NULL and DemandClass.Count <>0 THEN
312 FOR i IN 1 .. ln LOOP p_atp_table.Demand_Class (i) := DemandClass(i); END LOOP ;
313 END IF;
314 IF ShipSetName is not NULL and ShipSetName.Count <>0 THEN
315 FOR i IN 1 .. ln LOOP p_atp_table.Ship_Set_Name (i) := ShipSetName(i); END LOOP ;
316 END IF;
317 IF ArrivalSetName is not NULL and ArrivalSetName.Count <>0 THEN
318 FOR i IN 1 .. ln LOOP p_atp_table.Arrival_Set_Name (i) := ArrivalSetName(i); END LOOP ;
319 END IF;
320 IF OverrideFlag is not NULL and OverrideFlag.Count <>0 THEN
321 FOR i IN 1 .. ln LOOP p_atp_table.Override_Flag (i) := OverrideFlag(i); END LOOP ;
322 END IF;
323 IF Action is not NULL and Action.Count <>0 THEN
324 FOR i IN 1 .. ln LOOP p_atp_table.Action(i) := Action(i); END LOOP ;
325 END IF;
326 IF InsertFlag is not NULL and InsertFlag.Count <>0 THEN
327 FOR i IN 1 .. ln LOOP p_atp_table.Insert_Flag (i) := InsertFlag(i); END LOOP ;
328 END IF;
329 IF OEFlag is not NULL and OEFlag.Count <>0 THEN
330 FOR i IN 1 .. ln LOOP p_atp_table.OE_Flag (i) := OEFlag(i); END LOOP ;
331 END IF;
332 IF OrderNumber is not NULL and OrderNumber.Count <>0 THEN
333 FOR i IN 1 .. ln LOOP p_atp_table.Order_Number (i) := OrderNumber(i); END LOOP ;
334 END IF;
335 IF OldSourceOrganizationId is not NULL and OldSourceOrganizationId.Count <>0 THEN
336 FOR i IN 1 .. ln LOOP p_atp_table.Old_Source_Organization_Id (i) := OldSourceOrganizationId(i); END LOOP ;
337 END IF;
338 IF OldDemandClass is not NULL and OldDemandClass.Count <>0 THEN
339 FOR i IN 1 .. ln LOOP p_atp_table.Old_Demand_Class (i) := OldDemandClass(i); END LOOP ;
340 END IF;
341 IF Attribute01 is not NULL and Attribute01.Count <>0 THEN
342 FOR i IN 1 .. ln LOOP p_atp_table.Attribute_01 (i) := Attribute01(i); END LOOP ;
343 END IF;
344 -----------------------------------------------------------------------------------------------------------------
345
346 IF Attribute02 is not NULL and Attribute02.Count <>0 THEN
347 FOR i IN 1 .. ln LOOP p_atp_table.Attribute_02 (i) := Attribute02(i); END LOOP ;
348 END IF;
349 IF CustomerCountry is not NULL and CustomerCountry.Count <>0 THEN
350 FOR i IN 1 .. ln LOOP p_atp_table.Customer_Country (i) := CustomerCountry(i); END LOOP ;
351 END IF;
352 IF CustomerState is not NULL and CustomerState.Count <>0 THEN
353 FOR i IN 1 .. ln LOOP p_atp_table.Customer_State (i) := CustomerState(i); END LOOP ;
354 END IF;
355 IF CustomerCity is not NULL and CustomerCity.Count <>0 THEN
356 FOR i IN 1 .. ln LOOP p_atp_table.Customer_City (i) := CustomerCity(i); END LOOP ;
357 END IF;
358 IF CustomerPostalCode is not NULL and CustomerPostalCode.Count <>0 THEN
359 FOR i IN 1 .. ln LOOP p_atp_table.Customer_Postal_Code (i) := CustomerPostalCode(i); END LOOP ;
360 END IF;
361 IF SubstitutionTypeCode is not NULL and SubstitutionTypeCode.Count <>0 THEN
362 FOR i IN 1 .. ln LOOP p_atp_table.Substitution_Typ_Code (i) := SubstitutionTypeCode(i); END LOOP ;
363 END IF;
364 IF ReqItemDetailFlag is not NULL and ReqItemDetailFlag.Count <>0 THEN
365 FOR i IN 1 .. ln LOOP p_atp_table.Req_Item_Detail_Flag (i) := ReqItemDetailFlag(i); END LOOP ;
366 END IF;
367 IF SalesRep is not NULL and SalesRep.Count <>0 THEN
368 FOR i IN 1 .. ln LOOP p_atp_table.Sales_Rep (i) := SalesRep(i); END LOOP ;
369 END IF;
370 IF CustomerContact is not NULL and CustomerContact.Count <>0 THEN
371 FOR i IN 1 .. ln LOOP p_atp_table.Customer_Contact (i) := CustomerContact(i); END LOOP ;
372 END IF;
373 IF TopModelLineId is not NULL and TopModelLineId.Count <>0 THEN
374 FOR i IN 1 .. ln LOOP p_atp_table.Top_Model_Line_Id (i) := TopModelLineId(i); END LOOP ;
375 END IF;
376 IF ATOParentModelLineId is not NULL and ATOParentModelLineId.Count <>0 THEN
377 FOR i IN 1 .. ln LOOP p_atp_table.ATO_Parent_Model_Line_Id (i) := ATOParentModelLineId(i); END LOOP ;
378 END IF;
379 IF ATOModelLineId is not NULL and ATOModelLineId.Count <>0 THEN
380 FOR i IN 1 .. ln LOOP p_atp_table.ATO_Model_Line_Id (i) := ATOModelLineId(i); END LOOP ;
381 END IF;
382 IF ParentLineId is not NULL and ParentLineId.Count <>0 THEN
383 FOR i IN 1 .. ln LOOP p_atp_table.Parent_Line_Id (i) := ParentLineId(i); END LOOP ;
384 END IF;
385 IF MatchItemId is not NULL and MatchItemId.Count <>0 THEN
386 FOR i IN 1 .. ln LOOP p_atp_table.Match_Item_Id (i) := MatchItemId(i); END LOOP ;
387 END IF;
388 IF ConfigItemLineId is not NULL and ConfigItemLineId.Count <>0 THEN
389 FOR i IN 1 .. ln LOOP p_atp_table.Config_Item_Line_Id (i) := ConfigItemLineId(i); END LOOP ;
390 END IF;
391 IF ValidationOrg is not NULL and ValidationOrg.Count <>0 THEN
392 FOR i IN 1 .. ln LOOP p_atp_table.Validation_Org (i) := ValidationOrg(i); END LOOP ;
393 END IF;
394 IF ComponentSequenceID is not NULL and ComponentSequenceID.Count <>0 THEN
395 FOR i IN 1 .. ln LOOP p_atp_table.Component_Sequence_ID (i) := ComponentSequenceID(i); END LOOP ;
396 END IF;
397 IF ComponentCode is not NULL and ComponentCode.Count <>0 THEN
398 FOR i IN 1 .. ln LOOP p_atp_table.Component_Code (i) := ComponentCode(i); END LOOP ;
399 END IF;
400 IF LineNumber is not NULL and LineNumber.Count <>0 THEN
401 FOR i IN 1 .. ln LOOP p_atp_table.Line_Number (i) := LineNumber(i); END LOOP ;
402 END IF;
403 IF IncludedItemFlag is not NULL and IncludedItemFlag.Count <>0 THEN
404 FOR i IN 1 .. ln LOOP p_atp_table.Included_Item_Flag (i) := IncludedItemFlag(i); END LOOP ;
405 END IF;
406 -----------------------------------------------------------------------------------------------------------------
407
408 IF PickComponentsFlag is not NULL and PickComponentsFlag.Count <>0 THEN
409 FOR i IN 1 .. ln LOOP p_atp_table.Pick_Components_Flag (i) := PickComponentsFlag(i); END LOOP ;
410 END IF;
411 IF CascadeModelInfoToComp is not NULL and CascadeModelInfoToComp.Count <>0 THEN
412 FOR i IN 1 .. ln LOOP p_atp_table.Cascade_Model_Info_To_Comp (i) := CascadeModelInfoToComp(i); END LOOP ;
413 END IF;
414 IF SequenceNumber is not NULL and SequenceNumber.Count <>0 THEN
415 FOR i IN 1 .. ln LOOP p_atp_table.Sequence_Number (i) := SequenceNumber(i); END LOOP ;
416 END IF;
417 IF InternalOrgId is not NULL and InternalOrgId.Count <>0 THEN
418 FOR i IN 1 .. ln LOOP p_atp_table.Internal_Org_Id (i) := InternalOrgId(i); END LOOP ;
419 END IF;
420 IF PartySiteId is not NULL and PartySiteId.Count <>0 THEN
421 FOR i IN 1 .. ln LOOP p_atp_table.Party_Site_Id (i) := PartySiteId(i); END LOOP ;
422 END IF;
423 IF PartOfSet is not NULL and PartOfSet.Count <>0 THEN
424 FOR i IN 1 .. ln LOOP p_atp_table.Part_Of_Set (i) := PartOfSet(i); END LOOP ;
425 END IF;
426 l_session_id := SessionId;
427 error_tracking_number:= 1190;
428
429 ------- STEP 4 -- Call pl/sqlp ATP
430 MRP_ATP_PUB.Call_ATP(
431 l_session_id,
432 p_atp_table,
433 x_atp_table,
434 x_atp_supply_demand,
435 x_atp_period,
436 x_atp_details,
437 x_return_status,
438 x_msg_data,
439 x_msg_count);
440
441 error_tracking_number:= 200;
442
443 IF x_return_status = 'E' THEN
444 RAISE atpError;
445 END IF;
446
447 IF x_return_status = 'U' THEN
448 RAISE atpUnknownError;
449 END IF;
450
451
452 -- otherwise x_return_status = 'S' for success
453
454 ln := x_atp_table.Ship_Date.Count;
455 if ln = 0 then
456 ln := x_atp_table.Arrival_Date.Count;
457 end if;
458
459 error_tracking_number:= 2100;
460
461
462 IF ln > 0 THEN
463 InstanceIdOut.extend(ln);
464 FOR i IN 1 .. ln LOOP InstanceIdOut (i) := x_atp_table.Instance_Id(i); END LOOP ;
465 InventoryItemIdOut.extend(ln);
466 FOR i IN 1 .. ln LOOP InventoryItemIdOut (i) := x_atp_table.Inventory_Item_Id(i); END LOOP ;
467
468 InventoryItemNameOut.extend(ln);
469 FOR i IN 1 .. ln LOOP InventoryItemNameOut (i) := x_atp_table.Inventory_Item_Name(i); END LOOP ;
470 SourceOrganizationIdOut.extend(ln);
471 FOR i IN 1 .. ln LOOP SourceOrganizationIdOut (i) := x_atp_table.Source_Organization_Id(i); END LOOP ;
472 SourceOrganizationCodeOut.extend(ln);
473 FOR i IN 1 .. ln LOOP SourceOrganizationCodeOut (i) := x_atp_table.Source_Organization_Code(i); END LOOP ;
474
475 error_tracking_number:= 2103;
476
477 OrganizationIdOut.extend(ln);
478 FOR i IN 1 .. ln LOOP OrganizationIdOut (i) := x_atp_table.Organization_Id(i); END LOOP ;
479 IdentifierOut.extend(ln);
480 FOR i IN 1 .. ln LOOP IdentifierOut (i) := x_atp_table.Identifier(i); END LOOP ;
481 DemandSourceHeaderIdOut.extend(ln);
482 FOR i IN 1 .. ln LOOP DemandSourceHeaderIdOut (i) := x_atp_table.Demand_Source_Header_Id(i); END LOOP ;
483 DemandSourceDeliveryOut.extend(ln);
484 FOR i IN 1 .. ln LOOP DemandSourceDeliveryOut (i) := x_atp_table.Demand_Source_Delivery(i); END LOOP ;
485 DemandSourceTypeOut.extend(ln);
486 FOR i IN 1 .. ln LOOP DemandSourceTypeOut (i) := x_atp_table.Demand_Source_Type(i); END LOOP ;
487
488 error_tracking_number:= 2104;
489
490 CustomerIdOut.extend(ln);
491 FOR i IN 1 .. ln LOOP CustomerIdOut (i) := x_atp_table.Customer_Id(i); END LOOP ;
492 CustomerSiteIdOut.extend(ln);
493 FOR i IN 1 .. ln LOOP CustomerSiteIdOut (i) := x_atp_table.Customer_Site_Id(i); END LOOP ;
494 QuantityOrderedOut.extend(ln);
495 FOR i IN 1 .. ln LOOP QuantityOrderedOut (i) := x_atp_table.Quantity_Ordered(i); END LOOP ;
496 QuantityUOMOut.extend(ln);
497 FOR i IN 1 .. ln LOOP QuantityUOMOut (i) := x_atp_table.Quantity_UOM(i); END LOOP ;
498 RequestedShipDateOut.extend(ln);
499 FOR i IN 1 .. ln LOOP RequestedShipDateOut (i) := x_atp_table.Requested_Ship_Date(i); END LOOP ;
500 RequestedArrivalDateOut.extend(ln);
501 FOR i IN 1 .. ln LOOP RequestedArrivalDateOut (i) := x_atp_table.Requested_Arrival_Date(i); END LOOP ;
502 LatestAcceptableDateOut.extend(ln);
503 FOR i IN 1 .. ln LOOP LatestAcceptableDateOut (i) := x_atp_table.Latest_Acceptable_Date(i); END LOOP ;
504 DeliveryLeadTimeOut.extend(ln);
505 FOR i IN 1 .. ln LOOP DeliveryLeadTimeOut (i) := x_atp_table.Delivery_Lead_Time(i); END LOOP ;
506 ShipMethodOut.extend(ln);
507 FOR i IN 1 .. ln LOOP ShipMethodOut (i) := x_atp_table.Ship_Method(i); END LOOP ;
508 DemandClassOut.extend(ln);
509 FOR i IN 1 .. ln LOOP DemandClassOut (i) := x_atp_table.Demand_Class(i); END LOOP ;
510
511 error_tracking_number:= 2105;
512
513 ShipSetNameOut.extend(ln);
514 FOR i IN 1 .. ln LOOP ShipSetNameOut (i) := x_atp_table.Ship_Set_Name(i); END LOOP ;
515 ArrivalSetNameOut.extend(ln);
516 FOR i IN 1 .. ln LOOP ArrivalSetNameOut (i) :=x_atp_table. Arrival_Set_Name(i); END LOOP ;
517 OverrideFlagOut.extend(ln);
518 FOR i IN 1 .. ln LOOP OverrideFlagOut (i) := x_atp_table.Override_Flag(i); END LOOP ;
519 ShipDateOut.extend(ln);
520 FOR i IN 1 .. ln LOOP ShipDateOut (i) := x_atp_table.Ship_Date(i); END LOOP ;
521 ArrivalDateOut.extend(ln);
522 FOR i IN 1 .. ln LOOP ArrivalDateOut (i) := x_atp_table.Arrival_Date(i); END LOOP ;
523
524 AvailableQuantityOut.extend(ln);
525 FOR i IN 1 .. ln LOOP AvailableQuantityOut (i) := x_atp_table.Available_Quantity(i); END LOOP ;
526 RequestedDateQuantityOut.extend(ln);
527 FOR i IN 1 .. ln LOOP RequestedDateQuantityOut (i) := x_atp_table.Requested_Date_Quantity(i); END LOOP ;
528 GroupShipDateOut.extend(ln);
529 FOR i IN 1 .. ln LOOP GroupShipDateOut (i) := x_atp_table.Group_Ship_Date(i); END LOOP ;
530 GroupArrivalDateOut.extend(ln);
531 FOR i IN 1 .. ln LOOP GroupArrivalDateOut (i) := x_atp_table.Group_Arrival_Date(i); END LOOP ;
532
533 error_tracking_number:= 2106;
534
535 AtpLeadTimeOut.extend(ln);
536 FOR i IN 1 .. ln LOOP AtpLeadTimeOut (i) := x_atp_table.Atp_Lead_Time(i); END LOOP ;
537 ErrorCodeOut.extend(ln);
538 FOR i IN 1 .. ln LOOP ErrorCodeOut (i) := x_atp_table.Error_Code(i); END LOOP ;
539 EndPeggingIdOut.extend(ln);
540 FOR i IN 1 .. ln LOOP EndPeggingIdOut (i) :=x_atp_table.End_Pegging_Id(i); END LOOP ;
541 OldSourceOrganizationIdOut.extend(ln);
542 FOR i IN 1 .. ln LOOP OldSourceOrganizationIdOut (i) := x_atp_table.Old_Source_Organization_Id(i); END LOOP ;
543 OldDemandClassOut.extend(ln);
544 FOR i IN 1 .. ln LOOP OldDemandClassOut (i) := x_atp_table.Old_Demand_Class(i); END LOOP ;
545 RequestItemIdOut.extend(ln);
546 FOR i IN 1 .. ln LOOP RequestItemIdOut (i) := x_atp_table.Request_Item_Id(i); END LOOP ;
547 ReqItemReqDateQtyOut.extend(ln);
548 FOR i IN 1 .. ln LOOP ReqItemReqDateQtyOut (i) := x_atp_table.Req_Item_Req_Date_Qty(i); END LOOP ;
549 ReqItemAvailableDateOut.extend(ln);
550 FOR i IN 1 .. ln LOOP ReqItemAvailableDateOut (i) := x_atp_table.req_item_available_date(i); END LOOP ;
551 ReqItemAvailableDateQtyOut.extend(ln);
552 FOR i IN 1 .. ln LOOP ReqItemAvailableDateQtyOut (i) := x_atp_table.Req_Item_Available_Date_Qty(i); END LOOP ;
553 RequestItemNameOut.extend(ln);
554 FOR i IN 1 .. ln LOOP RequestItemNameOut (i) := x_atp_table.Request_Item_Name(i); END LOOP ;
555 OldInventoryItemIdOut.extend(ln);
556 FOR i IN 1 .. ln LOOP OldInventoryItemIdOut (i) := x_atp_table.Old_Inventory_Item_Id(i); END LOOP ;
557
558 error_tracking_number:= 2110;
559
560 SubstFlagOut.extend(ln);
561 FOR i IN 1 .. ln LOOP SubstFlagOut (i) := x_atp_table.Subst_Flag(i); END LOOP ;
562 BaseModelIdOut.extend(ln);
563 FOR i IN 1 .. ln LOOP BaseModelIdOut (i) := x_atp_table.Base_Model_Id(i); END LOOP ;
564 OssErrorCodeOut.extend(ln);
565 FOR i IN 1 .. ln LOOP OssErrorCodeOut (i) := x_atp_table.Oss_Error_Code(i); END LOOP ;
566 MatchedItemNameOut.extend(ln);
567 FOR i IN 1 .. ln LOOP MatchedItemNameOut (i) := x_atp_table.Matched_Item_Name(i); END LOOP ;
568 CascadeModelInfoToCompOut.extend(ln);
569 FOR i IN 1 .. ln LOOP CascadeModelInfoToCompOut (i) := x_atp_table.Cascade_Model_Info_To_Comp(i); END LOOP ;
570 PlanIdOut.extend(ln);
571 FOR i IN 1 .. ln LOOP PlanIdOut (i) := x_atp_table.Plan_Id(i); END LOOP ;
572
573 END IF;
574
575 error_tracking_number:= 2200;
576 status := 'SUCCESS';
577
578
579 EXCEPTION
580 WHEN atpParameterSizeError THEN
581 status := 'ERROR_WRONG ARRAY_SIZE IN ' || parameterName;
582 RETURN;
583 WHEN atpError THEN
584 status := 'ERROR_ATP';
585 RETURN;
586 WHEN atpProfilesError THEN
587 status := 'ERROR_PROFILES_FOR_USER_OR_RESPID_NOT_SET';
588 RETURN;
589 WHEN others THEN
590 status := 'ERROR_UNEXPECTED_'||error_tracking_number;
591 RETURN;
592
593 END GetPromiseDate;
594
595
596
597 PROCEDURE GetPromiseDate_Public(
598 status OUT nocopy VARCHAR2,
599 UserName IN VARCHAR2,
600 RespName IN VARCHAR2,
601 RespApplName IN VARCHAR2,
602 SecurityGroupName IN VARCHAR2,
603 Language IN VARCHAR2,
604 InstanceId IN MscNumberArr ,
605 InventoryItemId IN MscNumberArr,
606 InventoryItemName IN MscChar40Arr,
607 SourceOrganizationId IN MscNumberArr ,
608 SourceOrganizationCode IN MscChar7Arr ,
609 OrganizationId IN MscNumberArr ,
610 Identifier IN MscNumberArr ,
611 DemandSourceHeaderId IN MscNumberArr ,
612 DemandSourceDelivery IN MscChar30Arr ,
613 DemandSourceType IN MscNumberArr ,
614 CallingModule IN MscNumberArr ,
615 CustomerId IN MscNumberArr ,
616 CustomerSiteId IN MscNumberArr ,
617 QuantityOrdered IN MscNumberArr ,
618 QuantityUOM IN MscChar3Arr ,
619 RequestedShipDate IN MscDateArr,
620 RequestedArrivalDate IN MscDateArr ,
621 LatestAcceptableDate IN MscDateArr ,
622 DeliveryLeadTime IN MscNumberArr ,
623 ShipMethod IN MscChar30Arr ,
624 DemandClass IN MscChar30Arr ,
625 ShipSetName IN MscChar30Arr ,
626 ArrivalSetName IN MscChar30Arr ,
627 OverrideFlag IN MscChar1Arr ,
628 Action IN MscNumberArr ,
629 InsertFlag IN MscNumberArr ,
630 OEFlag IN MscChar1Arr ,
631 OrderNumber IN MscNumberArr ,
632 OldSourceOrganizationId IN MscNumberArr ,
633 OldDemandClass IN MscChar30Arr ,
634 Attribute01 IN MscNumberArr ,
635 Attribute02 IN MscNumberArr ,
636 CustomerCountry IN MscChar60Arr ,
637 CustomerState IN MscChar60Arr ,
638 CustomerCity IN MscChar60Arr ,
639 CustomerPostalCode IN MscChar60Arr ,
640 SubstitutionTypeCode IN MscNumberArr ,
641 ReqItemDetailFlag IN MscNumberArr ,
642 SalesRep IN MscChar255Arr ,
643 CustomerContact IN MscChar255Arr ,
644 TopModelLineId IN MscNumberArr ,
645 ATOParentModelLineId IN MscNumberArr ,
646 ATOModelLineId IN MscNumberArr ,
647 ParentLineId IN MscNumberArr ,
648 MatchItemId IN MscNumberArr ,
649 ConfigItemLineId IN MscNumberArr ,
650 ValidationOrg IN MscNumberArr ,
651 ComponentSequenceID IN MscNumberArr ,
652 ComponentCode IN MscChar255Arr ,
653 LineNumber IN MscChar80Arr ,
654 IncludedItemFlag IN MscNumberArr ,
655 PickComponentsFlag IN MscChar1Arr ,
656 CascadeModelInfoToComp IN MscNumberArr ,
657 SequenceNumber IN MscNumberArr ,
658 InternalOrgId IN MscNumberArr ,
659 PartySiteId IN MscNumberArr ,
660 PartOfSet IN MscChar1Arr ,
661
662 InstanceIdOut OUT nocopy MscNumberArr,
663 InventoryItemIdOut OUT nocopy MscNumberArr,
664 InventoryItemNameOut OUT nocopy MscChar40Arr,
665 SourceOrganizationIdOut OUT nocopy MscNumberArr,
666 SourceOrganizationCodeOut OUT nocopy MscChar7Arr,
667 OrganizationIdOut OUT nocopy MscNumberArr,
668 IdentifierOut OUT nocopy MscNumberArr,
669 DemandSourceHeaderIdOut OUT nocopy MscNumberArr,
670 DemandSourceDeliveryOut OUT nocopy MscChar30Arr,
671 DemandSourceTypeOut OUT nocopy MscNumberArr,
672 CustomerIdOut OUT nocopy MscNumberArr,
673 CustomerSiteIdOut OUT nocopy MscNumberArr,
674 QuantityOrderedOut OUT nocopy MscNumberArr,
675 QuantityUOMOut OUT nocopy MscChar3Arr,
676 RequestedShipDateOut OUT nocopy MscDateArr,
677 RequestedArrivalDateOut OUT nocopy MscDateArr,
678 LatestAcceptableDateOut OUT nocopy MscDateArr,
679 DeliveryLeadTimeOut OUT nocopy MscNumberArr,
680 ShipMethodOut OUT nocopy MscChar30Arr,
681 DemandClassOut OUT nocopy MscChar30Arr,
682 ShipSetNameOut OUT nocopy MscChar30Arr,
683 ArrivalSetNameOut OUT nocopy MscChar30Arr,
684 OverrideFlagOut OUT nocopy MscChar1Arr,
685 ShipDateOut OUT nocopy MscDateArr,
686 ArrivalDateOut OUT nocopy MscDateArr,
687 AvailableQuantityOut OUT nocopy MscNumberArr,
688 RequestedDateQuantityOut OUT nocopy MscNumberArr,
689 GroupShipDateOut OUT nocopy MscDateArr,
690 GroupArrivalDateOut OUT nocopy MscDateArr,
691 AtpLeadTimeOut OUT nocopy MscNumberArr,
692 ErrorCodeOut OUT nocopy MscNumberArr,
693 EndPeggingIdOut OUT nocopy MscNumberArr,
694 OldSourceOrganizationIdOut OUT nocopy MscNumberArr,
695 OldDemandClassOut OUT nocopy MscChar30Arr,
696 RequestItemIdOut OUT nocopy MscNumberArr,
697 ReqItemReqDateQtyOut OUT nocopy MscNumberArr,
698 ReqItemAvailableDateOut OUT nocopy MscDateArr,
699 ReqItemAvailableDateQtyOut OUT nocopy MscNumberArr,
700 RequestItemNameOut OUT nocopy MscChar40Arr,
701 OldInventoryItemIdOut OUT nocopy MscNumberArr,
702 SubstFlagOut OUT nocopy MscNumberArr,
703 BaseModelIdOut OUT nocopy MscNumberArr,
704 OssErrorCodeOut OUT nocopy MscNumberArr,
705 MatchedItemNameOut OUT nocopy MscChar255Arr,
706 CascadeModelInfoToCompOut OUT nocopy MscNumberArr,
707 PlanIdOut OUT nocopy MscNumberArr,
708 SessionId IN NUMBER,
709 UserId IN NUMBER,
710 RespId IN NUMBER,
711 AppId IN NUMBER
712 )AS
713 error_tracking_num number;
714
715 BEGIN
716 InstanceIdOut := MscNumberArr();
717 InventoryItemIdOut := MscNumberArr();
718 InventoryItemNameOut := MscChar40Arr();
719 SourceOrganizationIdOut := MscNumberArr();
720 SourceOrganizationCodeOut := MscChar7Arr();
721 OrganizationIdOut := MscNumberArr();
722 IdentifierOut := MscNumberArr();
723 DemandSourceHeaderIdOut := MscNumberArr();
724 DemandSourceDeliveryOut := MscChar30Arr();
725 DemandSourceTypeOut := MscNumberArr();
726 CustomerIdOut := MscNumberArr();
727 CustomerSiteIdOut := MscNumberArr();
728 QuantityOrderedOut := MscNumberArr();
729 QuantityUOMOut := MscChar3Arr();
730 RequestedShipDateOut := MscDateArr();
731 RequestedArrivalDateOut := MscDateArr();
732 LatestAcceptableDateOut := MscDateArr();
733 DeliveryLeadTimeOut := MscNumberArr();
734 ShipMethodOut := MscChar30Arr();
735 DemandClassOut := MscChar30Arr();
736 ShipSetNameOut := MscChar30Arr();
737 ArrivalSetNameOut := MscChar30Arr();
738 OverrideFlagOut := MscChar1Arr();
739 ShipDateOut := MscDateArr();
740 ArrivalDateOut := MscDateArr();
741 AvailableQuantityOut := MscNumberArr();
742 RequestedDateQuantityOut := MscNumberArr();
743 GroupShipDateOut := MscDateArr();
744 GroupArrivalDateOut := MscDateArr();
745 AtpLeadTimeOut := MscNumberArr();
746 ErrorCodeOut := MscNumberArr();
747 EndPeggingIdOut := MscNumberArr();
748 OldSourceOrganizationIdOut := MscNumberArr();
749 OldDemandClassOut := MscChar30Arr();
750 RequestItemIdOut := MscNumberArr();
751 ReqItemReqDateQtyOut := MscNumberArr();
752 ReqItemAvailableDateOut := MscDateArr();
753 ReqItemAvailableDateQtyOut := MscNumberArr();
754 RequestItemNameOut := MscChar40Arr();
755 OldInventoryItemIdOut := MscNumberArr();
756 SubstFlagOut := MscNumberArr();
757 BaseModelIdOut := MscNumberArr();
758 OssErrorCodeOut := MscNumberArr();
759 MatchedItemNameOut := MscChar255Arr();
760 CascadeModelInfoToCompOut := MscNumberArr();
761 PlanIdOut := MscNumberArr();
762 error_tracking_num :=2010;
763
764 GetPromiseDate( Status,
765 InstanceId ,
766 InventoryItemId,
767 InventoryItemName ,
768 SourceOrganizationId ,
769 SourceOrganizationCode ,
770 OrganizationId ,
771 Identifier ,
772 DemandSourceHeaderId ,
773 DemandSourceDelivery ,
774 DemandSourceType ,
775 CallingModule ,
776 CustomerId ,
777 CustomerSiteId,
778 QuantityOrdered ,
779 QuantityUOM ,
780 RequestedShipDate,
781 RequestedArrivalDate,
782 LatestAcceptableDate ,
783 DeliveryLeadTime,
784 ShipMethod,
785 DemandClass ,
786 ShipSetName ,
787 ArrivalSetName ,
788 OverrideFlag ,
789 Action ,
790 InsertFlag ,
791 OEFlag ,
792 OrderNumber ,
793 OldSourceOrganizationId,
794 OldDemandClass ,
795 Attribute01 ,
796 Attribute02,
797 CustomerCountry ,
798 CustomerState ,
799 CustomerCity ,
800 CustomerPostalCode ,
801 SubstitutionTypeCode ,
802 ReqItemDetailFlag ,
803 SalesRep ,
804 CustomerContact ,
805 TopModelLineId ,
806 ATOParentModelLineId ,
807 ATOModelLineId ,
808 ParentLineId ,
809 MatchItemId ,
810 ConfigItemLineId ,
811 ValidationOrg ,
812 ComponentSequenceID ,
813 ComponentCode ,
814 LineNumber ,
815 IncludedItemFlag ,
816 PickComponentsFlag ,
817 CascadeModelInfoToComp ,
818 SequenceNumber,
819 InternalOrgId ,
820 PartySiteId ,
821 PartOfSet ,
822
823 InstanceIdOut,
824 InventoryItemIdOut,
825 InventoryItemNameOut,
826 SourceOrganizationIdOut ,
827 SourceOrganizationCodeOut,
828 OrganizationIdOut ,
829 IdentifierOut,
830 DemandSourceHeaderIdOut ,
831 DemandSourceDeliveryOut,
832 DemandSourceTypeOut,
833 CustomerIdOut ,
834 CustomerSiteIdOut,
835 QuantityOrderedOut,
836 QuantityUOMOut ,
837 RequestedShipDateOut ,
838 RequestedArrivalDateOut ,
839 LatestAcceptableDateOut,
840 DeliveryLeadTimeOut ,
841 ShipMethodOut ,
842 DemandClassOut,
843 ShipSetNameOut ,
844 ArrivalSetNameOut,
845 OverrideFlagOut,
846 ShipDateOut ,
847 ArrivalDateOut ,
848 AvailableQuantityOut ,
849 RequestedDateQuantityOut,
850 GroupShipDateOut,
851 GroupArrivalDateOut,
852 AtpLeadTimeOut ,
853 ErrorCodeOut ,
854 EndPeggingIdOut ,
855 OldSourceOrganizationIdOut,
856 OldDemandClassOut,
857 RequestItemIdOut,
858 ReqItemReqDateQtyOut ,
859 ReqItemAvailableDateOut,
860 ReqItemAvailableDateQtyOut,
861 RequestItemNameOut,
862 OldInventoryItemIdOut ,
863 SubstFlagOut ,
864 BaseModelIdOut,
865 OssErrorCodeOut,
866 MatchedItemNameOut ,
867 CascadeModelInfoToCompOut,
868 PlanIdOut,
869 SessionId,
870 UserId,
871 RespId,
872 AppId);
873
874
875
876 EXCEPTION
877 WHEN others THEN
878 status := 'ERROR_UNEXPECTED_'||error_tracking_num;
879
880 return;
881 END GetPromiseDate_Public;
882
883 END MSC_WS_ATP;