SlideShare uma empresa Scribd logo
1 de 46
SAP R/3
                                         GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Output Message – Exemplo de Processo e parametrizações na Confirmação da
                 ordem de Vendas

Transação: IMG                               Aplicação ( Processo )




                 Atualizar tipos de mensagem


Definir, nesta entrada de menu, as condições de mensagens para registros de condições de mensagens.
A condição de mensagens forma diferentes mensagens no sistema SAP, como por exemplo, cotação,
confirmações de ordens e notas de remessa.
Para definir uma condição de mensagem, o usuário terá de efetuar as seguintes entradas:
    •    Tipo de condição
Chave alfanumérica com até 4 carcaterers que identifique uma condição de mensagem univocamente
    •    Sequência de acesso
         Chave de sequência de acesso
    •    Denominação
         Texto para a descrição da condição de mensagens
    •    Dados de detalhe (apenas os dados de detalhe mais importantes serão elucidados)

             o    Meio de transmissão
                  Chave alfanumérica com um caractere que determina o tipo de processamento de mensagem
                  (por exemplo, saída de impressão, transmissão por fax ou mail)
             o    Momento
                  Chave alfanumérica com um caractere que determina o momento do processamento de
                  mensagem (por exemplo, imediatamente ao gravar um documento ou com o processo de
                  seleção seguinte)
             o    Função do parceiro
                  Função do parceiro para a definição do recebedor de uma mensagem no documento de vendas
             o    Acesso de condições
                  Código com o qual se determina que a proposta de mensagem para esta mensagem deverá ser
                  efetuada através da técnica de condição.
                  Caso o usuário não defina o código, esta mensagem poderá ser localizada através da proposta
                  proveniente do registro mestre de clientes. Para isto, o usuário terá de ter efetuado as opções
                  correspondentes para a determinação de mensagens proveniente do registro mestre de
                  clientes.
             o    Parâmetros de impressão
                  Chave alfanumérica com um caractere que define os requisitos que serão a base para a
                  determinação dos parâmetros de impressão (ver Seção "Definir parâmetros de impressão").
             o    Modo de arquivamento Este campo controla se um documento será apenas impresso, apenas
                  arquivado ou tanto impresso como arquivado.
Menu : Vendas e distribuição > Funções básicas> Controle de Mensagens > Determinação de mensagens > Determinação de
mensagem via técnica de condições>Atualizar determinação de mensagens para docs. vendas> atualizar tipos de mensagem




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 1
SAP R/3
                                          GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




Foi criado um controle de cópia para cotação como ZA00




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 2
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 3
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 4
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 5
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 6
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 7
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 8
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                 Pág. 9
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 10
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 11
SAP R/3
                                          GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




Aqui associo os tipos de ordem com os controles de mensagem criado.




Necessário entrar na transação VV11




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 12
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 13
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 14
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 15
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

                   Output Message – Exemplo de Processo e parametrizações no faturamento

Transação: NACE                        Aplicação ( Processo )




Escolher o processo, Ordem , Remessa, transporte, Fatura ou NF.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 16
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Output Message – Tipo de Mensagem

Transação: NACE                        Esquema de Mensagem




O tipo de mensagem define o programa que deve ser executado.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 17
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Output Message – Seqüência de Acesso

Transação: NACE                        Seqüência de Acesso




Definir a seqüência de acesso conforme a necessidade do Cliente.
A seqüência de acesso é definida no tipo de mensagem.

Na seqüência de acesso é possível incluir um requisito, onde a mensagem só é executada, se o
retorno do requisito for positivo. Ou seja, em que condição esta mensagem deve ser
executada.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 18
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Output Message – Esquema de Mensagem

Transação: NACE                        Tipo de Mensagem




Incluir o tipo de mensagem no Esquema de mensagem

No esquema de mensagem também é possível incluir um requisito, onde a mensagem só é
executada, se o retorno do requisito for positivo. Ou seja, em que condição esta mensagem
deve ser executada.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 19
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Output Message – Registro de Condição

Transação: VV31                        Tipo de Mensagem




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 20
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




O meio e a Hora em que o processo deve ser executado é muito importante e é
indicado Na condition record.




Neste caso foi utilizado o tipo de documento como chave para executar a
mensagem, mas poderia ser qualquer informação disponível no SAP.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 21
SAP R/3
                                               GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Exemplo de Programa e Explicações

Transação: Se38                                     Menu Sap:




A rotina marcada em Vermelho é o segredo, para atualizar o Status da
mensagem no documento de vendas que fez o start da operação ( Tabela
NAST).
O laureano da Complex é o programador ABAP que fez este programa.
Ele é o CARA..........

REPORT ZPrograma LINE-COUNT 100 MESSAGE-ID ZMensagem.

TABLES: Ztabela,
    vbrk,
    vbrp.
INCLUDE rvadtabl.

DATA: ls_bkpf TYPE bkpf,
     ls_vbrk TYPE vbrk,
     retcode LIKE sy-subrc,                  "Returncode
     xscreen(1) TYPE c.                    "Output on printer or screen
*&---------------------------------------------------------------------*
*&      Form ENTRY
*&---------------------------------------------------------------------*
*      text
*----------------------------------------------------------------------*
* --> p1          text
* <-- p2          text
*----------------------------------------------------------------------*
FORM entry USING return_code us_screen.

 CLEAR retcode.

 xscreen = us_screen.

 PERFORM ler_tabela. ( Rotina de Processamento )

 CASE retcode.
  WHEN 0.
   return_code = 0.
  WHEN 3.
   return_code = 3.
  WHEN OTHERS.
   return_code = 1.
 ENDCASE.

ENDFORM.                        " ENTRY
*&---------------------------------------------------------------------*
*&      Form ler_tabela
*&---------------------------------------------------------------------*
*      text
*----------------------------------------------------------------------*


______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 22
SAP R/3
                                          GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
* --> p1          text
* <-- p2          text
*----------------------------------------------------------------------*
FORM ler_tabela.

 SELECT SINGLE * FROM vbrk
 WHERE vbeln = nast-objky.

 IF sy-subrc IS INITIAL.

  SELECT SINGLE * FROM vbrp
  WHERE vbeln = vbrk-vbeln.

  IF sy-subrc IS INITIAL AND
    NOT vbrp-codigo_ac IS INITIAL.

   SELECT SINGLE * FROM Ztabela
   WHERE codigo_ac = vbrp-codigo_ac AND
       matnr = vbrp-matnr AND
       tipomov = 'S'.
   IF sy-subrc NE 0.
    Ztabela-codigo_ac = vbrp-codigo_ac.
    Ztabela-matnr = vbrp-matnr.
    Ztabela-tipomov = 'S'.
    Ztabela-menge = vbrp-fkimg.
    INSERT Ztabela.
    COMMIT WORK.
   ENDIF.
  ENDIF.
 ENDIF.

ENDFORM.                   " ler_tabela




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 23
SAP R/3
                                          GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Debugando Programas de Output Message – Exemplo Faturamento de SD

Transação: VV31 – Criar                       Menu Sap: Logistica>Vendas e Distribuição>Dados
           VV32 – Modificar                   Mestres>Mensagens>Documento de Faturamento
           VV33 - Exibir




Resumo do Processo
Criação / Modificação / Consulta de Record Condition de output Message



Dicas
Ao Criar sua record condition, escolher a opção 1 - Enviar através de jobs escalonados periodicamente.
Esta opção faz com que o Output message não seja executado imediatamente após a gravação da aplicação,
Necessitando da execução de um JOB para para definir o momento do envio.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 24
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

                     Debugando Programas de Output Message – Exemplo Faturamento de SD

Transação: VF01 – Criar                Menu Sap: Logistica>Vendas e Distribuição>Faturamento>Documento de
           VF02 – Modificar            Faturamento
           VF03 - Exibir




Digitar o numero da fatura para modificação e Dar Enter...




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 25
SAP R/3
                                          GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




Clicar no Icone ( Lupa ) para ir para o Cabeçalho do documento faturamento




Já na pasta Cabeçalho, clicar em Mensagens:




Na Primeira Tela vc tb pode ir por este caminho para chegar na mensagem...


Resumo do Processo
Na Criação ou Modificação de um Documento de faturamento, é possivel Gravar uma output Message com as suas opções.



Dicas
Neste caso, se vc tem uma record condition para a sua Output Messagem, a mesma pode ser modificada para a sua necessidade.




                      Debugando Programas de Output Message – Exemplo Faturamento de SD

______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 26
SAP R/3
                                          GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

Transação: VF01 – Criar                      Menu Sap: Logistica>Vendas e Distribuição>Faturamento>Documento de
           VF02 – Modificar                  Faturamento
           VF03 - Exibir




Marcar a sua mensagem e Clicar em dados complementares para abrir a proxima tela:




Alterar a opção de momento do envio para 1 Enviar através de jobs escalonados periodicamente.

Resumo do Processo
Modificar a sua Output Message, segundo as suas necessidades



Dicas




                      Debugando Programas de Output Message – Exemplo Faturamento de SD


______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 27
SAP R/3
                                          GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

Transação: VF01 – Criar                       Menu Sap: Logistica>Vendas e Distribuição>Faturamento>Documento de
           VF02 – Modificar                   Faturamento
           VF03 - Exibir




Resumo do Processo
Gravar a fatura para gerar a sua Output Message, segundo as suas necessidades



Dicas




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 28
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Debugando Programas de Output Message – Exemplo Faturamento de SD

Transação: Nace                        Verificando o programa que a Output Message Executa...




Marcar a Output e clicar em tipo de mensagem...




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 29
SAP R/3
                                          GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




Marcar o tipo de mensagem e clicar na pasta Rotina de processamento no SAP




Neste caso o programa é o RVADIN01...




Resumo do Processo
Gravar a fatura para gerar a sua Output Message, segundo as suas necessidades



Dicas




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 30
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
                 Debugando Programas de Output Message – Exemplo Faturamento de SD

Transação: SE38                        Menu Sap: Ferramentas > ABAP Workbench > Desenvolvimento > Editor
                                       ABAP




