curso_abap interm 2

Upload: joceliosousa

Post on 02-Jun-2018

266 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 Curso_ABAP Interm 2

    1/32

    Joclio Pereira88144959

    j [email protected] [email protected] www.joceliopereira.com

    mailto:[email protected]:[email protected]://www.joceliopereira.com/http://www.joceliopereira.com/mailto:[email protected]:[email protected]:[email protected]
  • 8/10/2019 Curso_ABAP Interm 2

    2/32

    Contedo ProgramticoFunesGerar funes compartilhadas entre programas dentro do SAP

    Funes RemotasGerar 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-lineutilizando ALETRACE

    Mapeamento automtico de todas os selects realizados pela transao para encontrar tabelasutilizadas na transao

    DEPURADOR AVANADOComo utilizar o mximo de recursos do novo Debugger ABAP

    DEPURADOR EXTERNODepurar programas e funes no momento em que so acessadas remotamente

    CRIAR CLASSES E METODOS NO SAPUtilizar o novo meio de programar orientado a objetos no SAP

    SOAMANAGERComunicao SAP com WebService externos imputando e recebendo informaes via SOA

  • 8/10/2019 Curso_ABAP Interm 2

    3/32

  • 8/10/2019 Curso_ABAP Interm 2

    4/32

    Function Builder

    No SAP, manipulamos Funes no Function Builder ,transao: SE37 .

  • 8/10/2019 Curso_ABAP Interm 2

    5/32

    Testando Funes J vimos que o SAP disponibiliza vrias funes que podem ser

    acessados por programas, reports, classes e outras funes. Asfunes podem ser utilizadas tambm em programas Z, pormantes de utiliz-las possvel tambm, test-las e verificar seatende a necessidade.

    Para nosso teste utilizaremos a funo: DATE_TO_DAY

    Na transao: SE37 digite a funoacima e tecle F8.

    A finalidade desta funo dar o dia da semana uma determinada data, bastandoapenas que seja inserida a data no campo DATE .

  • 8/10/2019 Curso_ABAP Interm 2

    6/32

    Testando Funes

    Neste caso temos um parmetro de Entrada e um parmetro deSada. 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 deimpostos no so mostrados nesta funo.

  • 8/10/2019 Curso_ABAP Interm 2

    7/32

    Gravando Testes de Funes

    Para gravar os dados de testes clique em .

    Na prxima vez que voc acessar esta funo poder utilizar osparmetros digitados e salvos.

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

  • 8/10/2019 Curso_ABAP Interm 2

    8/32

    Chamar uma Funo em um programa ABAP Para utilizar funes SAP em programas ABAP bem simples, s precisa tomar um cuidado. Na hora dechamar os parmetros de Entrada sero EXPORTING e os de sada sero IMPORTING, como vemos noexemplo abaixo da chamada de uma funo para converter quantidades para outra unidade de medida.

    Vejam que campos do parmetro EXPORTING, seolharmos na funo, esto em:

    EIMPORTING em:

  • 8/10/2019 Curso_ABAP Interm 2

    9/32

    Criando nova Funo

    Toda funo, indiferente a linguagem utilizada para sua implementao, existe ummecanismo onde se fornecem parmetros de entrada a fim de receber algumainformao processada na sada. Se levssemos para o mundo figurado docomputador, a funo seria um processador, Parmetros de Importao seriam osdados brutos e Parmetros de Exportao seria a informao processada.

  • 8/10/2019 Curso_ABAP Interm 2

    10/32

    Grupo de Funes

    As funes precisam estar agrupadas em um pool de funes, que no SAPchamamos 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.

  • 8/10/2019 Curso_ABAP Interm 2

    11/32

    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, oresultado do processamento da funo, que estar disponvel a suaaplicao.

    Parmetros de Modificao Nesta aba Modific . colocaremos os campos que so tanto de entradacomo sada, ou seja, so campos que so enviados como parmetro depesquisa mas podero voltar populados.

  • 8/10/2019 Curso_ABAP Interm 2

    12/32

    Caractersticas de Campos de

    Parmetro Opcional

    Se no houver a obrigatoriedade de ser enviada informao em um dos camposde entrada marque como opcional. Quando no marcado ser obrigatrio oenvio de informao no campo parmetro.

    Chamada com transferncia de valorA transferncia do parmetro efetuada com transferncia de valor. Isto

    significa que o contedo do parmetro copiado durante a transferncia eadiamento do parmetro de chamada. Em estruturas que contm tabelas, istopode levar a fortes redues de performance e, se possvel, no deve ser maisutilizado.

  • 8/10/2019 Curso_ABAP Interm 2

    13/32

    Parmetros Tabelas

    Como o sugestivo nome diz, so parmetros em forma detabela. A grande sacada do parmetro Tabelas que pode,assim como o Modificao ser alterado. No somenteleitura. bem utilizado quando a funo recebe ou retornadiversos parmetros em diversas linhas. Seria muito chato terque fazer um loop e fazer diversas chamadas a funo a cadanova linha. Neste parmetro voc j receber a tabelapopulada com, talvez, o resultado de um select.

  • 8/10/2019 Curso_ABAP Interm 2

    14/32

    Parmetros Excees

    D nomes as excees que podero acontecer durante aexecuo da funo, e se cair em uma destas excees ousurio poder ter o conhecimento do que aconteceu. Nadamelhor do que um feedback de vez em quando.

  • 8/10/2019 Curso_ABAP Interm 2

    15/32

    Texto Fonte

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

  • 8/10/2019 Curso_ABAP Interm 2

    16/32

    Funes com Parmetros Tabela O Parmetro tabela est obsoleto na nova verso do SAP.Poderemos criar parmetros tipo Tabela nos parmetros deImportao e Exportao ou parmetros de Modificao, masvamos entender como funciona este parmetro, pois algumasfunes antigas ainda utilizam.

  • 8/10/2019 Curso_ABAP Interm 2

    17/32

    Exerccio Funes em ABAP

  • 8/10/2019 Curso_ABAP Interm 2

    18/32

    RFC - Remote Function Call

    RFC nada mais que uma funodentro do SAP.

    As RFCs so as funes remotas. So funes que esto visveisfora do SAP, processam informaes atravs de parmetros deentrada e retornam informaes processadas a um programafora 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.

  • 8/10/2019 Curso_ABAP Interm 2

    19/32

    Tipos de RFC:

    Sncrono O RFC executado no momento da sua invocao e o cliente bloqueado at aconcluso 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 quesuportam o protocolo RFC Remote Function Call, e assignados como mtodo de um SAP BO.

  • 8/10/2019 Curso_ABAP Interm 2

    20/32

    Como transformar funes SAP por RFC

    E se quisermos utilizar alguma funo que normalmenteutilizamos dentro do SAP (no remota) em uma chamadaexterna, possivel? Sim! Mas no tente mudar a funo para

    remota. O caminho criar uma funo remota que acessa afuno SAP standard.

  • 8/10/2019 Curso_ABAP Interm 2

    21/32

    Acessando Funes Remotas SAP

    em outras linguagens Alem dos conectores disponibilizados pela SAP temos outrosconectores que foram trabalhados por empresas privadas paramelhorar e facilitar a comunicao.

    O ERPConnect trabalha exclusivamente com SAP x .NET.

    http://www.theobald-software.com/oe/root/mg/pool/erpconnect/ERPConnectStructure.png
  • 8/10/2019 Curso_ABAP Interm 2

    22/32

    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 realizara chamada de funes BAPI usando JAVA. Esta chamada realizada atravs de RFC ' s (remote function call).

  • 8/10/2019 Curso_ABAP Interm 2

    23/32

    Lendo Tabelas do SAP

    No uma boa prtica ler tabelas diretamente no banco de dadosque suporta as tabelas SAP (SQL Server, Oracle, DB...).

    Importante sempre utilizar os recursos da camada de comunicaoda SAP, l esto os iDocs, RFCs, BAPIs. Uma destas RFCs aRFC_READ_TABLE, que utilizaremos para acessar tabelas econsultas (query) do ERP.

  • 8/10/2019 Curso_ABAP Interm 2

    24/32

  • 8/10/2019 Curso_ABAP Interm 2

    25/32

    BAPIs

    Business Application Programming InterfaceBAPIS so Mdulos de Funes Standard SAP quepossuem infinitas utilizaes. Cada BAPI possui umafuno especfica totalmente desenvolvida pela SAP.

  • 8/10/2019 Curso_ABAP Interm 2

    26/32

    BAPI x RFC

    BAPI acessa protocolo RFCUtiliza o conceito SAP Call functions

    BAPI um Objeto de negcio, RFC um cdigo de funoBAPI faz parte doBOR (Business Object Repository)Esta interligada aos produtos SAP - BOBAPI a mais poderosa ferramenta de integrao da SAPMelhor elaborada do que RFCBAPI tem modelagem orientada a objetos

  • 8/10/2019 Curso_ABAP Interm 2

    27/32

    Como pesquisar uma BAPI

    No menu SAP, digitar a TcodeBAPI:

  • 8/10/2019 Curso_ABAP Interm 2

    28/32

  • 8/10/2019 Curso_ABAP Interm 2

    29/32

    Efetuando uma Seqncia de Teste

  • 8/10/2019 Curso_ABAP Interm 2

    30/32

    Criando BAPI com funo Z

    Iremos passo a passo transformar em BAPI nossa funoremota 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 necess rio para declara o de uma RFC como BAPI.)

  • 8/10/2019 Curso_ABAP Interm 2

    31/32

    SHDB

    (Mapeamento de telas para batch input)Para evitar um re-trabalho com informaes que estodisponveis em arquivos txt, em outros sistemas ou mesmo embase de dados dentro do SAP, poderemos utilizar SHDBs para

    criar mapeamento de telas SAP.

    Clique Nova gravao para mapear uma transao standardSAP.

  • 8/10/2019 Curso_ABAP Interm 2

    32/32

    Implantando rotina para Funo com Batch

    inputUtilizando o mapeamento de telas feito no item anterior, iremoscriar uma funo que realize a atualizao do limite de crdito paraclientes especificados na hora de se chamar a funo seja ela

    internamente ou remotamente.