CE PLUS - Nota 001145

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação em Andamento

Data/Hora da Publicação: 04/04/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 15:00:17

Descrição da Nota: DESENVOLVIMENTO ADICIONAL CONTABILIZAÇÕES DA LIQUIDAÇÃO EM ANDAMENTO

Sintoma

Na liquidação em andamento quando a fatura é prorrogada o programa não está calculando a nova data

de vencimento, ou seja, considera a data que o documento foi criado quando o correto é calcular a

"data de vencto + nr. dias". A conta que está sendo utilizada para este evento é a Transitória do

Razão.

 

 

Solução

Verificar se existe data de prorrogação na tabela /PWS/ZYCBT045, quando estiver parametrizado para

enviar ao Batch-input a data de vencimento no campo ZFBDT. Se existir, enviar a mesma, caso

contrário, enviar a data de vencimeno original(/PWS/ZYCBT017-DTVENCTO).

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 01145 Data: 04/04/2006 Hora: 14:40:08

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

 

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

Nota Número              : 01145

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00108

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

DESENVOLVIMENTO ADICIONAL CONTABILIZAÇÕES DA LIQUIDAÇÃO EM ANDAMENTO

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

Palavras Chave:

DESENVOLVIMENTO ADICIONAL CONTABILIZAÇÕES DA LIQUIDAÇÃO EM ANDAMENTO

ZFBDT E ZTERM

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

Objetos da nota:

REPS /PWS/MZYCB031F01

FUNC /PWS/ZYCB_TRANSACAO_F_30_V

 

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

Modificações efetuadas em REPS /PWS/MZYCB031F01

 

...

  v_desmemb = space.

  v_erro    = space.

  LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt209-nrinvoic AND

                              nrparcf  = itab_zycbt209-nrparcf  AND

                              gsberf   = itab_zycbt209-gsberf.

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

    READ TABLE itab_zycbt017

      WITH KEY

        nrinvoic = itab_zycbt030-nrinvoic

        nrparcf  = itab_zycbt030-nrparcf

        gsberf   = itab_zycbt030-gsberf.

* << Fim da inclusão

    itab_zycbt030-v_kwert =

                ( itab_zycbt030-kwert / itab_zycbt030-s_kwert )

                  * itab_zycbt209-vlme.

    CLEAR v_wrbtr.

    SELECT SINGLE wrbtr

...

 

...

              itab_zycbt209-gsberf

              itab_zycbt209-nrparcf

              itab_zycbt209-dtincl

              INTO v_cpochv.

  itab_zycbe033-cpochv = v_cpochv.

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

  IF itab_zyglt321[] IS INITIAL.

    SELECT * FROM /pws/zyglt321

* << Fim da exclusão

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

  SELECT *

    FROM /pws/zyglt321

* << Fim da inclusão

             INTO TABLE itab_zyglt321

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

             WHERE ktosl   = 'FTE'

               AND codeven = '023'.

  ENDIF.

* << Fim da exclusão

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

    WHERE

      ktosl   EQ 'TRE' AND

      codeven EQ '023'.

* << Fim da inclusão

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

        IF itab_zyglt321-cpocb IS INITIAL AND

           NOT itab_zyglt321-descr IS INITIAL.

...

 

...

        ELSEIF itab_zyglt321-cpocb = 'DTEMB'.

          SELECT SINGLE dtemb FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.

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

          SELECT SINGLE dtvencto FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

* << Fim da exclusão

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

          itab_zycbe033-zfbdt = itab_zycbt017-dtvencto.

* << Fim da inclusão

        ENDIF.

      WHEN 'VALUT'.

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

        IF itab_zyglt321-cpocb = 'DTVENCTO'.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

          WHEN 'DTBL'.

            itab_zycbe033-d_valut = itab_zycbt017-dtbl.

          WHEN 'DTVENCTO'.