Chamar o programa a ser debugado e colocar nele um Break-Point:
Neste exemplo vamos colocar um break-point no programa RVADIN01,
Standard do tipo de output message RD00.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 31
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
Digitar o codigo do programa e clicar no icone exibir.




Posicionar na linha desejada e clicar no icone STOP.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 32
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




Esta opção acima, tb funciona.




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 33
SAP R/3
                                              GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

Feito o Break-point o linha fica marcada....



Resumo do Processo
Bem existem varias literaturas sobre break-point, como colocar como tirar....secão, servidor, usuário...ETC....



Dicas
OBS: Para retirar o breack-point basta repetir a operação no mesmo ponto ou utilizar a opção de eliminar pontos de parada via
utilitarios da se38....em relação a Break-Point fui....Deus te ajude e até a próxima.....



Continuando......... o Debugging....




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 34
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________


                    Debugando Programas de Output Message – Exemplo Faturamento de SD

Transação: SE38                        Menu Sap: Ferramentas > ABAP Workbench > Desenvolvimento > Editor
                                       ABAP




Resumo do Processo
Executar o programa RSNAST00



Dicas




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 35
SAP R/3
                                             GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________


                          Debugando Programas de Output Message – Exemplo Faturamento de SD

Transação: SE38                                  Menu Sap: Ferramentas > ABAP Workbench > Desenvolvimento > Editor
                                                 ABAP




Resumo do Processo
Aplicacação de mensagem = V3 ( Fatura )
Chave de objeto = O numero da sua fatura
Tipo de mensagem = RD00

Ao executar o programa o debug entra no ponto em que o break-point foi definido....



Dicas
Na tela abaixo o inicio do debug........




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 36
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 37
SAP R/3
                                    GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________



Programa Exemplo:


REPORT zsavo_acumulado_vendas LINE-SIZE 200 NO STANDARD PAGE HEADING.
************************************************************************
*** Programa: ZSAVO_ACUMULADO_VENDAS                                                ***
*** Descrição: Relatorio Acumulado Vendas                                 ***
*** Autor: jhrezende              Data : 17/05/2007                  ***
************************************************************************
*** Description:                                        ***
***                                               ***
************************************************************************
*** Tabelas Utilizadas:                                     ***
*** vbak - Documento de vendas: dados de cabeçalho                              ***
*** vbap - Documento de vendas: dados de item                               ***
*** vbrp - Documento de faturamento: dados de item                            ***
*** vbfa - Fluxo de documentos de vendas e distribuição (VD)                      ***
************************************************************************
*** Funções Utilizadas:                                      ***
***                                               ***
*** Includes                                           ***
***                                               ***
*** Transação                                            ***
***                                               ***
***                                               ***
*** Parâmetros de Entrada:                                      ***
*** p_VBELN - Documento de venda                                        ***
***                                               ***
*** Histórico de Alterações:                                  ***
************************************************************************
*** Data | Change # | Autor                | Alteração              ***
*** 17.05.2007| SD1K9A05KY | Jhrezende                | Desenv. Inicial           ***
************************************************************************
* OBS: NÃO UTILIZAR: DISPLAY DE MENSAGENS, STOP, BREAK-POINT,
*               COMMIT_WORK
* Sempre que for necessitar que mostre uma msg utilize a fução
*      CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
************************************************************************
*** Tabelas do dicionário de dados
************************************************************************
*TABLES: tvagt, dd07t.

DATA: qtd    LIKE ekpo-menge,
  puni(16) TYPE p DECIMALS 10,
  vluni(16) TYPE p DECIMALS 10,
  uni1(3) TYPE c,
  uni2(3) TYPE c,
  vbeln    LIKE vbak-vbeln,
  cred(1) TYPE c,
  xscreen(1) TYPE c.        "Output on printer or screen

______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 38
SAP R/3
                                         GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

*CONSTANTS: c_cmgst(5) TYPE c VALUE 'CMGST',
*    c_a(1)   TYPE c VALUE 'A'.

* Definição das tabelas internas globais *******************************
DATA:
* Dados de Ordem de Venda Cabec
  t_vbak    TYPE vbak OCCURS 0 WITH HEADER LINE,
* Dados de Ordem de Venda Item
  t_vbap    TYPE vbap OCCURS 0 WITH HEADER LINE,
  t_s604n TYPE s604 OCCURS 0 WITH HEADER LINE,
*Documento VD: status de cabeçalho e dados administrativos
  t_vbuk    TYPE vbuk OCCURS 0 WITH HEADER LINE,
* Fluxo de documentos de vendas e distribuição (VD)
  t_vbfa   TYPE vbfa OCCURS 0 WITH HEADER LINE,
* Documento de faturamento: dados de cabeçalho
  t_vbrk   TYPE vbrk OCCURS 0 WITH HEADER LINE,
* Documento de faturamento: dados de item
  t_vbrp    TYPE vbrp OCCURS 0 WITH HEADER LINE.

*
INCLUDE rvadtabl.                    "obrigatorio

DATA: retcode LIKE sy-subrc. "Returncode "obrigatorio

*---------------------------------------------------------------------*
*      FORM entry                                                 *
*---------------------------------------------------------------------*
*      ........                                           *
*---------------------------------------------------------------------*
* --> RETURN_CODE                                                       *
* --> US_SCREEN                                                       *
*---------------------------------------------------------------------*
FORM entry USING return_code us_screen.                                   "#EC CALLED
* Quando o programa for acionado já vem algumas informações da NAST,
* se houver necessidade de mais informações dessa tabela é só fazer
* uma leitura da mesma
*--------------------------------------------------------------------
  CLEAR retcode.
  IF nast-kappl = 'V3'.
   vbeln = nast-objky.
   PERFORM f_ler_documento_venda_0.
   LOOP AT t_vbrp.
     vbeln = t_vbrp-aubel.
     PERFORM get_data.
     IF retcode NE 0.
       return_code = 1.
     ELSE.
       return_code = 0.
     ENDIF.
   ENDLOOP.
  ELSEIF nast-kappl = 'V1'.
   vbeln = nast-objky.
   PERFORM get_data.
   IF retcode NE 0.


______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 39
SAP R/3
                                               GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
   return_code = 1.
  ELSE.
   return_code = 0.
  ENDIF.
 ENDIF.

ENDFORM.
*---------------------------------------------------------------------*
*      FORM PROTOCOL_UPDATE "obrigatorio                                *
*---------------------------------------------------------------------*
*      The messages are collected for the processing protocol.          *
*---------------------------------------------------------------------*
FORM protocol_update.
* sempre que necessitar mostrar mensagens deve ser utilizada essa
* função
  CHECK xscreen = space.
  CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
      EXPORTING
          msg_arbgb = syst-msgid
          msg_nr = syst-msgno
          msg_ty = syst-msgty
          msg_v1 = syst-msgv1
          msg_v2 = syst-msgv2
          msg_v3 = syst-msgv3
          msg_v4 = syst-msgv4
      EXCEPTIONS
          OTHERS = 1.
  IF sy-subrc <> 0.
* NÃO COLOCAR WRITE DE MSG.
* utilizar CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
  ENDIF.
ENDFORM.

*---------------------------------------------------------------------*
*      FORM GET_DATA                                                    *
*---------------------------------------------------------------------*
FORM get_data.
* essa parte é livre não tem nada de diferente
  CLEAR: t_s604n. REFRESH: t_s604n.
  PERFORM f_ler_documento_venda.
  PERFORM f_montar_s604_nova.
  PERFORM f_deletar_s604_velha.
  PERFORM f_gravar_s604_nova.


ENDFORM.
*&---------------------------------------------------------------------*
*&     Form f_ler_documento_venda
*&---------------------------------------------------------------------*
FORM f_ler_documento_venda_0.

* Seleção dos dados VBRP Documento de faturamento: dados de item
  SELECT * FROM vbrp
       INTO TABLE t_vbrp
       WHERE vbeln = vbeln.


______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 40
SAP R/3
                                               GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
 SORT t_vbrp BY aubel.
 DELETE ADJACENT DUPLICATES FROM t_vbrp COMPARING aubel.

ENDFORM.                        " f_ler_documento_venda_0

*&---------------------------------------------------------------------*
*&     Form f_ler_documento_venda
*&---------------------------------------------------------------------*
FORM f_ler_documento_venda.
* Seleção dos dados VBAK (Venda)
  SELECT * FROM vbak
        INTO TABLE t_vbak
        WHERE vbeln = vbeln.

  IF NOT t_vbak[] IS INITIAL.
* Seleção dos dados VBAP (Carteira)
   SELECT * FROM vbap
        INTO TABLE t_vbap
        FOR ALL ENTRIES IN t_vbak
        WHERE vbeln = t_vbak-vbeln.
* Documento VD: status de cabeçalho e dados administrativos
   SELECT * FROM vbuk
        INTO TABLE t_vbuk
        FOR ALL ENTRIES IN t_vbak
        WHERE vbeln = t_vbak-vbeln.


* Fluxo de documentos de vendas e distribuição (VD)
   SELECT * FROM vbfa
        INTO TABLE t_vbfa
        FOR ALL ENTRIES IN t_vbak
        WHERE vbelv = t_vbak-vbeln AND
        vbtyp_n = 'M'.


   IF NOT t_vbfa[] IS INITIAL.
*Documento de faturamento: dados de cabeçalho
    SELECT * FROM vbrk
         INTO TABLE t_vbrk
         FOR ALL ENTRIES IN t_vbfa
         WHERE vbeln = t_vbfa-vbeln AND
             fksto = ' '.
    IF NOT t_vbrk[] IS INITIAL.
* Fluxo de documentos de vendas e distribuição (VD)
      SELECT * FROM vbfa
           INTO TABLE t_vbfa
           FOR ALL ENTRIES IN t_vbrk
           WHERE vbeln = t_vbrk-vbeln AND
               vbelv = vbeln    AND
               vbtyp_n = 'M'.
      SORT t_vbfa BY posnv.
    ELSE.
      REFRESH: t_vbfa[].
    ENDIF.
   ENDIF.


