ABAP SAP ~ AbapFox SapGui 7.40 With Path




Pra quem quer um link rápido para o SapGui 7.40 com o Path 4, só baixar:




Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?


Acessewww.abapfox.org



0 comentários:

ABAP SAP ~AbapFox REGEX no ABAP! Curso Free



    AbapFox está lançando o curso gratuito de REGEX no ABAP. Confiram!







Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?

Acessewww.abapfox.org


0 comentários:

ABAP SAP - ALV CELL WITH NO BORDERS ( STYLE2 )



ALV CELL WITH NO BORDERS ( STYLE2 )
Hide borders of alv Grid Sap Abap



A muito tempo precisei fazer essa questão de tirar as bordas das células do ALV, mas na internet não achei nada sobre isso....então depois de muito bater a cabeça, percebi que dependendo do valor que você passar para a estrutura lvc_t_styl, no campo STYLE2 a mágica acontece. Alem de outras alterações legais com a formatação do campo.

Para descobrir fiz um programa que vai lançando vários valores para este campo e descobri qual utilizar no momento certo, para tirar a borda de cima ou de baixo, ou dos lados.


Utilizei o programa BCALV_GRID_03 como base. Adicionei essa tabela à tabela do ALV:

databegin of ty_ysbook.
        include structure sbook.

datacellstyles type  lvc_t_styl.
dataend of ty_ysbook.



 gt_sbook          like standard table of ty_ysbook with header line,


E depois fiz uma lógica bem coxambreira pra jogar valores para o STYLE2


  data:  w_style  type lvc_s_styl.
    datal_nunc type n  length 10 value 10.

    do 1000 times.

      clear gt_sbook.
      w_style-fieldname 'CARRID' .
      w_style-style2 l_nunc * 100.
      add 100 to l_nunc.
      append w_style to gt_sbook-cellstyles.

      gt_sbook-passname w_style-style2.

      append gt_sbook.

    enddo.



Não ficou muito bonito, mas o importante é MOSTRAR QUE É POSSÍVEL E COMO FAZER. CERTO?

Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?

Acessewww.abapfox.org

2 comentários:

ABAP SAP ~ AbapFox Call Transformation Any Structure to XML and Vice Versa


If do you want to use call transformation to generate a XML from a complex internal table and to read it after (or when it is needed) check this nice code below!

https://github.com/abapfox/Call_transformation





0 comentários:

ABAP - SAP AbapFox Novo Curso ABAP para Funcionais


AbapFox lança o curso de ABAP para Funcionais. Da mesma forma com o curso de ABAP, com uma tratativa nova, 100% online, com o melhor custo benefício.

Diferente dos outros cursos, estamos totalmente preocupados com a verdadeira absorção do conhecimento pelo aluno e aqui só recebe o certificado se realmente aprendeu.

De uma olhada no vídeo abaixo e entenda porque a AbapFox é tão diferente.












0 comentários:

ABAP SAP AbapFox - Como Adicionar botões na Barra de Menu?





Para colocar botões na Barra de menu é bem simples. Tudo fica no mesmo lugar: PF-STATUS:





Coloque um nome que defina o primeiro nível da sua barra de menus e dê um duplo click e ele vai habilitar o próximo nível:





O sy-ucomm ficará na primeira coluna, e o seu texto na segunda. Traduções podem ser feitas aqui normalmente.

Resultado:


Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?

Acessewww.abapfox.org



0 comentários:

ABAP - SAP - Como tratar linha selecionada em uma table control?




              Para sabermos qual linha está marcada na table control, precisamos passar esta informação para a tabela interna onde a Table Control exibe os dados.

Este é um dos motivos particulares que sempre utilizo uma estrutura criada na SE11.

Utilizei a estrutura yfox_wspfli que tem um include interno da tabela SPFLI:



No final adicionei o campo MARK que será marcado quando selecionarmos uma linha (ou várias).

Minha Table control utiliza uma tabela interna com referência a esta estrutura:



O Flow da tela utilizando esta tabela interna:



Vamos Colocar na SCREEN PAINTER que a table control vai ter um campo MARK dessa estrutura:



OBS: Eu não utilizei SPFLI-MARK, mas sim YFOX_WSPFLI-MARK ( O campo é pequeno e só exibiu o final)

E coloquei Multiple no Line Sel



