CE PLUS - Nota 011424

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 01/09/2011 00:00:00

Data/Hora Última Alteração: 10/11/2011 13:17:44

Descrição da Nota: NOTA FISCAL - MENSAGEM REPETIDA POR ITEM

Sintoma

A mensagem de erro estava se repetindo para todos os itens da nota fiscal.

 

 

Solução

Atualizado programa para não emitir mensagens repetidas e várias vezes.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO NA NF QUANDO POSSUI QUEBRAS DE ITENS. VALOR DUPLICADO NO CUSTO.

MANUTENÇÃO NO DRAFT DA DSE

AO CRIAR NF NÃO ATUALIZA TABELAS DO CE E DUPLICA VALORES DE IMPOSTOS

Informações Complementares

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

Nota Número 11424 Data: 01/09/2011 Hora: 16:18:14

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

 

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

Nota Número              : 11424

Categoria                : Erro de Programa

Prioridade               : Baixa

Versão PW.CE             : 8.0

Pacote                   : 00008

Agrupamento              : 00084

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

Referência às notas relacionadas:

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

 

01972  - 00001 - 6.0    - 00024  - ERRO NA NF QUANDO POSSUI QUEBRAS DE ITENS. VALOR DUPLICADO NO CUS

02595  - 00002 - 6.0    - 00025  - AO CRIAR NF NÃO ATUALIZA TABELAS DO CE E DUPLICA VALORES DE IMPOS

09154  - 00003 - 8.0    - 00001  - MANUTENÇÃO NO DRAFT DA DSE

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

NOTA FISCAL - MENSAGEM REPETIDA POR ITEM

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

Palavras Chave:

 

 

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

Objetos da nota:

REPS /PWS/MZYCI016F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

                    IF it_zycee005-belnr IS INITIAL OR

                       it_zycee005-belnr = '0000000000'.

                      itab_zycit042-processado = ''.

                      itab_zycit042-mark = ''.

                    ENDIF.

                    ADD 1 TO v_contitm.

                    itab_zycit042-itmnum = v_contitm * 10.

                    MODIFY itab_zycit042 INDEX sy-tabix.

                    PERFORM atualiza_dados_nota.

                  ENDLOOP.

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

                  LOOP AT it_erro.

                    MESSAGE i015 WITH it_erro-msg+0(50)

                                      it_erro-msg+50(50).

                  ENDLOOP.

                  CLEAR: it_erro[].

                  REFRESH: it_erro[].

