Olá, tudo bem?

Segue um trecho de SQL muito interessante, que traz a estrutura de produtos, informando no final do WHERE somente o código do produto pai.

Esta query é útil para iniciar a construção de qualquer relatório que se baseie em estrutura de produtos. Aí é sua imaginação (e necessidade) que mandam.

Segue o código (Para SQL SERVER):

WITH ESTRUT( CODIGO, COD_PAI, COD_COMP, QTD, PERDA, DT_INI, DT_FIM, NIVEL ) AS 
( 
      SELECT G1_COD PAI, G1_COD, G1_COMP, G1_QUANT, G1_PERDA, G1_INI, G1_FIM, 1 AS NIVEL 
        FROM SG1010 SG1 (NOLOCK) 
     WHERE SG1.D_E_L_E_T_ = '' 
       AND G1_FILIAL      = '01' 

     UNION ALL 

      SELECT CODIGO, G1_COD, G1_COMP, QTD * G1_QUANT, G1_PERDA, G1_INI, G1_FIM, NIVEL + 1 
        FROM SG1010 SG1 (NOLOCK) 
     INNER JOIN ESTRUT EST 
        ON G1_COD = COD_COMP 
     WHERE SG1.D_E_L_E_T_ = '' 
       AND SG1.G1_FILIAL = '01' 

) 

SELECT *
FROM ESTRUT E1
WHERE E1.CODIGO = 'SEUCODIGO' 
AND E1.DT_FIM >= '20170119'

Você pode também pegar o trecho com WITH () e transformar em uma VIEW

Dicas simples e rápida.