Agora é fazer com que o FLOW da tela (PAI) atualize nossa tabelinha interna com o 'X' do campo MARK:

 Colocamos um CHAIN....ENDCHAIN para quando o valor mudar, ele cair no module mark_mark.

Quando temos um campo na screen-painter marcado para fazer essa função, quando selecionamos uma linha ele automaticamente coloca 'X' nesse campo. Mas se dermos um Enter, ele vai perder este valor quando entrar em PBO, porque não foi atualizado a tabela interna. Dessa forma precisamos, se este campo MARK for alterado, ser atualizado.



E dentro deste module, ele atualiza o valor do campo MARK para a tabelinha interna. Agora se você der um ENTER, vai perceber que as linhas marcadas permanecem, ou seja, a atualização foi feita com sucesso.



A partir daí é facil processar, por exemplo os campos marcados com X no campo MARK da sua tabelinha interna, ou deletar ou fazer qualquer outro processamento.

O Projetinho está no GIT para consulta:



Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?

Acessewww.abapfox.org


2 comentários:

SAP ABAP - Batch Input Macker (Report)


Se você conhece batch Input sabe como é chato e trabalhoso montar um mapeamento.
Nada como usar a própria linguagem para construir e automatizar estes mapeamentos, certo?

Então aqui vai um programinha que já constroi tudo pra você.

Então da uma olhadinha no código no GitHub



Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?

Acessewww.abapfox.org


“O sucesso é a soma de pequenos esforços repetidos dia após dia” – Robert Collier


0 comentários:

ABAP SAP ~ AbapFox Importar arquivo do Excel em ABAP


Falaaaa galerinha da Fox,
Hoje vou dá um help em importação de arquivo do Excel para o mundo SAP \o//

0 comentários:

Importar arquivo do Excel em ABAP


Falaaaa galerinha da Fox,
Hoje vou dá um help em importação de arquivo do Excel para o mundo SAP \o//

3 comentários:

ABAP SAP ~ AbapFox ALV GRID com HOTSPOT e Cabeçalho no Relatório


HOTSPOT - São áreas especiais de uma lista de saída, como se fosse links. Se o usuário clicar uma vez em um campo de hotspot, um evento é acionado.

0 comentários:

ALV GRID com HOTSPOT e Cabeçalho no Relatório


HOTSPOT - São áreas especiais de uma lista de saída, como se fosse links. Se o usuário clicar uma vez em um campo de hotspot, um evento é acionado.

1 comentários:

ABAP SAP AbapFox - Curso Free de ABAP (Feito em WebDynpro)


Curso Free de ABAP - Da instalação do Minisap 7.00 até a construção de uma calculadora e cadastro no banco de dados.

Feito em WebDynpro. Confira!


Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?

Acessewww.abapfox.org

0 comentários:

ABAP SAP AbapFox - Curso Free de ABAP (Feito em WebDynpro)


Curso Free de ABAP - Da instalação do Minisap 7.00 até a construção de uma calculadora e cadastro no banco de dados.

Feito em WebDynpro. Confira!


Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?

Acessewww.abapfox.org

0 comentários:

ALV GRID - Cor e Semáforo entre Células


Falaaa galera da Fox!
Nesse post eu vou mostrar como colorir uma determinada célula do ALV, assim como mostrar semáforos entre as mesmas.

0 comentários:

Desbloqueio de Objeto - SM12


Fala galera da Fox!!!
Hoje vou falar um pouco sobre a transação SM12.

O sistema SAP é equipado com um grande mecanismo de bloqueio que sincroniza o acesso aos dados na base de dados. O propósito do mecanismo de bloqueio é para evitar que duas operações possam  alterar os mesmos dados na base de dados simultaneamente .

2 comentários:

Conhecendo o módulo de função: BTE - Adicionando campos em relatórios FBL's

Fala galerinha da Fox \o/

Nesse post vou falar um pouco sobre a ferramenta BTE. Tive que fazer uma demanda onde dependia dela e vi que poucas pessoas sabia do que se tratava. Se você precisar, só consultar aqui :)

BTE - Business Transaction Events, lembra um pouco o famoso enhancements. Muito comum o seu
uso no módulo FI, representam componentes de vendas e de distribuição a receber e a pagar.
As BTE’s não são utilizadas apenas pela SAP, mas também por clientes e terceiros.
A BTE tem uma interface pré-definida e permite anexar funcionalidade adicional na forma de
um Funtion Module.