* << Fim da inclusão

          itab_zycbe033-d_valut = itab_zycbt017-dtvencto.

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

        ENDIF.

* << Fim da exclusão

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

        ENDCASE.

* << Fim da inclusão

      WHEN 'ZUONR'.

        IF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-d_zuonr = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

...

 

...

  PERFORM verify_null_field USING itab_zycbt209-dtcredext

                                  'BUDAT'

                                  text-039.

  itab_zycbe033-budat = itab_zycbt209-dtcredext.

  itab_zycbe033-bldat = itab_zycbt209-dtcredext.

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

  itab_zycbe033-d_valut = itab_zycbe033-budat.

* << Fim da exclusão

  itab_zycbe033-bktxt  = /pws/zycbt007-bktxt.

  itab_zycbe033-bukrs  = itab_zycbt209-bukrs.

  itab_zycbe033-waers  = itab_zycbt209-waers.

  PERFORM verify_null_field USING /pws/zycbt011-blart

                                  'BLART'

...

 

...

        ELSEIF itab_zyglt321-cpocb = 'DTEMB'.

          SELECT SINGLE dtemb FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.

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

          SELECT SINGLE dtvencto FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

* << Fim da exclusão

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

          itab_zycbe033-zfbdt = itab_zycbt017-dtvencto.

* << Fim da inclusão

        ENDIF.

      WHEN 'VALUT'.

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

        IF itab_zyglt321-cpocb = 'DTVENCTO'.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

          WHEN 'DTBL'.

            itab_zycbe033-d_valut = itab_zycbt017-dtbl.

          WHEN 'DTVENCTO'.

* << Fim da inclusão

          itab_zycbe033-d_valut = itab_zycbt017-dtvencto.

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

        ENDIF.

* << Fim da exclusão

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

        ENDCASE.

* << Fim da inclusão

      WHEN 'ZUONR'.

        IF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-d_zuonr = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

...

 

...

  PERFORM verify_null_field USING itab_zycbt209-dtcredext

                                  'BUDAT'

                                  text-039.

  itab_zycbe033-budat = itab_zycbt209-dtcredext.

  itab_zycbe033-bldat = itab_zycbt209-dtcredext.

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

  itab_zycbe033-d_valut = itab_zycbe033-budat.

* << Fim da exclusão

  itab_zycbe033-bktxt  = /pws/zycbt007-bktxt.

  PERFORM verify_null_field USING itab_zycbt209-bukrs

                                  'BUKRS'

                                  text-043.

  itab_zycbe033-bukrs  = itab_zycbt209-bukrs.

...

 

...

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'FTE'

             AND codeven = '023'.

  PERFORM clear_dados_batch.

  READ TABLE itab_zycbt030 INDEX 1.

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

  READ TABLE itab_zycbt017

    WITH KEY

      nrinvoic = itab_zycbt030-nrinvoic

      nrparcf  = itab_zycbt030-nrparcf

      gsberf   = itab_zycbt030-gsberf.

* << Fim da inclusão

  itab_zycbe033-tcode  = 'F-30'.

  itab_zycbe033-tabela = '/PWS/ZYCBT209'.

  CONCATENATE itab_zycbt030-nrinvoic itab_zycbt030-vbeln

              itab_zycbt030-gsberf   itab_zycbt030-nrparcf

         INTO v_cpochv.

...

 

...

    itab_zycbe033-bldat = itab_zycbt209-dtcredext.

  ELSE.

    itab_zycbe033-budat = sy-datum.

    itab_zycbe033-bldat = sy-datum.

  ENDIF.

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

  itab_zycbe033-d_valut = itab_zycbe033-budat.

  itab_zycbe033-zfbdt   = itab_zycbe033-budat.

* << Fim da exclusão

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

        IF itab_zyglt321-cpocb IS INITIAL AND

           NOT itab_zyglt321-descr IS INITIAL.

...

 

