Categorias

Write Simples no ABAP

Impressão do Write simples.

************************************************************************
*                                                                      *
*                        Consultoria                                *
*                                                                      *
* Nome do Programa   : TYPES                                           *
* Transação          : N/A                                             *
* Módulo funcional   : FI                                              *
* Título do Programa : TYPES                                           *
* Programador        : BRUNA                                           *
* Data de criação    : 28/08/2008                                      *
************************************************************************
* Objetivo:                                                            *
*----------------------------------------------------------------------*
* Lista de Modificações:                                               *
* Data        |   Autor      | Request #   |Breve descrição            *
* ---------------------------------------------------------------------*
*  28/08/2008 | BRUNA     | LOCAL  | Versão Inicial                 *
************************************************************************

REPORT  ZPX006_10.


************************************************************************
***  Tabela                                                          ***
************************************************************************

*TABELAS QUE SERÃO ULTILIZADAS.
Tables: MARA, MAKT.

************************************************************************
***  PARAMETRO DE SELEÇÃO                                            ***
************************************************************************

*parameter: p_MATNR type MARA-MATNR. 
(VAI SER SELECIONADO UM MATERIAL POR VEZ
*OU SEJA, VAI SER VIZUALIZADO UM CAMPO).

*VAI SER VIZUALIDADO DOIS CAMPOS DE, ATÉ ONDE O USUARIO DESCIDIR).
select-options: s_MATNR for MARA-MATNR.


************************************************************************
***  TYPES                                                           ***
************************************************************************

*ABRINDO 3 CAMPOS (LINHAS DA 'PLANILHA' COM SEUS RESPCTIVOS NOMES).
TYPES: BEGIN OF TY_MARA,
*CRIANDO UM TIPO PARA TABELA INTERNA.
       MATNR TYPE MARA-MATNR, "NOME DA COLUNA.
       ERSDA TYPE MARA-ERSDA,
       LAEDA TYPE MARA-LAEDA,
*CRIADO TODOS OS CAMPOS E FINALIZADO.
       END OF TY_MARA.


*ABRINDO 2 CAMPOS (LINHAS DA 'PLANILHA' COM SEUS RESPCTIVOS NOMES).
TYPES: BEGIN OF TY_MAKT,
*CRIANDO UM TIPO PARA TABELA INTERNA.
       MATNR TYPE MAKT-MATNR,
       MAKTX TYPE MAKT-MAKTX,
*CRIADO TODOS OS CAMPOS E FINALIZADO.
       END OF TY_MAKT.


************************************************************************
*** TABELAS INTERNAS                                                 ***
************************************************************************

*CRIANDO A TABELA POR INTEIRA
DATA: T_MARA TYPE TABLE OF TY_MARA,
      T_MAKT TYPE TABLE OF TY_MAKT.


************************************************************************
*** ESTRUTURAS                                               ***
************************************************************************

*CRIANDO A LINHA QUE VAI LER A TABELA.
DATA: E_MARA TYPE TY_MARA,
      E_MAKT TYPE TY_MAKT.



************************************************************************
*** START OF SELECTION                                               ***
************************************************************************

START-OF-SELECTION.

*LIMPAR O CODIGO.
  PERFORM F_SELECT.

  PERFORM F_IMPRESSAO.


*&---------------------------------------------------------------------*
*&      Form  F_SELECT
*&---------------------------------------------------------------------*
*      SELEÇÃO DE MATERIAIS.
*----------------------------------------------------------------------*
FORM F_SELECT .


  SELECT MATNR ERSDA LAEDA
*GUARDANDO DENTRO DA TABELA.
         INTO TABLE T_MARA
*BUSCANDO DA TABELA MARA.
         FROM MARA
*WHERE PEGA SOMENTE AS LINHAS FILTRADAS PELO MATNR (NO CASO).
         WHERE MATNR IN S_MATNR.



*VAI CHECAR SE A TABELA MARA NÃO ESTÁ VAZIA.
  IF NOT T_MARA[] IS INITIAL.



    SELECT MATNR MAKTX
*GUARDANDO DENTRO DA TABELA.
           INTO TABLE T_MAKT
*BUSCANDO DA TABELA MARA.
           FROM MAKT
*ESTÁ BUSCANDO TODO CONTEUDO DA TABELA MARA.
           FOR ALL ENTRIES IN T_MARA
           WHERE MATNR = T_MARA-MATNR.


  ENDIF.


ENDFORM.                    " F_SELECT


*&---------------------------------------------------------------------*
*&      Form  F_IMPRESSÃO
*&---------------------------------------------------------------------*
*       IMPRESSÃO
*----------------------------------------------------------------------*

FORM F_IMPRESSAO .


*VERIFICANDO REGISTRO A REGISTRO (LINHA Á LINHA).
  LOOP AT T_MARA INTO E_MARA.

*LENDO AS DESCRIÇÕES DO REGISTRO E_MAKT.
    READ TABLE T_MAKT INTO E_MAKT WITH KEY MATNR = E_MARA-MATNR.

*FORMATAR RELATÓRIO.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    FORMAT RESET.
    ULINE.
    FORMAT COLOR COL_NORMAL INTENSIFIED ON.


*IMPRESSÃO DO RELATÓRIO.
    WRITE: / SY-VLINE, E_MARA-MATNR,
             SY-VLINE, E_MARA-ERSDA,
             SY-VLINE, E_MARA-LAEDA,
             SY-VLINE, E_MAKT-MAKTX, SY-VLINE.

*FINALIZAR LOOP.
  ENDLOOP.


ENDFORM.                    " F_IMPRESSÃO