______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 41
SAP R/3
                                                GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

 ENDIF.


ENDFORM.                       " f_ler_documento_venda
*&---------------------------------------------------------------------*
*&     Form f_montar_s604_nova
*&---------------------------------------------------------------------*
FORM f_montar_s604_nova.

 CLEAR: t_vbak,t_vbuk.
 READ TABLE t_vbak WITH KEY vbeln = vbeln.
* READ TABLE t_tvko INDEX 1.
 READ TABLE t_vbuk INDEX 1.

 LOOP AT t_vbap.
  MOVE-CORRESPONDING t_vbap TO t_s604n.
  t_s604n-vrsio = '000'.     " sempre 000
  t_s604n-spmon = t_vbak-erdat. " ano e mes
  t_s604n-erdat = t_vbak-erdat. " ano/mes/dia
  t_s604n-bukrs = t_vbak-kkber. " empresa
  t_s604n-auart = t_vbak-auart. " Tipo de documento de venda
  t_s604n-vkbur = t_vbak-vkbur. " Escritorio de vendas
  t_s604n-kunnr = t_vbak-knkli. " Emissor da ordem
  t_s604n-vtweg = t_vbak-vtweg. " canal Distribuição
  t_s604n-stwae = t_vbak-waerk. " Moeda
  t_s604n-gewei = ' '. " Unidade de peso
  t_s604n-basme = ' '. "t_vbap-meins. " Unidade medida basica

* Carteira
   PERFORM f_carteira.
* Recusa
   IF t_vbap-abgru <> ' ' .
     PERFORM f_recusa.
   ELSE.
* ajustar credito - é só ele
     PERFORM f_ajustar_credito.
     IF cred = ' '.
* Ajustar faturado
       PERFORM f_faturado.
* Ajustar a faturar
       PERFORM f_afaturar.
* backorder = carteira - a faturar
       PERFORM f_backorder.
     ENDIF.
   ENDIF.
* ----------------------------------------------------
   IF t_vbak-vbtyp = 'H'.
     PERFORM f_multipl_menos_hum.
   ENDIF.

  APPEND t_s604n.
  CLEAR: t_s604n, t_vbap, cred.
 ENDLOOP.



______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 42
SAP R/3
                                               GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
ENDFORM.                       " f_montar_s604_nova
*&---------------------------------------------------------------------*
*&     Form f_deletar_s604_velha
*&---------------------------------------------------------------------*
FORM f_deletar_s604_velha.
 DELETE FROM s604 WHERE vbeln = vbeln.
ENDFORM.                       " f_deletar_s604_velha

*&---------------------------------------------------------------------*
*&      Form f_gravar_s604_nova
*&---------------------------------------------------------------------*
FORM f_gravar_s604_nova.
  IF retcode = 0.
   LOOP AT t_s604n.
     INSERT INTO s604 VALUES t_s604n.
   ENDLOOP.
  ENDIF.
ENDFORM.                        " f_gravar_s604_nova
*&---------------------------------------------------------------------*
*&      Form f_converter_unidade
*&---------------------------------------------------------------------*
*      text
*----------------------------------------------------------------------*
*     -->P_UNI1 text
*     -->P_UNI2 text
*     -->P_QTD text
*----------------------------------------------------------------------*
FORM f_converter_unidade USING p_uni1
                            p_uni2
                            p_qtd.
  CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
      EXPORTING
          i_matnr              = t_vbap-matnr
          i_in_me               = p_uni1
          i_out_me               = p_uni2
          i_menge                = p_qtd
      IMPORTING
          e_menge                 = qtd
      EXCEPTIONS
          error_in_application = 1
          error              =2
          OTHERS                   = 3.

 IF sy-subrc <> 0.
*   retcode = sy-subrc.
   PERFORM protocol_update.
 ENDIF.
ENDFORM.                       " f_converter_unidade
*&---------------------------------------------------------------------*
*&     Form f_carteira
*&---------------------------------------------------------------------*
FORM f_carteira.
 IF t_vbap-kwmeng = 0.
   t_vbap-kwmeng = t_vbap-zmeng.
 ENDIF.


______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 43
SAP R/3
                                               GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

 t_s604n-cartkg = t_vbap-brgew. " carteira kg
 t_s604n-cartvl = t_vbap-netwr. " Valor carteira

* ajustar campos carteira dp e carteira cx
  qtd = t_vbap-kwmeng.
  uni1 = t_vbap-meins.     " unidade original
  uni2 = 'DP' .
  PERFORM f_converter_unidade USING uni1 uni2 qtd.
  t_s604n-cartdp = qtd.

  IF t_s604n-cartdp <> 0.
* Peso unitário menor unidade existente que é o display
   puni = t_s604n-cartkg / t_s604n-cartdp.
   vluni = t_s604n-cartvl / t_s604n-cartdp.
  ELSE.
   MESSAGE i368(00) WITH t_vbak-vbeln.
   puni = 1.
   vluni = 1.
  ENDIF.
  qtd = t_vbap-kwmeng.
  uni1 = t_vbap-meins. " unidade original
  uni2 = 'KI' .  " caixa
  PERFORM f_converter_unidade USING uni1 uni2 qtd.
  t_s604n-cartcx = qtd.

ENDFORM.                        " f_carteira


*&---------------------------------------------------------------------*
*&     Form f_faturado
*&---------------------------------------------------------------------*
FORM f_faturado.

  READ TABLE t_vbfa WITH KEY posnv = t_vbap-posnr BINARY SEARCH.
  IF sy-subrc = 0.
* convertendo para caixa
   qtd = t_vbfa-rfmng_flo.
   uni1 = t_vbfa-vrkme. " unidade original
   uni2 = 'KI' .   " caixa
   PERFORM f_converter_unidade USING uni1 uni2 qtd.
   t_s604n-fatcx = qtd.

* convertendo para display
   qtd = t_vbfa-rfmng_flo.
   uni1 = t_vbfa-vrkme. " unidade original
   uni2 = 'DP' .    " display
   PERFORM f_converter_unidade USING uni1 uni2 qtd.
   t_s604n-fatdp = qtd.


   t_s604n-fatkg = t_s604n-fatdp * puni.

* mult pelo peso bruto do item
   t_s604n-fatvl = t_s604n-fatdp * vluni.


______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 44
SAP R/3
                                               GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________

 ENDIF.

ENDFORM.                       " f_faturado
*&---------------------------------------------------------------------*
*&     Form f_afaturar
*&---------------------------------------------------------------------*
FORM f_afaturar.

* convertendo para caixa
  uni1 = t_vbap-zieme. " unidade original
  qtd = t_vbap-kbmeng.
  uni2 = 'KI' .   " caixa
  PERFORM f_converter_unidade USING uni1 uni2 qtd.
  t_s604n-afatcx = qtd.

* convertendo para display
  qtd = t_vbap-kbmeng.
  uni1 = t_vbap-zieme. " unidade original
  uni2 = 'DP' .     " display
  PERFORM f_converter_unidade USING uni1 uni2 qtd.
  t_s604n-afatdp = qtd.
  t_s604n-afatkg = t_s604n-afatdp * puni.
  t_s604n-afatvl = t_s604n-afatdp * vluni.

ENDFORM.                        " f_afaturar

*&---------------------------------------------------------------------*
*&     Form f_backorder
*&---------------------------------------------------------------------*
FORM f_backorder.
 t_s604n-backcx = t_s604n-cartcx - t_s604n-afatcx .
 t_s604n-backdp = t_s604n-cartdp - t_s604n-afatdp.
 t_s604n-backkg = t_s604n-backdp * puni.
 IF t_s604n-backcx <> 0.
   t_s604n-backvl = t_s604n-cartvl - t_s604n-afatvl.
 ENDIF.

ENDFORM.                        " f_backorder

*&---------------------------------------------------------------------*
*&     Form f_ajustar_credito
*&---------------------------------------------------------------------*
FORM f_ajustar_credito.
 cred = ' '.
 IF t_vbuk-cmgst = 'B' OR t_vbuk-cmgst = 'C'.
   t_s604n-credkg = t_s604n-cartkg.
   t_s604n-credvl = t_s604n-cartvl.
   t_s604n-creddp = t_s604n-cartdp.
   t_s604n-credcx = t_s604n-cartcx.
   cred = 'X'.
 ENDIF.
ENDFORM.                       " f_ajustar_credito
*&---------------------------------------------------------------------*
*&     Form f_RECUSA


______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 45
SAP R/3
                                               GUIA DE IMPLEMENTAÇÃO
___________________________________________________________________________________________
*&---------------------------------------------------------------------*
FORM f_recusa.
 t_s604n-recskg = t_s604n-cartkg.
 t_s604n-recsvl = t_s604n-cartvl.
 t_s604n-recsdp = t_s604n-cartdp.
 t_s604n-recscx = t_s604n-cartcx.

ENDFORM.                       " f_RECUSA
*&---------------------------------------------------------------------*
*&     Form f_multipl_menos_hum
*&---------------------------------------------------------------------*
FORM f_multipl_menos_hum.
* Carteira
  t_s604n-cartcx = t_s604n-cartcx * ( - 1 ).
  t_s604n-cartdp = t_s604n-cartdp * ( - 1 ).
  t_s604n-cartkg = t_s604n-cartkg * ( - 1 ).
  t_s604n-cartvl = t_s604n-cartvl * ( - 1 ).

* Faturardo
  t_s604n-fatcx = t_s604n-fatcx * ( - 1 ).
  t_s604n-fatdp = t_s604n-fatdp * ( - 1 ).
  t_s604n-fatkg = t_s604n-fatkg * ( - 1 ).
  t_s604n-fatvl = t_s604n-fatvl * ( - 1 ).

* A faturar
  t_s604n-afatcx = t_s604n-afatcx * ( - 1 ).
  t_s604n-afatdp = t_s604n-afatdp * ( - 1 ).
  t_s604n-afatkg = t_s604n-afatkg * ( - 1 ).
  t_s604n-afatvl = t_s604n-afatvl * ( - 1 ).

