quinta-feira, 30 de setembro de 2010

o programa



















céu nublado nas geraes
e setembro já está chegando ao fim
adeus meu querido
até o próximo! :)

depois de tantos anos trabalhando com fotografias
mudei de área
de ares
saí do lúdico
e entrei na lógica

agora o lado criativo
da emoção
e o artístico
só se manifestam como hobby

sinceramente?
nunca me imaginei tão racional assim
e “num é” que estou conseguindo! :)


















comecei como trainee
e cada dia o aprendizado aumenta
e a lógica vai se encaixando
como pecinhas de um enorme quebra-cabeça

para posteridade
vou guardar aqui
um dos primeiros reports que fiz
bem simples
para os já experientes
mas bem lindinho
para os que estão começando como eu

fiquei aqui imaginando
um abap sênior
vendo este singelo report
num blog rosa
no meio de folhas secas
num cenário poético e belo
ai ai...   :)

com certeza vai achar ridículo
ou pode entrar no espírito da conquista
e achar curioso
euzinha aqui
querer registrar
um pequeno programa de 207 linhas
sendo que o normal são 3, 4, 5 mil linhas :)

um dia ainda chego lá
acho que vou caminhando assim
para ter uma noção do quanto eu já andei
me aguardem
5 mil linhas
e barriga tábua
são a minha meta para 2011!

então vou parar com esse bla bla bla
e deixar aqui registrado a belezura que eu fiz
e fala sério
é a coisinha mais lindinha para se aprender :)

bondoso Deus
obrigada!
amem.

...........

  *REPORT  zsdr_cl06 NO STANDARD PAGE HEADING LINE-SIZE 255.
