CE PLUS - Nota 005179

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Variação Cambial

Data/Hora da Publicação: 08/11/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 11:50:14

Descrição da Nota: CONSISTÊNCIA NA IMPRESSÃO DA NOTA DE VARIAÇÃO CAMBIAL DE AVERBAÇÃO

Sintoma

Ao executar o programa para geração da Nota Fiscal de Variação Cambial de Averbação, o programa está

utilizando um critério incorreto para verificação de se a Nota Fiscal de Variação já foi gerada e

impressa.

 

 

Solução

Alteração da rotina de verificação de se a Nota Fiscal de Variação Cambial de Averbação já foi

gerada para o item do Embarque.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

CORREÇÃO NA GRAVAÇÃO DE DADOS DA VARIAÇÃO CAMBIAL

CONSISTÊNCIA DA DATA BASE AO EXECUTAR A VARIAÇÃO CAMBIAL

Informações Complementares

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

Nota Número 05179 Data: 08/11/2007 Hora: 19:02:47

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

 

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

Nota Número              : 05179

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00020

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

Referência às notas relacionadas:

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

 

03772  - 00001 - 7.0    - 00001  - CONSISTÊNCIA DA DATA BASE AO EXECUTAR A VARIAÇÃO CAMBIAL

04830  - 00002 - 7.0    - 00003  - CORREÇÃO NA GRAVAÇÃO DE DADOS DA VARIAÇÃO CAMBIAL

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

CONSISTÊNCIA NA IMPRESSÃO DA NOTA DE VARIAÇÃO CAMBIAL DE AVERBAÇÃO

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

Palavras Chave:

CONSISTÊNCIA, NOTA FISCAL, VARIAÇÃO CAMBIAL, AVERBAÇÃO

 

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

Objetos da nota:

REPS /PWS/ZYCER007

 

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

Modificações efetuadas em REPS /PWS/ZYCER007

 

...

        ELSEIF /pws/zycet048-dtvrc EQ 'DTEMB'.

          IF it_zycet001-dtemb IS INITIAL.

            MOVE: it_zycet002-nrseq   TO itab_erro-nrseq,

                  /pws/zycet048-dtvrc TO itab_erro-dtvrc.

            APPEND itab_erro.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF it_zycet001-dtemb GT v_dtate.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

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

          ELSEIF NOT it_zycet002-dtcont IS INITIAL AND

                 NOT it_zycet002-dtnf   IS INITIAL.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

* << Fim da exclusão

          ELSE.

            it_zycet002-nfaver = 'X'.

            MODIFY it_zycet002 INDEX v_index.

          ENDIF.

        ELSEIF /pws/zycet048-dtvrc EQ 'DTCRUZE'.

          IF it_zycet001-dtcruze IS INITIAL.

            MOVE: it_zycet002-nrseq   TO itab_erro-nrseq,

                  /pws/zycet048-dtvrc TO itab_erro-dtvrc.

            APPEND itab_erro.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF it_zycet001-dtcruze GT v_dtate.

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

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF NOT it_zycet002-dtcont IS INITIAL AND

               NOT it_zycet002-dtnf   IS INITIAL.

* << Fim da exclusão

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSE.

            it_zycet002-nfaver = 'X'.

            MODIFY it_zycet002 INDEX v_index.

          ENDIF.

        ELSEIF /pws/zycet048-dtvrc EQ 'DTAVERB'.

          IF it_zycet001-dtaverb IS INITIAL.

            MOVE: it_zycet002-nrseq   TO itab_erro-nrseq,

                  /pws/zycet048-dtvrc TO itab_erro-dtvrc.

            APPEND itab_erro.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF it_zycet001-dtaverb GT v_dtate.

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

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF NOT it_zycet002-dtcont IS INITIAL AND

               NOT it_zycet002-dtnf   IS INITIAL.