* Back-order
  t_s604n-backcx = t_s604n-backcx * ( - 1 ).
  t_s604n-backdp = t_s604n-backdp * ( - 1 ).
  t_s604n-backkg = t_s604n-backkg * ( - 1 ).
  t_s604n-backvl = t_s604n-backvl * ( - 1 ).

* Credito
  t_s604n-credkg = t_s604n-credkg * ( - 1 ).
  t_s604n-credvl = t_s604n-credvl * ( - 1 ).
  t_s604n-creddp = t_s604n-creddp * ( - 1 ).
  t_s604n-credcx = t_s604n-credcx * ( - 1 ).

* Recusa
  t_s604n-recskg = t_s604n-recskg * ( - 1 ).
  t_s604n-recsvl = t_s604n-recsvl * ( - 1 ).
  t_s604n-recsdp = t_s604n-recsdp * ( - 1 ).
  t_s604n-recscx = t_s604n-recscx * ( - 1 ).

ENDFORM.                        " f_multipl_menos_hum




______________________________________________________________________________________________________
Versão: 1.0 - 19/08/09                                                                Pág. 46

Mais conteúdo relacionado

Mais procurados

Manual basis sap_r3
Manual basis sap_r3Manual basis sap_r3
Manual basis sap_r3Criszh90
 
Fiaa encerramento anual do ativo imobilizado
Fiaa   encerramento anual do ativo imobilizadoFiaa   encerramento anual do ativo imobilizado
Fiaa encerramento anual do ativo imobilizadoJuliana Lopes
 
Chapter 02 sap script forms
Chapter 02 sap script formsChapter 02 sap script forms
Chapter 02 sap script formsKranthi Kumar
 
127415270 workshop-taxbra
127415270 workshop-taxbra127415270 workshop-taxbra
127415270 workshop-taxbraSandra Jesus
 
Transporte de Request - Tutorial ABAP
Transporte de Request - Tutorial ABAPTransporte de Request - Tutorial ABAP
Transporte de Request - Tutorial ABAPRicardo Ishida
 
SAP Draft Solution for GST India
SAP Draft Solution for GST IndiaSAP Draft Solution for GST India
SAP Draft Solution for GST IndiaSandeep Mahindra
 
Customizando status do usuário para ordem de produção
Customizando status do usuário para ordem de produçãoCustomizando status do usuário para ordem de produção
Customizando status do usuário para ordem de produçãoEdson Domenech
 
201 ke59 criar centro de lucro dummy
201 ke59 criar centro de lucro dummy201 ke59 criar centro de lucro dummy
201 ke59 criar centro de lucro dummyCristiane Magalhães
 
Sap abap interview questions
Sap abap interview questionsSap abap interview questions
Sap abap interview questionskssr99
 
Implementação SAP S/4 HANA Finance
Implementação SAP S/4 HANA FinanceImplementação SAP S/4 HANA Finance
Implementação SAP S/4 HANA FinanceJose Nunes
 
Sap query creation and transport procedure in ecc6
Sap query creation and transport procedure in ecc6Sap query creation and transport procedure in ecc6
Sap query creation and transport procedure in ecc6bluechxi
 
Sap fi automatic payment program (configuration and run)
Sap fi   automatic payment program (configuration and run)Sap fi   automatic payment program (configuration and run)
Sap fi automatic payment program (configuration and run)Pradip Sarkar
 
Sap User Exit for Functional Consultant
Sap User Exit for Functional ConsultantSap User Exit for Functional Consultant
Sap User Exit for Functional ConsultantAnkit Sharma
 
Criando condição de frete - SAP
Criando condição de frete - SAPCriando condição de frete - SAP
Criando condição de frete - SAPAna Paula Vono
 

Mais procurados (20)

Manual basis sap_r3
Manual basis sap_r3Manual basis sap_r3
Manual basis sap_r3
 
Fiaa encerramento anual do ativo imobilizado
Fiaa   encerramento anual do ativo imobilizadoFiaa   encerramento anual do ativo imobilizado
Fiaa encerramento anual do ativo imobilizado
 
Cbt sd
Cbt sdCbt sd
Cbt sd
 
Chapter 02 sap script forms
Chapter 02 sap script formsChapter 02 sap script forms
Chapter 02 sap script forms
 
Linguagem ABAP
Linguagem ABAPLinguagem ABAP
Linguagem ABAP
 
New gl sonda
New gl   sondaNew gl   sonda
New gl sonda
 
127415270 workshop-taxbra
127415270 workshop-taxbra127415270 workshop-taxbra
127415270 workshop-taxbra
 
Academia ABAP
Academia  ABAPAcademia  ABAP
Academia ABAP
 
Transporte de Request - Tutorial ABAP
Transporte de Request - Tutorial ABAPTransporte de Request - Tutorial ABAP
Transporte de Request - Tutorial ABAP
 
SAP Draft Solution for GST India
SAP Draft Solution for GST IndiaSAP Draft Solution for GST India
SAP Draft Solution for GST India
 
Customizando status do usuário para ordem de produção
Customizando status do usuário para ordem de produçãoCustomizando status do usuário para ordem de produção
Customizando status do usuário para ordem de produção
 
201 ke59 criar centro de lucro dummy
201 ke59 criar centro de lucro dummy201 ke59 criar centro de lucro dummy
201 ke59 criar centro de lucro dummy
 
Sap abap interview questions
Sap abap interview questionsSap abap interview questions
Sap abap interview questions
 
Implementação SAP S/4 HANA Finance
Implementação SAP S/4 HANA FinanceImplementação SAP S/4 HANA Finance
Implementação SAP S/4 HANA Finance
 
Sap query creation and transport procedure in ecc6
Sap query creation and transport procedure in ecc6Sap query creation and transport procedure in ecc6
Sap query creation and transport procedure in ecc6
 
Session 14 validation_steps_sap
Session 14 validation_steps_sapSession 14 validation_steps_sap
Session 14 validation_steps_sap
 
Usgage of ABAP in BI
Usgage of ABAP in BIUsgage of ABAP in BI
Usgage of ABAP in BI
 
Sap fi automatic payment program (configuration and run)
Sap fi   automatic payment program (configuration and run)Sap fi   automatic payment program (configuration and run)
Sap fi automatic payment program (configuration and run)
 
Sap User Exit for Functional Consultant
Sap User Exit for Functional ConsultantSap User Exit for Functional Consultant
Sap User Exit for Functional Consultant
 
Criando condição de frete - SAP
Criando condição de frete - SAPCriando condição de frete - SAP
Criando condição de frete - SAP
 

Destaque

Mapa conceptual de la web 2
Mapa conceptual de la web 2Mapa conceptual de la web 2
Mapa conceptual de la web 2elkincrespo24
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Campus Party Brasil
 
Inyectiva, sobreinyectiva, biyectiva
Inyectiva, sobreinyectiva, biyectivaInyectiva, sobreinyectiva, biyectiva
Inyectiva, sobreinyectiva, biyectivaJohn Galindez
 
Programa Redes de Comunicação - Ens. Profissional
Programa Redes de Comunicação - Ens. ProfissionalPrograma Redes de Comunicação - Ens. Profissional
Programa Redes de Comunicação - Ens. ProfissionalFilipe Mendonça
 
Fatoração de polinômios
Fatoração de polinômiosFatoração de polinômios
Fatoração de polinômiosCintia Frontino
 
Portafolio de evaluacion
Portafolio de evaluacion  Portafolio de evaluacion
Portafolio de evaluacion Pablo Ruiz
 
Como Criar Banners Fácil e Rápido
Como Criar  Banners Fácil e Rápido Como Criar  Banners Fácil e Rápido
Como Criar Banners Fácil e Rápido Fran-Oliveira-LW
 
Ccj0023 wl-oo-apostila direito do consumidor - fabrício bolzan - 2010
Ccj0023 wl-oo-apostila direito do consumidor - fabrício bolzan - 2010Ccj0023 wl-oo-apostila direito do consumidor - fabrício bolzan - 2010
Ccj0023 wl-oo-apostila direito do consumidor - fabrício bolzan - 2010Esdras Arthur Lopes Pessoa
 
Guia coeducacion imujer
Guia coeducacion imujerGuia coeducacion imujer
Guia coeducacion imujerDacil Martin
 
2015: 6/8 - Seminario de Libertad Emocional - Práctica 2: Sanar relaciones
2015: 6/8 - Seminario de Libertad Emocional - Práctica 2: Sanar relaciones2015: 6/8 - Seminario de Libertad Emocional - Práctica 2: Sanar relaciones
2015: 6/8 - Seminario de Libertad Emocional - Práctica 2: Sanar relacionesLibertad Emocional
 
Introducción a las Ciencias Sociales 1º ESO
Introducción a las Ciencias Sociales 1º ESOIntroducción a las Ciencias Sociales 1º ESO
Introducción a las Ciencias Sociales 1º ESOprofeshispanica
 
Cuadro comparativo de historia de honduras
Cuadro comparativo de historia de hondurasCuadro comparativo de historia de honduras
Cuadro comparativo de historia de hondurasjerryortiz
 
DIREITO TRIBUTÁRIO OAB XX ESTRATÉGIA AULA 05
DIREITO TRIBUTÁRIO OAB XX ESTRATÉGIA AULA 05DIREITO TRIBUTÁRIO OAB XX ESTRATÉGIA AULA 05
DIREITO TRIBUTÁRIO OAB XX ESTRATÉGIA AULA 05Esdras Arthur Lopes Pessoa
 

Destaque (20)

VIVIR
VIVIRVIVIR
VIVIR
 
Mapa conceptual de la web 2
Mapa conceptual de la web 2Mapa conceptual de la web 2
Mapa conceptual de la web 2
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?
 
Inyectiva, sobreinyectiva, biyectiva
Inyectiva, sobreinyectiva, biyectivaInyectiva, sobreinyectiva, biyectiva
Inyectiva, sobreinyectiva, biyectiva
 
