Seguidores

ABAP OBJECTS

Fala galera  !!!!


Então pessoal  estava  olhando algumas coisas na net , e vi uma o site bom que disponibiliza o livro em SAP-ABAP .  é bom o livro recomendo , para quem esta começando Ele ta em inglês , como já sabemos , a maioria dos assuntos e dicas em SAP-ABAP , vc  irá encontrar em inglês.


http://media.techtarget.com/searchSAP/downloads/ABAP_Objects_Ch06.pdf


SAP

Olá Pessoal  Um site que ajuda muito em Tirar duvidas que eu estou também  com duvidas  No SAP.

O Site é  http://scn.sap.com/community/abap.



AT SELECTION

O Evento 

AT SELECTION.


Definindo o Evento AT SELECTION




*&---------------------------------------------------------------------*
*& Report  Z_EVENTO
*&
*&---------------------------------------------------------------------*
*& DEFININDO A UILIZACAÇÃO DO EVENTO
   AT SELECTION
*& COM ISSO CRIAR UM PROGRAMA JOGO DA VELHA
*&---------------------------------------------------------------------*

REPORT  Z_EVENTO.


TYPE-POOLS: ICON." DEFINI O TIPO

*&---------------------------------------------------------------------*
*&  CRIAANDO UMA ESTRUTUA.
*&
*&---------------------------------------------------------------------*


DATA : O_QUERY TYPE I,
       O_LEN   TYPE I,
       LINE    TYPE I,
       ICON    TYPE  ICON VALUE ICON_LED_GREEN.


*&---------------------------------------------------------------------*
*&  DEFININDO UMA TABELA INTERNA .
*&
*&---------------------------------------------------------------------*


DATA : BEGIN OF ITAB OCCURS 0,
         COLUNA1  TYPE ICON-ID,
         COLUNA2  TYPE ICON-ID,
         COLUNA3  TYPE ICON-ID,
       END OF ITAB.


*&---------------------------------------------------------------------*
*&  AGORA VOU FZER QUE TODOS OS CAMPOS DA TABELA
   SEJA MOVIMENTADO
*$  PARA O ICON_WD_RADIO_BUTTON_EMPTY
*&
*&---------------------------------------------------------------------*

ITAB-COLUNA1 = ICON_WD_RADIO_BUTTON_EMPTY.
ITAB-COLUNA2 = ICON_WD_RADIO_BUTTON_EMPTY.
ITAB-COLUNA3 = ICON_WD_RADIO_BUTTON_EMPTY.

"NESSA PARTE VOU  FAZER QUE DE FATO QUE OS CAMPOS SEJA
 MOVIMENTADOS.

APPEND ITAB.
APPEND ITAB.
APPEND ITAB.


*&---------------------------------------------------------------------*
*&  AGORA IREI CRIAR UM EVENTO CHAMADO SELECTION-
*$
*&
*&---------------------------------------------------------------------*

START-OF-SELECTION.

    PERFORM OUTPUT ." NESSA PARTE TO FAZENDO UMA SOB ROTINA
 DE ENTRADA DE DADOS.

END-OF-SELECTION.

AT LINE-SELECTION.
    CLEAR ITAB.


* NESSA PARTE VOU FAZER OS CAMPOS SEJA LIDO  COM O COMANDO RED


READ CURRENT LINE FIELD VALUE: ITAB-COLUNA1 ITAB-COLUNA2 ITAB-COLUNA3 INTO ITAB-COLUNA1
ITAB-COLUNA2 ITAB-COLUNA3.

    GET CURSOR LENGTH O_LEN MEMORY OFFSET O_QUERY LINE LINE.

     CASE LINE.
        WHEN 1. LINE = 1.
        WHEN 2. LINE = 2.
        WHEN 3. LINE = 3.
     ENDCASE.

* LENDO OS CONTEUDOS.

     READ TABLE  ITAB INDEX LINE.
     CASE O_QUERY.
        WHEN 09. ITAB-COLUNA1 = ICON.
        WHEN 14. ITAB-COLUNA2 = ICON.
        WHEN 19. ITAB-COLUNA3 = ICON.
    ENDCASE.

* CRIANDO UMA CONDIÇAO

    MODIFY ITAB INDEX LINE.

    IF  ICON EQ ICON_LED_GREEN.
        ICON = ICON_LED_RED.
     ELSE.
        ICON = icon_led_green.
    ENDIF.
** NESSE PONTO LENBRA QQUE EU FIZ UM PERFORM ' LEMBRANDO 
QUANDO SE USSA PERFORM  QUE VC QUER ELE RETORNA MAIS VALOR'
*  RETORNANDO ENTÃO AGORA VOU CRIAR UM PREFORM DE SAIDA DE DADOS.


    PERFORM OUTPUT.