...

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-xblnr = itab_zyglt321-descr.

        ENDIF.

      WHEN 'ZFBDT'.

        IF itab_zyglt321-cpocb = 'DTBL'.

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

          itab_zycbe033-zfbdt = itab_zycbt017-dtbl.

* << Fim da inclusão

        ELSEIF itab_zyglt321-cpocb = 'DTINCL'.

          SELECT SINGLE dtincl FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTEMB'.

          SELECT SINGLE dtemb FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.

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

          SELECT SINGLE dtvencto FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

* << Fim da exclusão

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

          itab_zycbe033-zfbdt = itab_zycbt017-dtvencto.

* << Fim da inclusão

        ENDIF.

      WHEN 'VALUT'.

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

        IF itab_zyglt321-cpocb = 'DTVENCTO'.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

          WHEN 'DTBL'.

            itab_zycbe033-d_valut = itab_zycbt017-dtbl.

          WHEN 'DTVENCTO'.

* << Fim da inclusão

          itab_zycbe033-d_valut = itab_zycbt017-dtvencto.

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

        ENDIF.

* << Fim da exclusão

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

        ENDCASE.

* << Fim da inclusão

      WHEN 'ZUONR'.

        IF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-d_zuonr = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

...

 

...

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'FTE'

             AND codeven = '023'.

  PERFORM clear_dados_batch.

  READ TABLE itab_zycbt030 INDEX 1.

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

  READ TABLE itab_zycbt017

    WITH KEY

      nrinvoic = itab_zycbt030-nrinvoic

      nrparcf  = itab_zycbt030-nrparcf

      gsberf   = itab_zycbt030-gsberf.

* << Fim da inclusão

  SELECT SINGLE wrbtr

         FROM bsid

         INTO v_wrbtr

         WHERE belnr = itab_zycbt030-belnr6   AND

               gjahr = itab_zycbt030-budat(4) AND

...

 

...

    itab_zycbe033-bldat = itab_zycbt209-dtcredext.

  ELSE.

    itab_zycbe033-budat = sy-datum.

    itab_zycbe033-bldat = sy-datum.

  ENDIF.

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

  itab_zycbe033-d_valut = itab_zycbe033-budat.

  itab_zycbe033-zfbdt   = itab_zycbe033-budat.

* << Fim da exclusão

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

        IF itab_zyglt321-cpocb IS INITIAL AND

           NOT itab_zyglt321-descr IS INITIAL.

...

 

...

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-xblnr = itab_zyglt321-descr.

        ENDIF.

      WHEN 'ZFBDT'.

        IF itab_zyglt321-cpocb = 'DTBL'.

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

          itab_zycbe033-zfbdt = itab_zycbt017-dtbl.

* << Fim da inclusão

        ELSEIF itab_zyglt321-cpocb = 'DTINCL'.

          SELECT SINGLE dtincl FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTEMB'.

          SELECT SINGLE dtemb FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.

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

          SELECT SINGLE dtvencto FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

* << Fim da exclusão

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

          itab_zycbe033-zfbdt = itab_zycbt017-dtvencto.

* << Fim da inclusão

        ENDIF.

      WHEN 'VALUT'.

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

        IF itab_zyglt321-cpocb = 'DTVENCTO'.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

          WHEN 'DTBL'.

            itab_zycbe033-d_valut = itab_zycbt017-dtbl.

          WHEN 'DTVENCTO'.

* << Fim da inclusão

          itab_zycbe033-d_valut = itab_zycbt017-dtvencto.

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

        ENDIF.

* << Fim da exclusão

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

        ENDCASE.

* << Fim da inclusão

      WHEN 'ZUONR'.

        IF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-d_zuonr = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

...

 

...

        CLEAR v_subrc.

        LOOP AT itab_zycbt030

                WHERE nrinvoic = itab_zycbt209-nrinvoic AND

                      gsberf   = itab_zycbt209-gsberf   AND

                      nrparcf  = itab_zycbt209-nrparcf.

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

          READ TABLE itab_zycbt017

            WITH KEY

              nrinvoic = itab_zycbt030-nrinvoic

              nrparcf  = itab_zycbt030-nrparcf

              gsberf   = itab_zycbt030-gsberf.

