You are on page 1of 3

TABLES: VBAK.

*CRIANDO ESTRUTURA
TYPES: BEGIN OF TY_TESTE,
VBELN_VBAK TYPE
ERDAT_VBAK TYPE
ERZET_VBAK TYPE
VKGRP_VBAK TYPE
END OF TY_TESTE,

VBAK-vbeln,
VBAK-erdat,
VBAK-erzet,
VBAK-vkgrp,

BEGIN OF TY_TESTE1,
VBELN_VBEP TYPE
POSNR_VBEP TYPE
ETENR_VBEP TYPE
ETTYP_VBEP TYPE
END OF TY_TESTE1.

VBEP-vbeln,
VBEP-posnr,
VBEP-etenr,
VBEP-ettyp,

*CRIANDO TABELA INTERNA COM A ESTRUTURA ACIMA.


DATA: T_TESTE TYPE TABLE OF TY_TESTE,
T_TESTE1 TYPE TABLE OF TY_TESTE1.
*CRIANDO WORK-AREA
DATA: WA_TESTE TYPE TY_TESTE,
WA_TESTE1 TYPE TY_TESTE1.
*CRIAO DE RANGE
RANGES R_TESTE FOR VBAK-VBELN.
*CRIAO DE TELA.
SELECTION-SCREEN BEGIN OF
SELECT-OPTIONS: S_BELN
S_ERDAT
SELECTION-SCREEN END OF

BLOCK BTELA WITH FRAME TITLE TEXT-001.


FOR VBAK-vbeln,
FOR VBAK-ERDAT NO-EXTENSION NO INTERVALS.
BLOCK BTELA.

START-OF-SELECTION.
PERFORM: F_SELECIONA_DADOS,
F_PROCESSA_DADOS,
F_EXIBE_DADOS.
END-OF-SELECTION.
FORM F_SELECIONA_DADOS.
CLEAR: T_TESTE,
T_TESTE1.
SELECT VBELN
ERDAT
ERZET
VKGRP
FROM VBAK
INTO TABLE T_TESTE
WHERE VBELN IN S_BELN
AND ERDAT IN S_ERDAT.
SORT T_TESTE BY VBELN_VBAK.
CLEAR: R_TESTE-option,
R_TESTE-low,
R_TESTE-sign.
*ESTRUTURA DO RANGE (COMO MONTAR)
LOOP AT T_TESTE INTO WA_TESTE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING

INPUT = WA_TESTE-VBELN_VBAK
IMPORTING
OUTPUT = WA_TESTE-VBELN_VBAK.
*
*
*

R_TESTE-SIGN = 'S'.
R_TESTE-OPTION = 'EQ'.
R_TESTE-LOW
= WA_TESTE-VBELN_VBAK.
MOVE: wa_teste-vbeln_vbak TO r_teste-low,
'I'
TO r_teste-sign,
'EQ' TO r_teste-option.
APPEND r_teste.
CLEAR: R_TESTE-option,
R_TESTE-low,
R_TESTE-sign,
wa_teste.

ENDLOOP.
*FIM DO RANGE
IF T_TESTE IS INITIAL.
WRITE 'NO FOI ENCONTRADO DADOS'.
ELSE.
*
SELECT vbeln
*
posnr
*
etenr
*
ettyp
*
FROM VBEP
*
INTO TABLE T_TESTE1
**for all entries = percorre a tabela interna, e faz uma nova busca com base no
s dados contidos nessa tabela.
*
FOR ALL ENTRIES IN T_TESTE
*
WHERE VBELN EQ T_TESTE-VBELN_VBAK.
SELECT vbeln
posnr
etenr
ettyp
FROM VBEP
INTO TABLE T_TESTE1
WHERE VBELN in R_TESTE.
IF T_TESTE1 IS INITIAL.
WRITE 'NO FOI ENCONTRADO DADOS'.
ENDIF.
ENDIF.
ENDFORM.
FORM F_PROCESSA_DADOS.
WRITE: / 'DOC.VENDA',
'ITEM',
'MATERIAL',
'MAT_ENTRADA'.
LOOP AT T_TESTE INTO WA_TESTE.
LOOP AT T_TESTE1 INTO WA_TESTE1 WHERE VBELN_VBEP EQ WA_TESTE-VBELN_VBAK.
WRITE: / WA_TESTE-vbeln_VBAK,
WA_TESTE-erdat_VBAK,
WA_TESTE-erzet_VBAK,
WA_TESTE-vkgrp_VBAK,
WA_TESTE1-vbeln_VBEP,

WA_TESTE1-posnr_VBEP,
WA_TESTE1-etenr_VBEP,
WA_TESTE1-ettyp_VBEP.
CLEAR: WA_TESTE,
WA_TESTE1.
ENDLOOP.
ENDLOOP.
ENDFORM.
FORM F_EXIBE_DADOS.
ENDFORM.

You might also like