terça-feira, 24 de abril de 2012

Sobre os Currículos.... (2)

Opa Pessoal, gostaria de agradecer os currículos enviados e informar que a equipe AbapJuniores está correndo atrás de mais empresas como aliança para a distribuição dos currículos e indicação dos mesmos, lembrando, quem não sabe ainda, que toda a semana eu distribuo os currículos enviados para o email maurorpjunior@gmail.com para empresas filiadas com vagas para pessoas que querem iniciar ou tem pouca experiencia no mundo SAP/ABAP, estamos a todo vapor e continuem enviando. Aguardem Novidades.


segunda-feira, 23 de abril de 2012

ALV Editável / Atualização Tab. Transparente

  "  Eae pessoal, vou mostrar agora uma coisa que é muito importante para
" uma ABAP junior que é trabalhar com informações dentro do ALV, 
" deixando-a editável conforme ação do Usuário e atualizando a tabela 
" transparente do banco de dados.
"  Este programa irá mostrar um outro ALV quando você clicar duas vezes
" em um registro, este segundo ALV será editável, modifique e aperte o 
" botão 'Salvar' para que seja atualizado a tabela principal, depois é 
" só voltar e ver a tabela principal atualizada com sua modificação,
" agora é só clicar no botão 'Salvar' da primeira tela que a sua modificação
" atualizará o banco de dados com a tabela transparente.
"  Vá na transação 'SE11' e veja a modificação na tabela SFLIGHT.
"  Boa sorte e muito cuidado com atualizações de tabela transparentes,
" conheço gente que fez besteira nessa hora é quase perdeu o emprego, como
" sei que todos aqui estão usando o Minisap, então, vamos lá.

REPORT zmjteste.
" Conjunto de tipos
TYPE-POOLS : slis.

" Tipos
TYPES :
  BEGIN OF ty_selfield,
    index TYPE slis_selfield-tabindex,
  END OF   ty_selfield.

" Estruturas e tabelas internas
DATA :
  it_out   TYPE TABLE OF sflight,
  st_out   TYPE sflight,
  it_index TYPE TABLE OF ty_selfield,
  st_index TYPE ty_selfield.

" Estruturas e tabelas intenas ( ALV )
DATA :
  it_fieldcat TYPE TABLE OF slis_fieldcat_alv,
  st_layout   TYPE          slis_layout_alv.

" Fiels-symbols
FIELD-SYMBOLS :
    TYPE slis_fieldcat_alv.

START-OF-SELECTION.

  " Faz o select da tabela.
  PERFORM : f_select,
" Mostra ALV com os dados
            f_alv.

END-OF-SELECTION.

quinta-feira, 19 de abril de 2012

Colorindo campos do ALV

  "  Fala Abapers, hoje vou mostra uma coisa que é solicitado bastante
" em relatória pelo mundo afora que é colocar certas celulas do ALV
" de cor diferente conforme alguma condição do Funcional, vejam abaixo
" como o código é simples, vocês só precisam entender um pouco do
" conceito do ALV, então ..... vamos lah segue código todo comentado.

REPORT  z_alv_color.

" Conjunto de tipos
TYPE-POOLS: slis.

" Tipos
TYPES :
  BEGIN OF ty_sflight.
INCLUDE TYPE sflight.
TYPES:
    color TYPE lvc_t_scol,
  END OF ty_sflight.

" Estruturas e tabelas internas
DATA : it_sflight TYPE TABLE OF ty_sflight,
       st_sflight TYPE ty_sflight.

" Estruturas e tabelas internas (ALV)
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
      st_layout   TYPE slis_layout_alv.

" Inicio
START-OF-SELECTION.

" Faz Select na tabela SFLIGHT
  PERFORM : f_select,
"  Trata os dados do Select e alimenta campo COLOR da tabela.
"  É aqui que tá o pulo do gato.
            f_trata_dados,
" Cria alv.
            f_alv.

END-OF-SELECTION.

terça-feira, 17 de abril de 2012

Tradução - Classe de Mensagens

  "  Me perguntaram por email, então vou postar, pois é muito importante,
" como traduzir os textos das classes de mensagens, vou fala a verdade
" é igual quando você vai traduzir textos de seleção de programas,
" mas vou fazer pois se você faz uma classe em português e não traduz,
" qualquer pessoa que entrar no SAP em inglês ou qualquer outra lingua
" não vai receber a msg, somente o numero da msg pois ela não vai estar 
" traduzida para a lingua da pessoa, quando você faz o programa, o funcional
" fala pra quais idiomas o seu programa vai ser utilizado, se ele não falar
" nada, então desencana mas se fala, você vai se ferra porque e mou trampo
" chato...  rsrsr, então vamos lá pro passo a passo.

