Você está na página 1de 32

Joclio Pereira

88144959
j jocelio@gmail.com
programador1@msn.com
www.joceliopereira.com

Contedo Programtico
Funes
Gerar funes compartilhadas entre programas dentro do SAP
Funes Remotas
Gerar funes que so acessadas de forma externa e retornam valores do SAP.
IDOC (ALE)
Gatilho disparado no SAP para envio de informaes para outros sistemas de forma On-line
utilizando ALE
TRACE
Mapeamento automtico de todas os selects realizados pela transao para encontrar tabelas
utilizadas na transao
DEPURADOR AVANADO
Como utilizar o mximo de recursos do novo Debugger ABAP
DEPURADOR EXTERNO
Depurar programas e funes no momento em que so acessadas remotamente
CRIAR CLASSES E METODOS NO SAP
Utilizar o novo meio de programar orientado a objetos no SAP
SOAMANAGER
Comunicao SAP com WebService externos imputando e recebendo informaes via SOA

Function Builder
Funes SAP ABAP

Determinadas rotinas so comuns a vrios programas e normalmente, voc copia o trecho do

cdigo fonte e cola no programa. Para evitar este procedimento, em ABAP, existem as Funes.
Isso no exclusivo do SAP, todas as linguagens possuem este conceito e suas funes.
o melhor exemplo que pode haver de uma funo o exemplo clssico de como funciona uma

CPU (lembra disso?). Dados esto de um lado e Informaes processadas do outro. No meio, o
processamento.

Function Builder
No SAP, manipulamos Funes no Function Builder,

transao: SE37.

Testando Funes

J vimos que o SAP disponibiliza vrias funes que podem ser


acessados por programas, reports, classes e outras funes. As
funes podem ser utilizadas tambm em programas Z, porm
antes de utiliz-las possvel tambm, test-las e verificar se
atende a necessidade.

Para nosso teste utilizaremos a funo: DATE_TO_DAY


Na transao: SE37 digite a funo

acima e tecle F8.


A finalidade desta funo dar o dia da semana uma determinada data, bastando

apenas que seja inserida a data no campo DATE.

Testando Funes
Neste caso temos um parmetro de Entrada e um parmetro de

Sada. Existem funes que retornam tabelas com diversos valores,


vamos testar a funo: J_1B_NF_DOCUMENT_READ.

Esta funo retornar diversos dados sobre uma Nota Fiscal, alguns valores de

impostos no so mostrados nesta funo.

Gravando Testes de Funes


Para gravar os dados de testes clique em .

Na prxima vez que voc acessar esta funo poder utilizar os

parmetros digitados e salvos.


Existir uma lista de todos os parmetros salvos, por data.

Chamar uma Funo em um programa ABAP

Para utilizar funes SAP em programas ABAP bem simples, s precisa tomar um cuidado. Na hora de
chamar os parmetros de Entrada sero EXPORTING e os de sada sero IMPORTING, como vemos no
exemplo abaixo da chamada de uma funo para converter quantidades para outra unidade de medida.
Vejam que campos do parmetro EXPORTING, se
olharmos na funo, esto em:

E IMPORTING em:

Criando nova Funo

Toda funo, indiferente a linguagem utilizada para sua implementao, existe um


mecanismo onde se fornecem parmetros de entrada a fim de receber alguma
informao processada na sada. Se levssemos para o mundo figurado do
computador, a funo seria um processador, Parmetros de Importao seriam os
dados brutos e Parmetros de Exportao seria a informao processada.

Grupo de Funes
As funes precisam estar agrupadas em um pool de funes, que no SAP

chamamos Grupo de Funes.


Podemos visualizar todas Funes do Grupo de Funes na transao
SE80.

Em um grupo de funes so agrupados mdulos de funes pertencentes.

Parmetros
Parmetros de Importao
Toda funo, indiferente a linguagem utilizada para sua implementao,

existe um mecanismo onde se fornecem parmetros de entrada a fim


de receber alguma informao processada na sada.
Parmetros de Exportao
Nesta aba voc precisa disponibilizar os parmetros de Sada, ou seja, o
resultado do processamento da funo, que estar disponvel a sua
aplicao.
Parmetros de Modificao
Nesta aba Modific. colocaremos os campos que so tanto de entrada
como sada, ou seja, so campos que so enviados como parmetro de
pesquisa mas podero voltar populados.

Caractersticas de Campos de
Parmetro
Opcional
Se no houver a obrigatoriedade de ser enviada informao em um dos campos

de entrada marque como opcional. Quando no marcado ser obrigatrio o


envio de informao no campo parmetro.

Chamada com transferncia de valor


A transferncia do parmetro efetuada com transferncia de valor. Isto

significa que o contedo do parmetro copiado durante a transferncia e


adiamento do parmetro de chamada. Em estruturas que contm tabelas, isto
pode levar a fortes redues de performance e, se possvel, no deve ser mais
utilizado.

Parmetros Tabelas

Como o sugestivo nome diz, so parmetros em forma de

tabela. A grande sacada do parmetro Tabelas que pode,


assim como o Modificao ser alterado. No somente
leitura. bem utilizado quando a funo recebe ou retorna
diversos parmetros em diversas linhas. Seria muito chato ter
que fazer um loop e fazer diversas chamadas a funo a cada
nova linha. Neste parmetro voc j receber a tabela
populada com, talvez, o resultado de um select.