O BTE é chamado pelo programa padrão SAP por uma chamada de função: OPEN_FI_PERFORM_ ou OUTBOUND_CALL_.
Esta função verifica se há algum BTE ativa de acordo com personalização.

Sem mais delongas, vamos  colocar a mão na massa. 

Descrição da requisição: " Inserir o nome do Fornecedor e Cliente em todos relatórios FBLs (Standard). Isso deverá ser feito através da ferramenta BTE.

Mãos a obra!!!

Primeiramente vamos na estrutura RFPOS e inserir os novos campos através da estrutura " .APPEND " que deverão aparecer no relatório.
>> SE11 >> Estrutura: RFPOS >> Exibir.


Procure se algum dos campos que você pretende utilizar já estar contido na estrutura, para não precisar criar outro igual (desnecessariamente).
Para isso você deverá pesquisar pelo elemento de dados que faz referência ao campo.
No meu caso como eu queria acrescentar 2 campos para exibição de nome, então meu elemento de dados é "NAME1_GP", mas você pode procurar da maneira que achar mais fácil :)


 Minha pesquisa trouxe o campo “ZNOMEF” que tem como elemento de dados “NAME1_GP” o mesmo que eu precisava. Procurei se tinha algum outro e não encontrei. Logo teria que adicionar apenas mais um campo para essa estrutura APPEND. Então eu cliquei no campo “.APPEND” e  acrescentei o campo “ZNOMEC” utilizando o mesmo elemento de dados “NAME1_GP”. Salve e ative.

Agora você deverá fazer exatamente a mesma coisa na estrutura RFPOSX.



Salve e ative.

OBS: Para minha necessidade o campo " ZNOMEF " já era destinado ao Fornecedor, mas caso o seu caso seja diferente, você pode adicionar uma outra estrutura " .APPEND " e colocar seus campos lá dentro por segurança ;)

Agora acesse a transação SE38 e execute o programa “ RFPOSXEXTEND ”, para atualizar as estruturas estendidas da RFPOS.
E também o programa “ BALVBUFDEL “, para atualizar o buffer do SAP com a nova estrutura.

Se liga nissoooo aquiiii que vai te poupar de criar um grupo de função atoaaaa 

Acesse a transação FIBF. Vai no Menu  >> Configurações  >> Módulos (P/S)  >>  ... de um cliente


Se vocês encontrarem uma função já associada ao mesmo evento que irá utilizar, apenas acessa a mesma e implemente sua lógica junto a que já estiver contida na função. Exemplo na imagem:


Caso não tenha nenhuma função associada a seu evento, você terá que criar uma ;)

Vamos na SE80 e crie um grupo de funções para a mesma.


O próximo passo é fazer a cópia da função SAMPLE_INTERFACE_00001650 para inserir a lógica correspondente ao preenchimento dos novos campos. (ex. ZINTERFACE_00001650 ).
Acesse  a transação SE37  e faça a cópia da função Standard.


Repetir o passo a seguir, informando o módulo que estará informando ao sistema:

Transação FIBF. Vai no MENU  >> Configurações  >> Módulos (P/S)  >>  ... de um cliente


Informar o seu Evento00001650 / Produto: Dê um nome ao mesmo / Módulo de FunçãoZINTERFACE_00001650 ( a sua função que você copiou )


Agoraaaaa é o seguinte, se você não fizer esse próximo passo, você vai virar uma raposa perturbada, vagando pela estrada sem entender nada \o/

Esse é pulo da raposa, pois aqui você irá cadastrar e ativar o produto. Se você não fizer isso, sua função será um fantasma para a SAP \o/.

Na transação FIBF. Vai no Menu  >> Configurações  >> Produtos  >>  ... de um cliente



Informe o nome do produto, um texto breve e ativaaaaaaaaaa. (flag: 'A').


OBS: Para essa situação onde eu quero apenas inserir novos campos no relatório, você pode ir direto na SE37 e copiar a função SAMPLE_INTERFACE_00001650, como eu fiz. Mas caso o seu objetivo não seja esse, então você deverá acessar a transação FIBF. No MENU acesse: Ambiente (U) >> Sistema de informação (P/S)


