CE PLUS - Nota 003772

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Variação Cambial

Data/Hora da Publicação: 25/05/2007 00:00:00

Data/Hora Última Alteração: 03/03/2010 13:47:25

Descrição da Nota: CONSISTÊNCIA DA DATA BASE AO EXECUTAR A VARIAÇÃO CAMBIAL

Sintoma

 

Ao tentar executar a Variação Cambial (/pws/zycer007), verificar se a data-base utilizada está

preenchida. Se não, não permitir a execução da funcionalidade e exibir uma mensagem.

 

Solução

 

Inclusão de consistência para verificação do preenchimento da data-base.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 03772 Data: 25/05/2007 Hora: 18:03:05

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

 

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

Nota Número              : 03772

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00027

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

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

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

Palavras Chave:

VARIAÇÃO, CAMBIAL, DATA, DATA-BASE, CONSISTÊNCIA, VERIFICAÇÃO

 

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

Objetos da nota:

REPS /PWS/ZYCER007

REPT /PWS/ZYCER007

 

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

Modificações efetuadas em REPS /PWS/ZYCER007

 

...

      REFRESH: it_emb_tot,

               it_contabil.

    ENDAT.

  ENDLOOP.

  LOOP AT it_erro_data.

    WRITE: / it_erro_data-msg COLOR 6.

  ENDLOOP.

  PERFORM imprime_totais.

ENDFORM.

FORM itens_embarque.

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

  DATA: BEGIN OF itab_erro OCCURS 0,

         nrseq TYPE /pws/zycet001-nrseq,

         dtvrc TYPE /pws/zycet048-dtvrc,

        END OF itab_erro.

* << Fim da inclusão

  IF NOT p_nffmes IS INITIAL.

    PERFORM datas USING    p_dtate

                    CHANGING v_dtate.

  ELSE.

    v_dtate = p_dtate.

  ENDIF.

  CONCATENATE v_dtate(6) '01' INTO v_dtde.

  IF p_reimp NE 'X'.

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

      LOOP AT it_zycet002.

...

 

...

        IF sy-subrc EQ 0.

          v_mt = /pws/zycit054-vktra.

        ENDIF.

        SELECT SINGLE *

          FROM /pws/zycet048

           INTO /pws/zycet048

            WHERE vktrt EQ v_mt.

        IF /pws/zycet048-dtvrc IS INITIAL.

          CONTINUE.

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

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

          IF it_zycet001-dtemb IS INITIAL OR

             it_zycet001-dtemb GT v_dtate.

* << Fim da exclusão

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

          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.

* << Fim da inclusão

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF NOT it_zycet002-dtcont IS INITIAL AND

                 NOT it_zycet002-dtnf   IS INITIAL.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSE.

            it_zycet002-nfaver = 'X'.

            MODIFY it_zycet002 INDEX v_index.

          ENDIF.

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

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

          IF it_zycet001-dtcruze IS INITIAL OR

             it_zycet001-dtcruze GT v_dtate.

* << Fim da exclusão

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

          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.

* << Fim da inclusão

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF NOT it_zycet002-dtcont IS INITIAL AND

               NOT it_zycet002-dtnf   IS INITIAL.

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

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

          IF it_zycet001-dtaverb IS INITIAL OR

             it_zycet001-dtaverb GT v_dtate.

* << Fim da exclusão

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

          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.

* << Fim da inclusão

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF NOT it_zycet002-dtcont IS INITIAL AND

               NOT it_zycet002-dtnf   IS INITIAL.

            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.

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

          IF /pws/zycet047-dtbl IS INITIAL OR

             /pws/zycet047-dtbl GT v_dtate.

* << Fim da exclusão

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

          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.

* << Fim da inclusão

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSEIF NOT it_zycet002-dtcont IS INITIAL AND

               NOT it_zycet002-dtnf   IS INITIAL.

            DELETE it_zycet002 INDEX v_index.

            CONTINUE.

          ELSE.

            it_zycet002-nfaver = 'X'.

            MODIFY it_zycet002 INDEX v_index.

          ENDIF.

...

 

...

                MODIFY it_zycet002 INDEX v_index.

              ELSEIF it_zycet002-dtcont GE v_dtde AND

                     it_zycet002-dtcont LE v_dtate.

                it_zycet002-nfaver = 'X'.

                MODIFY it_zycet002 INDEX v_index.

              ENDIF.

            ENDIF.

        ENDCASE.

      ENDLOOP.

    ENDIF.

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

  ENDIF.

  IF NOT itab_erro[] IS INITIAL.

    SORT itab_erro BY nrseq.

    DELETE ADJACENT DUPLICATES FROM itab_erro COMPARING nrseq.

    LOOP AT itab_erro.

      CASE itab_erro-dtvrc.

        WHEN 'DTEMB'.

          MESSAGE i000 WITH text-131 itab_erro-nrseq.

        WHEN 'DTBL'.

          MESSAGE i000 WITH text-132 itab_erro-nrseq.

        WHEN 'DTAVERB'.

          MESSAGE i000 WITH text-133 itab_erro-nrseq.

        WHEN 'DTCRUZE'.

          MESSAGE i000 WITH text-134 itab_erro-nrseq.

        WHEN OTHERS.

          MESSAGE i000 WITH text-135 itab_erro-nrseq.

      ENDCASE.

    ENDLOOP.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM datas USING    p_date1

             CHANGING p_date2.

  CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'

       EXPORTING

            day_in            = p_date1

       IMPORTING

            last_day_of_month = p_date2

       EXCEPTIONS

...

 

 

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

Modificações efetuadas em REPT /PWS/ZYCER007

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 131

 

Texto: (46 caracteres)

"Data do Embarque não preenchida para documento"

 

Comprimento máximo: 46

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 132

 

Texto: (41 caracteres)

"Data do BL  não preenchida para documento"

 

Comprimento máximo: 41

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 133

 

Texto: (47 caracteres)

"Data da Averbação não preenchida para documento"

 

Comprimento máximo: 47

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 134

 

Texto: (43 caracteres)

"Data do Cruze não preenchida para documento"

 

Comprimento máximo: 47

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 135

 

Texto: (34 caracteres)

"Data não preenchida para documento"

 

Comprimento máximo: 34