Introdução ao SAPLink
Quem já trabalha há algum tempo com ABAP um dia deve ter feito a seguinte pergunta, “como eu faço para copiar um programa de um servidor para outro?”. Uma possível resposta é CTS (Change and Transport System), mas para isso é necessário algum conhecimento de Basis e permissões às transações para operar com o CTS.
Mas se você é quer uma solução open source, rápida e de fácil utilização, bem vindo ao SAPLink. O SAPLink é um programa capaz de baixar programas (incluindo telas, classes, textos, dicionário etc.) para um arquivo no formato XML e carregar esse programa em outro servidor. O único requisito é que o SAPLink esteja instalado tanto no servidor origem e no destino.
Os arquivos SAPLink também serão usados nos próximos posts do ABAP101, dessa maneira fica fácil disponibilizar os programas criados aqui.
Instalação
A instalação é muito simples. Primeiro você precisa criar um programa executável com o nome ZSAPLINK_INSTALLER e então faça o upload da última versão do pacote de instalação que você encontra nesse link. Ative o programa e o execute.
No pacote de instalação, você encontra um arquivo .NUGG. Esse arquivo deve ser processado pelo ZSAPLINK_INSTALLER. Este contém o SAPLink propriamente dito.
Ao processar esse arquivo, serão criados alguns objetos que fazem parte do pacote básico do SAPLink, como por exemplo as classes globais e o programa ZSAPLINK. No processo de criação desses objetos, será solicitado um pacote e uma request, como solicitado normalmente na criação de objetos do Workbench.
Não esqueça de ativar todos os objetos criados. Ative todos os objetos de uma vez só para que as dependências sejam respeitadas.
Plugins
O SAPLink é responsável pelo processamento dos arquivos XML (NUGG e Slinkee). No entando, as operações especializadas para tipo de objeto do Workbench fica a cargo dos plugins. Na instalação do SAPLink, o arquivo NUGG acima contém uma série de objetos necessários para a operação básica do SAPLink. Nessa instalação, foram instalados os plugins para programa e classes globais. Os plugins são feitos na forma de classes globais. Para programa, a classe é a ZSAPLINK_PROGRAM e para processar classes globais é a ZSAPLINK_CLASS.
Após a instalação do SAPLink, sugiro a instalação de todos os plugins disponíveis nesse link aqui. Para facilitar a vida de vocês, eu criei um outro projeto onde eu coloquei todos os plugins em um arquivo NUGG único. Você pode baixar esse NUGG diretamente da página do meu projeto no Google Code.
NUGGs e Slinkees
Após instalar e ativar todos os objetos do SAPLink, ele está pronto para uso. A utilização é muito simples, podemos trabalhar com arquivos NUGG ou arquivos Slinkee. Arquivos NUGG são arquivos onde são empacotados vários objetos de uma só vez. É muito útil para transportar todos os objetos de uma dada solução. Por exemplo, nas turmas de ABAP que eu leciono, eu costumo gerar um arquivo NUGG com todos os objetos que eu criei durante o curso. Dessa forma, os alunos podem subir esses objetos em um outro servidor, por exemplo em um “minisap”.
Já os arquivos Slinkee são usados para transportar objetos únicos, muito útil para projetos open source onde você submete a sua correção usando um arquivo Slinkee. Ou seja, se você precisa transportar um conjunto de objetos, use arquivo NUGG, caso contrário use um arquivo Slinkee.
Usando SAPLink
Execute o programa ZSAPLINK e a uma tela de seleção será mostrada. Nessa tela de seleção temos duas tabs, uma para arquivos NUGG e outra para Slinkee. Na tab NUGG, temos que escolher se vamos importar ou visualizar um arquivo NUGG. Use a opção importar para carregar objetos que estão em algum arquivo NUGG, por exemplo arquivos que você baixa do ABAP101. Já na opção display, você usa para visualizar o conteúdo de um arquivo NUGG.
Veja abaixo um vídeo onde mostro o funcionamento básico do ZSAPLINK trabalhando com arquivos NUGG e Slinkee.
Contribuindo com o Projeto
O SAPLink é o padrão para compartilhamento de programas em projetos open source ABAP e é o padrão adotado pelo ABAP101. Se você quiser submeter qualquer correção é interessante que seja no formato Slinkee ou em NUGG se englobar vários objetos.
O SAPLink é um projeto open source também em ABAP, isso quer dizer que você pode contribuir corrigindo erros e melhorando o código. É a sua chance de aprender e mostrar o que você sabe para a turma de peso que mantém o projeto.
Furlan, gostaria de saber se o programa que tenho que criar ZSAPLINK_INSTALLER no codigo vai ter apenas a função gui_upload e mais nada?!
Grato.
Olá Kaio,
O programa ZSAPLINK_INSTALLER é apenas o instalador, você precisa do NUGG que você baixa do site do projeto, que contém o restante dos componentes. Não esqueça que há ainda os plugins, para cada tipo de objeto do Workbench.
No post acima eu explico no texto a instalação e no vídeo a operação do SAPLink.
Abraços,
Flávio
Boa tarde Furlan!
Sou iniciante em abap, é a primeira vez que vou fazer um upload no sap… rsrs
Gostaria de fazer o upload do saplink no meu minisap, para poder executar o programa ALV disponível no post: http://abap101.com/2011/08/15/desafio-alv-dificil-ou-trabalhoso/#more-1349
Nestas etapas: SAPLink Install – Object Creation – Package e SAPLink Install – Object Creation – Request , qual package/request usar? Preciso criá-las?
Obrigado!
Boa tarde Furlan!
Sou iniciante em abap… é a primeira vez que vou fazer um upload no sap… rsrs
Quero fazer o upload para testar o programa ALV disponível no post:
http://abap101.com/2011/08/15/desafio-alv-dificil-ou-trabalhoso/#more-1349
Porém, estou com uma dúvida nas etapas:
SAPLink Install – Object Creation – Package e SAPLink Install – Object Creation – Request
Qual package/request devo usar??? Precisarei criá-las???
Obrigado!
Ao clicar no link para baixar a última versão do pacote de instalação encontro 3 aquivos para download, vou precisar dos 3?
Furlan,
Eu posso criar esse objeto como “Objeto Local” ou tenho que, necessariamente, colocar numa request?
Obrigado,
Norberto Silva.
Olá Norberto,
Pode ser Local Object mesmo.
Abs!
Furlan…
Após importar os plugins apresentou um erro de sintaxe da tag XML…
Existe uma sequencia para esta importação?
Grata…
Olá Juliana,
Uma vez o SapLink instalado, não há ordem para a instalação dos plugins. Verifique se não hã nenhum objeto (principalmente do DDIC) inativo.
Considere tambem baixar o bundle de plugins, que o proprio Furlan criou um tempo atras, pois ele contem a grande maioria dos plugins do saplink.
Abraços
Fábio,
Para fazer o upload dos plugins preciso deixar o código editável, é necessário posicionar o cursor em algum local específico (ex. após Report), pois a tag XML é inserida antes dos comentários, acho que por isso do erro.
O DDIC verifico na SICF?
Grata.
Olá Juliana,
Acho que deve estar fazendo confusão, pois para instalar os plugins você deve rodar o programa ZSAPLINK e importar o NUGG file que indico no post.
Não precisa estar com o programa aberto.
Além do mais não deveria ter problemas para ativar os objetos.
Abs!
Fábio
Estou fazendo o seguinte processo:
Após a instalação do SAPLink
Abro o programa ZSAPLINK
Deixo-o editável (para habilitar a função upload)
Faço upload do arquivo NUGG_SAPLINK_PLUGINS_BUNDLE_v1.0.nugg
Quando ativo apresenta o seguinte erro: Statement”?XML” is not defined. Check your spelling. spelling.
Ótimo tutorial. Simples e rápido! Agora que o SAPLink está instalado, “bora” para os exercícios de admissão.
Abraços e parabéns pelo blog.
Valeu e mãos a obra!!!
Aparentemente deu certo!
Estava fazendo o processo errado.
Instalei o bundle de plugins pelo SAP Link Installer, e anteriormente estava fazendo upload deste arquivo dentro do programa SAP LINK. 🙁
Obrigada pela ajuda.
O único teste que não deu certo foi na importação do pacote, apresenta a mensagem:
‘Status SELOBJ of the user interface ZSAPLINK missing.’
Não aparecendo a barra de ferramentas para confirmar a seleção proposta.
Nunca é tarde para responder.
Acabo de ter este erro e isso se deve a objetos parcialmente ativos. Neste caso basta abrir o único status do programa ZSAPLINK no tcode SE41 e ativar o status (botões de tela)
Desculpe! Seria exportação de pacotes em formato nugg.
Grata.
Olá pessoal do ABAP101!
Instalei o SAPlink no meu ambiente SAP, juntamente com os plugins para exportação de objetos. Quando vou exportar um objeto do tipo ‘Function Group’, o programa retorna um DUMP http://imageshack.us/photo/my-images/846/saplinkdump.jpg/
Mesmo exportando apenas o Function Group para o arquivo .NUGG, o erro continua acontecendo. O que poderia ser?
Furlan, boa tarde!
Sou novo no mundo abap e estou com algumas dificuldades para utilizar o SAPLink..
Criei o programa “ZSAPLINK_INSTALLER” fiz o downlad do pacote de instalação, ativei meu programa e executei. Após isso, processei o arquivo .NUGG e os objetos foram criados com sucesso.
Quando executei o programa ZSAPLINK, ocorreu o seguinte erro em tempo de execução: “Method “GETPLUGINS(” is unknown or PROTECTED or PRIVATE. ” …”
Furlan,
Sei que o post é antigasso. rsrsr
Eu tentei usar o SAPLink mas no site do projeto não tem uma doc de instalação decente. Na verdade nem consigo identificar qual versão devo baixar. São pasta com nomes nada intuitivos.
Tem algum link com material mais novo sobre SAPLink. Pelo que vi nas datas de atualizações o projeto parece parado desde 2012…
Será?
Obrigado.
Cleber,
https://www.assembla.com/code/saplink/subversion/nodes/389/trunk/build
Att,