Range

Published on April 2017 | Categories: Documents | Downloads: 54 | Comments: 0 | Views: 384
of 3
Download PDF   Embed   Report

Comments

Content

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.
*CRIAÇÃO DE RANGE
RANGES R_TESTE FOR VBAK-VBELN.
*CRIAÇÃO 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 'NÃO 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 'NÃO 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.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close