Sorry if I was not clear. It's perfectly clear in my head, why can't you see it!

My BOMs looks like this.

LEVEL,PartNumber,ECO#,Revision#
Or looking at it in indent format
1,PN1234,ECO9800,REV1
    2,PN12367,ECO9480,REV6
    2,PN54325,ECO9379,Rev0
        3,PN7888,ECO8790,Rev9
        ....
    2,PN8903,ECO909,Rev0
1,PN5464,ECO9803,REV3
....
So for example PN7888 is part of the assembly PN54325 which is one of three part/assemblies in PN1234. PN7888 has no relationship to PN12367 except that if you go far enough up the assemblies you have a common parent.

Here are the problems.

  1. Compare revisions and ECOs for parts between BOMs. I can conceptually see how to do that. This is the one I can't get a good grasp on how to best program.
  2. Keep track of the parts that make up an assembly and identify additions, subtractions and replacements.
The problem here is how do I do this efficiently. For example: if I am moving down the assembly and I reach PN1234, I would want to check all the 2 level parts under the assembly, on one pass, then go back and check all the level 3 parts under PN54325. And so on. This goes on and could reach 15-20K parts in 15 levels.

What should I do load two sets of 20,000 entries into two hashes? I have read that it is more efficient to use a while loop and read the lines, one at a time. But once I have read all Level 2 in one assembly how do I go back for additional passes to pull the deeper assemblies.

Edit kudra, 2002-06-08 Removed pre tags, added other markup


In reply to Re: Re: Comparing a Multilevel Bill of Materials by Anonymous Monk
in thread Comparing a Multilevel Bill of Materials by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.