OK. Here's an update and answer. I can tell from the number of people who have viewed this question without an answer, that the request to have 2 different retained data values in columns B, Item and Loc, and column G, Source and Entry Date poses a real problem.
I needed to press on with the project, so I kept pouring through my books etc, and found an answer. In my actual data, I found a second column containing the Entry Date equivalent that did not have an overlapping header value that I needed to retain. I also found another way to collect the Loc data with an additional step. So I devised a solution making the best use of the data I could glean from the presented data source.
The easiest answer is using the Fill function within the File Wizard in QlikView. I used the Fill function to match the longer value in column B and filling it with the "above" value, until the next occurrence of a header value. I did the same to fill the proper values in column D. And it did the same for Column G and overlaid the header value for each detail line, and then found, as I said before, another source for the date information that was overlaid. So Fill works well. Check it out. What is interesting is the resulting code has code like
Replace(1, top, StrCnd(start, '1')),
Replace(5, top, StrCnd(null)),
Replace(10, top, StrCnd(start, '4'))
)); at the end of the From file statement. That's how the fill functionality accomplishes the transformation. Pretty cool.