* << Fim da inclusão

                ELSE.

                  CLEAR v_contitm.

                  LOOP AT itab_zycit042

                    WHERE nrseq    EQ itab_zycit042_aux-nrseq

                      AND nfglobal EQ itab_zycit042_aux-nfglobal

                      AND tpnf     EQ itab_zycit042_aux-tpnf

                      AND lifnr    EQ itab_zycit042_aux-lifnr

                     AND j_1bbranch EQ itab_zycit042_aux-j_1bbranch

                      AND ( docnum   IS initial OR

                            docnum   = '9999999999' OR

...

 

...

                      AND processado = 'X'.

                    IF it_zycee005-belnr IS INITIAL OR

                       it_zycee005-belnr = '0000000000'.

                      itab_zycit042-processado = ''.

                      itab_zycit042-mark = ''.

                    ENDIF.

                    ADD 1 TO v_contitm.

                    itab_zycit042-itmnum = v_contitm * 10.

                    MODIFY itab_zycit042 INDEX sy-tabix.

                    PERFORM atualiza_dados_nota.

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

                  ENDLOOP.

                  LOOP AT it_erro.

                    MESSAGE i015 WITH it_erro-msg+0(50)

                                      it_erro-msg+50(50).

* << Fim da inclusão

                  ENDLOOP.

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

                  CLEAR: it_erro[].

                  REFRESH: it_erro[].

* << Fim da inclusão

                ENDIF.

              ENDIF.

              IF  v_modalidade = '99'

               OR ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

                IF v_modalidade = '99' AND

...

 

...

                   AND j_1bbranch EQ itab_zycit042_aux-j_1bbranch

                    AND ( docnum   IS initial OR

                          docnum   = '9999999999' OR

                          docnum   = '8888888888' )

                     AND mark     =  'X'

                    AND processado = 'X'.

                  ADD 1 TO v_contitm.

                  itab_zycit042-itmnum = v_contitm * 10.

                  MODIFY itab_zycit042 INDEX sy-tabix.

                  PERFORM atualiza_dados_nota.

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

                ENDLOOP.

                LOOP AT it_erro.

                  MESSAGE i015 WITH it_erro-msg+0(50)

                                    it_erro-msg+50(50).

* << Fim da inclusão

                ENDLOOP.

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

                CLEAR: it_erro[].

                REFRESH: it_erro[].

* << Fim da inclusão

              ENDIF.

              v_qtditem = wa_zycit048-qtd_item.

              IF v_counter >= v_qtditem.

                v_tpnf = 0.

              ENDIF.

...

 

...

                            AND ( docnum   IS initial OR

                              docnum   = '9999999999' OR

                                docnum = '8888888888' )

                            AND mark     = 'X'

                            AND processado = 'X'.

                    ADD 1 TO v_contitm.

                    itab_zycit042-itmnum = v_contitm * 10.

                    MODIFY itab_zycit042 INDEX sy-tabix.

                    PERFORM atualiza_dados_nota.

                  ENDLOOP.

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

                  LOOP AT it_erro.

                    MESSAGE i015 WITH it_erro-msg+0(50)

                                      it_erro-msg+50(50).

                  ENDLOOP.

                  CLEAR: it_erro[].

                  REFRESH: it_erro[].

* << Fim da inclusão

                ELSE.

                  CLEAR v_contitm.

                  LOOP AT itab_zycit042

                          WHERE nrseq    EQ itab_zycit042_aux-nrseq

                           AND nfglobal EQ itab_zycit042_aux-nfglobal

                        AND j_1bbranch = itab_zycit042_aux-j_1bbranch

                            AND lifnr = itab_zycit042_aux-lifnr

                            AND ( docnum   IS initial OR

                              docnum   = '9999999999' OR

                                docnum = '8888888888' )

...

 

...

                          AND lifnr = itab_zycit042_aux-lifnr

                          AND ( docnum   IS initial OR

                            docnum   = '9999999999' OR

                              docnum = '8888888888' )

                          AND mark     = 'X'

                          AND processado = 'X'.

                  ADD 1 TO v_contitm.

                  itab_zycit042-itmnum = v_contitm * 10.

                  MODIFY itab_zycit042 INDEX sy-tabix.

                  PERFORM atualiza_dados_nota.

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

                ENDLOOP.

                LOOP AT it_erro.

                  MESSAGE i015 WITH it_erro-msg+0(50)

                                    it_erro-msg+50(50).

* << Fim da inclusão

                ENDLOOP.

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

                CLEAR: it_erro[].

                REFRESH: it_erro[].

* << Fim da inclusão

              ENDIF.

            ENDIF.

          ELSE.

            CALL SCREEN '0050'.

          ENDIF.

...

 

...

                  t_dados         = it_zycee005

                  t_itens         = it_zycee007

                  t_campos        = it_zycet004

                  t_zycet005      = it_zycet005

                  t_message       = it_zycee006

             EXCEPTIONS

                  campo_em_branco = 1

                  OTHERS          = 2.

        LOOP AT itab_zycit044.

          PERFORM atualiza_dados_nota_r.

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

        ENDLOOP.

        LOOP AT it_erro.

          MESSAGE i015 WITH it_erro-msg+0(50)

                            it_erro-msg+50(50).

* << Fim da inclusão

        ENDLOOP.

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

        CLEAR: it_erro[].

        REFRESH: it_erro[].

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycit044.

          PERFORM atualiza_dados_nota_r.

        ENDLOOP.

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

        LOOP AT it_erro.

          MESSAGE i015 WITH it_erro-msg+0(50)

                            it_erro-msg+50(50).

        ENDLOOP.

        CLEAR: it_erro[].

        REFRESH: it_erro[].

* << Fim da inclusão

      ENDIF.

    ELSE.

      LOOP AT itab_zycit044.

        PERFORM atualiza_dados_nota_r.

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

      ENDLOOP.

      LOOP AT it_erro.

        MESSAGE i015 WITH it_erro-msg+0(50)

                          it_erro-msg+50(50).

* << Fim da inclusão

      ENDLOOP.

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

      CLEAR: it_erro[].

      REFRESH: it_erro[].

* << Fim da inclusão

    ENDIF.

  ENDIF.

  v_tiponf = 'NFR'.

  REFRESH itab_zyglt100.

  PERFORM verifica_exit USING 'D'

...

 

...

               AND docnum   = /pws/zycie041-docnum.

          ENDIF.

        ELSE.

          READ TABLE it_zycet005 WITH KEY

                               tcode  = text-030

                               tabela = text-014

                               cpochv = /pws/zycie041-nfglobal

                               tpmsg  = 'E'.

          IF sy-subrc EQ 0.

            LOOP AT it_zycet005.

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

              MESSAGE i015 WITH it_zycet005-msg+0(50)

                                it_zycet005-msg+50(50).

* << Fim da exclusão

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

              MOVE it_zycet005-msg TO it_erro-msg.

              collect it_erro.

* << Fim da inclusão

            ENDLOOP.

          ENDIF.

        ENDIF.

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

      ENDLOOP.

      LOOP AT it_erro.

        MESSAGE i015 WITH it_erro-msg+0(50)

                          it_erro-msg+50(50).

* << Fim da inclusão

      ENDLOOP.

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

      CLEAR: it_erro[].

      REFRESH: it_erro[].

* << Fim da inclusão

    ENDIF.

  ELSEIF ( v_apaga NE 'X' AND v_modalidade NE '99' ) OR

           v_apaga = 'X'.

    LOOP AT itab_zycit042.

      PERFORM deleta_fundap.

      DELETE FROM /pws/zycit041

            WHERE nrseq    = /pws/zycie041-nrseq

              AND nfglobal = /pws/zycie041-nfglobal

              AND docnum   = v_valor.

      DELETE FROM /pws/zycit042

...

 

...

                                 AND nrseqnf   = itab_zycit044-nrseqnf

                                 AND nfglobal  = itab_zycit044-nfglobal

                                 AND nfremessa = itab_zycit044-nfremessa

                                 AND ebeln     = itab_zycit044-ebeln

                                 AND ebelp     = itab_zycit044-ebelp.

        FREE  itab_zycit043_lista.

        CLEAR itab_zycit043_lista.

        v_cancel = 'OK'.

        COMMIT WORK.

      ELSE.

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

        READ TABLE it_zycet005 WITH KEY  tcode  = text-030

* << Fim da exclusão

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

        READ TABLE it_zycet005 WITH KEY

                             tcode  = text-030

* << Fim da inclusão

                                         tabela = text-025

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

                                         cpochv =

 /pws/zycie043-nfremessa

* << Fim da exclusão

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

                             cpochv = /pws/zycie043-nfremessa

* << Fim da inclusão

                                         tpmsg  = 'E'.

        IF sy-subrc EQ 0.

          LOOP AT it_zycet005.

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

            MESSAGE i015 WITH it_zycet005-msg+0(50)

                              it_zycet005-msg+50(50).

* << Fim da exclusão

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

            MOVE it_zycet005-msg TO it_erro-msg.

            collect it_erro.

* << Fim da inclusão

          ENDLOOP.

        ENDIF.

      ENDIF.

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

    ENDLOOP.

    LOOP AT it_erro.

      MESSAGE i015 WITH it_erro-msg+0(50)

                        it_erro-msg+50(50).

* << Fim da inclusão

    ENDLOOP.

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

    CLEAR: it_erro[].

    REFRESH: it_erro[].

* << Fim da inclusão

  ELSE.

    LOOP AT it_zycet004.

      MESSAGE i019 WITH it_zycet004-descricao.

    ENDLOOP.

  ENDIF.

  CLEAR v_modo_bi.

ENDFORM.

...

 

...

           v_libera IS INITIAL ).

          PERFORM congela_despesa.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSE.

    READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                     tabela = text-014

                       cpochv = /pws/zycie041-nfglobal

                                          tpmsg  = 'E'.

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

    LOOP AT it_zycet004.

      MESSAGE i019 WITH it_zycet004-descricao.

    ENDLOOP.

* << Fim da exclusão

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

    LOOP AT it_zycet005.

* << Fim da inclusão

    it_erro-nrseq  = itab_zycit042-nrseq.

    it_erro-branch = itab_zycit042-j_1bbranch.

    it_erro-msg    = it_zycet005-msg.

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

    APPEND it_erro.

* << Fim da exclusão

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

      collect it_erro.

    ENDLOOP.

* << Fim da inclusão

  ENDIF.

ENDFORM.

...

 

...

  ELSE.

    READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                     tabela = text-025

                                     cpochv =

                                     /pws/zycie043-nfremessa

                                     tpmsg  = 'E'.

    IF sy-subrc EQ 0.

      it_erro-nrseq  = itab_zycit042-nrseq.

      it_erro-branch = wa_zycit001-j_1bbranch.

      it_erro-msg    = it_zycet005-msg.

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

      APPEND it_erro.

* << Fim da exclusão

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

      collect it_erro.

* << Fim da inclusão

    ENDIF.

  ENDIF.

ENDFORM.

...

...

...