unfortunately, not many examples exist, they seem to exist in the minds of people who write reports, there aren't many good books on the subject either, but I like Brian's. With that said...
I am assuming that you know how to create a subreport. This subreport is not for display, it is just to find the part numbers that have the trancode you want to hide, so there isn't much to it. In fact, all that there is a formula in the details section. The formula would look something like:
shared stringvar badParts;
if {table.trantype}="STK-MTL" then
badParts := badParts + "|" + {table.partnu} + "|"
place the subreport in the report header and go to its properties and select suppress on the general tab. From previous posts, make sure that the subreport is a section by itself ( i never use the report header, so it would be by itself, also, the report header is only 'read' once per report)
Now go to Section Expert, select the group that is partNu, click the 'x-1' box next to suppress and enter something like:
shared stringvar badParts;
instr(badParts, "|"+{table.partnu}+"|")>0
that should do it. shared variables cross the subreport boundary (globals don't). In a suppression formula, returning a 'true' means to suppress.
Just be careful, since suppressing a value doesn't 'remove' if from the aggregates like SUM or COUNT, which will make your report look incorrect, but if you aren't using any aggregate fields in the report, then all should be fine.
Hope this helps a bit more.