Coeducacion marta
Coeducacion martaCoeducacion marta
Coeducacion marta
 
Programa Redes de Comunicação - Ens. Profissional
Programa Redes de Comunicação - Ens. ProfissionalPrograma Redes de Comunicação - Ens. Profissional
Programa Redes de Comunicação - Ens. Profissional
 
UPA 20081
UPA 20081UPA 20081
UPA 20081
 
Climatología de Armilla ( 2011/2015)
Climatología de Armilla ( 2011/2015)Climatología de Armilla ( 2011/2015)
Climatología de Armilla ( 2011/2015)
 
Fatoração de polinômios
Fatoração de polinômiosFatoração de polinômios
Fatoração de polinômios
 
Portafolio de evaluacion
Portafolio de evaluacion  Portafolio de evaluacion
Portafolio de evaluacion
 
Circunferencia 2 4ºa
Circunferencia 2 4ºaCircunferencia 2 4ºa
Circunferencia 2 4ºa
 
Como Criar Banners Fácil e Rápido
Como Criar  Banners Fácil e Rápido Como Criar  Banners Fácil e Rápido
Como Criar Banners Fácil e Rápido
 
Ccj0023 wl-oo-apostila direito do consumidor - fabrício bolzan - 2010
Ccj0023 wl-oo-apostila direito do consumidor - fabrício bolzan - 2010Ccj0023 wl-oo-apostila direito do consumidor - fabrício bolzan - 2010
Ccj0023 wl-oo-apostila direito do consumidor - fabrício bolzan - 2010
 
Guia coeducacion imujer
Guia coeducacion imujerGuia coeducacion imujer
Guia coeducacion imujer
 
2015: 6/8 - Seminario de Libertad Emocional - Práctica 2: Sanar relaciones
2015: 6/8 - Seminario de Libertad Emocional - Práctica 2: Sanar relaciones2015: 6/8 - Seminario de Libertad Emocional - Práctica 2: Sanar relaciones
2015: 6/8 - Seminario de Libertad Emocional - Práctica 2: Sanar relaciones
 
Matematicas 3 unidad 5
Matematicas 3 unidad 5Matematicas 3 unidad 5
Matematicas 3 unidad 5
 
Introducción a las Ciencias Sociales 1º ESO
Introducción a las Ciencias Sociales 1º ESOIntroducción a las Ciencias Sociales 1º ESO
Introducción a las Ciencias Sociales 1º ESO
 
Cuadro comparativo de historia de honduras
Cuadro comparativo de historia de hondurasCuadro comparativo de historia de honduras
Cuadro comparativo de historia de honduras
 
AULA 06 OAB XX PROCESSO CIVIL ESTRATÉGIA
AULA 06 OAB XX PROCESSO CIVIL ESTRATÉGIAAULA 06 OAB XX PROCESSO CIVIL ESTRATÉGIA
AULA 06 OAB XX PROCESSO CIVIL ESTRATÉGIA
 
DIREITO TRIBUTÁRIO OAB XX ESTRATÉGIA AULA 05
DIREITO TRIBUTÁRIO OAB XX ESTRATÉGIA AULA 05DIREITO TRIBUTÁRIO OAB XX ESTRATÉGIA AULA 05
DIREITO TRIBUTÁRIO OAB XX ESTRATÉGIA AULA 05
 

Semelhante a SAP Inside Track Sao Paulo 09 - Output Message

Manual instalacao componentes_v2
Manual instalacao componentes_v2Manual instalacao componentes_v2
Manual instalacao componentes_v2Altair Mendes
 
Pedido cessao de uso 2011
Pedido cessao de uso 2011 Pedido cessao de uso 2011
Pedido cessao de uso 2011 Ronan Vieira
 
Apostilade vb.net
Apostilade vb.netApostilade vb.net
Apostilade vb.netRafael Ora
 
Apostila de vb.net
Apostila de vb.netApostila de vb.net
Apostila de vb.netlricx
 
Instrumentacao basica i pressao e nivel - senai
Instrumentacao basica i   pressao e nivel - senaiInstrumentacao basica i   pressao e nivel - senai
Instrumentacao basica i pressao e nivel - senaiAline Batista
 
Instrumentacao basica i_-_pressao_e_nivel_-_senai[1]
Instrumentacao basica i_-_pressao_e_nivel_-_senai[1]Instrumentacao basica i_-_pressao_e_nivel_-_senai[1]
Instrumentacao basica i_-_pressao_e_nivel_-_senai[1]Daniel Quintas
 
Instrumentação Básica
Instrumentação BásicaInstrumentação Básica
Instrumentação Básicaluizclaudio_eng
 
Instrumentacaobasica1 pdf
Instrumentacaobasica1 pdfInstrumentacaobasica1 pdf
Instrumentacaobasica1 pdfIsaque Elias
 
Training networking-tcpip
Training networking-tcpipTraining networking-tcpip
Training networking-tcpipHélio Silva
 
Denny daniel collina apostila de sitemas microprocessados
Denny daniel collina   apostila de sitemas microprocessadosDenny daniel collina   apostila de sitemas microprocessados
Denny daniel collina apostila de sitemas microprocessadosLorena Barreto
 
20090916 manual redacao_oficial
20090916 manual redacao_oficial20090916 manual redacao_oficial
20090916 manual redacao_oficialestrelakaio123
 
Treinamento co fm controladoria e orçamento carga horária- 12h instrutora- ki...
Treinamento co fm controladoria e orçamento carga horária- 12h instrutora- ki...Treinamento co fm controladoria e orçamento carga horária- 12h instrutora- ki...
Treinamento co fm controladoria e orçamento carga horária- 12h instrutora- ki...Marcelo Pires Batalha
 
Ap curso+de+linguagem+c
Ap   curso+de+linguagem+cAp   curso+de+linguagem+c
Ap curso+de+linguagem+cariferreira3
 

Semelhante a SAP Inside Track Sao Paulo 09 - Output Message (20)

Crystal rep
Crystal repCrystal rep
Crystal rep
 
Manual instalacao componentes_v2
Manual instalacao componentes_v2Manual instalacao componentes_v2
Manual instalacao componentes_v2
 
Manual GAD 1.0.0.88
Manual  GAD 1.0.0.88Manual  GAD 1.0.0.88
Manual GAD 1.0.0.88
 
Pedido cessao de uso 2011
Pedido cessao de uso 2011 Pedido cessao de uso 2011
Pedido cessao de uso 2011
 
Checkli st ppra (2)
Checkli st ppra (2)Checkli st ppra (2)
Checkli st ppra (2)
 
Apostilade vb.net
Apostilade vb.netApostilade vb.net
Apostilade vb.net
 
Apostila de vb.net
Apostila de vb.netApostila de vb.net
Apostila de vb.net
 
Curso de programação de PLC Omron
Curso de programação de PLC OmronCurso de programação de PLC Omron
Curso de programação de PLC Omron
 
Instrumentacao basica i pressao e nivel - senai
Instrumentacao basica i   pressao e nivel - senaiInstrumentacao basica i   pressao e nivel - senai
Instrumentacao basica i pressao e nivel - senai
 
Instrumentacao basica i_-_pressao_e_nivel_-_senai[1]
Instrumentacao basica i_-_pressao_e_nivel_-_senai[1]Instrumentacao basica i_-_pressao_e_nivel_-_senai[1]
Instrumentacao basica i_-_pressao_e_nivel_-_senai[1]
 
Instrumentação Básica
Instrumentação BásicaInstrumentação Básica
Instrumentação Básica
 
Instrumentacaobasica1 pdf
Instrumentacaobasica1 pdfInstrumentacaobasica1 pdf
Instrumentacaobasica1 pdf
 
SUZ-POP-00001.pdf
SUZ-POP-00001.pdfSUZ-POP-00001.pdf
SUZ-POP-00001.pdf
 
Training networking-tcpip
Training networking-tcpipTraining networking-tcpip
Training networking-tcpip
 
Denny daniel collina apostila de sitemas microprocessados
Denny daniel collina   apostila de sitemas microprocessadosDenny daniel collina   apostila de sitemas microprocessados
Denny daniel collina apostila de sitemas microprocessados
 
20090916 manual redacao_oficial
20090916 manual redacao_oficial20090916 manual redacao_oficial
20090916 manual redacao_oficial
 
Treinamento co fm controladoria e orçamento carga horária- 12h instrutora- ki...
Treinamento co fm controladoria e orçamento carga horária- 12h instrutora- ki...Treinamento co fm controladoria e orçamento carga horária- 12h instrutora- ki...
Treinamento co fm controladoria e orçamento carga horária- 12h instrutora- ki...
 
Lingc
LingcLingc
Lingc
 
Ap curso+de+linguagem+c
Ap   curso+de+linguagem+cAp   curso+de+linguagem+c
Ap curso+de+linguagem+c
 
Ficha1
Ficha1Ficha1
Ficha1
 

Mais de Marcelo Ramos

Sap Inside Track Sao Paulo 2010 - keynote
Sap Inside Track Sao Paulo 2010 - keynote Sap Inside Track Sao Paulo 2010 - keynote
Sap Inside Track Sao Paulo 2010 - keynote Marcelo Ramos
 
Sap Inside Track Sao Paulo 2010 - SAP Business Objects
Sap Inside Track Sao Paulo 2010 - SAP Business ObjectsSap Inside Track Sao Paulo 2010 - SAP Business Objects
Sap Inside Track Sao Paulo 2010 - SAP Business ObjectsMarcelo Ramos
 
SAP Inside Track Sao Paulo 09 Enterprise Architecture
SAP Inside Track Sao Paulo 09 Enterprise ArchitectureSAP Inside Track Sao Paulo 09 Enterprise Architecture
SAP Inside Track Sao Paulo 09 Enterprise ArchitectureMarcelo Ramos
 
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosSap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosMarcelo Ramos
 
