DBA Data[Home] [Help]

PACKAGE BODY: APPS.BOM_BOMRBOMC_XMLP_PKG

Source


1 PACKAGE BODY BOM_BOMRBOMC_XMLP_PKG AS
2 /* $Header: BOMRBOMCB.pls 120.0 2007/12/24 09:36:52 dwkrishn noship $ */
3 
4   FUNCTION GET_REV(D3_COMPO_ORG_ID IN NUMBER
5                   ,D3_COMPONENT_ITEM_ID IN NUMBER) RETURN VARCHAR2 IS
6     ITM_REV VARCHAR2(3);
7     ORG_ID NUMBER := D3_COMPO_ORG_ID;
8     ITEM_ID NUMBER := D3_COMPONENT_ITEM_ID;
9     CURSOR C1 IS
10       SELECT
11         REVISION
12       FROM
13         MTL_ITEM_REVISIONS MIR
14       WHERE INVENTORY_ITEM_ID = ITEM_ID
15         AND ORGANIZATION_ID = ORG_ID
16         AND MIR.EFFECTIVITY_DATE <= TO_DATE(LP_REVISION_DATE
17              ,'YYYY/MM/DD HH24:MI:SS')
18         AND ( ( P_IMPL_FLAG = 2 )
19       OR ( P_IMPL_FLAG = 1
20         AND IMPLEMENTATION_DATE IS NOT NULL ) )
21       ORDER BY
22         EFFECTIVITY_DATE,
23         REVISION;
24   BEGIN
25     OPEN C1;
26     FETCH C1
27      INTO ITM_REV;
28     IF C1%NOTFOUND THEN
29       CLOSE C1;
30       RETURN NULL;
31     END IF;
32     CLOSE C1;
33     RETURN ITM_REV;
34   END GET_REV;
35 
36   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
37   BEGIN
38     DECLARE
39       L_ORGANIZATION_NAME VARCHAR2(240);
40       L_EXPLODE_OPTION VARCHAR2(80);
41       L_IMPL VARCHAR2(80);
42       L_RANGE_OPTION VARCHAR2(80);
43       L_SPECIFIC_ITEM VARCHAR2(81);
44       L_CATEGORY_SET VARCHAR2(40);
45       L_PRINT_OPTION1 VARCHAR2(80);
46       L_PLAN_FACTOR VARCHAR2(80);
47       L_ALT_OPTION VARCHAR2(80);
48       L_ORDER_BY VARCHAR2(80);
49       L_SEQ_ID NUMBER;
50       L_STR VARCHAR2(2000);
51       L_BOM_OR_ENG NUMBER;
52       L_ERR_MSG VARCHAR2(80);
53       L_ERR_CODE NUMBER;
54       EXPLODER_ERROR EXCEPTION;
55       LOOP_ERROR EXCEPTION;
56       TABLE_NAME VARCHAR2(20);
57       ITEM_ID_NULL EXCEPTION;
58     BEGIN
59     LP_REVISION_DATE:=P_REVISION_DATE;
60 
61       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
62       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
63       TABLE_NAME := 'P_DEBUG';
64       IF (P_RANGE_OPTION_TYPE = 1) AND (P_ITEM_ID IS NULL) THEN
65         FND_MESSAGE.SET_NAME('null'
66                             ,'MFG_REQUIRED_VALUE');
67         FND_MESSAGE.SET_TOKEN('ENTITY'
68                              ,'specific item');
69         P_MSG_BUF := FND_MESSAGE.GET;
70         /*SRW.MESSAGE('999'
71                    ,P_MSG_BUF)*/NULL;
72         RAISE ITEM_ID_NULL;
73       END IF;
74       IF P_PRINT_OPTION1_FLAG = 2 THEN
75         /*SRW.SET_MAXROW('Q_ELEMENT'
76                       ,0)*/NULL;
77       END IF;
78       TABLE_NAME := 'ORG_DEF';
79       SELECT
80         O.ORGANIZATION_NAME
81       INTO L_ORGANIZATION_NAME
82       FROM
83         ORG_ORGANIZATION_DEFINITIONS O
84       WHERE O.ORGANIZATION_ID = P_ORGANIZATION_ID;
85       TABLE_NAME := 'MTL_ITEM_FLEXFIELDS';
86       IF (P_RANGE_OPTION_TYPE = 1) THEN
87         SELECT
88           ITEM_NUMBER
89         INTO L_SPECIFIC_ITEM
90         FROM
91           MTL_ITEM_FLEXFIELDS
92         WHERE ITEM_ID = P_ITEM_ID
93           AND ORGANIZATION_ID = P_ORGANIZATION_ID;
94         P_SPECIFIC_ITEM := L_SPECIFIC_ITEM;
95       END IF;
96       TABLE_NAME := 'MTL_CATEGORY_SETS';
97       IF P_CATEGORY_SET_ID > 0 THEN
98         SELECT
99           CATEGORY_SET_NAME
100         INTO L_CATEGORY_SET
101         FROM
102           MTL_CATEGORY_SETS
103         WHERE CATEGORY_SET_ID = P_CATEGORY_SET_ID;
104         P_CATEGORY_SET := L_CATEGORY_SET;
105       END IF;
106       TABLE_NAME := 'MFG_LOOKUPS1';
107       SELECT
108         SUBSTR(L1.MEANING
109               ,1
110               ,40),
111         SUBSTR(L2.MEANING
112               ,1
113               ,4),
114         SUBSTR(L3.MEANING
115               ,1
116               ,40),
117         SUBSTR(L4.MEANING
118               ,1
119               ,4),
120         SUBSTR(L5.MEANING
121               ,1
122               ,4)
123       INTO L_EXPLODE_OPTION,L_IMPL,L_RANGE_OPTION,L_PRINT_OPTION1,L_PLAN_FACTOR
124       FROM
125         MFG_LOOKUPS L1,
126         MFG_LOOKUPS L2,
127         MFG_LOOKUPS L3,
128         MFG_LOOKUPS L4,
129         MFG_LOOKUPS L5
130       WHERE L1.LOOKUP_TYPE = 'BOM_INQUIRY_DISPLAY_TYPE'
131         AND L1.LOOKUP_CODE = P_EXPLODE_OPTION_TYPE
132         AND L2.LOOKUP_TYPE = 'SYS_YES_NO'
133         AND L2.LOOKUP_CODE = P_IMPL_FLAG
134         AND L3.LOOKUP_TYPE = 'BOM_SELECTION_TYPE'
135         AND L3.LOOKUP_CODE = P_RANGE_OPTION_TYPE
136         AND L4.LOOKUP_TYPE = 'SYS_YES_NO'
137         AND L4.LOOKUP_CODE = P_PRINT_OPTION1_FLAG
138         AND L5.LOOKUP_TYPE = 'SYS_YES_NO'
139         AND L5.LOOKUP_CODE = P_PLAN_FACTOR_FLAG;
140       TABLE_NAME := 'MFG_LOOKUPS2';
141       SELECT
142         SUBSTR(L1.MEANING
143               ,1
144               ,40),
145         SUBSTR(L2.MEANING
146               ,1
147               ,40)
148       INTO L_ALT_OPTION,L_ORDER_BY
149       FROM
150         MFG_LOOKUPS L1,
151         MFG_LOOKUPS L2
152       WHERE L1.LOOKUP_TYPE = 'MCG_AUTOLOAD_OPTION'
153         AND L1.LOOKUP_CODE = P_ALT_OPTION_TYPE
154         AND L2.LOOKUP_TYPE = 'BOM_BILL_SORT_ORDER_TYPE'
155         AND L2.LOOKUP_CODE = P_ORDER_BY_TYPE;
156       P_ORGANIZATION_NAME := L_ORGANIZATION_NAME;
157       P_EXPLODE_OPTION := L_EXPLODE_OPTION;
158       P_IMPL := L_IMPL;
159       P_RANGE_OPTION := L_RANGE_OPTION;
160       P_PRINT_OPTION1 := L_PRINT_OPTION1;
161       P_ALT_OPTION := L_ALT_OPTION;
162       P_ORDER_BY := L_ORDER_BY;
163       P_PLAN_FACTOR := L_PLAN_FACTOR;
164       IF P_BOM_OR_ENG = 'BOM' THEN
165         L_BOM_OR_ENG := 1;
166       ELSE
167         L_BOM_OR_ENG := 2;
168       END IF;
169       TABLE_NAME := 'DUAL_SEQUENCE';
170       SELECT
171         BOM_LISTS_S.NEXTVAL
172       INTO L_SEQ_ID
173       FROM
174         DUAL;
175       P_SEQUENCE_ID := L_SEQ_ID;
176       TABLE_NAME := 'ITEM FLEX RANGE';
177       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
178       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
179       IF P_RANGE_OPTION_TYPE = 2 THEN
180         IF (P_ITEM_FROM IS NOT NULL) THEN
181           IF (P_ITEM_TO IS NOT NULL) THEN
182             NULL;
183           ELSE
184             NULL;
185           END IF;
186         ELSE
187           IF (P_ITEM_TO IS NOT NULL) THEN
188             NULL;
189           END IF;
190         END IF;
191         TABLE_NAME := 'CATEGORY FLEX RANGE';
192         IF (P_CATEGORY_FROM IS NOT NULL) THEN
193           IF (P_CATEGORY_TO IS NOT NULL) THEN
194             NULL;
195           ELSE
196             NULL;
197           END IF;
198         ELSE
199           IF (P_CATEGORY_TO IS NOT NULL) THEN
200             NULL;
201           END IF;
202         END IF;
203       END IF;
204       TABLE_NAME := 'BUILD SQL';
205       L_STR := 'INSERT INTO BOM_LISTS (SEQUENCE_ID, ASSEMBLY_ITEM_ID,
206                                                ALTERNATE_DESIGNATOR) ';
207       IF P_RANGE_OPTION_TYPE = 1 THEN
208         L_STR := L_STR || '  SELECT DISTINCT ' || TO_CHAR(L_SEQ_ID) || ',
209                                  ' || TO_CHAR(P_ITEM_ID) || ',
210                                  bbom.alternate_bom_designator
211                           FROM   bom_bill_of_materials bbom
212                           WHERE  bbom.organization_id = ' || TO_CHAR(P_ORGANIZATION_ID) || '
213                           AND    bbom.assembly_item_id = ' || TO_CHAR(P_ITEM_ID);
214       ELSE
215         L_STR := L_STR || '  SELECT DISTINCT ' || TO_CHAR(L_SEQ_ID) || ',
216                                  msi.inventory_item_id,
217                                  bbom.alternate_bom_designator
218                           FROM   mtl_item_categories mic,
219                                  mtl_system_items msi,
220                                  mtl_categories mc,
221                                  bom_bill_of_materials bbom
222                           WHERE  ' || P_ASS_BETWEEN || '
223                           AND    msi.inventory_item_id = mic.inventory_item_id
224                           AND    msi.organization_id =
225                                  ' || TO_CHAR(P_ORGANIZATION_ID) || '
226                           AND    mic.organization_id =
227                                  ' || TO_CHAR(P_ORGANIZATION_ID) || '
228                           AND    mic.category_set_id =
229                                  ' || TO_CHAR(P_CATEGORY_SET_ID) || '
230                           AND    mic.category_id = mc.category_id
231                           AND    mc.structure_id =
232                                  ' || TO_CHAR(P_CATEGORY_STRUCTURE_ID) || '
233                           AND    ' || P_CAT_BETWEEN || '
234                           AND    msi.inventory_item_id = bbom.assembly_item_id
235                           AND    msi.organization_id = bbom.organization_id
236                    	 AND 	msi.bom_enabled_flag = ''Y''';
237       END IF;
238       L_STR := L_STR || '  AND    (  (' || TO_CHAR(P_ALT_OPTION_TYPE) || ' = 1)
239                                 OR
240                                   (' || TO_CHAR(P_ALT_OPTION_TYPE) || ' = 2
241                                    AND bbom.alternate_bom_designator IS NULL)
242                                 OR
243                                   (' || TO_CHAR(P_ALT_OPTION_TYPE) || ' = 3
244                                    AND NVL(bbom.alternate_bom_designator,''XXX'')=
245                                        NVL(''' || P_ALTERNATE_DESG || ''', ''XXX''))
246                                )
247                          AND   (  (''' || P_BOM_OR_ENG || ''' = ''BOM''
248                                    AND bbom.assembly_type = 1)
249                                 OR
250                                   (''' || P_BOM_OR_ENG || ''' = ''ENG'')
251                                )';
252       TABLE_NAME := 'EXECUTE SQL';
253       EXECUTE IMMEDIATE
254         L_STR;
255       TABLE_NAME := 'CALL EXPLODER';
256       IF LP_REVISION_DATE IS NULL THEN
257         LP_REVISION_DATE := TO_CHAR(SYSDATE
258                                   ,'YYYY/MM/DD HH24:MI:SS');
259       END IF;
260       EXPLOSION_REPORT(ORG_ID => P_ORGANIZATION_ID
261                       ,ORDER_BY => P_ORDER_BY_TYPE
262                       ,LIST_ID => L_SEQ_ID
263                       ,GRP_ID => P_GROUP_ID
264                       ,SESSION_ID => -1
265                       ,LEVELS_TO_EXPLODE => P_EXPLOSION_LEVEL
266                       ,BOM_OR_ENG => L_BOM_OR_ENG
267                       ,IMPL_FLAG => P_IMPL_FLAG
268                       ,EXPLODE_OPTION => P_EXPLODE_OPTION_TYPE
269                       ,MODULE => 2
270                       ,CST_TYPE_ID => -1
271                       ,STD_COMP_FLAG => -1
272                       ,EXPL_QTY => P_EXPLOSION_QUANTITY
273                       ,REPORT_OPTION => -1
274                       ,REQ_ID => P_CONC_REQUEST_ID
275                       ,LOCK_FLAG => -1
276                       ,ROLLUP_OPTION => -1
277                       ,ALT_RTG_DESG => ''
278                       ,ALT_DESG => P_ALTERNATE_DESG
279                       ,REV_DATE => LP_REVISION_DATE
280                       ,ERR_MSG => L_ERR_MSG
281                       ,ERROR_CODE => L_ERR_CODE
282                       ,VERIFY_FLAG => 0
283                       ,CST_RLP_ID => 0
284                       ,PLAN_FACTOR_FLAG => P_PLAN_FACTOR_FLAG
285                       ,INCL_LT_FLAG => 2);
286       TABLE_NAME := 'EXPLODE COMPLETE';
287       IF L_ERR_CODE = 9999 THEN
288         RAISE LOOP_ERROR;
289       END IF;
290       IF L_ERR_CODE < 0 THEN
291         RAISE EXPLODER_ERROR;
292       END IF;
293       RETURN (TRUE);
294     EXCEPTION
295     /*  WHEN SRW.DO_SQL_FAILURE OTHERS THEN
296         SRW.MESSAGE('2000'
297                    ,TABLE_NAME || SQLERRM)NULL;
298         RETURN (FALSE);*/
299       WHEN EXPLODER_ERROR THEN
300         /*SRW.MESSAGE('2001'
301                    ,L_ERR_MSG)*/NULL;
302         RETURN (FALSE);
303       WHEN LOOP_ERROR THEN
304         P_ERR_MSG := L_ERR_MSG;
305         FND_MESSAGE.SET_NAME('null'
306                             ,':P_ERR_MSG');
307         P_MSG_BUF := FND_MESSAGE.GET;
308         /*SRW.MESSAGE('9999'
309                    ,P_MSG_BUF)*/NULL;
310         RETURN (FALSE);
311       WHEN ITEM_ID_NULL THEN
312         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
313       WHEN NO_DATA_FOUND THEN
314         /*SRW.MESSAGE('2003'
315                    ,TABLE_NAME || SQLERRM)*/NULL;
316 
317         RETURN (TRUE);
318       WHEN OTHERS THEN
319         /*SRW.MESSAGE('2000'
320                    ,TABLE_NAME || SQLERRM)*/NULL;
321 
322         RETURN (FALSE);
323     END;
324     RETURN (TRUE);
325   END BEFOREREPORT;
326 
327   FUNCTION GET_ELE_DESC(M_BOM_ITEM_TYPE IN NUMBER
328                        ,D2_ELEMENT_NAME IN VARCHAR2
329                        ,M_ITEM_CATALOG_GROUP_ID IN NUMBER) RETURN VARCHAR2 IS
330     L_DESC VARCHAR2(240);
331     ORG_ID NUMBER := P_ORGANIZATION_ID;
332     L_ITEM_TYPE NUMBER := M_BOM_ITEM_TYPE;
333     L_ELEMENT_NAME VARCHAR(30) := D2_ELEMENT_NAME;
334     L_CATALOG_GROUP_ID NUMBER := M_ITEM_CATALOG_GROUP_ID;
335   BEGIN
336     IF L_ITEM_TYPE = 1 THEN
337       SELECT
338         DESCRIPTION
339       INTO L_DESC
340       FROM
341         MTL_DESCRIPTIVE_ELEMENTS
342       WHERE ITEM_CATALOG_GROUP_ID = L_CATALOG_GROUP_ID
343         AND ELEMENT_NAME = L_ELEMENT_NAME;
344     ELSIF L_ITEM_TYPE = 2 THEN
345       SELECT
346         MIN(DESCRIPTION)
347       INTO L_DESC
348       FROM
349         MTL_DESCRIPTIVE_ELEMENTS
350       WHERE ELEMENT_NAME = L_ELEMENT_NAME;
351     END IF;
352     RETURN (L_DESC);
353   END GET_ELE_DESC;
354 
355   FUNCTION AFTERREPORT RETURN BOOLEAN IS
356   BEGIN
357     BEGIN
358       ROLLBACK;
359       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
360     EXCEPTION
361       WHEN OTHERS THEN
362         RETURN (TRUE);
363     END;
364     RETURN (TRUE);
365   END AFTERREPORT;
366 
367   PROCEDURE EXPLODER_USEREXIT(VERIFY_FLAG IN NUMBER
368                              ,ORG_ID IN NUMBER
369                              ,ORDER_BY IN NUMBER
370                              ,GRP_ID IN NUMBER
371                              ,SESSION_ID IN NUMBER
372                              ,LEVELS_TO_EXPLODE IN NUMBER
373                              ,BOM_OR_ENG IN NUMBER
374                              ,IMPL_FLAG IN NUMBER
375                              ,PLAN_FACTOR_FLAG IN NUMBER
376                              ,EXPLODE_OPTION IN NUMBER
377                              ,MODULE IN NUMBER
378                              ,CST_TYPE_ID IN NUMBER
379                              ,STD_COMP_FLAG IN NUMBER
380                              ,EXPL_QTY IN NUMBER
381                              ,ITEM_ID IN NUMBER
382                              ,ALT_DESG IN VARCHAR2
383                              ,COMP_CODE IN VARCHAR2
384                              ,REV_DATE IN VARCHAR2
385                              ,ERR_MSG OUT NOCOPY VARCHAR2
386                              ,ERROR_CODE OUT NOCOPY NUMBER) IS
387   BEGIN
388   /*  STPROC.INIT('begin BOMPEXPL.EXPLODER_USEREXIT(:VERIFY_FLAG,
389   :ORG_ID, :ORDER_BY, :GRP_ID, :SESSION_ID, :LEVELS_TO_EXPLODE, :BOM_OR_ENG,
390   :IMPL_FLAG, :PLAN_FACTOR_FLAG, :EXPLODE_OPTION, :MODULE, :CST_TYPE_ID, :STD_COMP_FLAG, :EXPL_QTY, :ITEM_ID, :ALT_DESG, :COMP_CODE, :REV_DATE, :ERR_MSG, :ERROR_CODE); end;');
391     STPROC.BIND_I(VERIFY_FLAG);
392     STPROC.BIND_I(ORG_ID);
393     STPROC.BIND_I(ORDER_BY);
394     STPROC.BIND_I(GRP_ID);
395     STPROC.BIND_I(SESSION_ID);
396     STPROC.BIND_I(LEVELS_TO_EXPLODE);
397     STPROC.BIND_I(BOM_OR_ENG);
398     STPROC.BIND_I(IMPL_FLAG);
399     STPROC.BIND_I(PLAN_FACTOR_FLAG);
400     STPROC.BIND_I(EXPLODE_OPTION);
401     STPROC.BIND_I(MODULE);
402     STPROC.BIND_I(CST_TYPE_ID);
403     STPROC.BIND_I(STD_COMP_FLAG);
404     STPROC.BIND_I(EXPL_QTY);
405     STPROC.BIND_I(ITEM_ID);
406     STPROC.BIND_I(ALT_DESG);
407     STPROC.BIND_I(COMP_CODE);
408     STPROC.BIND_I(REV_DATE);
409     STPROC.BIND_O(ERR_MSG);
410     STPROC.BIND_O(ERROR_CODE);
411     STPROC.EXECUTE;
412     STPROC.RETRIEVE(19
413                    ,ERR_MSG);
414     STPROC.RETRIEVE(20
415                    ,ERROR_CODE);*/null;
416   END EXPLODER_USEREXIT;
417 
418   PROCEDURE EXPLOSION_REPORT(VERIFY_FLAG IN NUMBER
419                             ,ORG_ID IN NUMBER
420                             ,ORDER_BY IN NUMBER
421                             ,LIST_ID IN NUMBER
422                             ,GRP_ID IN NUMBER
423                             ,SESSION_ID IN NUMBER
424                             ,LEVELS_TO_EXPLODE IN NUMBER
425                             ,BOM_OR_ENG IN NUMBER
426                             ,IMPL_FLAG IN NUMBER
427                             ,PLAN_FACTOR_FLAG IN NUMBER
428                             ,INCL_LT_FLAG IN NUMBER
429                             ,EXPLODE_OPTION IN NUMBER
430                             ,MODULE IN NUMBER
431                             ,CST_TYPE_ID IN NUMBER
432                             ,STD_COMP_FLAG IN NUMBER
433                             ,EXPL_QTY IN NUMBER
434                             ,REPORT_OPTION IN NUMBER
435                             ,REQ_ID IN NUMBER
436                             ,CST_RLP_ID IN NUMBER
437                             ,LOCK_FLAG IN NUMBER
438                             ,ROLLUP_OPTION IN NUMBER
439                             ,ALT_RTG_DESG IN VARCHAR2
440                             ,ALT_DESG IN VARCHAR2
441                             ,REV_DATE IN VARCHAR2
442                             ,ERR_MSG OUT NOCOPY VARCHAR2
443                             ,ERROR_CODE OUT NOCOPY NUMBER) IS
444   BEGIN
445   /*  STPROC.INIT('begin BOMPEXPL.EXPLOSION_REPORT(:VERIFY_FLAG
446   , :ORG_ID, :ORDER_BY, :LIST_ID, :GRP_ID, :SESSION_ID, :LEVELS_TO_EXPLODE,
447   :BOM_OR_ENG, :IMPL_FLAG, :PLAN_FACTOR_FLAG, :INCL_LT_FLAG, :EXPLODE_OPTION, :MODULE, :CST_TYPE_ID,
448   :STD_COMP_FLAG, :EXPL_QTY, :REPORT_OPTION, :REQ_ID, :CST_RLP_ID, :LOCK_FLAG, :ROLLUP_OPTION, :ALT_RTG_DESG,
449   :ALT_DESG, :REV_DATE, :ERR_MSG, :ERROR_CODE); end;');
450     STPROC.BIND_I(VERIFY_FLAG);
451     STPROC.BIND_I(ORG_ID);
452     STPROC.BIND_I(ORDER_BY);
453     STPROC.BIND_I(LIST_ID);
454     STPROC.BIND_I(GRP_ID);
455     STPROC.BIND_I(SESSION_ID);
456     STPROC.BIND_I(LEVELS_TO_EXPLODE);
457     STPROC.BIND_I(BOM_OR_ENG);
458     STPROC.BIND_I(IMPL_FLAG);
459     STPROC.BIND_I(PLAN_FACTOR_FLAG);
460     STPROC.BIND_I(INCL_LT_FLAG);
461     STPROC.BIND_I(EXPLODE_OPTION);
462     STPROC.BIND_I(MODULE);
463     STPROC.BIND_I(CST_TYPE_ID);
464     STPROC.BIND_I(STD_COMP_FLAG);
465     STPROC.BIND_I(EXPL_QTY);
466     STPROC.BIND_I(REPORT_OPTION);
467     STPROC.BIND_I(REQ_ID);
468     STPROC.BIND_I(CST_RLP_ID);
469     STPROC.BIND_I(LOCK_FLAG);
470     STPROC.BIND_I(ROLLUP_OPTION);
471     STPROC.BIND_I(ALT_RTG_DESG);
472     STPROC.BIND_I(ALT_DESG);
473     STPROC.BIND_I(REV_DATE);
474     STPROC.BIND_O(ERR_MSG);
475     STPROC.BIND_O(ERROR_CODE);
476     STPROC.EXECUTE;
477     STPROC.RETRIEVE(25
478                    ,ERR_MSG);
479     STPROC.RETRIEVE(26
480                    ,ERROR_CODE);*/
481 		   BOMPEXPL.EXPLOSION_REPORT(VERIFY_FLAG,ORG_ID,ORDER_BY,LIST_ID,GRP_ID,SESSION_ID,
482 		   LEVELS_TO_EXPLODE,BOM_OR_ENG,IMPL_FLAG,PLAN_FACTOR_FLAG,INCL_LT_FLAG,
483 		   EXPLODE_OPTION,MODULE,CST_TYPE_ID,STD_COMP_FLAG,EXPL_QTY,REPORT_OPTION,REQ_ID,
484 		   CST_RLP_ID,LOCK_FLAG,ROLLUP_OPTION,ALT_RTG_DESG,ALT_DESG,REV_DATE,ERR_MSG,ERROR_CODE);
485   END EXPLOSION_REPORT;
486 
487   PROCEDURE EXPLODERS(VERIFY_FLAG IN NUMBER
488                      ,ONLINE_FLAG IN NUMBER
489                      ,ORG_ID IN NUMBER
490                      ,ORDER_BY IN NUMBER
491                      ,GRP_ID IN NUMBER
492                      ,SESSION_ID IN NUMBER
493                      ,L_LEVELS_TO_EXPLODE IN NUMBER
494                      ,BOM_OR_ENG IN NUMBER
495                      ,IMPL_FLAG IN NUMBER
496                      ,PLAN_FACTOR_FLAG IN NUMBER
497                      ,INCL_LT_FLAG IN NUMBER
498                      ,L_EXPLODE_OPTION IN NUMBER
499                      ,MODULE IN NUMBER
500                      ,CST_TYPE_ID IN NUMBER
501                      ,STD_COMP_FLAG IN NUMBER
502                      ,REV_DATE IN VARCHAR2
503                      ,ERR_MSG OUT NOCOPY VARCHAR2
504                      ,ERROR_CODE OUT NOCOPY NUMBER) IS
505   BEGIN
506 /*    STPROC.INIT('begin BOMPEXPL.EXPLODERS(:VERIFY_FLAG, :ONLINE_FLAG, :ORG_ID,
507 :ORDER_BY, :GRP_ID, :SESSION_ID, :L_LEVELS_TO_EXPLODE, :BOM_OR_ENG,
508 :IMPL_FLAG, :PLAN_FACTOR_FLAG, :INCL_LT_FLAG, :L_EXPLODE_OPTION, :MODULE, :CST_TYPE_ID, :STD_COMP_FLAG, :REV_DATE, :ERR_MSG, :ERROR_CODE); end;');
509     STPROC.BIND_I(VERIFY_FLAG);
510     STPROC.BIND_I(ONLINE_FLAG);
511     STPROC.BIND_I(ORG_ID);
512     STPROC.BIND_I(ORDER_BY);
513     STPROC.BIND_I(GRP_ID);
514     STPROC.BIND_I(SESSION_ID);
515     STPROC.BIND_I(L_LEVELS_TO_EXPLODE);
516     STPROC.BIND_I(BOM_OR_ENG);
517     STPROC.BIND_I(IMPL_FLAG);
518     STPROC.BIND_I(PLAN_FACTOR_FLAG);
519     STPROC.BIND_I(INCL_LT_FLAG);
520     STPROC.BIND_I(L_EXPLODE_OPTION);
521     STPROC.BIND_I(MODULE);
522     STPROC.BIND_I(CST_TYPE_ID);
523     STPROC.BIND_I(STD_COMP_FLAG);
524     STPROC.BIND_I(REV_DATE);
525     STPROC.BIND_O(ERR_MSG);
526     STPROC.BIND_O(ERROR_CODE);
527     STPROC.EXECUTE;
528     STPROC.RETRIEVE(17
529                    ,ERR_MSG);
530     STPROC.RETRIEVE(18
531                    ,ERROR_CODE);*/null;
532   END EXPLODERS;
533 
534   PROCEDURE LOOPSTR2MSG(GRP_ID IN NUMBER
535                        ,VERIFY_MSG OUT NOCOPY VARCHAR2) IS
536   BEGIN
537  /*   STPROC.INIT('begin BOMPEXPL.LOOPSTR2MSG(:GRP_ID, :VERIFY_MSG); end;');
538     STPROC.BIND_I(GRP_ID);
539     STPROC.BIND_O(VERIFY_MSG);
540     STPROC.EXECUTE;
541     STPROC.RETRIEVE(2
542                    ,VERIFY_MSG);*/null;
543   END LOOPSTR2MSG;
544  FUNCTION g_filter RETURN boolean is
545   BEGIN
546   IF P_PRINT_OPTION1_FLAG = 2 THEN
547     RETURN(FALSE);
548   ELSE
549      RETURN(TRUE);
550   end if;
551 END g_filter;
552 END BOM_BOMRBOMC_XMLP_PKG;
553