CE PLUS - Nota 003117

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 16/02/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 16:06:33

Descrição da Nota: DUMP NO ESTORNO DA FATURA DE SERVIÇO

Sintoma

Se ocorre algum erro na execução do batch input da MIGO da fatura de serviços, o sistema dá dump.

 

 

Solução

Declarar a tabela interna t_itens_nf como estrutura da tabela /pws/zycit044. Preencher esta tabela

com o conteúdo da itab_zycit003.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

O RECEBIMENTO DA FATURA DE SERVIÇO SÓ FAZ A MIRO E DÁ ERRO NA MIGO

OCORREU DUMP NO MOMENTO DO ESTORNO DO RECEBIMENTO DO PROCESSO DE SERVIÇO

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 03117 Data: 16/02/2007 Hora: 16:33:52

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 03117

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00151

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

00775  - 00001 - 6.0    - 00022  - OCORREU DUMP NO MOMENTO DO ESTORNO DO RECEBIMENTO DO PROCESSO DE

03002  - 00002 - 6.0    - 00026  - O RECEBIMENTO DA FATURA DE SERVIÇO SÓ FAZ A MIRO E DÁ ERRO NA MIG

----------------------------------------------------------------------------------------------------

DUMP NO ESTORNO DA FATURA DE SERVIÇO

----------------------------------------------------------------------------------------------------

Palavras Chave:

MIGO - DUMP - ESTORNO - FATURA DE SERVIÇO

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI003F02

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

 

...

          PERFORM calcula_custo.

        ENDIF.

        IF  v_f_51_ok NE 'S'.

          IF v_servico IS INITIAL.

            PERFORM reverse_document_mbst.

          ENDIF.

          PERFORM reverse_document_mr8m.

        ENDIF.

        PERFORM salvar_dados.

      ELSE.

* >> Início da exclusão: FORM EXECUTA_RECEBIMENTO

        IF v_servico IS INITIAL.

          PERFORM reverse_document_mbst.

        ENDIF.

* << Fim da exclusão

        PERFORM reverse_document_mr8m.

      ENDIF.

      PERFORM salvar_dados.

    ELSE.

      /pws/zycie006-lfsnr = v_lfsnr_old.

    ENDIF.

  ELSE.

    /pws/zycie006-lfsnr = v_lfsnr_old.

  ENDIF.

  CLEAR v_recebi.

...

 

 

...

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

FORM reverse_document_mbst.

  DATA: v_belnr_ant LIKE /pws/zycie006-belnr_p.

* >> Início da inclusão: FORM REVERSE_DOCUMENT_MBST

  DATA: BEGIN OF itab_itens_nf OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit044.

  DATA: END   OF itab_itens_nf.

* << Fim da inclusão

  itab_zycie033-tcode  = 'MBST'.

  itab_zycie033-tabela = '/PWS/ZYCIT006'.

  itab_zycie033-cpochv = /pws/zycie006-nrseq.

  itab_zycie033-bukrs  = /pws/zycie006-bukrs.

  itab_zycie033-mblnr  = /pws/zycie006-mblnr_mb01.

  itab_zycie033-gjahr  = /pws/zycie006-dt_mb01+0(4).

  v_belnr_ant          = /pws/zycie006-mblnr_mb01.

  itab_zycie033-budat  = /pws/zycie006-dt_mb01.

  IF /pws/zycbt007 IS INITIAL.

    SELECT SINGLE *

...

 

...

       marv-vmgja EQ /pws/zycie006-dt_mb01+0(4) ) OR

     ( marv-lfmon EQ /pws/zycie006-dt_mb01+04(02) AND

       marv-lfgja EQ /pws/zycie006-dt_mb01+0(4) ).

    itab_zycie033-budat  = /pws/zycie006-dt_mb01.

    itab_zycie033-stgrd  = /pws/zycbt007-percorr.

  ELSE.

    itab_zycie033-budat  = sy-datum.

    itab_zycie033-stgrd  = /pws/zycbt007-perencer .

  ENDIF.

  APPEND itab_zycie033.

* >> Início da inclusão: FORM REVERSE_DOCUMENT_MBST

  LOOP AT itab_zycit003.

    MOVE : itab_zycit003-ebeln TO itab_itens_nf-ebeln,

           itab_zycit003-ebelp TO itab_itens_nf-ebelp.

    APPEND itab_itens_nf.

  ENDLOOP .

* << Fim da inclusão

  e_subrc = '0' .

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI003'

                              'FAT009'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'FAT009' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      e_estorno = 'REC_MBST' .

...

 

...

          (itab_zyglt100-programa) IF FOUND.

    ENDIF.

  ENDIF.

  CALL FUNCTION '/PWS/ZYCI_TRANSACAO_MBST'

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycie033

            t_campo         = itab_zycit034

            t_zycit032      = itab_zycit032

* >> Início da exclusão: FORM REVERSE_DOCUMENT_MBST

            t_itens_nf      = itab_zycit003

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_MBST

            t_itens_nf      = itab_itens_nf

* << Fim da inclusão

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0 OR e_subrc EQ 0.

    READ TABLE itab_zycit032 WITH KEY tcode  = 'MBST'

                                      tabela = '/PWS/ZYCIT006'

                                      cpochv = /pws/zycie006-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

      MESSAGE i030 WITH v_belnr_ant.

...