terça-feira, 26 de junho de 2012

Tipos de Selects - Parte 1

  "  Boa tarde galera, hoje vou passar um guia prático de alguns dos tipos
" mais usados de selects com explicação e exemplo. Na minha opnião, o
" select é o coração do programa, é o que faz tudo acontecer, pois sem
" dados não conseguimos (não precisamos) fazer nada.
"  Eu mesmo coloquei um Break-point em cada momento importante do programa
" para que vocês possam ver os valores.
"  Ahhhh fique sempre com a tabela aberta (SE11) pra confirmar os valores 
" retornados pelo selects.
"  Esse é só o começo, depois eu mostro outros tipos de selects... Bons estudos
*&---------------------------------------------------------------------*
REPORT z_selects_type.

* Declarações
DATA :
  it_spfli   TYPE TABLE OF spfli,
  it_sflight TYPE TABLE OF sflight,
  st_spfli   TYPE spfli,
  st_sflight TYPE sflight
  .

* Select simples.
PERFORM f_simples.

* select com condição.
PERFORM f_condicao.

* Seleciona somente uma linha
PERFORM f_single.

*  Seleciona somente as informações de um ou mais campos alimenta
* uma ou mais variáveis conforme condições.
PERFORM f_variavel.

*  Selecionando campos especificos e alimentando os respectivo
* campos da tabela/ estrutura.
PERFORM f_corresponding_fields.

*  Seleciona conforme informações específicas ( MAX, MIN, AVG, SUM, COUNT )
PERFORM f_agregados.

sexta-feira, 22 de junho de 2012

Dicionário de dados - Rotinas da View de Manut.

  "  Boa dia aee, hoje vou mostrar uma outra ferramenta na criação de views
" de manutenção que são a criação de Rotinas nas Views...
"  Não sei se vocês perceberam mas no post passado sobre View de manutenção
" link: http://abapjuniores.blogspot.com.br/2012/06/span-font-family-courier-newfont-size.html
" que conseguimos deixar o campo 'NOME' de uma forma que não pudesse ser
" mais editado, mas existe um botãozinho malandro que se chama 'Novas
" entradas' esse botão inclui uma nova entrada na tabela ( dãããã ), mas
" conforme informado no post passado essa View de manutenção é soh pra ver
" mesmo, portanto neste post irei mostrar como passar por rotinas após
" ação do User sem codificar nada.
"  Vamos lah, primeiro vá na tabela(se11), deixe-a para edição( clique no
" lapizinho), e vá para o menu 'Utilitários/Gerador de atualização de tabela'.
" conforme Imagem abaixo.


 

"  Bemm, aqui nós estaremos nos dados da 'geração de diálogos de tabelas'
" onde espero que o mesmo já tenha sido criado, se não, veja link abaixo.
" http://abapjuniores.blogspot.com.br/2011/09/dicionario-view-de-manutencao-de.html
"  Agora nessa tela vá no menu 'Ambiente/modificação/Horas'





terça-feira, 19 de junho de 2012

Função - SPELL_AMOUNT

 
"  Eae galera, desculpa a ausência, mas estou respondendo os emails o mais
" rápido possível.... agora vou passar uma função interessante pra quem
" trabalha com alguns clientes que gostam mais do visual da tela... vou
" mostrar uma função onde você infoma um número e ela retorna a o texto do
" mesmo. ex. Importing 55, exporting 'CINQUENTA E CINCO' é legalzinho pra
" documentos e pra tela do User.

REPORT  z_spell_amount.

" Tela de seleçãio
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS :
  p_numero TYPE i,        " Número
  p_langu  TYPE sy-langu. " Idioma do texto

SELECTION-SCREEN END OF   BLOCK b1.

DATA :
  st_words TYPE spell.

CALL FUNCTION 'SPELL_AMOUNT'
 EXPORTING
   amount          p_numero
*   CURRENCY        = ' '
*   FILLER          = ' '
   language        p_langu
 IMPORTING
   in_words        st_words " Estrutura de retorno
 EXCEPTIONS
   not_found       1
   too_large       2
   OTHERS          3
          .
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.



DATA :
  it_split     TYPE TABLE OF string,
  st_split     TYPE string,
  vg_txt_final TYPE string.

SPLIT st_words-word AT space INTO TABLE it_split.

BREAK-POINT.


terça-feira, 5 de junho de 2012

View de Manutenção - Campo editável e não editável

  "  Eae, tudo certin ? Hoje vou entrar um pouco mais a fundo sobre o assunto
" 'View de Manutenção de Tabelas' se vocês não lembram oq é isso veja o link
" http://abapjuniores.blogspot.com.br/2011/09/dicionario-view-de-manutencao-de.html
"  Sabemos que todos os campos que são chaves na tabela são fechadas na view,
" e que fica aberto para edição os campos que não são chaves, mas as vezes
" precisamos criar views soh pra ver mesmo o conteudo da tabela, então...
" vou mostrar como fechar para edição os campos que não são chaves, mas antes
" vamos entender um pouco melhor a view de manutenção e seu grupo de função.

"  Provavelmente quando vocês fizeram a view de manutenção, vocês foram
" no grupo de função da view pra dar uma olhadinha neh, espero que sim rsrs,
" não sei se perceberam mas o grupo de função tah cheio de coisa dentro
" tudo coisa criada automaticamente pelo SAP, para criar sua View que é nada
" mais, nada menos, que um programinha tipo module pool (telas) para manipulação
" de dados da tabela que você criou a View.

"  Agora que sabemos disso, poderemos mexer nela agora com um pouco menos de
" receio, abaixo existe uma View que criei de uma tabela simples onde o campo
" 'NOME' não é chave da tabela e porisso aparece aberta para edição mas nós
" vamos fechar para edição.