FORM OUTPUT.

 "NESSA PARTE VOU CRIAR O FORMATO DO PROGRAMA JOGO DA VELHA .

 READ TABLE ITAB INDEX 1.
 IF ITAB-COLUNA1 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.
 ELSE.FORMAT RESET.ENDIF.
 WRITE: /10 ITAB-COLUNA1 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA2 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.
 ELSE.FORMAT RESET.ENDIF.
 WRITE:  ITAB-COLUNA2 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA3 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.
 ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA3 AS ICON NO-GAP.

FORMAT RESET.
 WRITE: /10 sy-Uline(13) NO-GAP.



READ TABLE ITAB INDEX 2.
 IF ITAB-COLUNA1 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: /10 ITAB-COLUNA1 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA2 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA2 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA3 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA3 AS ICON NO-GAP.

 FORMAT RESET.
 WRITE: /10 sy-Uline(13).

 READ TABLE ITAB INDEX 3.
 IF ITAB-COLUNA1 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: /10 ITAB-COLUNA1 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA2 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA2 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA3 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA3 AS ICON NO-GAP.


 ENDFORM.

EXTRACT

Formas diferentes de listagens EXTRACT


A combinação do comandos field-group, extract,loop, é uma forma de fazer um relatórios.




&---------------------------------------------------------------------*
*& Report  ZZ_LISTA_ESTRACT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZZ_LISTA_ExTRACT.


DATACOUNTRY   TYPE C,
      STATE    TYPE C,
      POPULACAO TYPE I.

FIELD-GROUPS: HEADER, STATES.

INSERT COUNTRY states  INTO HEADER.
INSERT POPULACAO      INTO STATES.


COUNTRY = 'JAP'. state = 'Miyagi'.POPULACAO = 12203003 . " CHURANDO O NUMERO  QUALQUER
EXTRACT HEADER.EXTRACT STATES.


COUNTRY = 'JAP'. state = 'Miyagi02'.POPULACAO = 122103003 . " CHURANDO O NUMERO  QUALQUER
EXTRACT HEADER.EXTRACT STATES.

COUNTRY = 'USA'. state = 'NOVA YORK'.POPULACAO = 2203003 . " CHURANDO O NUMERO  QUALQUER
EXTRACT HEADER.EXTRACT STATES.


COUNTRY = 'USA02'. state = 'NOVA YORK02'.POPULACAO = 172203003 . " CHURANDO O NUMERO  QUALQUER
EXTRACT HEADER.EXTRACT STATES.

COUNTRY = 'FRA'. state = 'PARIS'.POPULACAO = 22030 . " CHURANDO O NUMERO  QUALQUER
EXTRACT HEADER.EXTRACT STATES.


SORT.

LOOPAT STATES.
         WRITE : / COUNTRY,STATE,POPULACAO RIGHT-JUSTIFIED.
      ENDAT.
     
     AT END OF COUNTRY.
        ULINE.
          WRITE : / SUM(POPULACAO) LEFT-JUSTIFIED.
          SKIP.
      ENDAT.
 ENDLOOP.

Relatórios em SAP ABAP

Irei Mostrar alguns conceito sobre Listas e Relatórios em SAP-ABAP.


Então vamos lá...


WRITE. -> Escreve a saída  do sistema.

/ POSIÇÃO ( Tamanho)

Informa a coluna e o tamanho em caracteres 
  

NO- GAP

Suprime o espaço anterior .

Exemplo.

&---------------------------------------------------------------------*
*& Report  ZLISTA_RELATORIOS*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT  ZLISTA_RELATORIOS.


DATA: EDUARDO_H       TYPE P,
      DILMA_PRESI     TYPE P,
      LULA_EX_PRESI   TYPE P,
      NOME_QUALQUER   TYPE P.


COMPUTE EDUARDO_H = '456675655767.12'.
LULA_EX_PRESI     = '1234567876543.00'.
MOVE'334565456554345' TO DILMA_PRESI.
NOME_QUALQUER     =  '16000.00-'.
WRITE:
/3(20'EDUARDO_H'      RIGHT-JUSTIFIED,
        EDUARDO_H CURRENCY '9' DECIMALS 1 COLOR COL_KEY INTENSIFIED ON INVERSE OFF,


AT (20'DILMA_PRESI '      RIGHT-JUSTIFIED,
        DILMA_PRESI  CURRENCY '9' DECIMALS 1 COLOR COL_POSITIVE,


/3(20'LULA_EX_PRESI'      RIGHT-JUSTIFIED,
        LULA_EX_PRESI CURRENCY '9' DECIMALS 1 COLOR COL_POSITIVE,


AT (20'NOME_QUALQUER  '      RIGHT-JUSTIFIED,
         NOME_QUALQUER   CURRENCY '9' DECIMALS 1 COLOR = 6.


Copyright © 2012 EDU ABAPTemplate by : UrangkuraiPowered by Blogger.Please upgrade to a Modern Browser.