[Home] [Help]
PACKAGE BODY: APPS.BOM_CSTRSCCR_XMLP_PKG
Source
1 PACKAGE BODY BOM_CSTRSCCR_XMLP_PKG AS
2 /* $Header: CSTRSCCRB.pls 120.0 2007/12/24 10:17:29 dwkrishn noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 L_STMT_NUM NUMBER(15);
5 O_ERROR_CODE NUMBER(15);
6 O_ERROR_MSG VARCHAR2(2000);
7 L_EXCLUDE_UNIMP_ECO NUMBER(15);
8 L_EXCLUDE_ENG NUMBER(15);
9 L_TIMESTAMP DATE;
10 L_RERUN_FLAG NUMBER(15);
11 L_STR_POS NUMBER(15);
12 L_ORGANIZATION_ID NUMBER(15);
13 CONC_STATUS BOOLEAN;
14 L_USER_ID NUMBER(15) := -1;
15 L_LOGIN_ID NUMBER(15) := -1;
16 L_REQUEST_ID NUMBER(15) := -1;
17 L_PROG_APPL_ID NUMBER(15) := -1;
18 L_PROG_ID NUMBER(15) := -1;
19 L_ROWS_UNEXPLODED NUMBER(15);
20 L_NO_BOM_ORG VARCHAR2(4);
21 L_NO_ALT_ORG VARCHAR2(4);
22 L_SNAPSHOT_DESIGNATOR VARCHAR2(20);
23 CURSOR NO_BOM_ORGS IS
24 SELECT
25 DISTINCT
26 CSLLC.ORGANIZATION_ID
27 FROM
28 CST_SC_LOW_LEVEL_CODES CSLLC
29 WHERE CSLLC.ROLLUP_ID = P_ROLLUP_ID
30 AND not exists (
31 SELECT
32 'x'
33 FROM
34 BOM_PARAMETERS BP
35 WHERE CSLLC.ORGANIZATION_ID = BP.ORGANIZATION_ID );
36 CURSOR NO_ALT_ORGS(I_SNAPSHOT_DESIGNATOR IN VARCHAR2) IS
37 SELECT
38 DISTINCT
39 CSLLC.ORGANIZATION_ID
40 FROM
41 CST_SC_LOW_LEVEL_CODES CSLLC
42 WHERE CSLLC.ROLLUP_ID = P_ROLLUP_ID
43 AND not exists (
44 SELECT
45 'Alternate designator exists'
46 FROM
47 BOM_ALTERNATE_DESIGNATORS BAD
48 WHERE BAD.ORGANIZATION_ID = CSLLC.ORGANIZATION_ID
49 AND BAD.ALTERNATE_DESIGNATOR_CODE = I_SNAPSHOT_DESIGNATOR );
50 CURSOR LOOP_ROWS(I_ROLLUP_ID IN NUMBER) IS
51 SELECT
52 CSBE.ASSEMBLY_ITEM_ID,
53 CSBE.ASSEMBLY_ORGANIZATION_ID,
54 CSBE.COMPONENT_ITEM_ID,
55 CSBE.COMPONENT_ORGANIZATION_ID
56 FROM
57 CST_SC_BOM_EXPLOSION CSBE
58 WHERE CSBE.ROLLUP_ID = I_ROLLUP_ID
59 AND CSBE.DELETED_FLAG <> 'Y';
60 BEGIN
61 LP_CATEGORY_SET_ID:=P_CATEGORY_SET_ID;
62 LP_REPORT_LEVEL:=P_REPORT_LEVEL;
63 LP_EXPLOSION_LEVEL:=P_EXPLOSION_LEVEL;
64 LP_RANGE_TYPE:=P_RANGE_TYPE;
65 LP_ASSIGNMENT_SET_ID:=P_ASSIGNMENT_SET_ID;
66 LP_BUY_COST_TYPE_ID:=P_BUY_COST_TYPE_ID;
67 LP_DESCRIPTION:=P_DESCRIPTION;
68 LP_REVISION_DATE:=P_REVISION_DATE;
69 QTY_PRECISION:=bom_common_xmlp_pkg.get_precision(P_qty_precision);
70 IF (P_ALT_BOM_DESG IS NOT NULL) THEN
71 SELECT
72 DISPLAY_NAME
73 INTO P_ALT_BOM_DESG_DSP
74 FROM
75 BOM_ALTERNATE_DESIGNATORS_VL
76 WHERE ORGANIZATION_ID = NVL(P_ORGANIZATION_ID
77 ,P_DEFAULT_ORG_ID)
78 AND ALTERNATE_DESIGNATOR_CODE = P_ALT_BOM_DESG;
79 END IF;
80 IF (P_ALT_RTG_DESG IS NOT NULL) THEN
81 SELECT
82 DISPLAY_NAME
83 INTO P_ALT_RTG_DESG_DSP
84 FROM
85 BOM_ALTERNATE_DESIGNATORS_VL
86 WHERE ORGANIZATION_ID = NVL(P_ORGANIZATION_ID
87 ,P_DEFAULT_ORG_ID)
88 AND ALTERNATE_DESIGNATOR_CODE = P_ALT_RTG_DESG;
89 END IF;
90 L_STMT_NUM := 10;
91 IF P_CONC_REQUEST_ID IS NOT NULL THEN
92 SELECT
93 NVL(MIN(REQUESTED_BY)
94 ,-1),
95 NVL(MIN(CONC_LOGIN_ID)
96 ,-1),
97 NVL(MIN(REQUEST_ID)
98 ,-1),
99 NVL(MIN(PROGRAM_APPLICATION_ID)
100 ,-1),
101 NVL(MIN(CONCURRENT_PROGRAM_ID)
102 ,-1)
103 INTO L_USER_ID,L_LOGIN_ID,L_REQUEST_ID,L_PROG_APPL_ID,L_PROG_ID
104 FROM
105 FND_CONCURRENT_REQUESTS
106 WHERE REQUEST_ID = P_CONC_REQUEST_ID;
107 END IF;
108 BEGIN
109 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
110 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
111 EXCEPTION
112 WHEN OTHERS THEN
113 /*SRW.MESSAGE(999
114 ,'FND SRWINIT >X')*/NULL;
115 RAISE;
116 END;
117 L_STMT_NUM := 20;
118 L_STMT_NUM := 25;
119 SELECT
120 MIN(TO_CHAR(MCV.CATEGORY_ID))
121 INTO P_CATEGORY_ID
122 FROM
123 MTL_CATEGORIES_KFV MCV,
124 MTL_CATEGORY_SETS MCS
125 WHERE SUBSTRB(MCV.CONCATENATED_SEGMENTS
126 ,1
127 ,2000) = P_CATEGORY_ID
128 AND MCS.CATEGORY_SET_ID = LP_CATEGORY_SET_ID
129 AND MCV.STRUCTURE_ID = MCS.STRUCTURE_ID;
130 L_STMT_NUM := 26;
131 SELECT
132 NVL(FND_PROFILE.VALUE('CST_RU_PHANTOM_MATERIAL')
133 ,1)
134 INTO P_PHANTOM_MAT
135 FROM
136 DUAL;
137 L_STMT_NUM := 30;
138 IF P_ROLLUP_ID IS NOT NULL THEN
139 L_RERUN_FLAG := 1;
140 L_STMT_NUM := 40;
141 SELECT
142 ROLLUP_ID,
143 DESCRIPTION,
144 COST_TYPE_ID,
145 BUY_COST_TYPE_ID,
146 ORGANIZATION_ID,
147 ASSIGNMENT_SET_ID,
148 CONVERSION_TYPE,
149 LP_REPORT_LEVEL,
150 EXPLOSION_LEVEL,
151 ROLLUP_OPTION_TYPE,
152 1,
153 RANGE_TYPE,
154 TO_CHAR(REVISION_DATE
155 ,'YYYY/MM/DD HH24:MI:SS'),
156 INC_UNIMP_ECN_FLAG,
157 ENG_BILL_FLAG,
158 QTY_PRECISION,
159 ITEM_ID,
160 CATEGORY_SET_ID,
161 TO_CHAR(CATEGORY_ID),
162 ALT_BOM_DESG,
163 ALT_RTG_DESG
164 INTO P_ROLLUP_ID,LP_DESCRIPTION,P_COST_TYPE_ID,LP_BUY_COST_TYPE_ID,P_ORGANIZATION_ID
165 ,LP_ASSIGNMENT_SET_ID,P_CONVERSION_TYPE,LP_REPORT_LEVEL,LP_EXPLOSION_LEVEL
166 ,P_ROLLUP_OPTION_TYPE,P_REPORT_OPTION_TYPE,LP_RANGE_TYPE,LP_REVISION_DATE,P_INC_UNIMP_ECN_FLAG,P_ENG_BILL_FLAG,P_QTY_PRECISION,P_ITEM_ID,LP_CATEGORY_SET_ID,P_CATEGORY_ID,P_ALT_BOM_DESG,P_ALT_RTG_DESG
167 FROM
168 CST_SC_ROLLUP_HISTORY CSRH
169 WHERE CSRH.ROLLUP_ID = P_ROLLUP_ID;
170 ELSE
171 L_RERUN_FLAG := 2;
172 L_STMT_NUM := 50;
173 SELECT
174 CST_LISTS_S.NEXTVAL
175 INTO P_ROLLUP_ID
176 FROM
177 DUAL;
178 L_STMT_NUM := 60;
179 IF (P_REPORT_OPTION_TYPE <> -1) THEN
180 INSERT INTO CST_SC_ROLLUP_HISTORY
181 (ROLLUP_ID
182 ,DESCRIPTION
183 ,COST_TYPE_ID
184 ,BUY_COST_TYPE_ID
185 ,ORGANIZATION_ID
186 ,ASSIGNMENT_SET_ID
187 ,CONVERSION_TYPE
188 ,REPORT_LEVEL
189 ,EXPLOSION_LEVEL
190 ,ROLLUP_OPTION_TYPE
191 ,REPORT_OPTION_TYPE
192 ,RANGE_TYPE
193 ,REVISION_DATE
194 ,INC_UNIMP_ECN_FLAG
195 ,ENG_BILL_FLAG
196 ,QTY_PRECISION
197 ,ITEM_ID
198 ,CATEGORY_SET_ID
199 ,CATEGORY_ID
200 ,ALT_BOM_DESG
201 ,ALT_RTG_DESG
202 ,LAST_UPDATE_DATE
203 ,LAST_UPDATED_BY
204 ,LAST_UPDATE_LOGIN
205 ,CREATION_DATE
206 ,CREATED_BY
207 ,REQUEST_ID
208 ,PROGRAM_APPLICATION_ID
209 ,PROGRAM_ID
210 ,PROGRAM_UPDATE_DATE)
211 VALUES (P_ROLLUP_ID
212 ,LP_DESCRIPTION
213 ,P_COST_TYPE_ID
214 ,LP_BUY_COST_TYPE_ID
215 ,P_ORGANIZATION_ID
216 ,LP_ASSIGNMENT_SET_ID
217 ,P_CONVERSION_TYPE
218 ,LP_REPORT_LEVEL
219 ,LP_EXPLOSION_LEVEL
220 ,P_ROLLUP_OPTION_TYPE
221 ,P_REPORT_OPTION_TYPE
222 ,LP_RANGE_TYPE
223 ,TO_DATE(LP_REVISION_DATE
224 ,'YYYY/MM/DD HH24:MI:SS')
225 ,P_INC_UNIMP_ECN_FLAG
226 ,P_ENG_BILL_FLAG
227 ,P_QTY_PRECISION
228 ,P_ITEM_ID
229 ,LP_CATEGORY_SET_ID
230 ,TO_NUMBER(P_CATEGORY_ID)
231 ,P_ALT_BOM_DESG
232 ,P_ALT_RTG_DESG
233 ,SYSDATE
234 ,L_USER_ID
235 ,L_LOGIN_ID
236 ,SYSDATE
237 ,L_USER_ID
238 ,L_REQUEST_ID
239 ,L_PROG_APPL_ID
240 ,L_PROG_ID
241 ,SYSDATE);
242 END IF;
243 END IF;
244 IF (P_REPORT_OPTION_TYPE = -1 AND P_ITEM_FROM IS NULL AND P_ITEM_TO IS NULL AND (P_CATEGORY_FROM IS NOT NULL OR P_CATEGORY_TO IS NOT NULL)) THEN
245 LP_RANGE_TYPE := 5;
246 END IF;
247 L_STMT_NUM := 62;
248 SELECT
249 DEFAULT_COST_TYPE_ID,
250 ORGANIZATION_ID
251 INTO P_DEFAULT_COST_TYPE_ID,L_ORGANIZATION_ID
252 FROM
253 CST_COST_TYPES
254 WHERE COST_TYPE_ID = P_COST_TYPE_ID;
255 IF (LP_ASSIGNMENT_SET_ID IS NOT NULL AND L_ORGANIZATION_ID IS NOT NULL) THEN
256 /*SRW.MESSAGE(0
257 ,FND_MESSAGE.GET_STRING('BOM'
258 ,'CST_SC_ASSIGN_SET_COST_TYPE'))*/NULL;
259 CONC_STATUS := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR'
260 ,FND_MESSAGE.GET_STRING('BOM'
261 ,'CST_SC_ASSIGN_SET_COST_TYPE'));
262 RETURN FALSE;
263 END IF;
264 L_STMT_NUM := 63;
265 IF LP_BUY_COST_TYPE_ID IS NULL THEN
266 SELECT
267 PRIMARY_COST_METHOD
268 INTO LP_BUY_COST_TYPE_ID
269 FROM
270 MTL_PARAMETERS
271 WHERE ORGANIZATION_ID = NVL(P_ORGANIZATION_ID
272 ,P_DEFAULT_ORG_ID);
273 END IF;
274 L_STMT_NUM := 70;
275 IF P_REPORT_OPTION_TYPE = 2 THEN
276 /*SRW.SET_MAXROW('Q_ASSEMBLY'
277 ,0)*/NULL;
278 /*SRW.SET_MAXROW('Q_COMPONENTS'
279 ,0)*/NULL;
280 /*SRW.SET_MAXROW('Q_COSTS'
281 ,0)*/NULL;
282 /*SRW.SET_MAXROW('Q_SR_RCV'
283 ,0)*/NULL;
284 /*SRW.SET_MAXROW('Q_SR_SRC'
285 ,0)*/NULL;
286 /*SRW.SET_MAXROW('Q_SUMMARY'
287 ,0)*/NULL;
288 LP_REPORT_LEVEL := NULL;
289 END IF;
290 L_STMT_NUM := 80;
291 IF LP_CATEGORY_SET_ID IS NULL THEN
292 SELECT
293 CATEGORY_SET_ID
294 INTO LP_CATEGORY_SET_ID
295 FROM
296 MTL_DEFAULT_CATEGORY_SETS MDCS
297 WHERE MDCS.FUNCTIONAL_AREA_ID = 5;
298 END IF;
299 L_STMT_NUM := 90;
300 IF LP_REVISION_DATE IS NULL THEN
301 SELECT
302 TO_CHAR(SYSDATE
303 ,'YYYY/MM/DD HH24:MI:ss')
304 INTO LP_REVISION_DATE
305 FROM
306 DUAL;
307 END IF;
308 L_STMT_NUM := 100;
309 SELECT
310 CCT1.COST_TYPE,
311 DECODE(LP_ASSIGNMENT_SET_ID
312 ,NULL
313 ,' '
314 ,CCT2.COST_TYPE),
315 GDCT.USER_CONVERSION_TYPE
316 INTO P_COST_TYPE_NAME,P_BUY_COST_TYPE_NAME,P_CONVERSION_TYPE_NAME
317 FROM
318 CST_COST_TYPES CCT1,
319 CST_COST_TYPES CCT2,
320 GL_DAILY_CONVERSION_TYPES GDCT
321 WHERE CCT1.COST_TYPE_ID = P_COST_TYPE_ID
322 AND CCT2.COST_TYPE_ID = LP_BUY_COST_TYPE_ID
323 AND GDCT.CONVERSION_TYPE = P_CONVERSION_TYPE;
324 L_STMT_NUM := 110;
325 IF LP_ASSIGNMENT_SET_ID IS NOT NULL THEN
326 SELECT
327 MAS.ASSIGNMENT_SET_NAME
328 INTO P_ASSIGNMENT_SET_NAME
329 FROM
330 MRP_ASSIGNMENT_SETS MAS
331 WHERE MAS.ASSIGNMENT_SET_ID = LP_ASSIGNMENT_SET_ID;
332 END IF;
333 L_STMT_NUM := 120;
334 IF TO_NUMBER(P_CATEGORY_ID) IS NOT NULL THEN
335 SELECT
336 SUBSTRB(MCV.CONCATENATED_SEGMENTS
337 ,1
338 ,2000)
339 INTO P_CATEGORY_NAME
340 FROM
341 MTL_CATEGORIES_KFV MCV
342 WHERE CATEGORY_ID = TO_NUMBER(P_CATEGORY_ID);
343 P_CATEGORY_FROM := P_CATEGORY_NAME;
344 P_CATEGORY_TO := P_CATEGORY_NAME;
345 END IF;
346 IF P_ITEM_ID IS NOT NULL THEN
347 L_STMT_NUM := 130;
348 SELECT
349 SUBSTRB(CONCATENATED_SEGMENTS
350 ,1
351 ,2000)
352 INTO P_ITEM_NAME
353 FROM
354 MTL_SYSTEM_ITEMS_KFV MSIV
355 WHERE MSIV.INVENTORY_ITEM_ID = P_ITEM_ID
356 AND MSIV.ORGANIZATION_ID = NVL(P_ORGANIZATION_ID
357 ,P_DEFAULT_ORG_ID);
358 END IF;
359 L_STMT_NUM := 140;
360 IF LP_REPORT_LEVEL IS NOT NULL THEN
361 LP_REPORT_LEVEL := LP_REPORT_LEVEL + 1;
362 END IF;
363 IF NVL(P_ROLLUP_OPTION_TYPE
364 ,2) = 2 THEN
365 LP_EXPLOSION_LEVEL := NULL;
366 ELSIF LP_REPORT_LEVEL IS NOT NULL AND LP_REPORT_LEVEL > LP_EXPLOSION_LEVEL + 1 THEN
367 LP_REPORT_LEVEL := LP_EXPLOSION_LEVEL + 1;
368 END IF;
369 L_STMT_NUM := 150;
370 IF L_RERUN_FLAG = 1 THEN
371 L_STMT_NUM := 160;
372 CSTPSCEX.SNAPSHOT_SC_BOM_STRUCTURES(P_ROLLUP_ID
373 ,P_COST_TYPE_ID
374 ,LP_REPORT_LEVEL
375 ,TO_DATE(LP_REVISION_DATE
376 ,'YYYY/MM/DD HH24:MI:SS')
377 ,L_USER_ID
378 ,L_LOGIN_ID
379 ,L_REQUEST_ID
380 ,L_PROG_ID
381 ,L_PROG_APPL_ID
382 ,O_ERROR_CODE
383 ,O_ERROR_MSG
384 ,P_REPORT_TYPE_TYPE);
385 ELSE
386 /*SRW.MESSAGE(0
387 ,'rollup_id = ' || P_ROLLUP_ID)*/NULL;
388 L_STMT_NUM := 170;
389 IF (LP_RANGE_TYPE = 2 AND P_ITEM_ID IS NOT NULL) THEN
390 L_STMT_NUM := 110;
391 INSERT INTO CST_SC_LISTS
392 (ROLLUP_ID
393 ,INVENTORY_ITEM_ID
394 ,ORGANIZATION_ID
395 ,LAST_UPDATE_DATE
396 ,LAST_UPDATED_BY
397 ,CREATION_DATE
398 ,CREATED_BY
399 ,LAST_UPDATE_LOGIN
400 ,REQUEST_ID
401 ,PROGRAM_APPLICATION_ID
402 ,PROGRAM_ID
403 ,PROGRAM_UPDATE_DATE)
404 SELECT
405 DISTINCT
406 P_ROLLUP_ID,
407 MSI.INVENTORY_ITEM_ID,
408 MSI.ORGANIZATION_ID,
409 sysdate,
410 L_USER_ID,
411 sysdate,
412 L_USER_ID,
413 L_LOGIN_ID,
414 L_REQUEST_ID,
415 L_PROG_APPL_ID,
416 L_PROG_ID,
417 sysdate
418 FROM
419 MTL_SYSTEM_ITEMS MSI,
420 BOM_PARAMETERS BP,
421 CST_ITEM_COSTS CIC,
422 MTL_PARAMETERS MP
423 WHERE MSI.ORGANIZATION_ID = NVL(P_ORGANIZATION_ID
424 ,MSI.ORGANIZATION_ID)
425 AND MSI.INVENTORY_ITEM_ID = P_ITEM_ID
426 AND MSI.COSTING_ENABLED_FLAG = 'Y'
427 AND MP.ORGANIZATION_ID = MSI.ORGANIZATION_ID
428 AND CIC.ORGANIZATION_ID = MSI.ORGANIZATION_ID
429 AND CIC.INVENTORY_ITEM_ID = P_ITEM_ID
430 AND ( CIC.COST_TYPE_ID = P_COST_TYPE_ID
431 OR ( CIC.COST_TYPE_ID = P_DEFAULT_COST_TYPE_ID
432 AND not exists (
433 SELECT
434 'X'
435 FROM
436 CST_ITEM_COSTS CIC2
437 WHERE CIC2.ORGANIZATION_ID = CIC.ORGANIZATION_ID
438 AND CIC2.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
439 AND CIC2.COST_TYPE_ID = P_COST_TYPE_ID ) )
440 OR ( CIC.COST_TYPE_ID = MP.PRIMARY_COST_METHOD
441 AND not exists (
442 SELECT
443 'X'
444 FROM
445 CST_ITEM_COSTS CIC3
446 WHERE CIC3.ORGANIZATION_ID = CIC.ORGANIZATION_ID
447 AND CIC3.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
448 AND CIC3.COST_TYPE_ID IN ( P_COST_TYPE_ID , P_DEFAULT_COST_TYPE_ID ) ) ) )
449 AND CIC.BASED_ON_ROLLUP_FLAG = 1
450 AND BP.organization_id (+) = MSI.ORGANIZATION_ID
451 AND nvl(MSI.INVENTORY_ITEM_STATUS_CODE,
452 'NOT_' || BP.bom_delete_status_code (+)) <> BP.bom_delete_status_code (+);
453 ELSIF (LP_RANGE_TYPE = 5) THEN
454 L_STMT_NUM := 180;
455 INSERT INTO CST_SC_LISTS
456 (ROLLUP_ID
457 ,INVENTORY_ITEM_ID
458 ,ORGANIZATION_ID
459 ,LAST_UPDATE_DATE
460 ,LAST_UPDATED_BY
461 ,CREATION_DATE
462 ,CREATED_BY
463 ,LAST_UPDATE_LOGIN
464 ,REQUEST_ID
465 ,PROGRAM_APPLICATION_ID
466 ,PROGRAM_ID
467 ,PROGRAM_UPDATE_DATE)
468 SELECT
469 P_ROLLUP_ID,
470 MIC.INVENTORY_ITEM_ID,
471 MIC.ORGANIZATION_ID,
472 sysdate,
473 L_USER_ID,
474 sysdate,
475 L_USER_ID,
476 L_LOGIN_ID,
477 L_REQUEST_ID,
478 L_PROG_APPL_ID,
479 L_PROG_ID,
480 sysdate
481 FROM
482 MTL_ITEM_CATEGORIES MIC,
483 MTL_SYSTEM_ITEMS MSI,
484 BOM_PARAMETERS BP,
485 MTL_CATEGORIES_KFV MCV,
486 CST_ITEM_COSTS CIC,
487 MTL_PARAMETERS MP
488 WHERE P_ORGANIZATION_ID is not null
489 AND MIC.ORGANIZATION_ID = P_ORGANIZATION_ID
490 AND MIC.CATEGORY_SET_ID = LP_CATEGORY_SET_ID
491 AND MIC.CATEGORY_ID = MCV.CATEGORY_ID
492 AND MCV.CONCATENATED_SEGMENTS >= DECODE(P_CATEGORY_FROM
493 ,NULL
494 ,MCV.CONCATENATED_SEGMENTS
495 ,P_CATEGORY_FROM)
496 AND MCV.CONCATENATED_SEGMENTS <= DECODE(P_CATEGORY_TO
497 ,NULL
498 ,MCV.CONCATENATED_SEGMENTS
499 ,P_CATEGORY_TO)
500 AND MSI.INVENTORY_ITEM_ID = MIC.INVENTORY_ITEM_ID
501 AND MSI.ORGANIZATION_ID = MIC.ORGANIZATION_ID
502 AND MSI.COSTING_ENABLED_FLAG = 'Y'
503 AND MP.ORGANIZATION_ID = P_ORGANIZATION_ID
504 AND CIC.ORGANIZATION_ID = P_ORGANIZATION_ID
505 AND CIC.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
506 AND ( CIC.COST_TYPE_ID = P_COST_TYPE_ID
507 OR ( CIC.COST_TYPE_ID = P_DEFAULT_COST_TYPE_ID
508 AND not exists (
509 SELECT
510 'X'
511 FROM
512 CST_ITEM_COSTS CIC2
513 WHERE CIC2.ORGANIZATION_ID = P_ORGANIZATION_ID
514 AND CIC2.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
515 AND CIC2.COST_TYPE_ID = P_COST_TYPE_ID ) )
516 OR ( CIC.COST_TYPE_ID = MP.PRIMARY_COST_METHOD
517 AND not exists (
518 SELECT
519 'X'
520 FROM
521 CST_ITEM_COSTS CIC3
522 WHERE CIC3.ORGANIZATION_ID = P_ORGANIZATION_ID
523 AND CIC3.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
524 AND CIC3.COST_TYPE_ID IN ( P_COST_TYPE_ID , P_DEFAULT_COST_TYPE_ID ) ) ) )
525 AND CIC.BASED_ON_ROLLUP_FLAG = 1
526 AND BP.organization_id (+) = MSI.ORGANIZATION_ID
527 AND nvl(MSI.INVENTORY_ITEM_STATUS_CODE,
528 'NOT_' || BP.bom_delete_status_code (+)) <> BP.bom_delete_status_code (+)
529 UNION
530 SELECT
531 P_ROLLUP_ID,
532 MIC.INVENTORY_ITEM_ID,
533 MIC.ORGANIZATION_ID,
534 sysdate,
535 L_USER_ID,
536 sysdate,
537 L_USER_ID,
538 L_LOGIN_ID,
539 L_REQUEST_ID,
540 L_PROG_APPL_ID,
541 L_PROG_ID,
542 sysdate
543 FROM
544 MTL_ITEM_CATEGORIES MIC,
545 MTL_SYSTEM_ITEMS MSI,
546 BOM_PARAMETERS BP,
547 MTL_CATEGORIES_KFV MCV,
548 CST_ITEM_COSTS CIC,
549 MTL_PARAMETERS MP
550 WHERE P_ORGANIZATION_ID is null
551 AND MIC.CATEGORY_SET_ID = LP_CATEGORY_SET_ID
552 AND MIC.CATEGORY_ID = MCV.CATEGORY_ID
553 AND MCV.CONCATENATED_SEGMENTS >= DECODE(P_CATEGORY_FROM
554 ,NULL
555 ,MCV.CONCATENATED_SEGMENTS
556 ,P_CATEGORY_FROM)
557 AND MCV.CONCATENATED_SEGMENTS <= DECODE(P_CATEGORY_TO
558 ,NULL
559 ,MCV.CONCATENATED_SEGMENTS
560 ,P_CATEGORY_TO)
561 AND MSI.INVENTORY_ITEM_ID = MIC.INVENTORY_ITEM_ID
562 AND MSI.ORGANIZATION_ID = MIC.ORGANIZATION_ID
563 AND MSI.COSTING_ENABLED_FLAG = 'Y'
564 AND MP.ORGANIZATION_ID = MIC.ORGANIZATION_ID
565 AND CIC.ORGANIZATION_ID = MIC.ORGANIZATION_ID
566 AND CIC.INVENTORY_ITEM_ID = MIC.INVENTORY_ITEM_ID
567 AND ( CIC.COST_TYPE_ID = P_COST_TYPE_ID
568 OR ( CIC.COST_TYPE_ID = P_DEFAULT_COST_TYPE_ID
569 AND not exists (
570 SELECT
571 'X'
572 FROM
573 CST_ITEM_COSTS CIC2
574 WHERE CIC2.ORGANIZATION_ID = CIC.ORGANIZATION_ID
575 AND CIC2.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
576 AND CIC2.COST_TYPE_ID = P_COST_TYPE_ID ) )
577 OR ( CIC.COST_TYPE_ID = MP.PRIMARY_COST_METHOD
578 AND not exists (
579 SELECT
580 'X'
581 FROM
582 CST_ITEM_COSTS CIC3
583 WHERE CIC3.ORGANIZATION_ID = CIC.ORGANIZATION_ID
584 AND CIC3.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
585 AND CIC3.COST_TYPE_ID IN ( P_COST_TYPE_ID , P_DEFAULT_COST_TYPE_ID ) ) ) )
586 AND CIC.BASED_ON_ROLLUP_FLAG = 1
587 AND BP.organization_id (+) = MSI.ORGANIZATION_ID
588 AND nvl(MSI.INVENTORY_ITEM_STATUS_CODE,
589 'NOT_' || BP.bom_delete_status_code (+)) <> BP.bom_delete_status_code (+);
590 ELSE
591 L_STMT_NUM := 190;
592 INSERT INTO CST_SC_LISTS
593 (ROLLUP_ID
594 ,INVENTORY_ITEM_ID
595 ,ORGANIZATION_ID
596 ,LAST_UPDATE_DATE
597 ,LAST_UPDATED_BY
598 ,CREATION_DATE
599 ,CREATED_BY
600 ,LAST_UPDATE_LOGIN
601 ,REQUEST_ID
602 ,PROGRAM_APPLICATION_ID
603 ,PROGRAM_ID
604 ,PROGRAM_UPDATE_DATE)
605 SELECT
606 P_ROLLUP_ID,
607 MSI.INVENTORY_ITEM_ID,
608 MSI.ORGANIZATION_ID,
609 sysdate,
610 L_USER_ID,
611 sysdate,
612 L_USER_ID,
613 L_LOGIN_ID,
614 L_REQUEST_ID,
615 L_PROG_APPL_ID,
616 L_PROG_ID,
617 sysdate
618 FROM
619 MTL_SYSTEM_ITEMS_KFV MSI,
620 BOM_PARAMETERS BP,
621 CST_ITEM_COSTS CIC,
622 MTL_PARAMETERS MP
623 WHERE P_ORGANIZATION_ID is not null
624 AND MSI.ORGANIZATION_ID = P_ORGANIZATION_ID
625 AND MSI.CONCATENATED_SEGMENTS >= DECODE(P_ITEM_FROM
626 ,NULL
627 ,MSI.CONCATENATED_SEGMENTS
628 ,P_ITEM_FROM)
629 AND MSI.CONCATENATED_SEGMENTS <= DECODE(P_ITEM_TO
630 ,NULL
631 ,MSI.CONCATENATED_SEGMENTS
632 ,P_ITEM_TO)
633 AND MSI.COSTING_ENABLED_FLAG = 'Y'
634 AND MP.ORGANIZATION_ID = P_ORGANIZATION_ID
635 AND CIC.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
636 AND CIC.ORGANIZATION_ID = MSI.ORGANIZATION_ID
637 AND ( CIC.COST_TYPE_ID = P_COST_TYPE_ID
638 OR ( CIC.COST_TYPE_ID = P_DEFAULT_COST_TYPE_ID
639 AND not exists (
640 SELECT
641 'X'
642 FROM
643 CST_ITEM_COSTS CIC2
644 WHERE CIC2.ORGANIZATION_ID = CIC.ORGANIZATION_ID
645 AND CIC2.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
646 AND CIC2.COST_TYPE_ID = P_COST_TYPE_ID ) )
647 OR ( CIC.COST_TYPE_ID = MP.PRIMARY_COST_METHOD
648 AND not exists (
649 SELECT
650 'X'
651 FROM
652 CST_ITEM_COSTS CIC3
653 WHERE CIC3.ORGANIZATION_ID = CIC.ORGANIZATION_ID
654 AND CIC3.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
655 AND CIC3.COST_TYPE_ID IN ( P_COST_TYPE_ID , P_DEFAULT_COST_TYPE_ID ) ) ) )
656 AND CIC.BASED_ON_ROLLUP_FLAG = 1
657 AND NVL(CIC.ITEM_COST
658 ,0) = DECODE(LP_RANGE_TYPE
659 ,4
660 ,0
661 ,NVL(CIC.ITEM_COST
662 ,0))
663 AND BP.organization_id (+) = MSI.ORGANIZATION_ID
664 AND nvl(MSI.INVENTORY_ITEM_STATUS_CODE,
665 'NOT_' || BP.bom_delete_status_code (+)) <> BP.bom_delete_status_code (+)
666 UNION
667 SELECT
668 P_ROLLUP_ID,
669 MSI.INVENTORY_ITEM_ID,
670 MSI.ORGANIZATION_ID,
671 sysdate,
672 L_USER_ID,
673 sysdate,
674 L_USER_ID,
675 L_LOGIN_ID,
676 L_REQUEST_ID,
677 L_PROG_APPL_ID,
678 L_PROG_ID,
679 sysdate
680 FROM
681 MTL_SYSTEM_ITEMS_KFV MSI,
682 BOM_PARAMETERS BP,
683 CST_ITEM_COSTS CIC,
684 MTL_PARAMETERS MP
685 WHERE P_ORGANIZATION_ID is null
686 AND MSI.CONCATENATED_SEGMENTS >= DECODE(P_ITEM_FROM
687 ,NULL
688 ,MSI.CONCATENATED_SEGMENTS
689 ,P_ITEM_FROM)
690 AND MSI.CONCATENATED_SEGMENTS <= DECODE(P_ITEM_TO
691 ,NULL
692 ,MSI.CONCATENATED_SEGMENTS
693 ,P_ITEM_TO)
694 AND MSI.COSTING_ENABLED_FLAG = 'Y'
695 AND MP.ORGANIZATION_ID = MSI.ORGANIZATION_ID
696 AND CIC.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
697 AND CIC.ORGANIZATION_ID = MSI.ORGANIZATION_ID
698 AND ( CIC.COST_TYPE_ID = P_COST_TYPE_ID
699 OR ( CIC.COST_TYPE_ID = P_DEFAULT_COST_TYPE_ID
700 AND not exists (
701 SELECT
702 'X'
703 FROM
704 CST_ITEM_COSTS CIC2
705 WHERE CIC2.ORGANIZATION_ID = CIC.ORGANIZATION_ID
706 AND CIC2.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
707 AND CIC2.COST_TYPE_ID = P_COST_TYPE_ID ) )
708 OR ( CIC.COST_TYPE_ID = MP.PRIMARY_COST_METHOD
709 AND not exists (
710 SELECT
711 'X'
712 FROM
713 CST_ITEM_COSTS CIC3
714 WHERE CIC3.ORGANIZATION_ID = CIC.ORGANIZATION_ID
715 AND CIC3.INVENTORY_ITEM_ID = CIC.INVENTORY_ITEM_ID
716 AND CIC3.COST_TYPE_ID IN ( P_COST_TYPE_ID , P_DEFAULT_COST_TYPE_ID ) ) ) )
717 AND CIC.BASED_ON_ROLLUP_FLAG = 1
718 AND NVL(CIC.ITEM_COST
719 ,0) = DECODE(LP_RANGE_TYPE
720 ,4
721 ,0
722 ,NVL(CIC.ITEM_COST
723 ,0))
724 AND BP.organization_id (+) = MSI.ORGANIZATION_ID
725 AND nvl(MSI.INVENTORY_ITEM_STATUS_CODE,
726 'NOT_' || BP.bom_delete_status_code (+)) <> BP.bom_delete_status_code (+);
727 END IF;
728 L_STMT_NUM := 200;
729 IF NVL(P_INC_UNIMP_ECN_FLAG
730 ,2) = 1 THEN
731 L_EXCLUDE_UNIMP_ECO := 2;
732 ELSE
733 L_EXCLUDE_UNIMP_ECO := 1;
734 END IF;
735 L_STMT_NUM := 210;
736 IF NVL(P_ENG_BILL_FLAG
737 ,2) = 1 THEN
738 L_EXCLUDE_ENG := 2;
739 ELSE
740 L_EXCLUDE_ENG := 1;
741 END IF;
742 L_STMT_NUM := 210;
743 IF (P_LOT_SIZE_OPTION IS NOT NULL) THEN
744 SELECT
745 MEANING
746 INTO P_LOT_SIZE_OPTION_NAME
747 FROM
748 MFG_LOOKUPS
749 WHERE LOOKUP_TYPE = 'CST_SC_LOT_OPTION'
750 AND LOOKUP_CODE = P_LOT_SIZE_OPTION;
751 END IF;
752 L_STMT_NUM := 220;
753 SELECT
754 sysdate
755 INTO L_TIMESTAMP
756 FROM
757 DUAL;
758 /*SRW.MESSAGE(0
759 ,'Before CSTPSCEX.supply_chain_rollup ' || TO_CHAR(L_TIMESTAMP
760 ,'YYYY/MM/DD HH24:MI:SS'))*/NULL;
761 L_STMT_NUM := 230;
762 CSTPSCEX.SUPPLY_CHAIN_ROLLUP(P_ROLLUP_ID
763 ,LP_EXPLOSION_LEVEL
764 ,LP_REPORT_LEVEL
765 ,LP_ASSIGNMENT_SET_ID
766 ,P_CONVERSION_TYPE
767 ,P_COST_TYPE_ID
768 ,LP_BUY_COST_TYPE_ID
769 ,TO_DATE(LP_REVISION_DATE
770 ,'YYYY/MM/DD HH24:MI:SS')
771 ,L_EXCLUDE_UNIMP_ECO
772 ,L_EXCLUDE_ENG
773 ,P_ALT_BOM_DESG
774 ,P_ALT_RTG_DESG
775 ,P_LOCK_FLAG
776 ,L_USER_ID
777 ,L_LOGIN_ID
778 ,L_REQUEST_ID
779 ,L_PROG_ID
780 ,L_PROG_APPL_ID
781 ,O_ERROR_CODE
782 ,O_ERROR_MSG
783 ,P_LOT_SIZE_OPTION
784 ,P_LOT_SIZE_SETTING
785 ,P_REPORT_OPTION_TYPE
786 ,P_REPORT_TYPE_TYPE
787 ,P_BUY_COST_DETAIL);
788 L_STMT_NUM := 240;
789 SELECT
790 sysdate
791 INTO L_TIMESTAMP
792 FROM
793 DUAL;
794 /*SRW.MESSAGE(0
795 ,'After CSTPSCEX.supply_chain_rollup ' || TO_CHAR(L_TIMESTAMP
796 ,'YYYY/MM/DD HH24:MI:SS'))*/NULL;
797 L_STMT_NUM := 250;
798 SELECT
799 count(*)
800 INTO L_ROWS_UNEXPLODED
801 FROM
802 CST_SC_BOM_EXPLOSION CSBE
803 WHERE CSBE.ROLLUP_ID = P_ROLLUP_ID
804 AND CSBE.DELETED_FLAG <> 'Y';
805 L_STMT_NUM := 260;
806 IF L_ROWS_UNEXPLODED = 0 THEN
807 /*SRW.MESSAGE(0
808 ,'No loop found')*/NULL;
809 ELSE
810 /*SRW.MESSAGE(0
811 ,'Loop found: ' || L_ROWS_UNEXPLODED || ' rows unexploded')*/NULL;
812 FOR cur IN LOOP_ROWS(p_rollup_id) LOOP
813 /*SRW.MESSAGE(0
814 ,'Assmbly Item ' || CUR.ASSEMBLY_ITEM_ID || ' Org ' || CUR.ASSEMBLY_ORGANIZATION_ID || ' Component Item ' || CUR.COMPONENT_ITEM_ID || ' Org ' || CUR.COMPONENT_ORGANIZATION_ID)*/NULL;
815 END LOOP;
816 END IF;
817 END IF;
818 L_STMT_NUM := 270;
819 SELECT
820 count(SOB.CURRENCY_CODE)
821 INTO P_NUM_CURRENCIES
822 FROM
823 CST_SC_LOW_LEVEL_CODES CSLLC,
824 HR_ORGANIZATION_INFORMATION HOI,
825 GL_LEDGERS SOB
826 WHERE CSLLC.ROLLUP_ID = P_ROLLUP_ID
827 AND HOI.ORGANIZATION_ID = CSLLC.ORGANIZATION_ID
828 AND HOI.ORG_INFORMATION_CONTEXT = 'Acounting Information'
829 AND SOB.LEDGER_ID = HOI.ORG_INFORMATION1;
830 L_STMT_NUM := 272;
831 SELECT
832 ALTERNATE_BOM_DESIGNATOR
833 INTO L_SNAPSHOT_DESIGNATOR
834 FROM
835 CST_COST_TYPES
836 WHERE COST_TYPE_ID = P_COST_TYPE_ID;
837 IF L_SNAPSHOT_DESIGNATOR IS NOT NULL THEN
838 FOR orgs IN NO_ALT_ORGS(l_snapshot_designator) LOOP
839 SELECT
840 ORGANIZATION_CODE
841 INTO L_NO_ALT_ORG
842 FROM
843 MTL_PARAMETERS
844 WHERE ORGANIZATION_ID = ORGS.ORGANIZATION_ID;
845 /*SRW.MESSAGE(0
846 ,'Alternate ' || L_SNAPSHOT_DESIGNATOR || ' is not defined in organziation ' || L_NO_ALT_ORG)*/NULL;
847 END LOOP;
848 END IF;
849 L_STMT_NUM := 275;
850 FOR orgs IN NO_BOM_ORGS LOOP
851 SELECT
852 ORGANIZATION_CODE
853 INTO L_NO_BOM_ORG
854 FROM
855 MTL_PARAMETERS
856 WHERE ORGANIZATION_ID = ORGS.ORGANIZATION_ID;
857 /*SRW.MESSAGE(0
858 ,'Org: ' || L_NO_BOM_ORG || '. ')*/NULL;
859 END LOOP;
860 IF O_ERROR_CODE = 8888 THEN
861 /*SRW.MESSAGE(0
862 ,'Alternate Designaor can not be NULL for the specified Cost Type ')*/NULL;
863 END IF;
864 L_STMT_NUM := 280;
865 IF O_ERROR_CODE <> 0 THEN
866 L_STR_POS := 0;
867 WHILE L_STR_POS < LENGTHB(O_ERROR_MSG) LOOP
868
869 /*SRW.MESSAGE(0
870 ,SUBSTRB(O_ERROR_MSG
871 ,L_STR_POS + 1
872 ,L_STR_POS + 180))*/NULL;
873 L_STR_POS := L_STR_POS + 180;
874 END LOOP;
875 ROLLBACK;
876 RETURN FALSE;
877 ELSE
878 RETURN TRUE;
879 END IF;
880 EXCEPTION
881 WHEN OTHERS THEN
882 /*SRW.MESSAGE('2001'
883 ,L_STMT_NUM || ' ' || SUBSTRB(SQLERRM
884 ,1
885 ,180))*/NULL;
886 ROLLBACK;
887 RETURN (FALSE);
888 END BEFOREREPORT;
889
890 FUNCTION CF_S_DIFFERENCEFORMULA(S_FROZEN_VALUE IN NUMBER
891 ,S_REPORT_VALUE IN NUMBER) RETURN NUMBER IS
892 BEGIN
893 RETURN (S_FROZEN_VALUE - S_REPORT_VALUE);
894 END CF_S_DIFFERENCEFORMULA;
895
896 FUNCTION CF_S_PERCENTFORMULA(S_FROZEN_VALUE IN NUMBER
897 ,S_REPORT_VALUE IN NUMBER
898 ,CF_S_DIFFERENCE IN NUMBER) RETURN NUMBER IS
899 BEGIN
900 IF (S_FROZEN_VALUE = 0 OR S_REPORT_VALUE = 0) THEN
901 RETURN (0);
902 ELSE
903 IF CF_S_DIFFERENCE > 0.0 THEN
904 RETURN (ROUND(100 * CF_S_DIFFERENCE / S_REPORT_VALUE
905 ,1));
906 ELSE
907 RETURN (ROUND(100 * CF_S_DIFFERENCE / S_FROZEN_VALUE
908 ,1));
909 END IF;
910 END IF;
911 END CF_S_PERCENTFORMULA;
912
913 FUNCTION CF_S_S_SRC_TOTALFORMULA(S_S_PERCENT IN NUMBER
914 ,S_S_EFFECTIVE_ITEM_COST IN NUMBER) RETURN NUMBER IS
915 BEGIN
916 IF NVL(S_S_PERCENT
917 ,0) = 0 THEN
918 RETURN 0;
919 END IF;
920 RETURN NVL(S_S_EFFECTIVE_ITEM_COST
921 ,0) / (S_S_PERCENT / 100);
922 END CF_S_S_SRC_TOTALFORMULA;
923
924 FUNCTION CF_S_R_USER_DEFINED_COSTFORMUL(S_R_ITEM_COST IN NUMBER
925 ,CS_SUM_EFFECTIVE_COST IN NUMBER) RETURN NUMBER IS
926 BEGIN
927 RETURN NVL(S_R_ITEM_COST
928 ,0) - NVL(CS_SUM_EFFECTIVE_COST
929 ,0);
930 END CF_S_R_USER_DEFINED_COSTFORMUL;
931
932 FUNCTION CF_S_S_PERCENT_COSTFORMULA(S_R_ITEM_COST IN NUMBER
933 ,S_S_EFFECTIVE_ITEM_COST IN NUMBER) RETURN NUMBER IS
934 BEGIN
935 IF S_R_ITEM_COST = 0 THEN
936 RETURN 0;
937 END IF;
938 RETURN S_S_EFFECTIVE_ITEM_COST / S_R_ITEM_COST * 100;
939 END CF_S_S_PERCENT_COSTFORMULA;
940
941 FUNCTION CF_S_R_USER_DEFINED_PERCENTFOR(S_R_ITEM_COST IN NUMBER
942 ,CF_S_R_USER_DEFINED_COST IN NUMBER) RETURN NUMBER IS
943 BEGIN
944 IF S_R_ITEM_COST = 0 THEN
945 RETURN 0;
946 END IF;
947 RETURN CF_S_R_USER_DEFINED_COST / S_R_ITEM_COST * 100;
948 END CF_S_R_USER_DEFINED_PERCENTFOR;
949
950 FUNCTION CF_SUM_EXT_COSTFORMULA0009(CS_SUM_COMP_EXT_COST IN NUMBER
951 ,CS_SUM_RES_EXT_COST IN NUMBER) RETURN NUMBER IS
952 BEGIN
953 RETURN NVL(CS_SUM_COMP_EXT_COST
954 ,0) + NVL(CS_SUM_RES_EXT_COST
955 ,0);
956 END CF_SUM_EXT_COSTFORMULA0009;
957
958 FUNCTION CF_S_SUM_PERCENTFORMULA0011(CS_S_SUM_DIFFERENCE IN NUMBER) RETURN NUMBER IS
959 BEGIN
960 IF CS_S_SUM_DIFFERENCE = 0 THEN
961 RETURN 0;
962 END IF;
963 RETURN 100;
964 END CF_S_SUM_PERCENTFORMULA0011;
965
966 FUNCTION AFTERREPORT RETURN BOOLEAN IS
967 L_DEFAULT_MATL_OVHD NUMBER(15);
968 L_ORGANIZATION_CODE VARCHAR2(3);
969 CONC_STATUS BOOLEAN;
970 RETURN_STATUS NUMBER := 1;
971 CURSOR NO_DEF_OVHD_ORGS IS
972 SELECT
973 DISTINCT
974 ORGANIZATION_ID
975 FROM
976 CST_SC_LOW_LEVEL_CODES
977 WHERE ROLLUP_ID = P_ROLLUP_ID;
978 BEGIN
979 FOR organizations IN NO_DEF_OVHD_ORGS LOOP
980 SELECT
981 NVL(DEFAULT_MATL_OVHD_COST_ID
982 ,0),
983 ORGANIZATION_CODE
984 INTO L_DEFAULT_MATL_OVHD,L_ORGANIZATION_CODE
985 FROM
986 MTL_PARAMETERS
987 WHERE ORGANIZATION_ID = ORGANIZATIONS.ORGANIZATION_ID;
988 IF (L_DEFAULT_MATL_OVHD = 0) THEN
989 FND_MESSAGE.SET_NAME('BOM'
990 ,'CST_SC_DEF_MATL_OVHD_SUBELEM');
991 FND_MESSAGE.SET_TOKEN('ORGANIZATION_CODE'
992 ,L_ORGANIZATION_CODE);
993 /*SRW.MESSAGE(0
994 ,FND_MESSAGE.GET)*/NULL;
995 END IF;
996 END LOOP;
997 IF (P_REPORT_OPTION_TYPE <> 3) THEN
998 COMMIT;
999 ELSE
1000 ROLLBACK;
1001 END IF;
1002 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
1003 RETURN (TRUE);
1004 END AFTERREPORT;
1005
1006 FUNCTION AFTERPFORM RETURN BOOLEAN IS
1007 BEGIN
1008 RETURN (TRUE);
1009 END AFTERPFORM;
1010
1011 END BOM_CSTRSCCR_XMLP_PKG;
1012
1013