Вы находитесь на странице: 1из 3

*&---------------------------------------------------------------------*

*& Report Z22TB_EXERCICIO_06


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z22tb_exercicio_06.
DATA: V_PRODUTO LIKE Z22TB_PRODUTO,
V_MARCA LIKE Z22TB_MARCA.
TYPES: BEGIN OF ty_produto,
id_prod
TYPE z22tb_produto-id_prod,
desc_prod
TYPE z22tb_produto-desc_prod ,
quantidade
TYPE z22tb_produto-quantidade,
unidade
TYPE z22tb_produto-unidade ,
valor_uni
TYPE z22tb_produto-valor_uni,
moeda
TYPE z22tb_produto-moeda,
id_marca
TYPE z22tb_produto-id_marca ,
END OF ty_produto.
TYPES: BEGIN OF ty_marca,
id_marca
TYPE z22tb_marca-id_marca,
descmarca TYPE z22tb_marca-desc_marca ,
rating
TYPE z22tb_marca-rating,
END OF ty_marca.
TYPES: BEGIN OF ty_tb_saida,
id_prod TYPE z22tb_produto-id-prod,
descricao TYPE z22tb_produto-descricao ,
quantidade TYPE z22tb_produto-quantidade ,
unidade
TYPE z22tb_produto-unidade ,
valor_uni TYPE z22tb_produto-valor_uni,
moeda
TYPE z22tb_produto-moeda,
id_marca TYPE z22tb_produto-id_marca ,
desc_marca TYPE z22tb_marca-desc_marca,
rating
TYPE z22tb_marca,
END OF ty_tb_saida.

DATA: wa_produto TYPE ty_produto,


wa_marca
TYPE ty_marca,
wa_TB_saida
TYPE ty_TB_saida.

DATA: it_produto
it_marca
it_tb_saida

TYPE TABLE OF
TYPE TABLE OF
TYPE TABLE OF

ty_produto,
ty_marca,
ty_tb_saida.

SELECTION-SCREEN BEGIN OF BLOCK tst WITH FRAME TITLE text-001.


SELECTION-SCREEN BEGIN OF BLOCK tst1 WITH FRAME TITLE text-002.

PARAMETERS: P_idrod(5) TYPE C.


SELECT-OPTIONS s_IDMARK FOR V_PRODUTO-id_marca.
SELECT-OPTIONS s_RATING FOR V_MARCA-rating VISIBLE LENGTH 2.
SELECTION-SCREEN END OF BLOCK tst1.
SELECTION-SCREEN END OF BLOCK tst.
start-of-selection.
perform: f_seleciona_dados,
f_manipula,
end-of-SELECTION.
form f_seleciona_dados.
select id_prod desc_prod quantidade unidade valor_uni moeda id_marca
from z22tb_produto
into table it_produto
WHERE id_prod = P_idrod and id_marca in s_IDMARK.
if sy-subrc is INITIAL.
sort it_produto by id_prod .
ENDIF.
select id_marca desc_marca rating
from z22tb_marca
into table it_marca
WHERE id_marca in s_IDMARK and rating in s_RATING.
if sy-subrc is INITIAL.
sort it_marca by id_marca.
ENDIF.

ENDFORM.

form f_manipula.
LOOP AT it_produto into wa_produto.
READ TABLE it_marca
WITH KEY id_marca = wa_produto-id_marca
into wa_marca
BINARY SEARCH.
CLEAR wa_TB_saida.
wa_TB_saida-id-prod
wa_TB_saida-desc_prod
wa_TB_saida-quantidade
wa_TB_saida-unidade

=
=
=
=

wa_produto-id_prod .
wa_produto-desc_prod.
wa_produto-quantidade .
wa_produto-unidade.

wa_TB_saida-valor_uni
wa_TB_saida-moeda
wa_TB_saida-desc_marca
wa_TB_saida-rating

=
=

wa_produto-valor_uni .
wa_produto-moeda.
= wa_MARCA-desc_marca .
= wa_MARCA-rating.

APPEND wa_TB_saida to it_TB_saida.


ENDLOOP.
LOOP AT it_TB_saida INTO wa_TB_saida.
write: 'Relatrio de Produtos'(003).
write:/ .
WRITE: wa_TB_saida-id_prod color 4 .
WRITE: wa_TB_saida-desc_prod.
WRITE: wa_TB_saida-quantidade COLOR 4.
WRITE: wa_TB_saida-unidade.
WRITE: wa_TB_saida-valor_uni COLOR 4.
WRITE: wa_TB_saida-moeda.
WRITE: wa_TB_saida-desc_marca COLOR 4.
WRITE: wa_TB_saida-rating.
ENDLOOP.
ENDFORM.

Вам также может понравиться