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.
terça-feira, 24 de abril de 2012
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.
" 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 :
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.
" 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.
" 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.
" 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.
" 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.
" 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"
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
" 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.
Assinar:
Postagens (Atom)