E está é a ferramenta BTE. Lembrando que existe dois tipos:
Publish & Subscribe as interfaces - Não é possível atualizar dados. Possível ter várias implementações
Interfaces Processes - Pode atualizar data. Apenas uma implementação ativa.

Caso você não sabia o parâmetro específico a informar, apenas execute a transação.


Logo será exibido uma lista de eventos e suas funcionalidades.


Caso você quisesse o evento " 00001650 ” (que foi o evento que nós utilizamos no tutorial), selecione a linha desejada e clique em “ Módulo de função modelo “.


Observe que simplesmente encurtou o passo que nós já havíamos feito antes.


Agora vamos editar a função que copiamos anteriormente.
Na guia “ Texto Fonte” é o bendito lugar onde você deverá inserir o seu código.


Abaixo vou postar o código que eu utilizei (para minha necessidade) para ajudar vocês a não colocar fogo na raposa, mas lembre-se que o seu caso pode ser diferente, então a lógica poderá ser outra \o/

Minha requisição: Inserir o nome do fornecedor e cliente em todas FBLs, ou seja, essa coisa linda que nós fizemos aqui, vai refletir nos relatórios: FBL1, FBL1H, FBL1N, FBL2, FBL2N, FBL5, FBL5H, FBL5N, FBL6 e FBL6N............. Loucooo né?!
Deixei bem comentado pra ficar fácil de entender.


FUNCTION ZINTERFACE_00001650.
*"----------------------------------------------------------------------
*"*"Interface local:
*"  IMPORTING
*"     VALUE(I_POSTAB) LIKE  RFPOS STRUCTURE  RFPOS
*"  EXPORTING
*"     VALUE(E_POSTAB) LIKE  RFPOS STRUCTURE  RFPOS
*"----------------------------------------------------------------------
* Declarando WA
DATA: wa_bseg TYPE bseg.

* Isso aqui já vem desse jeito, descomente apenas, se não entender faz o curso da Fox ;)
e_postab = i_postab.

* Limpa essa birosca para não correr o risco de dá merda lá na frente 
  CLEAR: wa_bseg.

* Selecione todos os campos da BSEG ( se vc quiser escolher os campos específicos, fica avonts )
  SELECT SINGLE *
           FROM bseg
           INTO wa_bseg                             “ Coloca os meninos aqui
          WHERE bukrs = i_postab-bukrs  “ Só vai pra WA_BSEG se isso aqui for verdadeiro
            AND gjahr = i_postab-gjahr       “ Isso aqui também
            AND belnr = i_postab-belnr.      “ E isso também \o/

* Se tiver encontrado algum código de fornecedor, procure seu nome
  IF wa_bseg-lifnr IS NOT INITIAL.

*  E_POSTAB é minha tabela de exportação
*  Buscando o NOME do Fornecedor
    SELECT SINGLE name1
             FROM lfa1
             INTO (e_postab-znomef)      “ ZNOMEF lembra dele lá na estrutura APPEND ? ;)
            WHERE lifnr EQ wa_bseg-lifnr.
  ENDIF.

* Se tiver encontrado algum código de cliente, procure seu nome
  IF wa_bseg-kunnr IS NOT INITIAL.

*  Buscando o NOME do Cliente
    SELECT SINGLE name1
             FROM kna1
             INTO (e_postab-znomec)    “ Haaa esse cara nós ascrencentamos na estrutura \o/
            WHERE kunnr EQ wa_bseg-kunnr.
  ENDIF.

* Wooow acabouuu, só isso \o///////////

ENDFUNCTION.

É isso aí pessoal, pode fazer um teste em qualquer um dos FBL's ( FBL1, FBL1H, FBL1N, FBL2, FBL2N, FBL5, FBL5H, FBL5N, FBL6 e FBL6N ) e executar o relatório.
Na exibição lembra de clicar no botão ''Modificar Layout" e selecionar os campos que você adicionou nas estruturas RFPOS e RFPOSX.


Prontoooo, ficou grandão, mas foi preciso para vocês não se perderem \o/////

Gostou da publicação? Então clica na raposinha e curta nossa fanpage \o/


Quer aprender ABAP definitivamente, sem precisar sair de casa?

Acessewww.abapfox.org

“O sucesso é a soma de pequenos esforços repetidos dia após dia” – Robert Collier

1 comentários:

Copyright © 2013 ABAP SAP - AbapFox! Aprenda ABAP Definitivamente