quarta-feira, 4 de julho de 2012

Classe - CL_ABAP_TYPEDESCR

  *  Bom dia, hoje vou mostrar um classe que mostra detalhes sobre o tipo
* da declaração como tamanho, tipo e mais algumas coisas, no exemplo
* abaixo estarei usando o método 'describe_by_data' mas se vc for na
* Transação se24 e colocar a classe lah, verá que existe outros metodos
* tão importante quanto, t+.
*&---------------------------------------------------------------------*
REPORT  z_describe_by_data.

* Declarações
TYPES ty_tipo TYPE i.

DATA: vg_variavel   TYPE ty_tipo,
      ref_descricao TYPE REF TO cl_abap_typedescr.

* Início do processo
START-OF-SELECTION.

*  Eu deixei um código comentado abaixo para vocês fazerem o teste com 
* outra variável.
  ref_descricao cl_abap_typedescr=>describe_by_datavg_variavel ).
*  ref_descricao = cl_abap_typedescr=>describe_by_data( ref_descricao ).


  BREAK-POINT.

  WRITE: 'Referência:', ref_descricao->absolute_name.
  WRITE: 'Tipo      :', ref_descricao->type_kind.
  WRITE: 'Tamanho   :', ref_descricao->length.
  WRITE: 'Decimais  :', ref_descricao->decimals.

  BREAK-POINT.

segunda-feira, 2 de julho de 2012

Tipos de Selects - Parte 2

  *  Fala galerinha, Hoje vem a segunda parte dos Tipos de selects um pouco
* mais fundo sobre o assunto, mas mesmo assim básico pra qualquer ABAPer,
* ahhhh, tah com o mesmo esquema de break-points do post anterior, bons
* Estudos e qualquer dúvida estamos aih, vou aproveitar e informar que
* o serviço de distribuição de curriculos continua a todo o vapor, to
* falando isso pq recebi alguns emails com essa dúvida. Valeo aeee.
*&---------------------------------------------------------------------*
REPORT z_selects_type.

* Declarações das estruturas e tabelas Internas
DATA :
  it_spfli   TYPE TABLE OF spfli,
  it_sflight TYPE TABLE OF sflight,
  st_spfli   TYPE spfli,
  st_sflight TYPE sflight
  .

* Range's
DATA :
  r_fltime  TYPE RANGE OF spfli-fltime,
  rs_fltime LIKE LINE OF r_fltime.
.

*  Usando Inner Join / Left outer Join, que serve pra alimentar uma
* unica tabela com informações de duas tabelas que tenha pelomenos uma
* relação (campo) em comum.
PERFORM f_inner_join.

*  O famoso 'For all entries' primeiro seleciona normal os dados de uma
* tabela e na segunda tabela são selecionados os registros conforme os
* dados da primeira
PERFORM f_for_all_entries.

* Seleciona com condições especíais.
PERFORM f_cond_especial.