SAP Inside Track Sao Paulo '09 - ABAP Objects Overview
SAP Inside Track Sao Paulo '09 - ABAP Objects OverviewSAP Inside Track Sao Paulo '09 - ABAP Objects Overview
SAP Inside Track Sao Paulo '09 - ABAP Objects OverviewMarcelo Ramos
 
SAP Inside Track Sao Paulo '09 Keynote
SAP Inside Track Sao Paulo '09 KeynoteSAP Inside Track Sao Paulo '09 Keynote
SAP Inside Track Sao Paulo '09 KeynoteMarcelo Ramos
 

Mais de Marcelo Ramos (6)

Sap Inside Track Sao Paulo 2010 - keynote
Sap Inside Track Sao Paulo 2010 - keynote Sap Inside Track Sao Paulo 2010 - keynote
Sap Inside Track Sao Paulo 2010 - keynote
 
Sap Inside Track Sao Paulo 2010 - SAP Business Objects
Sap Inside Track Sao Paulo 2010 - SAP Business ObjectsSap Inside Track Sao Paulo 2010 - SAP Business Objects
Sap Inside Track Sao Paulo 2010 - SAP Business Objects
 
SAP Inside Track Sao Paulo 09 Enterprise Architecture
SAP Inside Track Sao Paulo 09 Enterprise ArchitectureSAP Inside Track Sao Paulo 09 Enterprise Architecture
SAP Inside Track Sao Paulo 09 Enterprise Architecture
 
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosSap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
 
SAP Inside Track Sao Paulo '09 - ABAP Objects Overview
SAP Inside Track Sao Paulo '09 - ABAP Objects OverviewSAP Inside Track Sao Paulo '09 - ABAP Objects Overview
SAP Inside Track Sao Paulo '09 - ABAP Objects Overview
 
SAP Inside Track Sao Paulo '09 Keynote
SAP Inside Track Sao Paulo '09 KeynoteSAP Inside Track Sao Paulo '09 Keynote
SAP Inside Track Sao Paulo '09 Keynote
 