Parmetros Excees
D nomes as excees que podero acontecer durante a

execuo da funo, e se cair em uma destas excees o


usurio poder ter o conhecimento do que aconteceu. Nada
melhor do que um feedback de vez em quando.

Texto Fonte
Nesta aba temos toda a lgica da funo, puro cdigo ABAP.

Funes com Parmetros Tabela


O Parmetro tabela est obsoleto na nova verso do SAP.

Poderemos criar parmetros tipo Tabela nos parmetros de


Importao e Exportao ou parmetros de Modificao, mas
vamos entender como funciona este parmetro, pois algumas
funes antigas ainda utilizam.

Exerccio Funes em ABAP

RFC - Remote Function Call


RFC nada mais que uma funo

dentro do SAP.
As RFCs so as funes remotas. So funes que esto visveis

fora do SAP, processam informaes atravs de parmetros de


entrada e retornam informaes processadas a um programa
fora do SAP, que fez a solicitao.
Um bom exemplo um portal de compras na web. Se o portal

em Java, utiliza-se um conector Java que a SAP disponibiliza.

Tipos de RFC:
Sncrono O RFC executado no momento da sua invocao e o cliente bloqueado at a
concluso da chamada.
Transacional O RFC executado 1 e 1 s vez assincronamente depois da transao do cliente
terminar. No caso de suceder algum erro na execuo do RFC este reprocessado. No
garantida que a ordem de chamada dos RFCs mantida quando da sua execuo.

Queued Semelhante ao Transacional, mas com garantia de ordenao.

possvel publicar mdulos de funo ABAP implementados como RFC (Remote Function
Call), Grupos de funes, BAPIs, ou mensagens XI.
Os BAPIs no SAP Web Application Server so implementados como mdulos de funo que
suportam o protocolo RFC Remote Function Call, e assignados como mtodo de um SAP BO.

Como transformar funes SAP por RFC


E se quisermos utilizar alguma funo que normalmente

utilizamos dentro do SAP (no remota) em uma chamada


externa, possivel? Sim! Mas no tente mudar a funo para
remota. O caminho criar uma funo remota que acessa a
funo SAP standard.

Acessando Funes Remotas SAP


em outras linguagens
Alem dos conectores disponibilizados pela SAP temos outros

conectores que foram trabalhados por empresas privadas para


melhorar e facilitar a comunicao.
O ERPConnect trabalha exclusivamente com SAP x .NET.

Acessando Funes Remotas SAP


em outras linguagens
JAVA
O conector para Java o SAPJCO (Java connector for SAP).

A biblioteca JCO disponibilizada pela SAP fornece os

recursos necessrios para efetuar conexo no SAP e realizar


a chamada de funes BAPI usando JAVA. Esta chamada
realizada atravs de RFC ' s (remote function call).

Lendo Tabelas do SAP


No uma boa prtica ler tabelas diretamente no banco de dados

que suporta as tabelas SAP (SQL Server, Oracle, DB...).


Importante sempre utilizar os recursos da camada de comunicao

da SAP, l esto os iDocs, RFCs, BAPIs. Uma destas RFCs a


RFC_READ_TABLE, que utilizaremos para acessar tabelas e
consultas (query) do ERP.

Exerccio RFC
1. Altere a funo Z de Materiais por Centro para Funo

Remota.
2. Utilizando Java, .Net ou prprio Excel faa a chamada

desta funo e mostre os valores na tela.

BAPIs
Business Application Programming Interface
BAPIS so Mdulos de Funes Standard SAP que

possuem infinitas utilizaes. Cada BAPI possui uma


funo especfica totalmente desenvolvida pela SAP.

BAPI x RFC
BAPI acessa protocolo RFC
Utiliza o conceito SAP Call functions
BAPI um Objeto de negcio, RFC um cdigo de funo

BAPI faz parte do BOR (Business Object Repository)


Esta interligada aos produtos SAP - BO
BAPI a mais poderosa ferramenta de integrao da SAP
Melhor elaborada do que RFC
BAPI tem modelagem orientada a objetos

Como pesquisar uma BAPI


No menu SAP, digitar a Tcode BAPI:

Testando e Mapeando uma BAPI


Depois de analisar todos os campos, voc poder testar a BAPI

e ir mapeando aos poucos, ento abra outra janela e execute a


Tcode SE37:

Efetuando uma Seqncia de Teste

Criando BAPI com funo Z


Iremos passo a passo transformar em BAPI nossa funo

remota criada no capitulo sobre funo / RFC.

V at a transao SWO1 e entre com um nome para o Tipo de objeto BAPI que est criando. Clique Criar.
(Este item: Tipo de Objeto necessrio para declarao de uma RFC como BAPI.)

SHDB
(Mapeamento de telas para batch input)
Para evitar um re-trabalho com informaes que esto

disponveis em arquivos txt, em outros sistemas ou mesmo em


base de dados dentro do SAP, poderemos utilizar SHDBs para
criar mapeamento de telas SAP.
Clique Nova gravao para mapear uma transao standard

SAP.

Implantando rotina para Funo com Batch


input
Utilizando o mapeamento de telas feito no item anterior, iremos

criar uma funo que realize a atualizao do limite de crdito para


clientes especificados na hora de se chamar a funo seja ela
internamente ou remotamente.

Você também pode gostar