" Vamos dizer que você já tenha criado uma classe de mensagem, então 
" selecione o texto ( isso mesmo, é texto por texto; porisso que eu falei 
" que era chato.) vá no Menu 'Ir para/ Tradução', conforme imagem abaixo.

 



segunda-feira, 16 de abril de 2012

Função - REUSE_ALV_FIELDCATALOG_MERGE

  "  Eae, pessoal eu não sei como ainda não tinha passado isso no Blog
" portanto pra tira o atraso, hoje vou mostrar uma função que é muito
" útil na criação de ALV, a famosa transação reuse_alv_fieldcatalog_merge
" que serve pra retornar todas as informações de todos os campos de uma
" tabela, e muito usado para criação de ALV dinâmico, ( que o usuário
" decide qual tabela ele quer ver ), puxando por este exemplo, eu fiz um
" programinha abaixo, onde o usuário informa a tabela e o programa retorna
" os campos desta tabela e suas características, semana que vem estarei
" fazendo um ALV um pouco mais complexo e utilizarei esta função, portanto
" debbugem.

REPORT z_reuse_alv_fieldcatalog_merge.

" Grupo de tipos
TYPE-POOLS : slis.
" Estrutura e tabela interna
DATA :
  it_fieldcat TYPE TABLE OF slis_fieldcat_alv,
  st_fieldcat TYPE slis_fieldcat_alv.

" Tela de seleção
SELECTION-SCREEN BEGIN OF block b1 WITH FRAME.
  PARAMETERS:
    p_tabela TYPE dd02l-tabname OBLIGATORY. " Tabela
SELECTION-SCREEN end of BLOCK   b1.

" Início do processo
START-OF-SELECTION.
" Execução da função que traz todos as informações do campos da tabela informada
  PERFORM : f_verifica_campos,
" Mostra a posição e o nome dos campos da tabela informada
            f_show.

END-OF-SELECTION.


sexta-feira, 13 de abril de 2012

Classe de Mensagens - SE91

  "  Para uma melhor organização das mensagens e as vezes porque o Cliente
" não deixa usar Hardcodes ( Sabe akelas coisas que você usa entre aspas
" simples que ficam verdes dentro do código fonte.... Isso são Hardcodes. )
" usamos as Classe de mensagens é la colocamos as informações que servem
" como interação com o Usuário.
"  Pra começar vamos entrar na transação SE91.

 


quarta-feira, 11 de abril de 2012

Função - TEXT_SPLIT


"  Haa, tava debugando o standard e encontrei essa função aee,
" bem, o que ele faz eh bem simples e até um pouco engraçado
" mas ele quebra o texto conforme o tamanho que você informar
" olha que fácil, a vantagem é que desta função para o comando
" 'SPLIT' eh que ele não exclui o delimitador.

REPORT z_text_split.

DATA : line TYPE string,
       rest 
TYPE string
       .
" Tela de seleção
SELECTION-
SCREEN BEGIN OF BLOCK b1 WITH FRAME.PARAMETERS :
  leng(
2)  TYPE i VISIBLE LENGTH 2,
  
text(50) TYPE c.
SELECTION-
SCREEN END OF BLOCK   b1." Inicio de processo
START-
OF-SELECTION.

  
PERFORM text_split.
  PERFORM show.

END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&      Form  TEXT_SPLIT
*&---------------------------------------------------------------------*
FORM text_split .CONDENSE text.

  
CALL FUNCTION 'TEXT_SPLIT'
    
EXPORTING
      length             = leng
      
text               = text
*   AS_CHARACTER       =
    
IMPORTING
      
line               = line
      rest               = rest
            .
ENDFORM.                    " TEXT_SPLIT
*&---------------------------------------------------------------------*
*&      Form  SHOW
*&---------------------------------------------------------------------*
FORM show .

  
WRITE : 'Texto completo:    ',space,text,/
          
'Texto Selecionado: ',space,line,/
          
'Resto do texto:    ',space,rest,/
          .
ENDFORM.                    " SHOW
"

segunda-feira, 9 de abril de 2012

Transações Bloqueadas - SM12

"  Opa Comunidade ABAP, acho que todo o Júnior que é Junior já passou porisso
" Estar usando algo no SAP como fazer programa e do nada Cai a rede...
" Trágico, aih voê loga rapidão pro seu chefe não achar que você não estava
" fazendo nada, todo ansioso para recomeçar a programar você vê uma mensagem 
" tipo falando que o SEU USER tá bloqueando aquele programa que vc tah fazendo
" rsrsrs o que fazer nessa hora, caso só você use este User então na hora de 
" entrar eh soh derrubar todos que tiverem com o mesmo User, mas se você tiver
" num projeto onde todo usem o mesmo user para desenvolver...
"  A resposta e bem símples vá na transação SM12 e desbloqueie, veja como...

" Entrando na transação SM12 você verá essa tela.