SAP Inside Track Sao Paulo 09 - Output Message

  • 1. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Output Message – Exemplo de Processo e parametrizações na Confirmação da ordem de Vendas Transação: IMG Aplicação ( Processo ) Atualizar tipos de mensagem Definir, nesta entrada de menu, as condições de mensagens para registros de condições de mensagens. A condição de mensagens forma diferentes mensagens no sistema SAP, como por exemplo, cotação, confirmações de ordens e notas de remessa. Para definir uma condição de mensagem, o usuário terá de efetuar as seguintes entradas: • Tipo de condição Chave alfanumérica com até 4 carcaterers que identifique uma condição de mensagem univocamente • Sequência de acesso Chave de sequência de acesso • Denominação Texto para a descrição da condição de mensagens • Dados de detalhe (apenas os dados de detalhe mais importantes serão elucidados) o Meio de transmissão Chave alfanumérica com um caractere que determina o tipo de processamento de mensagem (por exemplo, saída de impressão, transmissão por fax ou mail) o Momento Chave alfanumérica com um caractere que determina o momento do processamento de mensagem (por exemplo, imediatamente ao gravar um documento ou com o processo de seleção seguinte) o Função do parceiro Função do parceiro para a definição do recebedor de uma mensagem no documento de vendas o Acesso de condições Código com o qual se determina que a proposta de mensagem para esta mensagem deverá ser efetuada através da técnica de condição. Caso o usuário não defina o código, esta mensagem poderá ser localizada através da proposta proveniente do registro mestre de clientes. Para isto, o usuário terá de ter efetuado as opções correspondentes para a determinação de mensagens proveniente do registro mestre de clientes. o Parâmetros de impressão Chave alfanumérica com um caractere que define os requisitos que serão a base para a determinação dos parâmetros de impressão (ver Seção "Definir parâmetros de impressão"). o Modo de arquivamento Este campo controla se um documento será apenas impresso, apenas arquivado ou tanto impresso como arquivado. Menu : Vendas e distribuição > Funções básicas> Controle de Mensagens > Determinação de mensagens > Determinação de mensagem via técnica de condições>Atualizar determinação de mensagens para docs. vendas> atualizar tipos de mensagem ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 1
  • 2. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Foi criado um controle de cópia para cotação como ZA00 ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 2
  • 3. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 3
  • 4. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 4
  • 5. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 5
  • 6. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 6
  • 7. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 7
  • 8. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 8
  • 9. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 9
  • 10. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 10
  • 11. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 11
  • 12. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Aqui associo os tipos de ordem com os controles de mensagem criado. Necessário entrar na transação VV11 ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 12
  • 13. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 13
  • 14. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 14
  • 15. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 15
  • 16. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Output Message – Exemplo de Processo e parametrizações no faturamento Transação: NACE Aplicação ( Processo ) Escolher o processo, Ordem , Remessa, transporte, Fatura ou NF. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 16
  • 17. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Output Message – Tipo de Mensagem Transação: NACE Esquema de Mensagem O tipo de mensagem define o programa que deve ser executado. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 17
  • 18. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Output Message – Seqüência de Acesso Transação: NACE Seqüência de Acesso Definir a seqüência de acesso conforme a necessidade do Cliente. A seqüência de acesso é definida no tipo de mensagem. Na seqüência de acesso é possível incluir um requisito, onde a mensagem só é executada, se o retorno do requisito for positivo. Ou seja, em que condição esta mensagem deve ser executada. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 18
  • 19. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Output Message – Esquema de Mensagem Transação: NACE Tipo de Mensagem Incluir o tipo de mensagem no Esquema de mensagem No esquema de mensagem também é possível incluir um requisito, onde a mensagem só é executada, se o retorno do requisito for positivo. Ou seja, em que condição esta mensagem deve ser executada. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 19
  • 20. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Output Message – Registro de Condição Transação: VV31 Tipo de Mensagem ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 20
  • 21. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ O meio e a Hora em que o processo deve ser executado é muito importante e é indicado Na condition record. Neste caso foi utilizado o tipo de documento como chave para executar a mensagem, mas poderia ser qualquer informação disponível no SAP. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 21
  • 22. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Exemplo de Programa e Explicações Transação: Se38 Menu Sap: A rotina marcada em Vermelho é o segredo, para atualizar o Status da mensagem no documento de vendas que fez o start da operação ( Tabela NAST). O laureano da Complex é o programador ABAP que fez este programa. Ele é o CARA.......... REPORT ZPrograma LINE-COUNT 100 MESSAGE-ID ZMensagem. TABLES: Ztabela, vbrk, vbrp. INCLUDE rvadtabl. DATA: ls_bkpf TYPE bkpf, ls_vbrk TYPE vbrk, retcode LIKE sy-subrc, "Returncode xscreen(1) TYPE c. "Output on printer or screen *&---------------------------------------------------------------------* *& Form ENTRY *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM entry USING return_code us_screen. CLEAR retcode. xscreen = us_screen. PERFORM ler_tabela. ( Rotina de Processamento ) CASE retcode. WHEN 0. return_code = 0. WHEN 3. return_code = 3. WHEN OTHERS. return_code = 1. ENDCASE. ENDFORM. " ENTRY *&---------------------------------------------------------------------* *& Form ler_tabela *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 22
  • 23. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM ler_tabela. SELECT SINGLE * FROM vbrk WHERE vbeln = nast-objky. IF sy-subrc IS INITIAL. SELECT SINGLE * FROM vbrp WHERE vbeln = vbrk-vbeln. IF sy-subrc IS INITIAL AND NOT vbrp-codigo_ac IS INITIAL. SELECT SINGLE * FROM Ztabela WHERE codigo_ac = vbrp-codigo_ac AND matnr = vbrp-matnr AND tipomov = 'S'. IF sy-subrc NE 0. Ztabela-codigo_ac = vbrp-codigo_ac. Ztabela-matnr = vbrp-matnr. Ztabela-tipomov = 'S'. Ztabela-menge = vbrp-fkimg. INSERT Ztabela. COMMIT WORK. ENDIF. ENDIF. ENDIF. ENDFORM. " ler_tabela ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 23
  • 24. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Debugando Programas de Output Message – Exemplo Faturamento de SD Transação: VV31 – Criar Menu Sap: Logistica>Vendas e Distribuição>Dados VV32 – Modificar Mestres>Mensagens>Documento de Faturamento VV33 - Exibir Resumo do Processo Criação / Modificação / Consulta de Record Condition de output Message Dicas Ao Criar sua record condition, escolher a opção 1 - Enviar através de jobs escalonados periodicamente. Esta opção faz com que o Output message não seja executado imediatamente após a gravação da aplicação, Necessitando da execução de um JOB para para definir o momento do envio. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 24
  • 25. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Debugando Programas de Output Message – Exemplo Faturamento de SD Transação: VF01 – Criar Menu Sap: Logistica>Vendas e Distribuição>Faturamento>Documento de VF02 – Modificar Faturamento VF03 - Exibir Digitar o numero da fatura para modificação e Dar Enter... ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 25
  • 26. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Clicar no Icone ( Lupa ) para ir para o Cabeçalho do documento faturamento Já na pasta Cabeçalho, clicar em Mensagens: Na Primeira Tela vc tb pode ir por este caminho para chegar na mensagem... Resumo do Processo Na Criação ou Modificação de um Documento de faturamento, é possivel Gravar uma output Message com as suas opções. Dicas Neste caso, se vc tem uma record condition para a sua Output Messagem, a mesma pode ser modificada para a sua necessidade. Debugando Programas de Output Message – Exemplo Faturamento de SD ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 26
  • 27. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Transação: VF01 – Criar Menu Sap: Logistica>Vendas e Distribuição>Faturamento>Documento de VF02 – Modificar Faturamento VF03 - Exibir Marcar a sua mensagem e Clicar em dados complementares para abrir a proxima tela: Alterar a opção de momento do envio para 1 Enviar através de jobs escalonados periodicamente. Resumo do Processo Modificar a sua Output Message, segundo as suas necessidades Dicas Debugando Programas de Output Message – Exemplo Faturamento de SD ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 27
  • 28. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Transação: VF01 – Criar Menu Sap: Logistica>Vendas e Distribuição>Faturamento>Documento de VF02 – Modificar Faturamento VF03 - Exibir Resumo do Processo Gravar a fatura para gerar a sua Output Message, segundo as suas necessidades Dicas ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 28
  • 29. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Debugando Programas de Output Message – Exemplo Faturamento de SD Transação: Nace Verificando o programa que a Output Message Executa... Marcar a Output e clicar em tipo de mensagem... ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 29
  • 30. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Marcar o tipo de mensagem e clicar na pasta Rotina de processamento no SAP Neste caso o programa é o RVADIN01... Resumo do Processo Gravar a fatura para gerar a sua Output Message, segundo as suas necessidades Dicas ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 30
  • 31. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Debugando Programas de Output Message – Exemplo Faturamento de SD Transação: SE38 Menu Sap: Ferramentas > ABAP Workbench > Desenvolvimento > Editor ABAP Chamar o programa a ser debugado e colocar nele um Break-Point: Neste exemplo vamos colocar um break-point no programa RVADIN01, Standard do tipo de output message RD00. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 31
  • 32. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Digitar o codigo do programa e clicar no icone exibir. Posicionar na linha desejada e clicar no icone STOP. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 32
  • 33. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Esta opção acima, tb funciona. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 33
  • 34. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Feito o Break-point o linha fica marcada.... Resumo do Processo Bem existem varias literaturas sobre break-point, como colocar como tirar....secão, servidor, usuário...ETC.... Dicas OBS: Para retirar o breack-point basta repetir a operação no mesmo ponto ou utilizar a opção de eliminar pontos de parada via utilitarios da se38....em relação a Break-Point fui....Deus te ajude e até a próxima..... Continuando......... o Debugging.... ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 34
  • 35. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Debugando Programas de Output Message – Exemplo Faturamento de SD Transação: SE38 Menu Sap: Ferramentas > ABAP Workbench > Desenvolvimento > Editor ABAP Resumo do Processo Executar o programa RSNAST00 Dicas ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 35
  • 36. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Debugando Programas de Output Message – Exemplo Faturamento de SD Transação: SE38 Menu Sap: Ferramentas > ABAP Workbench > Desenvolvimento > Editor ABAP Resumo do Processo Aplicacação de mensagem = V3 ( Fatura ) Chave de objeto = O numero da sua fatura Tipo de mensagem = RD00 Ao executar o programa o debug entra no ponto em que o break-point foi definido.... Dicas Na tela abaixo o inicio do debug........ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 36
  • 37. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 37
  • 38. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ Programa Exemplo: REPORT zsavo_acumulado_vendas LINE-SIZE 200 NO STANDARD PAGE HEADING. ************************************************************************ *** Programa: ZSAVO_ACUMULADO_VENDAS *** *** Descrição: Relatorio Acumulado Vendas *** *** Autor: jhrezende Data : 17/05/2007 *** ************************************************************************ *** Description: *** *** *** ************************************************************************ *** Tabelas Utilizadas: *** *** vbak - Documento de vendas: dados de cabeçalho *** *** vbap - Documento de vendas: dados de item *** *** vbrp - Documento de faturamento: dados de item *** *** vbfa - Fluxo de documentos de vendas e distribuição (VD) *** ************************************************************************ *** Funções Utilizadas: *** *** *** *** Includes *** *** *** *** Transação *** *** *** *** *** *** Parâmetros de Entrada: *** *** p_VBELN - Documento de venda *** *** *** *** Histórico de Alterações: *** ************************************************************************ *** Data | Change # | Autor | Alteração *** *** 17.05.2007| SD1K9A05KY | Jhrezende | Desenv. Inicial *** ************************************************************************ * OBS: NÃO UTILIZAR: DISPLAY DE MENSAGENS, STOP, BREAK-POINT, * COMMIT_WORK * Sempre que for necessitar que mostre uma msg utilize a fução * CALL FUNCTION 'NAST_PROTOCOL_UPDATE' ************************************************************************ *** Tabelas do dicionário de dados ************************************************************************ *TABLES: tvagt, dd07t. DATA: qtd LIKE ekpo-menge, puni(16) TYPE p DECIMALS 10, vluni(16) TYPE p DECIMALS 10, uni1(3) TYPE c, uni2(3) TYPE c, vbeln LIKE vbak-vbeln, cred(1) TYPE c, xscreen(1) TYPE c. "Output on printer or screen ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 38
  • 39. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ *CONSTANTS: c_cmgst(5) TYPE c VALUE 'CMGST', * c_a(1) TYPE c VALUE 'A'. * Definição das tabelas internas globais ******************************* DATA: * Dados de Ordem de Venda Cabec t_vbak TYPE vbak OCCURS 0 WITH HEADER LINE, * Dados de Ordem de Venda Item t_vbap TYPE vbap OCCURS 0 WITH HEADER LINE, t_s604n TYPE s604 OCCURS 0 WITH HEADER LINE, *Documento VD: status de cabeçalho e dados administrativos t_vbuk TYPE vbuk OCCURS 0 WITH HEADER LINE, * Fluxo de documentos de vendas e distribuição (VD) t_vbfa TYPE vbfa OCCURS 0 WITH HEADER LINE, * Documento de faturamento: dados de cabeçalho t_vbrk TYPE vbrk OCCURS 0 WITH HEADER LINE, * Documento de faturamento: dados de item t_vbrp TYPE vbrp OCCURS 0 WITH HEADER LINE. * INCLUDE rvadtabl. "obrigatorio DATA: retcode LIKE sy-subrc. "Returncode "obrigatorio *---------------------------------------------------------------------* * FORM entry * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* * --> RETURN_CODE * * --> US_SCREEN * *---------------------------------------------------------------------* FORM entry USING return_code us_screen. "#EC CALLED * Quando o programa for acionado já vem algumas informações da NAST, * se houver necessidade de mais informações dessa tabela é só fazer * uma leitura da mesma *-------------------------------------------------------------------- CLEAR retcode. IF nast-kappl = 'V3'. vbeln = nast-objky. PERFORM f_ler_documento_venda_0. LOOP AT t_vbrp. vbeln = t_vbrp-aubel. PERFORM get_data. IF retcode NE 0. return_code = 1. ELSE. return_code = 0. ENDIF. ENDLOOP. ELSEIF nast-kappl = 'V1'. vbeln = nast-objky. PERFORM get_data. IF retcode NE 0. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 39
  • 40. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ return_code = 1. ELSE. return_code = 0. ENDIF. ENDIF. ENDFORM. *---------------------------------------------------------------------* * FORM PROTOCOL_UPDATE "obrigatorio * *---------------------------------------------------------------------* * The messages are collected for the processing protocol. * *---------------------------------------------------------------------* FORM protocol_update. * sempre que necessitar mostrar mensagens deve ser utilizada essa * função CHECK xscreen = space. CALL FUNCTION 'NAST_PROTOCOL_UPDATE' EXPORTING msg_arbgb = syst-msgid msg_nr = syst-msgno msg_ty = syst-msgty msg_v1 = syst-msgv1 msg_v2 = syst-msgv2 msg_v3 = syst-msgv3 msg_v4 = syst-msgv4 EXCEPTIONS OTHERS = 1. IF sy-subrc <> 0. * NÃO COLOCAR WRITE DE MSG. * utilizar CALL FUNCTION 'NAST_PROTOCOL_UPDATE' ENDIF. ENDFORM. *---------------------------------------------------------------------* * FORM GET_DATA * *---------------------------------------------------------------------* FORM get_data. * essa parte é livre não tem nada de diferente CLEAR: t_s604n. REFRESH: t_s604n. PERFORM f_ler_documento_venda. PERFORM f_montar_s604_nova. PERFORM f_deletar_s604_velha. PERFORM f_gravar_s604_nova. ENDFORM. *&---------------------------------------------------------------------* *& Form f_ler_documento_venda *&---------------------------------------------------------------------* FORM f_ler_documento_venda_0. * Seleção dos dados VBRP Documento de faturamento: dados de item SELECT * FROM vbrp INTO TABLE t_vbrp WHERE vbeln = vbeln. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 40
  • 41. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ SORT t_vbrp BY aubel. DELETE ADJACENT DUPLICATES FROM t_vbrp COMPARING aubel. ENDFORM. " f_ler_documento_venda_0 *&---------------------------------------------------------------------* *& Form f_ler_documento_venda *&---------------------------------------------------------------------* FORM f_ler_documento_venda. * Seleção dos dados VBAK (Venda) SELECT * FROM vbak INTO TABLE t_vbak WHERE vbeln = vbeln. IF NOT t_vbak[] IS INITIAL. * Seleção dos dados VBAP (Carteira) SELECT * FROM vbap INTO TABLE t_vbap FOR ALL ENTRIES IN t_vbak WHERE vbeln = t_vbak-vbeln. * Documento VD: status de cabeçalho e dados administrativos SELECT * FROM vbuk INTO TABLE t_vbuk FOR ALL ENTRIES IN t_vbak WHERE vbeln = t_vbak-vbeln. * Fluxo de documentos de vendas e distribuição (VD) SELECT * FROM vbfa INTO TABLE t_vbfa FOR ALL ENTRIES IN t_vbak WHERE vbelv = t_vbak-vbeln AND vbtyp_n = 'M'. IF NOT t_vbfa[] IS INITIAL. *Documento de faturamento: dados de cabeçalho SELECT * FROM vbrk INTO TABLE t_vbrk FOR ALL ENTRIES IN t_vbfa WHERE vbeln = t_vbfa-vbeln AND fksto = ' '. IF NOT t_vbrk[] IS INITIAL. * Fluxo de documentos de vendas e distribuição (VD) SELECT * FROM vbfa INTO TABLE t_vbfa FOR ALL ENTRIES IN t_vbrk WHERE vbeln = t_vbrk-vbeln AND vbelv = vbeln AND vbtyp_n = 'M'. SORT t_vbfa BY posnv. ELSE. REFRESH: t_vbfa[]. ENDIF. ENDIF. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 41
  • 42. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ENDIF. ENDFORM. " f_ler_documento_venda *&---------------------------------------------------------------------* *& Form f_montar_s604_nova *&---------------------------------------------------------------------* FORM f_montar_s604_nova. CLEAR: t_vbak,t_vbuk. READ TABLE t_vbak WITH KEY vbeln = vbeln. * READ TABLE t_tvko INDEX 1. READ TABLE t_vbuk INDEX 1. LOOP AT t_vbap. MOVE-CORRESPONDING t_vbap TO t_s604n. t_s604n-vrsio = '000'. " sempre 000 t_s604n-spmon = t_vbak-erdat. " ano e mes t_s604n-erdat = t_vbak-erdat. " ano/mes/dia t_s604n-bukrs = t_vbak-kkber. " empresa t_s604n-auart = t_vbak-auart. " Tipo de documento de venda t_s604n-vkbur = t_vbak-vkbur. " Escritorio de vendas t_s604n-kunnr = t_vbak-knkli. " Emissor da ordem t_s604n-vtweg = t_vbak-vtweg. " canal Distribuição t_s604n-stwae = t_vbak-waerk. " Moeda t_s604n-gewei = ' '. " Unidade de peso t_s604n-basme = ' '. "t_vbap-meins. " Unidade medida basica * Carteira PERFORM f_carteira. * Recusa IF t_vbap-abgru <> ' ' . PERFORM f_recusa. ELSE. * ajustar credito - é só ele PERFORM f_ajustar_credito. IF cred = ' '. * Ajustar faturado PERFORM f_faturado. * Ajustar a faturar PERFORM f_afaturar. * backorder = carteira - a faturar PERFORM f_backorder. ENDIF. ENDIF. * ---------------------------------------------------- IF t_vbak-vbtyp = 'H'. PERFORM f_multipl_menos_hum. ENDIF. APPEND t_s604n. CLEAR: t_s604n, t_vbap, cred. ENDLOOP. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 42
  • 43. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ENDFORM. " f_montar_s604_nova *&---------------------------------------------------------------------* *& Form f_deletar_s604_velha *&---------------------------------------------------------------------* FORM f_deletar_s604_velha. DELETE FROM s604 WHERE vbeln = vbeln. ENDFORM. " f_deletar_s604_velha *&---------------------------------------------------------------------* *& Form f_gravar_s604_nova *&---------------------------------------------------------------------* FORM f_gravar_s604_nova. IF retcode = 0. LOOP AT t_s604n. INSERT INTO s604 VALUES t_s604n. ENDLOOP. ENDIF. ENDFORM. " f_gravar_s604_nova *&---------------------------------------------------------------------* *& Form f_converter_unidade *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_UNI1 text * -->P_UNI2 text * -->P_QTD text *----------------------------------------------------------------------* FORM f_converter_unidade USING p_uni1 p_uni2 p_qtd. CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT' EXPORTING i_matnr = t_vbap-matnr i_in_me = p_uni1 i_out_me = p_uni2 i_menge = p_qtd IMPORTING e_menge = qtd EXCEPTIONS error_in_application = 1 error =2 OTHERS = 3. IF sy-subrc <> 0. * retcode = sy-subrc. PERFORM protocol_update. ENDIF. ENDFORM. " f_converter_unidade *&---------------------------------------------------------------------* *& Form f_carteira *&---------------------------------------------------------------------* FORM f_carteira. IF t_vbap-kwmeng = 0. t_vbap-kwmeng = t_vbap-zmeng. ENDIF. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 43
  • 44. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ t_s604n-cartkg = t_vbap-brgew. " carteira kg t_s604n-cartvl = t_vbap-netwr. " Valor carteira * ajustar campos carteira dp e carteira cx qtd = t_vbap-kwmeng. uni1 = t_vbap-meins. " unidade original uni2 = 'DP' . PERFORM f_converter_unidade USING uni1 uni2 qtd. t_s604n-cartdp = qtd. IF t_s604n-cartdp <> 0. * Peso unitário menor unidade existente que é o display puni = t_s604n-cartkg / t_s604n-cartdp. vluni = t_s604n-cartvl / t_s604n-cartdp. ELSE. MESSAGE i368(00) WITH t_vbak-vbeln. puni = 1. vluni = 1. ENDIF. qtd = t_vbap-kwmeng. uni1 = t_vbap-meins. " unidade original uni2 = 'KI' . " caixa PERFORM f_converter_unidade USING uni1 uni2 qtd. t_s604n-cartcx = qtd. ENDFORM. " f_carteira *&---------------------------------------------------------------------* *& Form f_faturado *&---------------------------------------------------------------------* FORM f_faturado. READ TABLE t_vbfa WITH KEY posnv = t_vbap-posnr BINARY SEARCH. IF sy-subrc = 0. * convertendo para caixa qtd = t_vbfa-rfmng_flo. uni1 = t_vbfa-vrkme. " unidade original uni2 = 'KI' . " caixa PERFORM f_converter_unidade USING uni1 uni2 qtd. t_s604n-fatcx = qtd. * convertendo para display qtd = t_vbfa-rfmng_flo. uni1 = t_vbfa-vrkme. " unidade original uni2 = 'DP' . " display PERFORM f_converter_unidade USING uni1 uni2 qtd. t_s604n-fatdp = qtd. t_s604n-fatkg = t_s604n-fatdp * puni. * mult pelo peso bruto do item t_s604n-fatvl = t_s604n-fatdp * vluni. ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 44
  • 45. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ ENDIF. ENDFORM. " f_faturado *&---------------------------------------------------------------------* *& Form f_afaturar *&---------------------------------------------------------------------* FORM f_afaturar. * convertendo para caixa uni1 = t_vbap-zieme. " unidade original qtd = t_vbap-kbmeng. uni2 = 'KI' . " caixa PERFORM f_converter_unidade USING uni1 uni2 qtd. t_s604n-afatcx = qtd. * convertendo para display qtd = t_vbap-kbmeng. uni1 = t_vbap-zieme. " unidade original uni2 = 'DP' . " display PERFORM f_converter_unidade USING uni1 uni2 qtd. t_s604n-afatdp = qtd. t_s604n-afatkg = t_s604n-afatdp * puni. t_s604n-afatvl = t_s604n-afatdp * vluni. ENDFORM. " f_afaturar *&---------------------------------------------------------------------* *& Form f_backorder *&---------------------------------------------------------------------* FORM f_backorder. t_s604n-backcx = t_s604n-cartcx - t_s604n-afatcx . t_s604n-backdp = t_s604n-cartdp - t_s604n-afatdp. t_s604n-backkg = t_s604n-backdp * puni. IF t_s604n-backcx <> 0. t_s604n-backvl = t_s604n-cartvl - t_s604n-afatvl. ENDIF. ENDFORM. " f_backorder *&---------------------------------------------------------------------* *& Form f_ajustar_credito *&---------------------------------------------------------------------* FORM f_ajustar_credito. cred = ' '. IF t_vbuk-cmgst = 'B' OR t_vbuk-cmgst = 'C'. t_s604n-credkg = t_s604n-cartkg. t_s604n-credvl = t_s604n-cartvl. t_s604n-creddp = t_s604n-cartdp. t_s604n-credcx = t_s604n-cartcx. cred = 'X'. ENDIF. ENDFORM. " f_ajustar_credito *&---------------------------------------------------------------------* *& Form f_RECUSA ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 45
  • 46. SAP R/3 GUIA DE IMPLEMENTAÇÃO ___________________________________________________________________________________________ *&---------------------------------------------------------------------* FORM f_recusa. t_s604n-recskg = t_s604n-cartkg. t_s604n-recsvl = t_s604n-cartvl. t_s604n-recsdp = t_s604n-cartdp. t_s604n-recscx = t_s604n-cartcx. ENDFORM. " f_RECUSA *&---------------------------------------------------------------------* *& Form f_multipl_menos_hum *&---------------------------------------------------------------------* FORM f_multipl_menos_hum. * Carteira t_s604n-cartcx = t_s604n-cartcx * ( - 1 ). t_s604n-cartdp = t_s604n-cartdp * ( - 1 ). t_s604n-cartkg = t_s604n-cartkg * ( - 1 ). t_s604n-cartvl = t_s604n-cartvl * ( - 1 ). * Faturardo t_s604n-fatcx = t_s604n-fatcx * ( - 1 ). t_s604n-fatdp = t_s604n-fatdp * ( - 1 ). t_s604n-fatkg = t_s604n-fatkg * ( - 1 ). t_s604n-fatvl = t_s604n-fatvl * ( - 1 ). * A faturar t_s604n-afatcx = t_s604n-afatcx * ( - 1 ). t_s604n-afatdp = t_s604n-afatdp * ( - 1 ). t_s604n-afatkg = t_s604n-afatkg * ( - 1 ). t_s604n-afatvl = t_s604n-afatvl * ( - 1 ). * Back-order t_s604n-backcx = t_s604n-backcx * ( - 1 ). t_s604n-backdp = t_s604n-backdp * ( - 1 ). t_s604n-backkg = t_s604n-backkg * ( - 1 ). t_s604n-backvl = t_s604n-backvl * ( - 1 ). * Credito t_s604n-credkg = t_s604n-credkg * ( - 1 ). t_s604n-credvl = t_s604n-credvl * ( - 1 ). t_s604n-creddp = t_s604n-creddp * ( - 1 ). t_s604n-credcx = t_s604n-credcx * ( - 1 ). * Recusa t_s604n-recskg = t_s604n-recskg * ( - 1 ). t_s604n-recsvl = t_s604n-recsvl * ( - 1 ). t_s604n-recsdp = t_s604n-recsdp * ( - 1 ). t_s604n-recscx = t_s604n-recscx * ( - 1 ). ENDFORM. " f_multipl_menos_hum ______________________________________________________________________________________________________ Versão: 1.0 - 19/08/09 Pág. 46