* << Fim da exclusão

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSE.

            it_zycet002-nfaver = 'X'.

            MODIFY it_zycet002 INDEX v_index.

          ENDIF.

        ELSEIF /pws/zycet048-dtvrc EQ 'DTBL'.

          SELECT SINGLE dtbl

             FROM /pws/zycet047

             INTO  /pws/zycet047-dtbl

              WHERE nrseq EQ it_zycet001-nrseq.

          IF /pws/zycet047-dtbl IS INITIAL.

            MOVE: it_zycet002-nrseq   TO itab_erro-nrseq,

                  /pws/zycet048-dtvrc TO itab_erro-dtvrc.

            APPEND itab_erro.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF /pws/zycet047-dtbl GT v_dtate.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

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

          ELSEIF NOT it_zycet002-dtcont IS INITIAL AND

               NOT it_zycet002-dtnf   IS INITIAL.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

* << Fim da exclusão

          ELSE.

            it_zycet002-nfaver = 'X'.

            MODIFY it_zycet002 INDEX v_index.

          ENDIF.

        ENDIF.

      ENDLOOP.

    ELSEIF p_nffmes EQ 'X' AND p_nfaver NE 'X'.

      LOOP AT it_zycet002.

        v_index = sy-tabix.

        READ TABLE it_zycet001 WITH KEY nrseq = it_zycet002-nrseq.

...

 

...

    ENDIF.

  ENDIF.

ENDFORM.

FORM seleciona_itens_embarque

     USING

       p_t_zycet001  LIKE it_zycet001[]

       p_reimpressao TYPE xfeld

     CHANGING

       p_t_zycet002  LIKE it_zycet002[].

  DATA: wa_zycet001 LIKE LINE OF p_t_zycet001[],

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

        it_itens TYPE STANDARD TABLE OF /pws/zycet002.

* << Fim da exclusão

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

        it_itens TYPE STANDARD TABLE OF /pws/zycet002,

        wa_itens LIKE LINE OF it_itens.

  DATA: it_zycet009 TYPE STANDARD TABLE OF /pws/zycet009,

        wa_zycet009 LIKE LINE OF it_zycet009[].

  DATA: v_index TYPE sy-tabix.

* << Fim da inclusão

  LOOP AT p_t_zycet001 INTO wa_zycet001.

    CALL FUNCTION '/PWS/ZYCE_SEPARA_ITENS_EMB'

         EXPORTING

              nrseq     = wa_zycet001-nrseq

         TABLES

              tab_saida = it_itens[]

         EXCEPTIONS

              OTHERS    = 1.

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

    APPEND LINES OF it_itens[] TO p_t_zycet002[].

    CLEAR: it_itens[].

  ENDLOOP.

  IF p_reimpressao  IS INITIAL AND NOT

     p_t_zycet002[] IS INITIAL.

    SELECT *

      FROM /pws/zycet009

      INTO TABLE it_zycet009

      FOR ALL ENTRIES IN p_t_zycet002[]

      WHERE nrseq = p_t_zycet002-nrseq    AND

         vbeln_va = p_t_zycet002-vbeln_va AND

         vbeln_vf = p_t_zycet002-vbeln_vf AND

           docnum = p_t_zycet002-docnum.

    IF NOT it_zycet009[] IS INITIAL.

      LOOP AT p_t_zycet002 INTO wa_itens.

* << Fim da inclusão

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

    IF p_reimpressao IS INITIAL.

* << Fim da exclusão

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

        v_index = sy-tabix.

        READ TABLE it_zycet009 INTO wa_zycet009

               WITH KEY nrseq = wa_itens-nrseq

                     vbeln_va = wa_itens-vbeln_va

                     vbeln_vf = wa_itens-vbeln_vf

                     docnum   = wa_itens-docnum.

        IF sy-subrc IS INITIAL AND

           NOT wa_zycet009-docnum2 IS INITIAL.

* << Fim da inclusão

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

      DELETE it_itens[] WHERE NOT dtnf IS initial

                           OR NOT dtcont IS initial.

* << Fim da exclusão

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

          DELETE p_t_zycet002 INDEX v_index.

* << Fim da inclusão

    ENDIF.

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

    APPEND LINES OF it_itens[] TO p_t_zycet002[].

* << Fim da exclusão

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

      ENDLOOP.

* << Fim da inclusão

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

    CLEAR: it_itens[].

* << Fim da exclusão

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

    ENDIF.

* << Fim da inclusão

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

  ENDLOOP.

* << Fim da exclusão

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

  ENDIF.

* << Fim da inclusão

ENDFORM.