[Home] [Help]
PACKAGE BODY: APPS.INVPVLM2
Source
1 PACKAGE BODY INVPVLM2 AS
2 /* $Header: INVPVM2B.pls 120.2 2005/07/14 01:08:15 anmurali ship $ */
3
4 FUNCTION validate_item_org4
5 (
6 org_id number,
7 all_org NUMBER := 2,
8 prog_appid NUMBER := -1,
9 prog_id NUMBER := -1,
10 request_id NUMBER := -1,
11 user_id NUMBER := -1,
12 login_id NUMBER := -1,
13 err_text in out NOCOPY varchar2,
14 xset_id IN NUMBER DEFAULT -999
15 )
16 return integer
17 is
18 /*
19 ** Retrieve column values for validation
20 */
21 CURSOR cc is
22 select
23 msii.TRANSACTION_ID,
24 msii.INVENTORY_ITEM_ID III,
25 msii.ORGANIZATION_ID ORGID,
26 mp.MASTER_ORGANIZATION_ID MORGID,
27 msii.START_AUTO_LOT_NUMBER,
28 msii.LOT_CONTROL_CODE,
29 msii.SHELF_LIFE_CODE,
30 msii.SHELF_LIFE_DAYS,
31 msii.SERIAL_NUMBER_CONTROL_CODE,
32 msii.START_AUTO_SERIAL_NUMBER,
33 msii.AUTO_SERIAL_ALPHA_PREFIX,
34 msii.SOURCE_TYPE,
35 msii.SOURCE_ORGANIZATION_ID,
36 msii.SOURCE_SUBINVENTORY,
37 msii.EXPENSE_ACCOUNT,
38 msii.ENCUMBRANCE_ACCOUNT,
39 msii.RESTRICT_SUBINVENTORIES_CODE,
40 msii.UNIT_WEIGHT,
41 msii.WEIGHT_UOM_CODE,
42 msii.VOLUME_UOM_CODE,
43 msii.UNIT_VOLUME,
44 msii.RESTRICT_LOCATORS_CODE,
45 msii.LOCATION_CONTROL_CODE,
46 msii.SHRINKAGE_RATE,
47 msii.ACCEPTABLE_EARLY_DAYS,
48 msii.PLANNING_TIME_FENCE_CODE,
49 msii.DEMAND_TIME_FENCE_CODE,
50 msii.LEAD_TIME_LOT_SIZE,
51 msii.STD_LOT_SIZE,
52 msii.CUM_MANUFACTURING_LEAD_TIME,
53 msii.OVERRUN_PERCENTAGE,
54 msii.MRP_CALCULATE_ATP_FLAG,
55 msii.ACCEPTABLE_RATE_INCREASE,
56 msii.ACCEPTABLE_RATE_DECREASE,
57 msii.CUMULATIVE_TOTAL_LEAD_TIME,
58 msii.PLANNING_TIME_FENCE_DAYS,
59 msii.DEMAND_TIME_FENCE_DAYS,
60 msii.END_ASSEMBLY_PEGGING_FLAG,
61 msii.REPETITIVE_PLANNING_FLAG,
62 msii.PLANNING_EXCEPTION_SET,
63 msii.BOM_ITEM_TYPE,
64 msii.PICK_COMPONENTS_FLAG,
65 msii.REPLENISH_TO_ORDER_FLAG,
66 msii.BASE_ITEM_ID,
67 msii.ATP_COMPONENTS_FLAG,
68 msii.ATP_FLAG,
69 msii.FIXED_LEAD_TIME,
70 msii.VARIABLE_LEAD_TIME,
71 msii.WIP_SUPPLY_LOCATOR_ID,
72 msii.WIP_SUPPLY_TYPE,
73 msii.WIP_SUPPLY_SUBINVENTORY,
74 msii.PRIMARY_UOM_CODE,
75 -- msii.PRIMARY_UNIT_OF_MEASURE,
76 msii.ALLOWED_UNITS_LOOKUP_CODE,
77 msii.COST_OF_SALES_ACCOUNT,
78 msii.SALES_ACCOUNT,
79 msii.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
80 msii.INVENTORY_ITEM_STATUS_CODE,
81 msii.INVENTORY_PLANNING_CODE,
82 msii.PLANNER_CODE,
83 msii.PLANNING_MAKE_BUY_CODE,
84 msii.FIXED_LOT_MULTIPLIER,
85 msii.ROUNDING_CONTROL_TYPE,
86 msii.CARRYING_COST,
87 msii.POSTPROCESSING_LEAD_TIME,
88 msii.PREPROCESSING_LEAD_TIME,
89 msii.FULL_LEAD_TIME,
90 msii.ORDER_COST,
91 msii.MRP_SAFETY_STOCK_PERCENT,
92 msii.MRP_SAFETY_STOCK_CODE,
93 msii.MIN_MINMAX_QUANTITY,
94 msii.MAX_MINMAX_QUANTITY,
95 msii.MINIMUM_ORDER_QUANTITY,
96 msii.FIXED_ORDER_QUANTITY,
97 msii.FIXED_DAYS_SUPPLY,
98 msii.MAXIMUM_ORDER_QUANTITY,
99 msii.ATP_RULE_ID,
100 msii.PICKING_RULE_ID,
101 msii.RESERVABLE_TYPE,
102 msii.POSITIVE_MEASUREMENT_ERROR,
103 msii.OUTSIDE_OPERATION_FLAG,
104 msii.OUTSIDE_OPERATION_UOM_TYPE,
105 msii.SAFETY_STOCK_BUCKET_DAYS,
106 msii.AUTO_REDUCE_MPS,
107 msii.COSTING_ENABLED_FLAG,
108 msii.AUTO_CREATED_CONFIG_FLAG,
109 msii.CYCLE_COUNT_ENABLED_FLAG,
110 msii.ITEM_TYPE,
111 msii.MODEL_CONFIG_CLAUSE_NAME,
112 msii.SHIP_MODEL_COMPLETE_FLAG,
113 msii.MRP_PLANNING_CODE,
114 msii.RETURN_INSPECTION_REQUIREMENT,
115 msii.ATO_FORECAST_CONTROL
116 --Added as part of 11.5.9 ENH
117 ,msii.LOT_SUBSTITUTION_ENABLED
118 ,msii.MINIMUM_LICENSE_QUANTITY
119 ,msii.EAM_ACTIVITY_SOURCE_CODE
120 ,msii.IB_ITEM_INSTANCE_CLASS
121 ,msii.CONFIG_MODEL_TYPE
122 --Added as part of R12 Enh
123 ,msii.OUTSOURCED_ASSEMBLY
124 ,msii.CHARGE_PERIODICITY_CODE
125 ,msii.SUBCONTRACTING_COMPONENT
126 ,msii.REPAIR_LEADTIME
127 ,msii.REPAIR_PROGRAM
128 ,msii.REPAIR_YIELD
129 ,msii.PREPOSITION_POINT
130 from MTL_SYSTEM_ITEMS_INTERFACE msii, MTL_PARAMETERS mp
131 where ((msii.organization_id = org_id) or
132 (all_Org = 1))
133 and msii.process_flag = 2
134 and msii.organization_id = mp.organization_id
135 and msii.set_process_id = xset_id
136 and msii.organization_id <> mp.master_organization_id;
137
138 /*
139 ** Attributes that are Item level (can't be different from master org's value)
140 */
141
142 CURSOR ee is
143 select attribute_name,
144 control_level
145 from MTL_ITEM_ATTRIBUTES
146 where control_level = 1;
147
148 msicount number;
149 msiicount number;
150 l_item_id number;
151 l_org_id number;
152 trans_id number;
153 ext_flag number := 0;
154 error_msg varchar2(70);
155 status number;
156 dumm_status number;
157 master_org_id number;
158 LOGGING_ERR exception;
159 VALIDATE_ERR exception;
160 X_TRUE number := 1;
161 A_START_AUTO_LOT_NUMBER number := 2;
162 A_LOT_CONTROL_CODE number := 2;
163 A_SHELF_LIFE_CODE number := 2;
164 A_SHELF_LIFE_DAYS number := 2;
165 A_SERIAL_NUMBER_CONTROL_CODE number := 2;
166 A_START_AUTO_SERIAL_NUMBER number := 2;
167 A_AUTO_SERIAL_ALPHA_PREFIX number := 2;
168 A_SOURCE_TYPE number := 2;
169 A_SOURCE_ORGANIZATION_ID number := 2;
170 A_SOURCE_SUBINVENTORY number := 2;
171 A_EXPENSE_ACCOUNT number := 2;
172 A_ENCUMBRANCE_ACCOUNT number := 2;
173 A_RESTRICT_SUBINVENTORIES_CODE number := 2;
174 A_UNIT_WEIGHT number := 2;
175 A_WEIGHT_UOM_CODE number := 2;
176 A_VOLUME_UOM_CODE number := 2;
177 A_UNIT_VOLUME number := 2;
178 A_RESTRICT_LOCATORS_CODE number := 2;
179 A_LOCATION_CONTROL_CODE number := 2;
180 A_SHRINKAGE_RATE number := 2;
181 A_ACCEPTABLE_EARLY_DAYS number := 2;
182 A_PLANNING_TIME_FENCE_CODE number := 2;
183 A_DEMAND_TIME_FENCE_CODE number := 2;
184 A_LEAD_TIME_LOT_SIZE number := 2;
185 A_STD_LOT_SIZE number := 2;
186 A_CUM_MANUFACTURING_LEAD_TIME number := 2;
187 A_OVERRUN_PERCENTAGE number := 2;
188 A_MRP_CALCULATE_ATP_FLAG number := 2;
189 A_ACCEPTABLE_RATE_INCREASE number := 2;
190 A_ACCEPTABLE_RATE_DECREASE number := 2;
191 A_CUMULATIVE_TOTAL_LEAD_TIME number := 2;
192 A_PLANNING_TIME_FENCE_DAYS number := 2;
193 A_DEMAND_TIME_FENCE_DAYS number := 2;
194 A_END_ASSEMBLY_PEGGING_FLAG number := 2;
195 A_REPETITIVE_PLANNING_FLAG number := 2;
196 A_PLANNING_EXCEPTION_SET number := 2;
197 A_BOM_ITEM_TYPE number := 2;
198 A_PICK_COMPONENTS_FLAG number := 2;
199 A_REPLENISH_TO_ORDER_FLAG number := 2;
200 A_BASE_ITEM_ID number := 2;
201 A_ATP_COMPONENTS_FLAG number := 2;
202 A_ATP_FLAG number := 2;
203 A_FIXED_LEAD_TIME number := 2;
204 A_VARIABLE_LEAD_TIME number := 2;
205 A_WIP_SUPPLY_LOCATOR_ID number := 2;
206 A_WIP_SUPPLY_TYPE number := 2;
207 A_WIP_SUPPLY_SUBINVENTORY number := 2;
208 A_PRIMARY_UOM_CODE number := 2;
209 -- A_PRIMARY_UNIT_OF_MEASURE number := 2;
210 A_ALLOWED_UNITS_LOOKUP_CODE number := 2;
211 A_COST_OF_SALES_ACCOUNT number := 2;
212 A_SALES_ACCOUNT number := 2;
213 A_DEFAULT_INCLUDE_IN_ROLLUP_F number := 2;
214 A_INVENTORY_ITEM_STATUS_CODE number := 2;
215 A_INVENTORY_PLANNING_CODE number := 2;
216 A_PLANNER_CODE number := 2;
217 A_PLANNING_MAKE_BUY_CODE number := 2;
218 A_FIXED_LOT_MULTIPLIER number := 2;
219 A_ROUNDING_CONTROL_TYPE number := 2;
220 A_CARRYING_COST number := 2;
221 A_POSTPROCESSING_LEAD_TIME number := 2;
222 A_PREPROCESSING_LEAD_TIME number := 2;
223 A_FULL_LEAD_TIME number := 2;
224 A_ORDER_COST number := 2;
225 A_MRP_SAFETY_STOCK_PERCENT number := 2;
226 A_MRP_SAFETY_STOCK_CODE number := 2;
227 A_MIN_MINMAX_QUANTITY number := 2;
228 A_MAX_MINMAX_QUANTITY number := 2;
229 A_MINIMUM_ORDER_QUANTITY number := 2;
230 A_FIXED_ORDER_QUANTITY number := 2;
231 A_FIXED_DAYS_SUPPLY number := 2;
232 A_MAXIMUM_ORDER_QUANTITY number := 2;
233 A_ATP_RULE_ID number := 2;
234 A_PICKING_RULE_ID number := 2;
235 A_RESERVABLE_TYPE number := 2;
236 A_POSITIVE_MEASUREMENT_ERROR number := 2;
237 A_OUTSIDE_OPERATION_FLAG number := 2;
238 A_OUTSIDE_OPERATION_UOM_TYPE number := 2;
239 A_SAFETY_STOCK_BUCKET_DAYS number := 2;
240 A_AUTO_REDUCE_MPS number := 2;
241 A_COSTING_ENABLED_FLAG number := 2;
242 A_AUTO_CREATED_CONFIG_FLAG number := 2;
243 A_CYCLE_COUNT_ENABLED_FLAG number := 2;
244 A_ITEM_TYPE number := 2;
245 A_MODEL_CONFIG_CLAUSE_NAME number := 2;
246 A_SHIP_MODEL_COMPLETE_FLAG number := 2;
247 A_MRP_PLANNING_CODE number := 2;
248 A_RETURN_INSPECTION_REQUIRE number := 2;
249 A_ATO_FORECAST_CONTROL number := 2;
250 A_LOT_SUBSTITUTION_ENABLED number := 2;
251 A_MINIMUM_LICENSE_QUANTITY number := 2;
252 A_EAM_ACTIVITY_SOURCE_CODE number := 2;
253 A_IB_ITEM_INSTANCE_CLASS number := 2;
254 A_CONFIG_MODEL_TYPE number := 2;
255 --Added as part of R12
256 A_SUBCONTRACTING_COMPONENT number := 2;
257 A_OUTSOURCED_ASSEMBLY number := 2;
258 A_CHARGE_PERIODICITY_CODE number := 2;
259 A_REPAIR_LEADTIME number := 2;
260 A_REPAIR_PROGRAM number := 2;
261 A_REPAIR_YIELD number := 2;
262 A_PREPOSITION_POINT number := 2;
263
264 begin
265
266 /* set the attribute level variables to be used when validating a child's item
267 ** level attributes against the master org's attribute value. this is done
268 ** outside the loop so that it is only done once for all the records
269 ** instead of once PER record.
270 */
271
272 for att in ee loop
273 if substr(att.attribute_name,18) = 'START_AUTO_LOT_NUMBER' then
274 A_START_AUTO_LOT_NUMBER := att.control_level;
275 end if;
276 if substr(att.attribute_name,18) = 'LOT_CONTROL_CODE' then
277 A_LOT_CONTROL_CODE := att.control_level;
278 end if;
279 if substr(att.attribute_name,18) = 'SHELF_LIFE_CODE' then
280 A_SHELF_LIFE_CODE := att.control_level;
281 end if;
282 if substr(att.attribute_name,18) = 'SHELF_LIFE_DAYS' then
283 A_SHELF_LIFE_DAYS := att.control_level;
284 end if;
285 if substr(att.attribute_name,18) = 'SERIAL_NUMBER_CONTROL_CODE' then
286 A_SERIAL_NUMBER_CONTROL_CODE := att.control_level;
287 end if;
288 if substr(att.attribute_name,18) = 'START_AUTO_SERIAL_NUMBER' then
289 A_START_AUTO_SERIAL_NUMBER := att.control_level;
290 end if;
291 if substr(att.attribute_name,18) = 'AUTO_SERIAL_ALPHA_PREFIX' then
292 A_AUTO_SERIAL_ALPHA_PREFIX := att.control_level;
293 end if;
294 if substr(att.attribute_name,18) = 'SOURCE_TYPE' then
295 A_SOURCE_TYPE := att.control_level;
296 end if;
297 if substr(att.attribute_name,18) = 'SOURCE_ORGANIZATION_ID' then
298 A_SOURCE_ORGANIZATION_ID := att.control_level;
299 end if;
300 if substr(att.attribute_name,18) = 'SOURCE_SUBINVENTORY' then
301 A_SOURCE_SUBINVENTORY := att.control_level;
302 end if;
303 if substr(att.attribute_name,18) = 'EXPENSE_ACCOUNT' then
304 A_EXPENSE_ACCOUNT := att.control_level;
305 end if;
306 if substr(att.attribute_name,18) = 'ENCUMBRANCE_ACCOUNT' then
307 A_ENCUMBRANCE_ACCOUNT := att.control_level;
308 end if;
309 if substr(att.attribute_name,18) = 'RESTRICT_SUBINVENTORIES_CODE' then
310 A_RESTRICT_SUBINVENTORIES_CODE := att.control_level;
311 end if;
312 if substr(att.attribute_name,18) = 'UNIT_WEIGHT' then
313 A_UNIT_WEIGHT := att.control_level;
314 end if;
315 if substr(att.attribute_name,18) = 'WEIGHT_UOM_CODE' then
316 A_WEIGHT_UOM_CODE := att.control_level;
317 end if;
318 if substr(att.attribute_name,18) = 'VOLUME_UOM_CODE' then
319 A_VOLUME_UOM_CODE := att.control_level;
320 end if;
321 if substr(att.attribute_name,18) = 'UNIT_VOLUME' then
322 A_UNIT_VOLUME := att.control_level;
323 end if;
324 if substr(att.attribute_name,18) = 'RESTRICT_LOCATORS_CODE' then
325 A_RESTRICT_LOCATORS_CODE := att.control_level;
326 end if;
327 if substr(att.attribute_name,18) = 'LOCATION_CONTROL_CODE' then
328 A_LOCATION_CONTROL_CODE := att.control_level;
329 end if;
330 if substr(att.attribute_name,18) = 'SHRINKAGE_RATE' then
331 A_SHRINKAGE_RATE := att.control_level;
332 end if;
333 if substr(att.attribute_name,18) = 'ACCEPTABLE_EARLY_DAYS' then
334 A_ACCEPTABLE_EARLY_DAYS := att.control_level;
335 end if;
336 if substr(att.attribute_name,18) = 'PLANNING_TIME_FENCE_CODE' then
337 A_PLANNING_TIME_FENCE_CODE := att.control_level;
338 end if;
339 if substr(att.attribute_name,18) = 'DEMAND_TIME_FENCE_CODE' then
340 A_DEMAND_TIME_FENCE_CODE := att.control_level;
341 end if;
342 if substr(att.attribute_name,18) = 'LEAD_TIME_LOT_SIZE' then
343 A_LEAD_TIME_LOT_SIZE := att.control_level;
344 end if;
345 if substr(att.attribute_name,18) = 'STD_LOT_SIZE' then
346 A_STD_LOT_SIZE := att.control_level;
347 end if;
348 if substr(att.attribute_name,18) = 'CUM_MANUFACTURING_LEAD_TIME' then
349 A_CUM_MANUFACTURING_LEAD_TIME := att.control_level;
350 end if;
351 if substr(att.attribute_name,18) = 'OVERRUN_PERCENTAGE' then
352 A_OVERRUN_PERCENTAGE := att.control_level;
353 end if;
354 if substr(att.attribute_name,18) = 'MRP_CALCULATE_ATP_FLAG' then
355 A_MRP_CALCULATE_ATP_FLAG := att.control_level;
356 end if;
357 if substr(att.attribute_name,18) = 'ACCEPTABLE_RATE_INCREASE' then
358 A_ACCEPTABLE_RATE_INCREASE := att.control_level;
359 end if;
360 if substr(att.attribute_name,18) = 'ACCEPTABLE_RATE_DECREASE' then
361 A_ACCEPTABLE_RATE_DECREASE := att.control_level;
362 end if;
363 if substr(att.attribute_name,18) = 'CUMULATIVE_TOTAL_LEAD_TIME' then
364 A_CUMULATIVE_TOTAL_LEAD_TIME := att.control_level;
365 end if;
366 if substr(att.attribute_name,18) = 'PLANNING_TIME_FENCE_DAYS' then
367 A_PLANNING_TIME_FENCE_DAYS := att.control_level;
368 end if;
369 if substr(att.attribute_name,18) = 'DEMAND_TIME_FENCE_DAYS' then
370 A_DEMAND_TIME_FENCE_DAYS := att.control_level;
371 end if;
372 if substr(att.attribute_name,18) = 'END_ASSEMBLY_PEGGING_FLAG' then
373 A_END_ASSEMBLY_PEGGING_FLAG := att.control_level;
374 end if;
375 if substr(att.attribute_name,18) = 'REPETITIVE_PLANNING_FLAG' then
376 A_REPETITIVE_PLANNING_FLAG := att.control_level;
377 end if;
378 if substr(att.attribute_name,18) = 'PLANNING_EXCEPTION_SET' then
379 A_PLANNING_EXCEPTION_SET := att.control_level;
380 end if;
381 if substr(att.attribute_name,18) = 'BOM_ITEM_TYPE' then
382 A_BOM_ITEM_TYPE := att.control_level;
383 end if;
384 if substr(att.attribute_name,18) = 'PICK_COMPONENTS_FLAG' then
385 A_PICK_COMPONENTS_FLAG := att.control_level;
386 end if;
387 if substr(att.attribute_name,18) = 'REPLENISH_TO_ORDER_FLAG' then
388 A_REPLENISH_TO_ORDER_FLAG := att.control_level;
389 end if;
390 if substr(att.attribute_name,18) = 'BASE_ITEM_ID' then
391 A_BASE_ITEM_ID := att.control_level;
392 end if;
393 if substr(att.attribute_name,18) = 'ATP_COMPONENTS_FLAG' then
394 A_ATP_COMPONENTS_FLAG := att.control_level;
395 end if;
396 if substr(att.attribute_name,18) = 'ATP_FLAG' then
397 A_ATP_FLAG := att.control_level;
398 end if;
399 if substr(att.attribute_name,18) = 'FIXED_LEAD_TIME' then
400 A_FIXED_LEAD_TIME := att.control_level;
401 end if;
402 if substr(att.attribute_name,18) = 'VARIABLE_LEAD_TIME' then
403 A_VARIABLE_LEAD_TIME := att.control_level;
404 end if;
405 if substr(att.attribute_name,18) = 'WIP_SUPPLY_LOCATOR_ID' then
406 A_WIP_SUPPLY_LOCATOR_ID := att.control_level;
407 end if;
408 if substr(att.attribute_name,18) = 'WIP_SUPPLY_TYPE' then
409 A_WIP_SUPPLY_TYPE := att.control_level;
410 end if;
411 if substr(att.attribute_name,18) = 'WIP_SUPPLY_SUBINVENTORY' then
412 A_WIP_SUPPLY_SUBINVENTORY := att.control_level;
413 end if;
417 /*
414 if substr(att.attribute_name,18) = 'PRIMARY_UOM_CODE' then
415 A_PRIMARY_UOM_CODE := att.control_level;
416 end if;
418 if substr(att.attribute_name,18) = 'PRIMARY_UNIT_OF_MEASURE' then
419 A_PRIMARY_UNIT_OF_MEASURE := att.control_level;
420 end if;
421 */
422 if substr(att.attribute_name,18) = 'ALLOWED_UNITS_LOOKUP_CODE' then
423 A_ALLOWED_UNITS_LOOKUP_CODE := att.control_level;
424 end if;
425 if substr(att.attribute_name,18) = 'COST_OF_SALES_ACCOUNT' then
426 A_COST_OF_SALES_ACCOUNT := att.control_level;
427 end if;
428 if substr(att.attribute_name,18) = 'SALES_ACCOUNT' then
429 A_SALES_ACCOUNT := att.control_level;
430 end if;
431 if substr(att.attribute_name,18) = 'DEFAULT_INCLUDE_IN_ROLLUP_FLAG' then
432 A_DEFAULT_INCLUDE_IN_ROLLUP_F := att.control_level;
433 end if;
434 if substr(att.attribute_name,18) = 'INVENTORY_ITEM_STATUS_CODE' then
435 A_INVENTORY_ITEM_STATUS_CODE := att.control_level;
436 end if;
437 if substr(att.attribute_name,18) = 'INVENTORY_PLANNING_CODE' then
438 A_INVENTORY_PLANNING_CODE := att.control_level;
439 end if;
440 if substr(att.attribute_name,18) = 'PLANNER_CODE' then
441 A_PLANNER_CODE := att.control_level;
442 end if;
443 if substr(att.attribute_name,18) = 'PLANNING_MAKE_BUY_CODE' then
444 A_PLANNING_MAKE_BUY_CODE := att.control_level;
445 end if;
446 if substr(att.attribute_name,18) = 'FIXED_LOT_MULTIPLIER' then
447 A_FIXED_LOT_MULTIPLIER := att.control_level;
448 end if;
449 if substr(att.attribute_name,18) = 'ROUNDING_CONTROL_TYPE' then
450 A_ROUNDING_CONTROL_TYPE := att.control_level;
451 end if;
452 if substr(att.attribute_name,18) = 'CARRYING_COST' then
453 A_CARRYING_COST := att.control_level;
454 end if;
455 if substr(att.attribute_name,18) = 'POSTPROCESSING_LEAD_TIME' then
456 A_POSTPROCESSING_LEAD_TIME := att.control_level;
457 end if;
458 if substr(att.attribute_name,18) = 'PREPROCESSING_LEAD_TIME' then
459 A_PREPROCESSING_LEAD_TIME := att.control_level;
460 end if;
461 if substr(att.attribute_name,18) = 'FULL_LEAD_TIME' then
462 A_FULL_LEAD_TIME := att.control_level;
463 end if;
464 if substr(att.attribute_name,18) = 'ORDER_COST' then
465 A_ORDER_COST := att.control_level;
466 end if;
467 if substr(att.attribute_name,18) = 'MRP_SAFETY_STOCK_PERCENT' then
468 A_MRP_SAFETY_STOCK_PERCENT := att.control_level;
469 end if;
470 if substr(att.attribute_name,18) = 'MRP_SAFETY_STOCK_CODE' then
471 A_MRP_SAFETY_STOCK_CODE := att.control_level;
472 end if;
473 if substr(att.attribute_name,18) = 'MIN_MINMAX_QUANTITY' then
474 A_MIN_MINMAX_QUANTITY := att.control_level;
475 end if;
476 if substr(att.attribute_name,18) = 'MAX_MINMAX_QUANTITY' then
477 A_MAX_MINMAX_QUANTITY := att.control_level;
478 end if;
479 if substr(att.attribute_name,18) = 'MINIMUM_ORDER_QUANTITY' then
480 A_MINIMUM_ORDER_QUANTITY := att.control_level;
481 end if;
482 if substr(att.attribute_name,18) = 'FIXED_ORDER_QUANTITY' then
483 A_FIXED_ORDER_QUANTITY := att.control_level;
484 end if;
485 if substr(att.attribute_name,18) = 'FIXED_DAYS_SUPPLY' then
486 A_FIXED_DAYS_SUPPLY := att.control_level;
487 end if;
488 if substr(att.attribute_name,18) = 'MAXIMUM_ORDER_QUANTITY' then
489 A_MAXIMUM_ORDER_QUANTITY := att.control_level;
490 end if;
491 if substr(att.attribute_name,18) = 'ATP_RULE_ID' then
492 A_ATP_RULE_ID := att.control_level;
493 end if;
494 if substr(att.attribute_name,18) = 'PICKING_RULE_ID' then
495 A_PICKING_RULE_ID := att.control_level;
496 end if;
497 if substr(att.attribute_name,18) = 'RESERVABLE_TYPE' then
498 A_RESERVABLE_TYPE := att.control_level;
499 end if;
500 if substr(att.attribute_name,18) = 'POSITIVE_MEASUREMENT_ERROR' then
501 A_POSITIVE_MEASUREMENT_ERROR := att.control_level;
502 end if;
503 if substr(att.attribute_name,18) = 'OUTSIDE_OPERATION_FLAG' then
504 A_OUTSIDE_OPERATION_FLAG := att.control_level;
505 end if;
506 if substr(att.attribute_name,18) = 'OUTSIDE_OPERATION_UOM_TYPE' then
507 A_OUTSIDE_OPERATION_UOM_TYPE := att.control_level;
508 end if;
509 if substr(att.attribute_name,18) = 'SAFETY_STOCK_BUCKET_DAYS' then
510 A_SAFETY_STOCK_BUCKET_DAYS := att.control_level;
511 end if;
512 if substr(att.attribute_name,18) = 'AUTO_REDUCE_MPS' then
513 A_AUTO_REDUCE_MPS := att.control_level;
514 end if;
515 if substr(att.attribute_name,18) = 'COSTING_ENABLED_FLAG' then
516 A_COSTING_ENABLED_FLAG := att.control_level;
517 end if;
518 if substr(att.attribute_name,18) = 'AUTO_CREATED_CONFIG_FLAG' then
519 A_AUTO_CREATED_CONFIG_FLAG := att.control_level;
520 end if;
521 if substr(att.attribute_name,18) = 'CYCLE_COUNT_ENABLED_FLAG' then
522 A_CYCLE_COUNT_ENABLED_FLAG := att.control_level;
523 end if;
524 if substr(att.attribute_name,18) = 'ITEM_TYPE' then
525 A_ITEM_TYPE := att.control_level;
526 end if;
527 if substr(att.attribute_name,18) = 'MODEL_CONFIG_CLAUSE_NAME' then
528 A_MODEL_CONFIG_CLAUSE_NAME := att.control_level;
529 end if;
530 if substr(att.attribute_name,18) = 'SHIP_MODEL_COMPLETE_FLAG' then
531 A_SHIP_MODEL_COMPLETE_FLAG := att.control_level;
532 end if;
533 if substr(att.attribute_name,18) = 'MRP_PLANNING_CODE' then
534 A_MRP_PLANNING_CODE := att.control_level;
535 end if;
536 if substr(att.attribute_name,18) = 'RETURN_INSPECTION_REQUIREMENT' then
540 A_ATO_FORECAST_CONTROL := att.control_level;
537 A_RETURN_INSPECTION_REQUIRE := att.control_level;
538 end if;
539 if substr(att.attribute_name,18) = 'ATO_FORECAST_CONTROL' then
541 end if;
542 --Added as part of 11.5.9
543 if substr(att.attribute_name,18) = 'LOT_SUBSTITUTION_ENABLED' then
544 A_LOT_SUBSTITUTION_ENABLED := att.control_level;
545 end if;
546 if substr(att.attribute_name,18) = 'MINIMUM_LICENSE_QUANTITY' then
547 A_MINIMUM_LICENSE_QUANTITY := att.control_level;
548 end if;
549 if substr(att.attribute_name,18) = 'EAM_ACTIVITY_SOURCE_CODE' then
550 A_EAM_ACTIVITY_SOURCE_CODE := att.control_level;
551 end if;
552 if substr(att.attribute_name,18) = 'IB_ITEM_INSTANCE_CLASS' then
553 A_IB_ITEM_INSTANCE_CLASS := att.control_level;
554 end if;
555 if substr(att.attribute_name,18) = 'CONFIG_MODEL_TYPE' then
556 A_CONFIG_MODEL_TYPE := att.control_level;
557 end if;
558 --Added as part of R12 Enh.
559 if substr(att.attribute_name,18) = 'OUTSOURCED_ASSEMBLY' then
560 A_OUTSOURCED_ASSEMBLY := att.control_level;
561 end if;
562 if substr(att.attribute_name,18) = 'SUBCONTRACTING_COMPONENT' then
563 A_SUBCONTRACTING_COMPONENT := att.control_level;
564 end if;
565 if substr(att.attribute_name,18) = 'CHARGE_PERIODICITY_CODE' then
566 A_CHARGE_PERIODICITY_CODE := att.control_level;
567 end if;
568 if substr(att.attribute_name,18) = 'REPAIR_LEADTIME' then
569 A_REPAIR_LEADTIME := att.control_level;
570 end if;
571 if substr(att.attribute_name,18) = 'REPAIR_PROGRAM' then
572 A_REPAIR_PROGRAM := att.control_level;
573 end if;
574 if substr(att.attribute_name,18) = 'REPAIR_YIELD' then
575 A_REPAIR_YIELD := att.control_level;
576 end if;
577 if substr(att.attribute_name,18) = 'PREPOSITION_POINT' then
578 A_PREPOSITION_POINT := att.control_level;
579 end if;
580 end loop;
581 /*
582 ** validate the records
583 */
584 for cr in cc loop
585 status := 0;
586 trans_id := cr.transaction_id;
587 l_org_id := cr.ORGID;
588
589 begin /* MASTER_CHILD_4A */
590
591 select inventory_item_id into msicount
592 from mtl_system_items msi
593 where msi.inventory_item_id = cr.III
594 and msi.organization_id = cr.MORGID
595 and decode(A_START_AUTO_LOT_NUMBER,X_TRUE,nvl(cr.START_AUTO_LOT_NUMBER,-1),nvl(msi.START_AUTO_LOT_NUMBER,-1))=nvl(msi.START_AUTO_LOT_NUMBER,-1)
596 and decode(A_LOT_CONTROL_CODE,X_TRUE,nvl(cr.LOT_CONTROL_CODE,-1),nvl(msi.LOT_CONTROL_CODE,-1))=nvl(msi.LOT_CONTROL_CODE,-1)
597 and decode(A_SHELF_LIFE_CODE,X_TRUE,nvl(cr.SHELF_LIFE_CODE,-1),nvl(msi.SHELF_LIFE_CODE,-1))=nvl(msi.SHELF_LIFE_CODE,-1)
598 and decode(A_SHELF_LIFE_DAYS,X_TRUE,nvl(cr.SHELF_LIFE_DAYS,-1),nvl(msi.SHELF_LIFE_DAYS,-1))=nvl(msi.SHELF_LIFE_DAYS,-1)
599 and decode(A_SERIAL_NUMBER_CONTROL_CODE,X_TRUE,nvl(cr.SERIAL_NUMBER_CONTROL_CODE,-1),nvl(msi.SERIAL_NUMBER_CONTROL_CODE,-1))=nvl(msi.SERIAL_NUMBER_CONTROL_CODE,-1)
600 and decode(A_START_AUTO_SERIAL_NUMBER,X_TRUE,nvl(cr.START_AUTO_SERIAL_NUMBER,-1),nvl(msi.START_AUTO_SERIAL_NUMBER,-1))=nvl(msi.START_AUTO_SERIAL_NUMBER,-1)
601 and decode(A_AUTO_SERIAL_ALPHA_PREFIX,X_TRUE,nvl(cr.AUTO_SERIAL_ALPHA_PREFIX,-1),nvl(msi.AUTO_SERIAL_ALPHA_PREFIX,-1))=nvl(msi.AUTO_SERIAL_ALPHA_PREFIX,-1);
602
603 exception
604 when NO_DATA_FOUND then
605 dumm_status := INVPUOPI.mtl_log_interface_err(
606 cr.ORGID,
607 user_id,
608 login_id,
609 prog_appid,
610 prog_id,
611 request_id,
612 cr.TRANSACTION_ID,
613 error_msg,
614 'MASTER_CHILD_4A',
615 'MTL_SYSTEM_ITEMS_INTERFACE',
616 'INV_IOI_MASTER_CHILD_4A',
617 err_text);
618 If dumm_status < 0 Then
619 raise LOGGING_ERR ;
620 End if ;
621 update mtl_system_items_interface msii
622 set process_flag = 3
623 where msii.transaction_id = cr.transaction_id;
624
625 end; /* MASTER_CHILD_4A */
626
627
628 begin /* MASTER_CHILD_4B */
629
630 select inventory_item_id into msicount
631 from mtl_system_items msi
632 where msi.inventory_item_id = cr.III
633 and msi.organization_id = cr.MORGID
634 and decode(A_SOURCE_TYPE,X_TRUE,nvl(cr.SOURCE_TYPE,-1),nvl(msi.SOURCE_TYPE,-1))=nvl(msi.SOURCE_TYPE,-1)
635 and decode(A_SOURCE_ORGANIZATION_ID,X_TRUE,nvl(cr.SOURCE_ORGANIZATION_ID,-1),nvl(msi.SOURCE_ORGANIZATION_ID,-1))=nvl(msi.SOURCE_ORGANIZATION_ID,-1)
636 and decode(A_SOURCE_SUBINVENTORY,X_TRUE,nvl(cr.SOURCE_SUBINVENTORY,-1),nvl(msi.SOURCE_SUBINVENTORY,-1))=nvl(msi.SOURCE_SUBINVENTORY,-1)
637 and decode(A_EXPENSE_ACCOUNT,X_TRUE,nvl(cr.EXPENSE_ACCOUNT,-1),nvl(msi.EXPENSE_ACCOUNT,-1))=nvl(msi.EXPENSE_ACCOUNT,-1)
638 and decode(A_ENCUMBRANCE_ACCOUNT,X_TRUE,nvl(cr.ENCUMBRANCE_ACCOUNT,-1),nvl(msi.ENCUMBRANCE_ACCOUNT,-1))=nvl(msi.ENCUMBRANCE_ACCOUNT,-1)
639 and decode(A_RESTRICT_SUBINVENTORIES_CODE,X_TRUE,nvl(cr.RESTRICT_SUBINVENTORIES_CODE,-1),nvl(msi.RESTRICT_SUBINVENTORIES_CODE,-1))=nvl(msi.RESTRICT_SUBINVENTORIES_CODE,-1)
640 and decode(A_UNIT_WEIGHT,X_TRUE,nvl(cr.UNIT_WEIGHT,-1),nvl(msi.UNIT_WEIGHT,-1))=nvl(msi.UNIT_WEIGHT,-1)
641 and decode(A_WEIGHT_UOM_CODE,X_TRUE,nvl(cr.WEIGHT_UOM_CODE,-1),nvl(msi.WEIGHT_UOM_CODE,-1))=nvl(msi.WEIGHT_UOM_CODE,-1);
642
643 exception
644 when NO_DATA_FOUND then
645 dumm_status := INVPUOPI.mtl_log_interface_err(
646 cr.ORGID,
650 prog_id,
647 user_id,
648 login_id,
649 prog_appid,
651 request_id,
652 cr.TRANSACTION_ID,
653 error_msg,
654 'MASTER_CHILD_4B',
655 'MTL_SYSTEM_ITEMS_INTERFACE',
656 'INV_IOI_MASTER_CHILD_4B',
657 err_text);
658 If dumm_status < 0 Then
659 raise LOGGING_ERR ;
660 End if ;
661 update mtl_system_items_interface msii
662 set process_flag = 3
663 where msii.transaction_id = cr.transaction_id;
664
665 end; /* MASTER_CHILD_4B */
666
667
668 begin /* MASTER_CHILD_4C */
669
670 select inventory_item_id into msicount
671 from mtl_system_items msi
672 where msi.inventory_item_id = cr.III
673 and msi.organization_id = cr.MORGID
674 and decode(A_VOLUME_UOM_CODE,X_TRUE,nvl(cr.VOLUME_UOM_CODE,-1),nvl(msi.VOLUME_UOM_CODE,-1))=nvl(msi.VOLUME_UOM_CODE,-1)
675 and decode(A_UNIT_VOLUME,X_TRUE,nvl(cr.UNIT_VOLUME,-1),nvl(msi.UNIT_VOLUME,-1))=nvl(msi.UNIT_VOLUME,-1)
676 and decode(A_RESTRICT_LOCATORS_CODE,X_TRUE,nvl(cr.RESTRICT_LOCATORS_CODE,-1),nvl(msi.RESTRICT_LOCATORS_CODE,-1))=nvl(msi.RESTRICT_LOCATORS_CODE,-1)
677 and decode(A_LOCATION_CONTROL_CODE,X_TRUE,nvl(cr.LOCATION_CONTROL_CODE,-1),nvl(msi.LOCATION_CONTROL_CODE,-1))=nvl(msi.LOCATION_CONTROL_CODE,-1)
678 and decode(A_SHRINKAGE_RATE,X_TRUE,nvl(cr.SHRINKAGE_RATE,-1),nvl(msi.SHRINKAGE_RATE,-1))=nvl(msi.SHRINKAGE_RATE,-1)
679 and decode(A_ACCEPTABLE_EARLY_DAYS,X_TRUE,nvl(cr.ACCEPTABLE_EARLY_DAYS,-1),nvl(msi.ACCEPTABLE_EARLY_DAYS,-1))=nvl(msi.ACCEPTABLE_EARLY_DAYS,-1)
680 and decode(A_PLANNING_TIME_FENCE_CODE,X_TRUE,nvl(cr.PLANNING_TIME_FENCE_CODE,-1),nvl(msi.PLANNING_TIME_FENCE_CODE,-1))=nvl(msi.PLANNING_TIME_FENCE_CODE,-1);
681
682 exception
683 when NO_DATA_FOUND then
684 dumm_status := INVPUOPI.mtl_log_interface_err(
685 cr.ORGID,
686 user_id,
687 login_id,
688 prog_appid,
689 prog_id,
690 request_id,
691 cr.TRANSACTION_ID,
692 error_msg,
693 'MASTER_CHILD_4C',
694 'MTL_SYSTEM_ITEMS_INTERFACE',
695 'INV_IOI_MASTER_CHILD_4C',
696 err_text);
697 If dumm_status < 0 Then
698 raise LOGGING_ERR ;
699 End if ;
700 update mtl_system_items_interface msii
701 set process_flag = 3
702 where msii.transaction_id = cr.transaction_id;
703
704 end; /* MASTER_CHILD_4C */
705
706
707 begin /* MASTER_CHILD_4D */
708
709 select inventory_item_id into msicount
710 from mtl_system_items msi
711 where msi.inventory_item_id = cr.III
712 and msi.organization_id = cr.MORGID
713 and decode(A_DEMAND_TIME_FENCE_CODE,X_TRUE,nvl(cr.DEMAND_TIME_FENCE_CODE,-1),nvl(msi.DEMAND_TIME_FENCE_CODE,-1))=nvl(msi.DEMAND_TIME_FENCE_CODE,-1)
714 and decode(A_LEAD_TIME_LOT_SIZE,X_TRUE,nvl(cr.LEAD_TIME_LOT_SIZE,-1),nvl(msi.LEAD_TIME_LOT_SIZE,-1))=nvl(msi.LEAD_TIME_LOT_SIZE,-1)
715 and decode(A_STD_LOT_SIZE,X_TRUE,nvl(cr.STD_LOT_SIZE,-1),nvl(msi.STD_LOT_SIZE,-1))=nvl(msi.STD_LOT_SIZE,-1)
716 and decode(A_CUM_MANUFACTURING_LEAD_TIME,X_TRUE,nvl(cr.CUM_MANUFACTURING_LEAD_TIME,-1),nvl(msi.CUM_MANUFACTURING_LEAD_TIME,-1))=nvl(msi.CUM_MANUFACTURING_LEAD_TIME,-1)
717 and decode(A_OVERRUN_PERCENTAGE,X_TRUE,nvl(cr.OVERRUN_PERCENTAGE,-1),nvl(msi.OVERRUN_PERCENTAGE,-1))=nvl(msi.OVERRUN_PERCENTAGE,-1)
718 and decode(A_MRP_CALCULATE_ATP_FLAG,X_TRUE,nvl(cr.MRP_CALCULATE_ATP_FLAG,-1),nvl(msi.MRP_CALCULATE_ATP_FLAG,-1))=nvl(msi.MRP_CALCULATE_ATP_FLAG,-1)
719 and decode(A_ACCEPTABLE_RATE_INCREASE,X_TRUE,nvl(cr.ACCEPTABLE_RATE_INCREASE,-1),nvl(msi.ACCEPTABLE_RATE_INCREASE,-1))=nvl(msi.ACCEPTABLE_RATE_INCREASE,-1)
720 and decode(A_ACCEPTABLE_RATE_DECREASE,X_TRUE,nvl(cr.ACCEPTABLE_RATE_DECREASE,-1),nvl(msi.ACCEPTABLE_RATE_DECREASE,-1))=nvl(msi.ACCEPTABLE_RATE_DECREASE,-1);
721
722 exception
723 when NO_DATA_FOUND then
724 dumm_status := INVPUOPI.mtl_log_interface_err(
725 cr.ORGID,
726 user_id,
727 login_id,
728 prog_appid,
729 prog_id,
730 request_id,
731 cr.TRANSACTION_ID,
732 error_msg,
733 'MASTER_CHILD_4D',
734 'MTL_SYSTEM_ITEMS_INTERFACE',
735 'INV_IOI_MASTER_CHILD_4D',
736 err_text);
737 If dumm_status < 0 Then
738 raise LOGGING_ERR ;
739 End if ;
740 update mtl_system_items_interface msii
741 set process_flag = 3
742 where msii.transaction_id = cr.transaction_id;
743
744 end; /* MASTER_CHILD_4D */
745
746
747 begin /* MASTER_CHILD_4E */
748
749 select inventory_item_id into msicount
750 from mtl_system_items msi
751 where msi.inventory_item_id = cr.III
752 and msi.organization_id = cr.MORGID
753 and decode(A_CUMULATIVE_TOTAL_LEAD_TIME,X_TRUE,nvl(cr.CUMULATIVE_TOTAL_LEAD_TIME,-1),nvl(msi.CUMULATIVE_TOTAL_LEAD_TIME,-1))=nvl(msi.CUMULATIVE_TOTAL_LEAD_TIME,-1)
754 and decode(A_PLANNING_TIME_FENCE_DAYS,X_TRUE,nvl(cr.PLANNING_TIME_FENCE_DAYS,-1),nvl(msi.PLANNING_TIME_FENCE_DAYS,-1))=nvl(msi.PLANNING_TIME_FENCE_DAYS,-1)
758 and decode(A_PLANNING_EXCEPTION_SET,X_TRUE,nvl(cr.PLANNING_EXCEPTION_SET,-1),nvl(msi.PLANNING_EXCEPTION_SET,-1))=nvl(msi.PLANNING_EXCEPTION_SET,-1)
755 and decode(A_DEMAND_TIME_FENCE_DAYS,X_TRUE,nvl(cr.DEMAND_TIME_FENCE_DAYS,-1),nvl(msi.DEMAND_TIME_FENCE_DAYS,-1))=nvl(msi.DEMAND_TIME_FENCE_DAYS,-1)
756 and decode(A_END_ASSEMBLY_PEGGING_FLAG,X_TRUE,nvl(cr.END_ASSEMBLY_PEGGING_FLAG,-1),nvl(msi.END_ASSEMBLY_PEGGING_FLAG,-1))=nvl(msi.END_ASSEMBLY_PEGGING_FLAG,-1)
757 and decode(A_REPETITIVE_PLANNING_FLAG,X_TRUE,nvl(cr.REPETITIVE_PLANNING_FLAG,-1),nvl(msi.REPETITIVE_PLANNING_FLAG,-1))=nvl(msi.REPETITIVE_PLANNING_FLAG,-1)
759 and decode(A_BOM_ITEM_TYPE,X_TRUE,nvl(cr.BOM_ITEM_TYPE,-1),nvl(msi.BOM_ITEM_TYPE,-1))=nvl(msi.BOM_ITEM_TYPE,-1);
760
761 exception
762 when NO_DATA_FOUND then
763 dumm_status := INVPUOPI.mtl_log_interface_err(
764 cr.ORGID,
765 user_id,
766 login_id,
767 prog_appid,
768 prog_id,
769 request_id,
770 cr.TRANSACTION_ID,
771 error_msg,
772 'MASTER_CHILD_4E',
773 'MTL_SYSTEM_ITEMS_INTERFACE',
774 'INV_IOI_MASTER_CHILD_4E',
775 err_text);
776 If dumm_status < 0 Then
777 raise LOGGING_ERR ;
778 End if ;
779 update mtl_system_items_interface msii
780 set process_flag = 3
781 where msii.transaction_id = cr.transaction_id;
782
783 end; /* MASTER_CHILD_4E */
784
785
786 begin /* MASTER_CHILD_4F */
787
788 select inventory_item_id into msicount
789 from mtl_system_items msi
790 where msi.inventory_item_id = cr.III
791 and msi.organization_id = cr.MORGID
792 and decode(A_PICK_COMPONENTS_FLAG,X_TRUE,nvl(cr.PICK_COMPONENTS_FLAG,-1),nvl(msi.PICK_COMPONENTS_FLAG,-1))=nvl(msi.PICK_COMPONENTS_FLAG,-1)
793 and decode(A_REPLENISH_TO_ORDER_FLAG,X_TRUE,nvl(cr.REPLENISH_TO_ORDER_FLAG,-1),nvl(msi.REPLENISH_TO_ORDER_FLAG,-1))=nvl(msi.REPLENISH_TO_ORDER_FLAG,-1)
794 and decode(A_BASE_ITEM_ID,X_TRUE,nvl(cr.BASE_ITEM_ID,-1),nvl(msi.BASE_ITEM_ID,-1))=nvl(msi.BASE_ITEM_ID,-1)
795 and decode(A_ATP_COMPONENTS_FLAG,X_TRUE,nvl(cr.ATP_COMPONENTS_FLAG,-1),nvl(msi.ATP_COMPONENTS_FLAG,-1))=nvl(msi.ATP_COMPONENTS_FLAG,-1)
796 and decode(A_ATP_FLAG,X_TRUE,nvl(cr.ATP_FLAG,-1),nvl(msi.ATP_FLAG,-1))=nvl(msi.ATP_FLAG,-1)
797 and decode(A_FIXED_LEAD_TIME,X_TRUE,nvl(cr.FIXED_LEAD_TIME,-1),nvl(msi.FIXED_LEAD_TIME,-1))=nvl(msi.FIXED_LEAD_TIME,-1)
798 and decode(A_VARIABLE_LEAD_TIME,X_TRUE,nvl(cr.VARIABLE_LEAD_TIME,-1),nvl(msi.VARIABLE_LEAD_TIME,-1))=nvl(msi.VARIABLE_LEAD_TIME,-1)
799 and decode(A_WIP_SUPPLY_LOCATOR_ID,X_TRUE,nvl(cr.WIP_SUPPLY_LOCATOR_ID,-1),nvl(msi.WIP_SUPPLY_LOCATOR_ID,-1))=nvl(msi.WIP_SUPPLY_LOCATOR_ID,-1);
800
801 exception
802 when NO_DATA_FOUND then
803 dumm_status := INVPUOPI.mtl_log_interface_err(
804 cr.ORGID,
805 user_id,
806 login_id,
807 prog_appid,
808 prog_id,
809 request_id,
810 cr.TRANSACTION_ID,
811 error_msg,
812 'MASTER_CHILD_4F',
813 'MTL_SYSTEM_ITEMS_INTERFACE',
814 'INV_IOI_MASTER_CHILD_4F',
815 err_text);
816 If dumm_status < 0 Then
817 raise LOGGING_ERR ;
818 End if ;
819 update mtl_system_items_interface msii
820 set process_flag = 3
821 where msii.transaction_id = cr.transaction_id;
822
823 end; /* MASTER_CHILD_4F */
824
825
826 begin /* MASTER_CHILD_4G */
827
828 select inventory_item_id into msicount
829 from mtl_system_items msi
830 where msi.inventory_item_id = cr.III
831 and msi.organization_id = cr.MORGID
832 and decode(A_WIP_SUPPLY_TYPE,X_TRUE,nvl(cr.WIP_SUPPLY_TYPE,-1),nvl(msi.WIP_SUPPLY_TYPE,-1))=nvl(msi.WIP_SUPPLY_TYPE,-1)
833 and decode(A_WIP_SUPPLY_SUBINVENTORY,X_TRUE,nvl(cr.WIP_SUPPLY_SUBINVENTORY,-1),nvl(msi.WIP_SUPPLY_SUBINVENTORY,-1))=nvl(msi.WIP_SUPPLY_SUBINVENTORY,-1)
834 and decode(A_PRIMARY_UOM_CODE,X_TRUE,nvl(cr.PRIMARY_UOM_CODE,-1),nvl(msi.PRIMARY_UOM_CODE,-1))=nvl(msi.PRIMARY_UOM_CODE,-1)
835 /*
836 and decode(A_PRIMARY_UNIT_OF_MEASURE,X_TRUE,nvl(cr.PRIMARY_UNIT_OF_MEASURE,-1),nvl(msi.PRIMARY_UNIT_OF_MEASURE,-1))=nvl(msi.PRIMARY_UNIT_OF_MEASURE,-1)
837 */
838 and decode(A_ALLOWED_UNITS_LOOKUP_CODE,X_TRUE,nvl(cr.ALLOWED_UNITS_LOOKUP_CODE,-1),nvl(msi.ALLOWED_UNITS_LOOKUP_CODE,-1))=nvl(msi.ALLOWED_UNITS_LOOKUP_CODE,-1)
839 and decode(A_COST_OF_SALES_ACCOUNT,X_TRUE,nvl(cr.COST_OF_SALES_ACCOUNT,-1),nvl(msi.COST_OF_SALES_ACCOUNT,-1))=nvl(msi.COST_OF_SALES_ACCOUNT,-1)
840 and decode(A_SALES_ACCOUNT,X_TRUE,nvl(cr.SALES_ACCOUNT,-1),nvl(msi.SALES_ACCOUNT,-1))=nvl(msi.SALES_ACCOUNT,-1);
841
842 exception
843 when NO_DATA_FOUND then
844 dumm_status := INVPUOPI.mtl_log_interface_err(
845 cr.ORGID,
846 user_id,
847 login_id,
848 prog_appid,
849 prog_id,
850 request_id,
851 cr.TRANSACTION_ID,
852 error_msg,
853 'MASTER_CHILD_4G',
854 'MTL_SYSTEM_ITEMS_INTERFACE',
855 'INV_IOI_MASTER_CHILD_4G',
856 err_text);
857 If dumm_status < 0 Then
858 raise LOGGING_ERR ;
859 End if ;
863
860 update mtl_system_items_interface msii
861 set process_flag = 3
862 where msii.transaction_id = cr.transaction_id;
864 end; /* MASTER_CHILD_4G */
865
866
867 begin /* MASTER_CHILD_4H */
868
869 select inventory_item_id into msicount
870 from mtl_system_items msi
871 where msi.inventory_item_id = cr.III
872 and msi.organization_id = cr.MORGID
873 and decode(A_DEFAULT_INCLUDE_IN_ROLLUP_F,X_TRUE,nvl(cr.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,-1),nvl(msi.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,-1))=nvl(msi.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,-1)
874 and decode(A_INVENTORY_ITEM_STATUS_CODE,X_TRUE,nvl(cr.INVENTORY_ITEM_STATUS_CODE,-1),nvl(msi.INVENTORY_ITEM_STATUS_CODE,-1))=nvl(msi.INVENTORY_ITEM_STATUS_CODE,-1)
875 and decode(A_INVENTORY_PLANNING_CODE,X_TRUE,nvl(cr.INVENTORY_PLANNING_CODE,-1),nvl(msi.INVENTORY_PLANNING_CODE,-1))=nvl(msi.INVENTORY_PLANNING_CODE,-1)
876 and decode(A_PLANNER_CODE,X_TRUE,nvl(cr.PLANNER_CODE,-1),nvl(msi.PLANNER_CODE,-1))=nvl(msi.PLANNER_CODE,-1)
877 and decode(A_PLANNING_MAKE_BUY_CODE,X_TRUE,nvl(cr.PLANNING_MAKE_BUY_CODE,-1),nvl(msi.PLANNING_MAKE_BUY_CODE,-1))=nvl(msi.PLANNING_MAKE_BUY_CODE,-1)
878 and decode(A_FIXED_LOT_MULTIPLIER,X_TRUE,nvl(cr.FIXED_LOT_MULTIPLIER,-1),nvl(msi.FIXED_LOT_MULTIPLIER,-1))=nvl(msi.FIXED_LOT_MULTIPLIER,-1)
879 and decode(A_ROUNDING_CONTROL_TYPE,X_TRUE,nvl(cr.ROUNDING_CONTROL_TYPE,-1),nvl(msi.ROUNDING_CONTROL_TYPE,-1))=nvl(msi.ROUNDING_CONTROL_TYPE,-1)
880 and decode(A_CARRYING_COST,X_TRUE,nvl(cr.CARRYING_COST,-1),nvl(msi.CARRYING_COST,-1))=nvl(msi.CARRYING_COST,-1);
881
882 exception
883 when NO_DATA_FOUND then
884 dumm_status := INVPUOPI.mtl_log_interface_err(
885 cr.ORGID,
886 user_id,
887 login_id,
888 prog_appid,
889 prog_id,
890 request_id,
891 cr.TRANSACTION_ID,
892 error_msg,
893 'MASTER_CHILD_4H',
894 'MTL_SYSTEM_ITEMS_INTERFACE',
895 'INV_IOI_MASTER_CHILD_4H',
896 err_text);
897 If dumm_status < 0 Then
898 raise LOGGING_ERR ;
899 End if ;
900 update mtl_system_items_interface msii
901 set process_flag = 3
902 where msii.transaction_id = cr.transaction_id;
903
904 end; /* MASTER_CHILD_4H */
905
906
907
908 begin /* MASTER_CHILD_4I */
909
910 select inventory_item_id into msicount
911 from mtl_system_items msi
912 where msi.inventory_item_id = cr.III
913 and msi.organization_id = cr.MORGID
914 and decode(A_POSTPROCESSING_LEAD_TIME,X_TRUE,nvl(cr.POSTPROCESSING_LEAD_TIME,-1),nvl(msi.POSTPROCESSING_LEAD_TIME,-1))=nvl(msi.POSTPROCESSING_LEAD_TIME,-1)
915 and decode(A_PREPROCESSING_LEAD_TIME,X_TRUE,nvl(cr.PREPROCESSING_LEAD_TIME,-1),nvl(msi.PREPROCESSING_LEAD_TIME,-1))=nvl(msi.PREPROCESSING_LEAD_TIME,-1)
916 and decode(A_FULL_LEAD_TIME,X_TRUE,nvl(cr.FULL_LEAD_TIME,-1),nvl(msi.FULL_LEAD_TIME,-1))=nvl(msi.FULL_LEAD_TIME,-1)
917 and decode(A_ORDER_COST,X_TRUE,nvl(cr.ORDER_COST,-1),nvl(msi.ORDER_COST,-1))=nvl(msi.ORDER_COST,-1)
918 and decode(A_MRP_SAFETY_STOCK_PERCENT,X_TRUE,nvl(cr.MRP_SAFETY_STOCK_PERCENT,-1),nvl(msi.MRP_SAFETY_STOCK_PERCENT,-1))=nvl(msi.MRP_SAFETY_STOCK_PERCENT,-1)
919 and decode(A_MRP_SAFETY_STOCK_CODE,X_TRUE,nvl(cr.MRP_SAFETY_STOCK_CODE,-1),nvl(msi.MRP_SAFETY_STOCK_CODE,-1))=nvl(msi.MRP_SAFETY_STOCK_CODE,-1)
920 and decode(A_MIN_MINMAX_QUANTITY,X_TRUE,nvl(cr.MIN_MINMAX_QUANTITY,-1),nvl(msi.MIN_MINMAX_QUANTITY,-1))=nvl(msi.MIN_MINMAX_QUANTITY,-1);
921
922 exception
923 when NO_DATA_FOUND then
924 dumm_status := INVPUOPI.mtl_log_interface_err(
925 cr.ORGID,
926 user_id,
927 login_id,
928 prog_appid,
929 prog_id,
930 request_id,
931 cr.TRANSACTION_ID,
932 error_msg,
933 'MASTER_CHILD_4I',
934 'MTL_SYSTEM_ITEMS_INTERFACE',
935 'INV_IOI_MASTER_CHILD_4I',
936 err_text);
937 If dumm_status < 0 Then
938 raise LOGGING_ERR ;
939 End if ;
940 update mtl_system_items_interface msii
941 set process_flag = 3
942 where msii.transaction_id = cr.transaction_id;
943
944 end; /* MASTER_CHILD_4I */
945
946 begin /* MASTER_CHILD_4J */
947
948 select inventory_item_id into msicount
949 from mtl_system_items msi
950 where msi.inventory_item_id = cr.III
951 and msi.organization_id = cr.MORGID
952 and decode(A_MAX_MINMAX_QUANTITY,X_TRUE,nvl(cr.MAX_MINMAX_QUANTITY,-1),nvl(msi.MAX_MINMAX_QUANTITY,-1))=nvl(msi.MAX_MINMAX_QUANTITY,-1)
953 and decode(A_MINIMUM_ORDER_QUANTITY,X_TRUE,nvl(cr.MINIMUM_ORDER_QUANTITY,-1),nvl(msi.MINIMUM_ORDER_QUANTITY,-1))=nvl(msi.MINIMUM_ORDER_QUANTITY,-1)
954 and decode(A_FIXED_ORDER_QUANTITY,X_TRUE,nvl(cr.FIXED_ORDER_QUANTITY,-1),nvl(msi.FIXED_ORDER_QUANTITY,-1))=nvl(msi.FIXED_ORDER_QUANTITY,-1)
955 and decode(A_FIXED_DAYS_SUPPLY,X_TRUE,nvl(cr.FIXED_DAYS_SUPPLY,-1),nvl(msi.FIXED_DAYS_SUPPLY,-1))=nvl(msi.FIXED_DAYS_SUPPLY,-1)
956 and decode(A_MAXIMUM_ORDER_QUANTITY,X_TRUE,nvl(cr.MAXIMUM_ORDER_QUANTITY,-1),nvl(msi.MAXIMUM_ORDER_QUANTITY,-1))=nvl(msi.MAXIMUM_ORDER_QUANTITY,-1)
957 and decode(A_ATP_RULE_ID,X_TRUE,nvl(cr.ATP_RULE_ID,-1),nvl(msi.ATP_RULE_ID,-1))=nvl(msi.ATP_RULE_ID,-1)
961 when NO_DATA_FOUND then
958 and decode(A_PICKING_RULE_ID,X_TRUE,nvl(cr.PICKING_RULE_ID,-1),nvl(msi.PICKING_RULE_ID,-1))=nvl(msi.PICKING_RULE_ID,-1);
959
960 exception
962 dumm_status := INVPUOPI.mtl_log_interface_err(
963 cr.ORGID,
964 user_id,
965 login_id,
966 prog_appid,
967 prog_id,
968 request_id,
969 cr.TRANSACTION_ID,
970 error_msg,
971 'MASTER_CHILD_4J',
972 'MTL_SYSTEM_ITEMS_INTERFACE',
973 'INV_IOI_MASTER_CHILD_4J',
974 err_text);
975 If dumm_status < 0 Then
976 raise LOGGING_ERR ;
977 End if ;
978 update mtl_system_items_interface msii
979 set process_flag = 3
980 where msii.transaction_id = cr.transaction_id;
981
982 end; /* MASTER_CHILD_4J */
983
984
985
986 begin /* MASTER_CHILD_4K */
987
988 select inventory_item_id into msicount
989 from mtl_system_items msi
990 where msi.inventory_item_id = cr.III
991 and msi.organization_id = cr.MORGID
992 and decode(A_RESERVABLE_TYPE,X_TRUE,nvl(cr.RESERVABLE_TYPE,-1),nvl(msi.RESERVABLE_TYPE,-1))=nvl(msi.RESERVABLE_TYPE,-1)
993 and decode(A_POSITIVE_MEASUREMENT_ERROR,X_TRUE,nvl(cr.POSITIVE_MEASUREMENT_ERROR,-1),nvl(msi.POSITIVE_MEASUREMENT_ERROR,-1))=nvl(msi.POSITIVE_MEASUREMENT_ERROR,-1)
994 and decode(A_OUTSIDE_OPERATION_FLAG,X_TRUE,nvl(cr.OUTSIDE_OPERATION_FLAG,-1),nvl(msi.OUTSIDE_OPERATION_FLAG,-1))=nvl(msi.OUTSIDE_OPERATION_FLAG,-1)
995 and decode(A_OUTSIDE_OPERATION_UOM_TYPE,X_TRUE,nvl(cr.OUTSIDE_OPERATION_UOM_TYPE,-1),nvl(msi.OUTSIDE_OPERATION_UOM_TYPE,-1))=nvl(msi.OUTSIDE_OPERATION_UOM_TYPE,-1)
996 and decode(A_SAFETY_STOCK_BUCKET_DAYS,X_TRUE,nvl(cr.SAFETY_STOCK_BUCKET_DAYS,-1),nvl(msi.SAFETY_STOCK_BUCKET_DAYS,-1))=nvl(msi.SAFETY_STOCK_BUCKET_DAYS,-1)
997 and decode(A_AUTO_REDUCE_MPS,X_TRUE,nvl(cr.AUTO_REDUCE_MPS,-1),nvl(msi.AUTO_REDUCE_MPS,-1))=nvl(msi.AUTO_REDUCE_MPS,-1)
998 and decode(A_COSTING_ENABLED_FLAG,X_TRUE,nvl(cr.COSTING_ENABLED_FLAG,-1),nvl(msi.COSTING_ENABLED_FLAG,-1))=nvl(msi.COSTING_ENABLED_FLAG,-1);
999
1000
1001 exception
1002 when NO_DATA_FOUND then
1003 dumm_status := INVPUOPI.mtl_log_interface_err(
1004 cr.ORGID,
1005 user_id,
1006 login_id,
1007 prog_appid,
1008 prog_id,
1009 request_id,
1010 cr.TRANSACTION_ID,
1011 error_msg,
1012 'MASTER_CHILD_4K',
1013 'MTL_SYSTEM_ITEMS_INTERFACE',
1014 'INV_IOI_MASTER_CHILD_4K',
1015 err_text);
1016 If dumm_status < 0 Then
1017 raise LOGGING_ERR ;
1018 End if ;
1019 update mtl_system_items_interface msii
1020 set process_flag = 3
1021 where msii.transaction_id = cr.transaction_id;
1022
1023 end; /* MASTER_CHILD_4K */
1024
1025 begin /* MASTER_CHILD_4L */
1026
1027 select inventory_item_id into msicount
1028 from mtl_system_items msi
1029 where msi.inventory_item_id = cr.III
1030 and msi.organization_id = cr.MORGID
1031 and decode(A_AUTO_CREATED_CONFIG_FLAG,X_TRUE,nvl(cr.AUTO_CREATED_CONFIG_FLAG,-1),nvl(msi.AUTO_CREATED_CONFIG_FLAG,-1))=nvl(msi.AUTO_CREATED_CONFIG_FLAG,-1)
1032 and decode(A_CYCLE_COUNT_ENABLED_FLAG,X_TRUE,nvl(cr.CYCLE_COUNT_ENABLED_FLAG,-1),nvl(msi.CYCLE_COUNT_ENABLED_FLAG,-1))=nvl(msi.CYCLE_COUNT_ENABLED_FLAG,-1)
1033 and decode(A_ITEM_TYPE,X_TRUE,nvl(cr.ITEM_TYPE,-1),nvl(msi.ITEM_TYPE,-1))=nvl(msi.ITEM_TYPE,-1)
1034 and decode(A_MODEL_CONFIG_CLAUSE_NAME,X_TRUE,nvl(cr.MODEL_CONFIG_CLAUSE_NAME,-1),nvl(msi.MODEL_CONFIG_CLAUSE_NAME,-1))=nvl(msi.MODEL_CONFIG_CLAUSE_NAME,-1)
1038 and decode(A_ATO_FORECAST_CONTROL,X_TRUE,nvl(cr.ATO_FORECAST_CONTROL,-1),nvl(msi.ATO_FORECAST_CONTROL,-1))=nvl(msi.ATO_FORECAST_CONTROL,-1);
1035 and decode(A_SHIP_MODEL_COMPLETE_FLAG,X_TRUE,nvl(cr.SHIP_MODEL_COMPLETE_FLAG,-1),nvl(msi.SHIP_MODEL_COMPLETE_FLAG,-1))=nvl(msi.SHIP_MODEL_COMPLETE_FLAG,-1)
1036 and decode(A_MRP_PLANNING_CODE,X_TRUE,nvl(cr.MRP_PLANNING_CODE,-1),nvl(msi.MRP_PLANNING_CODE,-1))=nvl(msi.MRP_PLANNING_CODE,-1)
1037 and decode(A_RETURN_INSPECTION_REQUIRE,X_TRUE,nvl(cr.RETURN_INSPECTION_REQUIREMENT,-1),nvl(msi.RETURN_INSPECTION_REQUIREMENT,-1))=nvl(msi.RETURN_INSPECTION_REQUIREMENT,-1)
1039
1040 exception
1041 when NO_DATA_FOUND then
1042 dumm_status := INVPUOPI.mtl_log_interface_err(
1043 cr.ORGID,
1044 user_id,
1045 login_id,
1046 prog_appid,
1047 prog_id,
1048 request_id,
1049 cr.TRANSACTION_ID,
1050 error_msg,
1051 'MASTER_CHILD_4L',
1052 'MTL_SYSTEM_ITEMS_INTERFACE',
1053 'INV_IOI_MASTER_CHILD_4L',
1054 err_text);
1055 If dumm_status < 0 Then
1056 raise LOGGING_ERR ;
1057 End if ;
1058 update mtl_system_items_interface msii
1059 set process_flag = 3
1060 where msii.transaction_id = cr.transaction_id;
1061
1062 end; /* MASTER_CHILD_4L */
1063 begin /* MASTER_CHILD_4M Added as part of 11.5.9*/
1064
1065 select inventory_item_id into msicount
1066 from mtl_system_items msi
1067 where msi.inventory_item_id = cr.III
1068 and msi.organization_id = cr.MORGID
1069 and decode(A_LOT_SUBSTITUTION_ENABLED,X_TRUE,nvl(cr.LOT_SUBSTITUTION_ENABLED,-1),nvl(msi.LOT_SUBSTITUTION_ENABLED,-1))=nvl(msi.LOT_SUBSTITUTION_ENABLED,-1)
1070 and decode(A_MINIMUM_LICENSE_QUANTITY,X_TRUE,nvl(cr.MINIMUM_LICENSE_QUANTITY,-1),nvl(msi.MINIMUM_LICENSE_QUANTITY,-1))=nvl(msi.MINIMUM_LICENSE_QUANTITY,-1)
1071 and decode(A_EAM_ACTIVITY_SOURCE_CODE,X_TRUE,nvl(cr.EAM_ACTIVITY_SOURCE_CODE,-1),nvl(msi.EAM_ACTIVITY_SOURCE_CODE,-1))=nvl(msi.EAM_ACTIVITY_SOURCE_CODE,-1)
1072 and decode(A_IB_ITEM_INSTANCE_CLASS,X_TRUE,nvl(cr.IB_ITEM_INSTANCE_CLASS,-1),nvl(msi.IB_ITEM_INSTANCE_CLASS,-1))=nvl(msi.IB_ITEM_INSTANCE_CLASS,-1)
1073 and decode(A_CONFIG_MODEL_TYPE,X_TRUE,nvl(cr.CONFIG_MODEL_TYPE,-1),nvl(msi.CONFIG_MODEL_TYPE,-1))=nvl(msi.CONFIG_MODEL_TYPE,-1);
1074 exception
1075 when NO_DATA_FOUND then
1076 dumm_status := INVPUOPI.mtl_log_interface_err(
1077 cr.ORGID,
1078 user_id,
1079 login_id,
1080 prog_appid,
1081 prog_id,
1082 request_id,
1083 cr.TRANSACTION_ID,
1084 error_msg,
1085 'MASTER_CHILD_4M',
1086 'MTL_SYSTEM_ITEMS_INTERFACE',
1087 'INV_IOI_MASTER_CHILD_4M',
1088 err_text);
1089 If dumm_status < 0 Then
1090 raise LOGGING_ERR ;
1091 End if ;
1092 update mtl_system_items_interface msii
1093 set process_flag = 3
1094 where msii.transaction_id = cr.transaction_id;
1095
1096 end; /* MASTER_CHILD_4M */
1097 begin /* MASTER_CHILD_4N Added as part of R12*/
1098
1099 select inventory_item_id into msicount
1100 from mtl_system_items msi
1101 where msi.inventory_item_id = cr.III
1102 and msi.organization_id = cr.MORGID
1103 and decode(A_OUTSOURCED_ASSEMBLY,X_TRUE,nvl(cr.OUTSOURCED_ASSEMBLY,-1),nvl(msi.OUTSOURCED_ASSEMBLY,-1))=nvl(msi.OUTSOURCED_ASSEMBLY,-1)
1104 and decode(A_SUBCONTRACTING_COMPONENT,X_TRUE,nvl(cr.SUBCONTRACTING_COMPONENT,-1),nvl(msi.SUBCONTRACTING_COMPONENT,-1))=nvl(msi.SUBCONTRACTING_COMPONENT,-1)
1105 and decode(A_CHARGE_PERIODICITY_CODE,X_TRUE,nvl(cr.CHARGE_PERIODICITY_CODE,-1),nvl(msi.CHARGE_PERIODICITY_CODE,-1))=nvl(msi.CHARGE_PERIODICITY_CODE,-1);
1106 exception
1107 when NO_DATA_FOUND then
1108 dumm_status := INVPUOPI.mtl_log_interface_err(
1109 cr.ORGID,
1110 user_id,
1111 login_id,
1112 prog_appid,
1113 prog_id,
1114 request_id,
1115 cr.TRANSACTION_ID,
1116 error_msg,
1117 'MASTER_CHILD_4M',
1118 'MTL_SYSTEM_ITEMS_INTERFACE',
1119 'INV_IOI_MASTER_CHILD_4N',
1120 err_text);
1121 If dumm_status < 0 Then
1122 raise LOGGING_ERR ;
1123 End if ;
1124 update mtl_system_items_interface msii
1125 set process_flag = 3
1126 where msii.transaction_id = cr.transaction_id;
1127
1128 end; /* MASTER_CHILD_4N */
1129 begin /* MASTER_CHILD_4O Added as part of R12*/
1130
1131 select inventory_item_id into msicount
1132 from mtl_system_items msi
1133 where msi.inventory_item_id = cr.III
1134 and msi.organization_id = cr.MORGID
1135 and decode(A_REPAIR_LEADTIME,X_TRUE,nvl(cr.REPAIR_LEADTIME,-1),nvl(msi.REPAIR_LEADTIME,-1))=nvl(msi.REPAIR_LEADTIME,-1)
1136 and decode(A_REPAIR_PROGRAM,X_TRUE,nvl(cr.REPAIR_PROGRAM,-1),nvl(msi.REPAIR_PROGRAM,-1))=nvl(msi.REPAIR_PROGRAM,-1)
1137 and decode(A_REPAIR_YIELD,X_TRUE,nvl(cr.REPAIR_YIELD,-1),nvl(msi.REPAIR_YIELD,-1))=nvl(msi.REPAIR_YIELD,-1)
1138 and decode(A_PREPOSITION_POINT,X_TRUE,nvl(cr.PREPOSITION_POINT,-1),nvl(msi.PREPOSITION_POINT,-1))=nvl(msi.PREPOSITION_POINT,-1);
1139 exception
1140 when NO_DATA_FOUND then
1141 dumm_status := INVPUOPI.mtl_log_interface_err(
1142 cr.ORGID,
1143 user_id,
1144 login_id,
1145 prog_appid,
1146 prog_id,
1147 request_id,
1148 cr.TRANSACTION_ID,
1149 error_msg,
1150 'MASTER_CHILD_4M',
1151 'MTL_SYSTEM_ITEMS_INTERFACE',
1152 'INV_IOI_MASTER_CHILD_4O',
1153 err_text);
1154 If dumm_status < 0 Then
1155 raise LOGGING_ERR ;
1156 End if ;
1157 update mtl_system_items_interface msii
1158 set process_flag = 3
1159 where msii.transaction_id = cr.transaction_id;
1160
1161 end; /* MASTER_CHILD_40 */
1162
1163 end loop;
1164
1165 return(0);
1166
1167 exception
1168
1169 when LOGGING_ERR then
1170 return(dumm_status);
1171
1172 when VALIDATE_ERR then
1173 dumm_status := INVPUOPI.mtl_log_interface_err(
1174 l_org_id,
1175 user_id,
1176 login_id,
1177 prog_appid,
1178 prog_id,
1179 request_id,
1183 'MTL_SYSTEM_ITEMS_INTERFACE',
1180 trans_id,
1181 err_text,
1182 'MASTER_CHILD_4',
1184 'BOM_OP_VALIDATION_ERR',
1185 err_text);
1186
1187 return(status);
1188
1189 when OTHERS then
1190
1191 err_text := substr('INVPVALI.validate_item_org4' || SQLERRM , 1, 240);
1192 return(SQLCODE);
1193
1194 END validate_item_org4;
1195
1196
1197 END INVPVLM2;