• Introducing Dark Mode! Switch by clicking on the lightbulb icon next to Search or by clicking on Default style at the bottom left of the page!

Printing a multi-level BOM

Hi All,

I need to write a logic to print the levels in the BOM. I am given F3002 table and the JDE tool. I am new to JDE and it is truely difficult for me to display the levels in the BOM just by using KITL and LITM values. I could do it with SQL and Java, but I couldnot figure it out using the JDE tool. Any kind of help with the logic will work.

My report should print this way:

Level1 Level2 Level3 Level4 Level5 Level6

200
220
230
240
250
260

Level1 Level2 Level3 Level4 Level5 Level6

.... again the process repeats.

The values displayed are KITL(parent) values. Item#260 does not have any child and hence there are no further levels . Also,Its a one - many relationship(1 parent can have many children)




Many thanks,
 

johndanter

Legendary Poster
You could cheat and look at the F3111 as that IS the complete list of items used, plus phantoms.

Not entirely sure what you're issue is. How to show phantoms?

Here it is in SQL but linking to F4211 too (take that out)

WITH PARENT (IXKITP, IXMMCUP, IXPATH, LVL, IXEXQTY, IXTBM, IXKIT, IXKITL, IXKITA,
IXMMCU, IXITM, IXLITM, IXAITM, IXCMCU, IXCPNT, IXSBNT, IXPRTA, IXQNTY, IXUM,
IXBQTY, IXUOM, IXFVBT, IXEFFF, IXEFFT, IXFSER, IXTSER, IXITC, IXFTRC, IXOPTK,
IXFORV, IXCSTM, IXCSMP, IXORDW, IXFORQ, IXCOBY, IXCOTY, IXFRMP, IXTHRP, IXFRGD,
IXTHGD, IXOPSQ, IXBSEQ, IXFTRP, IXF$RP, IXRSCP, IXSCRP, IXREWP, IXASIP, IXCPYP,
IXSTPP, IXLOVD, IXECO, IXECTY, IXECOD, IXDSC1, IXLNTY, IXPRIC, IXUNCS, IXPCTK,
IXSHNO, IXOMCU, IXOBJ, IXSUB, IXBREV, IXCMRV, IXRVNO, IXUUPG, IXURCD, IXURDT,
IXURAT, IXURRF, IXURAB, IXUSER, IXPID, IXJOBN, IXUPMJ, IXTDAY, IXAING, IXSUCO,
IXSTRC, IXENDC, IXAPSC, IXCPNB, IXBSEQAN, IXBCHAR, IXBOSTR ) AS
(SELECT P.IXKIT,
P.IXMMCU, (P.IXKIT || ' / ' || P.IXITM) IXPATH, 1, (P.IXQNTY / 10000) IXEXQTY,
P.IXTBM, P.IXKIT, P.IXKITL, P.IXKITA, P.IXMMCU, P.IXITM, P.IXLITM, P.IXAITM,
P.IXCMCU, P.IXCPNT, P.IXSBNT, P.IXPRTA, P.IXQNTY, P.IXUM, P.IXBQTY, P.IXUOM,
P.IXFVBT, P.IXEFFF, P.IXEFFT, P.IXFSER, P.IXTSER, P.IXITC, P.IXFTRC, P.IXOPTK,
P.IXFORV, P.IXCSTM, P.IXCSMP, P.IXORDW, P.IXFORQ, P.IXCOBY, P.IXCOTY, P.IXFRMP,
P.IXTHRP, P.IXFRGD, P.IXTHGD, P.IXOPSQ, P.IXBSEQ, P.IXFTRP, P.IXF$RP, P.IXRSCP,
P.IXSCRP, P.IXREWP, P.IXASIP, P.IXCPYP, P.IXSTPP, P.IXLOVD, P.IXECO, P.IXECTY,
P.IXECOD, P.IXDSC1, P.IXLNTY, P.IXPRIC, P.IXUNCS, P.IXPCTK, P.IXSHNO, P.IXOMCU,
P.IXOBJ, P.IXSUB, P.IXBREV, P.IXCMRV, P.IXRVNO, P.IXUUPG, P.IXURCD, P.IXURDT,
P.IXURAT, P.IXURRF, P.IXURAB, P.IXUSER, P.IXPID, P.IXJOBN, P.IXUPMJ, P.IXTDAY,
P.IXAING, P.IXSUCO, P.IXSTRC, P.IXENDC, P.IXAPSC, P.IXCPNB, P.IXBSEQAN, P.IXBCHAR,
P.IXBOSTR
FROM TESTDTA.F3002 P
WHERE P.IXTBM = 'M'
AND P.IXMMCU IN (' 2620001', ' 2740001')
AND P.IXEFFF < 114021
AND P.IXEFFT > 114021
AND EXISTS
(SELECT NULL
FROM TESTDTA.F4211 S
WHERE P.IXKIT =S.SDITM
AND P.IXMMCU =S.SDMCU
AND LTRIM(RTRIM(S.SDMCU)) IN ('2620001', '2740001')
AND S.SDNXTR <'560'
AND S.SDPPDJ <115108
AND S.SDITM >0
AND S.SDITM =263273
)

UNION ALL

SELECT P.IXKITP,
P.IXMMCUP,
(P.IXPATH
|| ' / '
|| C.IXITM) IXPATH,
P.LVL +1,
DECODE(C.IXFORQ,'F',C.IXQNTY/10000, (P.IXEXQTY * C.IXQNTY/10000)) OSXQNTY, C.IXTBM,
C.IXKIT, C.IXKITL, C.IXKITA, C.IXMMCU, C.IXITM, C.IXLITM, C.IXAITM, C.IXCMCU, C.IXCPNT,
C.IXSBNT, C.IXPRTA, C.IXQNTY, C.IXUM, C.IXBQTY, C.IXUOM, C.IXFVBT, C.IXEFFF, C.IXEFFT,
C.IXFSER, C.IXTSER, C.IXITC, C.IXFTRC, C.IXOPTK, C.IXFORV, C.IXCSTM, C.IXCSMP, C.IXORDW,
C.IXFORQ, C.IXCOBY, C.IXCOTY, C.IXFRMP, C.IXTHRP, C.IXFRGD, C.IXTHGD, C.IXOPSQ, C.IXBSEQ,
C.IXFTRP, C.IXF$RP, C.IXRSCP, C.IXSCRP, C.IXREWP, C.IXASIP, C.IXCPYP, C.IXSTPP, C.IXLOVD,
C.IXECO, C.IXECTY, C.IXECOD, C.IXDSC1, C.IXLNTY, C.IXPRIC, C.IXUNCS, C.IXPCTK, C.IXSHNO,
C.IXOMCU, C.IXOBJ, C.IXSUB, C.IXBREV, C.IXCMRV, C.IXRVNO, C.IXUUPG, C.IXURCD, C.IXURDT,
C.IXURAT, C.IXURRF, C.IXURAB, C.IXUSER, C.IXPID, C.IXJOBN, C.IXUPMJ, C.IXTDAY, C.IXAING,
C.IXSUCO, C.IXSTRC, C.IXENDC, C.IXAPSC, C.IXCPNB, C.IXBSEQAN, C.IXBCHAR, C.IXBOSTR
FROM TESTDTA.F3002 C
JOIN PARENT P
ON C.IXKIT = P.IXITM
AND C.IXMMCU = P.IXCMCU
AND C.IXTBM ='M'
WHERE C.IXTBM = 'M'
AND C.IXEFFF < 114021
AND C.IXEFFT > 114021
) CYCLE IXKIT
SET is_cycle TO 'Y' DEFAULT 'N'
SELECT * FROM PARENT ORDER BY IXPATH ;
SELECT * FROM TESTDTA.F3002;
 
Last edited:

DSauve

Legendary Poster
Check out the JDE UBE R30460, and run it with a version for multi-level BOM (e.g. XJDE0002).

You can also run the JDE app P30200 and run it with a version for multi-level BOM inquiry (e.g. ZJDE0002).
 
Top