CE PLUS - Nota 009558

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 10/12/2009 00:00:00

Data/Hora Última Alteração: 10/03/2010 11:29:15

Descrição da Nota: MENSAGEM REPETIDA EM FATURA TIPO P

Sintoma

 

Criei fatura de mercadoria, frete e seguro com tipo "P". Porém somente a fatura de mercadoria tem

pagamento antecipado. Após salvar a DI aparecem duas mensagens: fatura contabilizada com sucesso e

existe pagamento antecipado para associar a fatura. Como são três faturas, estas mensagens aparecem

três vezes. Porém esta última mensagem de associação deveria aparecer somente para a fatura de

mercadoria, uma vez que a associação com o câmbio é feita para fatura 01.

 

Solução

 

Emitir apenas uma mensagem.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 09558 Data: 10/12/2009 Hora: 14:58:28

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

 

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

Nota Número              : 09558

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00001

Agrupamento              : 00125

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

MENSAGEM REPETIDA EM FATURA TIPO P

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

Palavras Chave:

FATURA - TIPO P - MENSAGEM - PAGAMENTO ANTECIPADO.

 

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

Objetos da nota:

REPS /PWS/MZYCI023F03

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

 

FORM salva_fatura.

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

  DATA: v_msg2.

* << Fim da inclusão

  DATA: v_belnr_p LIKE /pws/zycie006-belnr_p,

        itab_132 LIKE /pws/zycie132 OCCURS 10 WITH HEADER LINE.

  DATA: BEGIN OF itab_zycbt117 OCCURS 0.                    "#EC NEEDED

          INCLUDE STRUCTURE /pws/zycbt117.

  DATA: END OF itab_zycbt117.

  DATA wa_params TYPE ctu_params.

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094

              FOR ALL ENTRIES IN itab_zycit003

              WHERE nrseq = itab_zycit003-nrseq.        "#EC CI_NOFIRST

  ENDIF.

  READ TABLE itab_zycit094 INDEX 1.

  SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006

                WHERE nrseqce = itab_zycit094-nrseqce AND

                      eliminado = space.                "#EC CI_NOFIELD

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

  clear v_msg.

* << Fim da exclusão

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

  CLEAR:  v_msg, v_msg1 .

* << Fim da inclusão

  LOOP AT itab_zycit006.

    MOVE itab_zycit006 TO /pws/zycie006.

    FREE: itab_bdc, itab_msg.

    REFRESH: itab_bdc, itab_msg.

    SELECT SINGLE * FROM /pws/zycit006

           INTO /pws/zycie006

           WHERE nrseq EQ itab_zycit006-nrseq AND

                 eliminado NE 'X'.

    IF sy-subrc = 0 AND /pws/zycie006-belnr_p IS INITIAL.

      SELECT SINGLE * FROM /pws/zycit132

...

 

...

      COMMIT WORK.

      SELECT * FROM /pws/zycit132

               INTO TABLE itab_132

               WHERE nrseq EQ /pws/zycie006-nrseq.

      IF sy-subrc EQ 0.

        LOOP AT itab_132 WHERE belnr_p IS initial.

          MESSAGE i015 WITH text-206 text-207.

          EXIT.

        ENDLOOP.

        IF sy-subrc NE 0.

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

          MESSAGE i015 WITH text-225.

* << Fim da exclusão

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

          v_msg2 = 'X' .

* << Fim da inclusão

        ENDIF.

        SELECT * FROM /pws/zycbt117

             INTO TABLE itab_zycbt117

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND slpgant > 0

               AND status NE 'E'.                       "#EC CI_NOFIELD

        READ TABLE itab_zycbt117 INDEX 1.

        IF sy-subrc EQ 0.

          v_msg = 'X' .

        ENDIF.

      ELSE.

        SELECT SINGLE belnr_p FROM /pws/zycit006

               INTO v_belnr_p

               WHERE nrseq EQ /pws/zycie006-nrseq.

        IF v_belnr_p IS INITIAL.

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

          MESSAGE i015 WITH text-206 text-207.

* << Fim da exclusão

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

          v_msg1 = 'X'.

* << Fim da inclusão

        ELSE.

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

          MESSAGE i015 WITH text-225.

* << Fim da exclusão

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

          v_msg2 = 'X' .

* << Fim da inclusão

          SELECT * FROM /pws/zycbt117

               INTO TABLE itab_zycbt117

               FOR ALL ENTRIES IN itab_zycit003

               WHERE ebeln = itab_zycit003-ebeln

                 AND slpgant > 0

                 AND status NE 'E'.                     "#EC CI_NOFIELD

          READ TABLE itab_zycbt117 INDEX 1.

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

          IF sy-subrc EQ 0.

            MESSAGE i015 WITH text-224.

* << Fim da exclusão

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

          v_msg = 'X' .

* << Fim da inclusão

          ENDIF.

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

        ENDIF.

* << Fim da exclusão

        itab_zycit006-belnr_p = v_belnr_p.

        MODIFY itab_zycit006.

      ENDIF.

    ENDIF.

  ENDLOOP.

  IF v_msg = 'X' .

    MESSAGE i015 WITH text-224.

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

  ENDIF.

  IF v_msg2 = 'X'.

    MESSAGE i015 WITH text-225.

  ENDIF.

  IF v_msg1 = 'X' .

    MESSAGE i015 WITH text-206 text-207.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM deleta_variacao.

  IF /pws/zycbt007 IS INITIAL.

    SELECT SINGLE *

      FROM /pws/zycbt007

      WHERE bukrs EQ /pws/zycie085-bukrs.

  ENDIF.

  IF NOT /pws/zycie085-belnr_0 IS INITIAL.

    v_text = text-208.

...