* << Fim da inclusão

          PERFORM clear_dados_batch.

          PERFORM clearing USING v_belnr

                                 v_dtbelnr

                                 'X'

                                 v_total.

...

 

...

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-xblnr = itab_zyglt321-descr.

        ENDIF.

      WHEN 'ZFBDT'.

        IF itab_zyglt321-cpocb = 'DTBL'.

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

          itab_zycbe033-zfbdt = itab_zycbt017-dtbl.

* << Fim da inclusão

        ELSEIF itab_zyglt321-cpocb = 'DTINCL'.

          SELECT SINGLE dtincl FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTEMB'.

          SELECT SINGLE dtemb FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.

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

          SELECT SINGLE dtvencto FROM /pws/zycet001

                 INTO itab_zycbe033-zfbdt

                 WHERE nrseq = itab_zycbt030-nrinvoic.

* << Fim da exclusão

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

          itab_zycbe033-zfbdt = itab_zycbt017-dtvencto.

* << Fim da inclusão

        ENDIF.

      WHEN 'VALUT'.

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

        IF itab_zyglt321-cpocb = 'DTVENCTO'.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

          WHEN 'DTBL'.

            itab_zycbe033-d_valut = itab_zycbt017-dtbl.

          WHEN 'DTVENCTO'.

* << Fim da inclusão

          itab_zycbe033-d_valut = itab_zycbt017-dtvencto.

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

        ENDIF.

* << Fim da exclusão

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

        ENDCASE.

* << Fim da inclusão

      WHEN 'ZUONR'.

        IF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-d_zuonr = itab_zycbt030-nrinvoic.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

...

 

 

 

...

 

 

  SELECT SINGLE buzei zterm zbd1t

         FROM bsid

         INTO (v_buzei, v_zterm, v_zbd1t)

         WHERE belnr  = itab_zycbt030-v_belnr

         AND   gjahr  = itab_zycbt030-budat(4)

         AND   kunnr  = itab_zycbt030-kunag

         AND   bukrs  = itab_zycbt209-bukrs

         AND   shkzg  = 'H'.

* << Início da inclusão: VERIFICA_PRORROGACAO_EST

  IF sy-subrc NE 0.

    SELECT SINGLE buzei zterm zbd1t

           FROM bsad

           INTO (v_buzei, v_zterm, v_zbd1t)

           WHERE belnr  = itab_zycbt030-v_belnr

           AND   gjahr  = itab_zycbt030-budat(4)

           AND   kunnr  = itab_zycbt030-kunag

           AND   bukrs  = itab_zycbt209-bukrs

           AND   shkzg  = 'H'.                    "Ch. 303207 Adhmann

  ENDIF.

* >> Fim da inclusão

 

  SELECT SINGLE ztag1 FROM t052

    INTO v_ztag1

    WHERE zterm = v_zterm.

 

...

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_V

 

...

 

    WRITE p_zterm TO v_zterm.

    READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                    chave = 'D'.

    IF sy-subrc <> 0.     "Não está oculto

      PERFORM bdc_field USING 'BSEG-ZTERM' v_zterm.

    ENDIF.

  ENDIF.

* Chamado 198391 - Renato Mendes - 18.11.2004 - Fim

 

* Cham 236558 - Início - Fábio Kazuo Hatanaka - 08.06.2005

  IF p_umskz IS INITIAL

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

     and p_zbd1t > 0.

* >> Fim da inclusão

    PERFORM bdc_field USING 'BSEG-ZBD1T' p_zbd1t.

  ENDIF.

* Cham 236558 - Início - Fábio Kazuo Hatanaka - 08.06.2005

 

ENDFORM.                    " preenche_tela_d