*
**------------------------------------------------------------------*
** Objetos do dicionário
**------------------------------------------------------------------*
*TABLES: vbak, tvakt, tvaut, tvkot.
*
**------------------------------------------------------------------*
** Tipos
**------------------------------------------------------------------*
*TYPES: BEGIN OF ty_vbak,
*        vbeln                 TYPE vbak-vbeln,
*        auart                 TYPE vbak-auart,
*        augru                 TYPE vbak-augru,
*        ernam                 TYPE vbak-ernam,
*        vkorg                 TYPE vbak-vkorg,
*        vtweg                 TYPE vbak-vtweg,
*        spart                 TYPE vbak-spart,
*       END OF ty_vbak.
*
*TYPES: BEGIN OF ty_tvakt,
*        auart                 TYPE tvakt-auart,
*        bezei                 TYPE tvakt-bezei,
*       END OF ty_tvakt.
*
*TYPES: BEGIN OF ty_tvaut,
*        augru                 TYPE tvaut-augru,
*        bezei                 TYPE tvaut-bezei,
*       END OF ty_tvaut.
*
*TYPES: BEGIN OF ty_tvkot,
*        vkorg                 TYPE tvkot-vkorg,
*        vtext                 TYPE tvkot-vtext,
*       END OF ty_tvkot.
*
*
**------------------------------------------------------------------*
** Tabelas internas
**------------------------------------------------------------------*
*DATA: t_vendas                TYPE TABLE OF ty_vbak,
*      t_tipos                 TYPE TABLE OF ty_tvakt,
*      t_motivos               TYPE TABLE OF ty_tvaut,
*      t_org                   TYPE TABLE OF ty_tvkot.
*
**------------------------------------------------------------------*
** work areas
**------------------------------------------------------------------*
*DATA: wa_vendas               TYPE ty_vbak,
*      wa_tipos                TYPE ty_tvakt,
*      wa_motivos              TYPE ty_tvaut,
*      wa_org                  TYPE ty_tvkot.
*
*
**------------------------------------------------------------------*
** Parâmetros de seleção
**------------------------------------------------------------------*
*SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,
*                s_auart FOR tvakt-auart,
*                s_augru FOR tvaut-augru,
*                s_ernam FOR vbak-ernam,
*                s_vkorg FOR tvkot-vkorg.
*
*
**------------------------------------------------------------------*
** Processamento principal F8
**------------------------------------------------------------------*
*START-OF-SELECTION.
*  PERFORM f_seleciona_vbak.
*  PERFORM f_seleciona_tvakt.
*  PERFORM f_seleciona_tvaut.
*  PERFORM f_seleciona_tvkot.
*  PERFORM f_imprime.
*
**------------------------------------------------------------------*
** Form f_seleciona_vbak
**------------------------------------------------------------------*
*FORM f_seleciona_vbak.
*  CLEAR t_vendas.
*
*  SELECT vbeln auart augru ernam vkorg vtweg spart
*    INTO TABLE t_vendas
*    FROM vbak
*    WHERE vbeln IN s_vbeln AND
*          auart IN s_auart AND
*          augru IN s_augru AND
*          ernam IN s_ernam AND
*          vkorg IN s_vkorg.
*
*  IF sy-subrc EQ 0.
*    SORT t_vendas BY vbeln.
*  ENDIF.
*ENDFORM.                    "f_seleciona_vbak
*
*
**------------------------------------------------------------------*
** Form f_seleciona_tvakt
**------------------------------------------------------------------*
*FORM f_seleciona_tvakt.
*  CLEAR t_tipos.
*
*  SELECT auart bezei
*    INTO TABLE t_tipos
*    FROM tvakt
*    WHERE auart IN s_auart AND
*                   spras = sy-langu.
*
*  IF sy-subrc EQ 0.
*    SORT t_tipos BY auart.
*  ENDIF.
*ENDFORM.                    "f_seleciona_tvakt
*
*
**------------------------------------------------------------------*
** Form f_seleciona_tvaut
**------------------------------------------------------------------*
*FORM f_seleciona_tvaut.
*  CLEAR t_motivos.
*
*  SELECT augru bezei
*    INTO TABLE t_motivos
*    FROM tvaut
*    WHERE augru IN s_augru AND
*                   spras = sy-langu.
*
*  IF sy-subrc EQ 0.
*    SORT t_motivos BY augru.
*  ENDIF.
*ENDFORM.                    "f_seleciona_tvaut
*
*
**------------------------------------------------------------------*
** Form f_seleciona_tvkot
**------------------------------------------------------------------*
*FORM f_seleciona_tvkot.
*  CLEAR t_org.
*
*  SELECT vkorg vtext
*    INTO TABLE t_org
*    FROM tvkot
*    WHERE vkorg IN s_vkorg AND
*                   spras = sy-langu.
*  IF sy-subrc EQ 0.
*    SORT t_org BY vkorg.
*  ENDIF.
*ENDFORM.                    "f_seleciona_tvkot
*
*
**------------------------------------------------------------------*
** Form f_imprime.
**------------------------------------------------------------------*
*FORM f_imprime.
*
*  FORMAT COLOR 4 INTENSIFIED ON.
*
*  WRITE: 'Doc vendas',
*         'Tipo',
*         'Denominação',
*         AT 38 'Mot',
*         'Denominação',
*         AT 83 'Org.',
*         'Denominação',
*         AT 109 'CD',
*         'SA'.
*
*  FORMAT COLOR OFF.
*
*  LOOP AT t_vendas INTO wa_vendas.
*    READ TABLE t_tipos INTO wa_tipos WITH KEY auart = wa_vendas-auart.
*    IF sy-subrc <> 0.
*      CLEAR wa_tipos.  "limpa a work area
*    ENDIF.
*
*    READ TABLE t_motivos INTO wa_motivos WITH KEY augru = wa_vendas-augru.
*    IF sy-subrc <> 0.
*      CLEAR wa_motivos. "limpa a work area
*    ENDIF.
*
*    READ TABLE t_org INTO wa_org WITH KEY vkorg = wa_vendas-vkorg.
*    IF sy-subrc <> 0.
*      CLEAR wa_org.
*    ENDIF.
*
*    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
*
*    WRITE: / wa_vendas-vbeln,
*             wa_vendas-auart,
*             wa_tipos-bezei,
*             wa_vendas-augru,
*             wa_motivos-bezei,
*             wa_vendas-vkorg,
*             wa_org-vtext,
*             wa_vendas-vtweg,
*             wa_vendas-spart.
*
*    FORMAT COLOR OFF.
*
*  ENDLOOP.
*ENDFORM.                    "f_seleciona_imprime

Nenhum comentário: