CE PLUS - Nota 003002

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 31/01/2007 00:00:00

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

Descrição da Nota: O RECEBIMENTO DA FATURA DE SERVIÇO SÓ FAZ A MIRO E DÁ ERRO NA MIGO

Sintoma

O recebimento da fatura de serviço só faz a miro e dá erro na migo.

 

 

Solução

corrigir preenchimento dos itens para que o matuse dos itens seja preenchido corretamente.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

ESTORNOS DA FATURA ATRAVÉS DE EXIT, PARA ATENDER ESPECÍFICO DO CLIENTE.

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

Informações Complementares

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

Nota Número 03002 Data: 31/01/2007 Hora: 11:40:08

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

 

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

Nota Número              : 03002

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

02349  - 00002 - 6.0    - 00025  - ESTORNOS DA FATURA ATRAVÉS DE EXIT, PARA ATENDER ESPECÍFICO DO CL

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

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

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

Palavras Chave:

RECEBIMENTO - FATURA - SERVIÇO - MIGO

/PWS/SAPMZYCI003

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

Objetos da nota:

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003TOP

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

FORM reverse_document_mbst.

  DATA: v_belnr_ant LIKE /pws/zycie006-belnr_p.

  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.

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

    IF /pws/zycbt007 IS INITIAL.

      SELECT SINGLE *

        FROM /pws/zycbt007

        WHERE bukrs EQ /pws/zycie006-bukrs.

    ENDIF.

    SELECT SINGLE *

    FROM marv

    WHERE bukrs EQ /pws/zycie006-bukrs.

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

         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.

* << Fim da inclusão

  APPEND itab_zycie033.

  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.

...

 

...

  PERFORM get_parameters_mrm1_receb.

  itab_zycie033-tcode  = 'MR8M'.

  itab_zycie033-tabela = '/PWS/ZYCIT006'.

  itab_zycie033-cpochv = /pws/zycie006-nrseq.

  itab_zycie033-bukrs  = /pws/zycie006-bukrs.

  itab_zycie033-belnr  = /pws/zycie006-belnr_mr1m.

  itab_zycie033-budat  = /pws/zycie006-dt_mr1m.

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

  v_belnr_ant          = /pws/zycie006-belnr_mr1m.

  itab_zycbe033-stgrd  = /pws/zycbt007-percorr.

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

    IF /pws/zycbt007 IS INITIAL.

      SELECT SINGLE *

        FROM /pws/zycbt007

        WHERE bukrs EQ /pws/zycie006-bukrs.

    ENDIF.

    SELECT SINGLE *

    FROM marv

    WHERE bukrs EQ /pws/zycie006-bukrs.

    IF ( marv-vmmon EQ /pws/zycie006-dt_mr1m+04(02) AND

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

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

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

      itab_zycie033-budat  = /pws/zycie006-dt_mr1m.

      itab_zycie033-stgrd  = /pws/zycbt007-percorr.

    ELSE.

      itab_zycie033-budat  = /pws/zycie006-dt_mr1m.

      itab_zycie033-stgrd  = /pws/zycbt007-perencer .

    ENDIF.

* << Fim da inclusão

  APPEND itab_zycie033.

  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.

...

 

...

      CLEAR: itab_classe_aval.

      READ TABLE itab_classe_aval WITH KEY

                                           matnr = itab_matuse-matnr

                                           bwkey = itab_zycit003-werks

                                           bwtar = itab_matuse-bwtar.

      IF sy-subrc EQ 0.

        CLEAR: itab_param_classe.

        READ TABLE itab_param_classe WITH KEY

                                      bklas = itab_classe_aval-bklas.

        IF sy-subrc EQ 0.

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

          MOVE: space                  TO itab_zycbt035_aux-matuse,

* << Fim da exclusão

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

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

* << Fim da inclusão

                itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .

        ELSE.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                space              TO itab_zycbt035_aux-bklas .

        ENDIF.

      ELSE.

        MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

              space                  TO itab_zycbt035_aux-bklas .

      ENDIF.

    ELSE.

...

 

...

        /pws/zycie006-belnr_f_51 TO v_docant_fb08.

  itab_zycbe033-tcode  = 'FBRA'.

  itab_zycbe033-tabela = '/PWS/ZYCIT006'.

  itab_zycbe033-cpochv = /pws/zycie006-nrseq.

  itab_zycbe033-belnr  = /pws/zycie006-belnr_f_51.

  itab_zycbe033-bukrs  = /pws/zycie006-bukrs.

  itab_zycbe033-bldat  = /pws/zycie006-dt_f_51.

  itab_zycie033-budat  = /pws/zycie006-dt_f_51.

  v_belnr_ant          = /pws/zycie006-belnr_f_51.

  itab_zycbe033-stgrd  = /pws/zycbt007-percorr.

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

    IF /pws/zycbt007 IS INITIAL.

      SELECT SINGLE *

        FROM /pws/zycbt007

        WHERE bukrs EQ /pws/zycie006-bukrs.

    ENDIF.

    CALL FUNCTION '/PWS/ZYGL_MOTIVO_ESTORNO'

         EXPORTING

              v_data  = /pws/zycie006-dt_f_51

              v_bukrs = /pws/zycie006-bukrs

              v_koart = 'K'

         IMPORTING

              v_subrc = v_subrc

              v_gjahr = itab_zycbe033-gjahr.

    IF v_subrc  = 0.

      itab_zycbe033-budat  = /pws/zycie006-dt_f_51.

      itab_zycbe033-stgrd  = /pws/zycbt007-percorr.

    ELSE.

      itab_zycbe033-budat  = sy-datum.

      itab_zycbe033-stgrd  = /pws/zycbt007-perencer .

    ENDIF.

* << Fim da inclusão

  APPEND itab_zycbe033.

  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.

...

 

...

  PERFORM clear_date_batch.

  itab_zycie033-tcode  = 'MR8M'.

  itab_zycie033-tabela = '/PWS/ZYCIT006'.

  itab_zycie033-cpochv = /pws/zycie006-nrseq.

  itab_zycie033-bukrs  = /pws/zycie006-bukrs.

  itab_zycie033-belnr  = /pws/zycie006-belnr_mr1m.

  itab_zycie033-budat  = /pws/zycie006-dt_mr1m.

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

  v_belnr_ant          = /pws/zycie006-belnr_mr1m.

  itab_zycie033-stgrd = /pws/zycbt007-percorr.

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

    SELECT SINGLE *

    FROM marv

    WHERE bukrs EQ /pws/zycie006-bukrs.

    IF ( marv-vmmon EQ /pws/zycie006-dt_mr1m+04(02) AND

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

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

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

      itab_zycie033-budat  = /pws/zycie006-dt_mr1m.

      itab_zycie033-stgrd  = /pws/zycbt007-percorr.

    ELSE.

      itab_zycie033-budat  = /pws/zycie006-dt_mr1m.

      itab_zycie033-stgrd  = /pws/zycbt007-perencer .

    ENDIF.

* << Fim da inclusão

  APPEND itab_zycie033.

  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.

...

 

...

  PERFORM clear_date_batch.

  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).

  itab_zycie033-budat  = /pws/zycie006-dt_mb01.

  v_belnr_ant          = /pws/zycie006-mblnr_mb01.

  itab_zycbe033-stgrd  = /pws/zycbt007-percorr.

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

    IF /pws/zycbt007 IS INITIAL.

      SELECT SINGLE *

        FROM /pws/zycbt007

        WHERE bukrs EQ /pws/zycie006-bukrs.

    ENDIF.

    SELECT SINGLE *

    FROM marv

    WHERE bukrs EQ /pws/zycie006-bukrs.

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

         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.

* << Fim da inclusão

  APPEND itab_zycie033.

  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 .

  e_subrc = '0' .

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI003'

                              'FAT009'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003TOP

 

PROGRAM /pws/sapmzyci003 MESSAGE-ID /pws/zycim.

INCLUDE: /pws/mzyci003oo,

         /pws/zygli100,

         /pws/zygli101,

         /pws/mzyci003x01.

data: v_pag_antecipado type c.

* >> Início da inclusão:

tables: marv.

* << Fim da inclusão

DATA: BEGIN OF itab_venc_fatura OCCURS 0.

        INCLUDE STRUCTURE spopli.

DATA: END OF itab_venc_fatura.

DATA: BEGIN OF itab_zycit006 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit006.

DATA mark.

DATA: END OF itab_zycit006.

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

...